Configuratie
Bestanden, mappen en de sleutels van controller.toml voor capaciteit, taken, geheugen en opslag van de controller.
Locaties
| Wat | Waar |
|---|---|
| Binaire bestanden | /usr/bin/kyvernon-controller, kyvernon-agent, kyvernon-vmm, kyvernon |
| Configuratie | /etc/kyvernon/controller.toml, agent.toml, join-token, admin-password, controller-ca.pem |
| Skeletten | /usr/share/kyvernon/controller.toml.example, agent.toml.example |
| Toestand | /var/lib/kyvernon/controller, /var/lib/kyvernon/agent, images onder /var/lib/kyvernon/images |
| Logboeken | journalctl -u kyvernon-controller, journalctl -u kyvernon-agent |
| Handleidingpagina's | man kyvernon-controller, man kyvernon-agent, man kyvernon-vmm, man kyvernon |
Capaciteit
Capaciteitsinstellingen in controller.toml (sectie [vm_ops]; de standaardwaarden passen bij de meeste installaties):
| Sleutel | Standaard | Betekenis |
|---|---|---|
max_vcpus_per_vm | 0 | Meeste vCPU's van één virtuele machine. 0 betekent de logische CPU's van zijn host. |
host_memory_reserve_mib | 2048 | Geheugen dat voor de host zelf wordt gereserveerd. Een virtuele machine kan niet groter zijn dan het geheugen van zijn host min deze waarde. |
memory_overcommit_ratio | 1.0 | Inschakelen wordt geweigerd als het geheugen van de draaiende virtuele machines van een host zijn geheugen (na de reserve) maal deze waarde zou overschrijden. 1.0 betekent geen overcommit. |
max_thin_disk_gib | 0 | Grootste thin-schijf. 0 betekent de capaciteit van zijn datastore. Thick-schijven moeten altijd in de vrije ruimte passen. |
Taken
Taakinstellingen in controller.toml (sectie [tasks]; de standaardwaarden passen bij de meeste installaties):
| Sleutel | Standaard | Betekenis |
|---|---|---|
workers | 8 | Taken die tegelijk in de controller werken. |
waiting_tasks | 256 | Taken die naast workers bezig mogen zijn omdat ze alleen wachten: tot een gast is afgesloten, tot een host een schijf heeft gekopieerd of een virtuele machine heeft gemigreerd, tot een andere taak op dezelfde virtuele machine klaar is. Terwijl ze wachten houden ze geen andere taak op. Met 0 houdt een wachtende taak zijn worker vast, en houden acht trage afsluitingen alle andere taken op. |
queue_capacity | 1024 | Taken die mogen wachten om te starten. Een verzoek daarboven wordt geweigerd met RESOURCE_EXHAUSTED; de aanroeper probeert het opnieuw. |
sweep_interval | 1m | Hoe vaak wordt gezocht naar taken die niemand meer uitvoert. 0s schakelt de periodieke controle uit. |
orphan_timeout | 15m | Een taak in de wachtrij die zo lang niet kon starten, mislukt. |
max_run_time | 1d | Een taak die langer draait dan deze waarde wordt geannuleerd en mislukt. 0s betekent geen limiet. |
scrub_secrets | true | Wanneer de controller leider wordt, worden voltooide taken waarvan de vastgelegde parameters nog gebruikersgegevens of wachtwoorden van de gast bevatten (records van voor het maskeren) herschreven zonder die gegevens. Het logboek zegt hoeveel. |
Hoogstens workers + waiting_tasks taken zijn tegelijk bezig; de volgende wacht in de wachtrij.
Back-up
Instellingen van de back-up-API in controller.toml (sectie [backup]; zie Een back-up van een virtuele machine maken en Een virtuele machine herstellen):
| Sleutel | Standaard | Betekenis |
|---|---|---|
state_dir | backup onder de toestandsmap | Waar sessies en hun wijzigings-id's worden bewaard. |
remote_exports | false | De schijfexports via TCP met TLS 1.3 aan andere machines aanbieden, in plaats van alleen op de host. |
agent_timeout | 10m | Hoelang de controller in een back-upaanroep op een host wacht. |
verify_schedule | niet ingesteld | Nachtelijke herstelcontrole: een tijdstip in UTC (02:30) of een interval (6h). Niet ingesteld: geen taak. |
verify_repository | niet ingesteld | Map met de opgeslagen back-ups die de controle herstelt. |
verify_network | niet ingesteld | Het quarantainenetwerk, op naam of id. |
verify_timeout | 300s | Tijd die voor één controle beschikbaar is. |
verify_destroy | true | De herstelde virtuele machine vernietigen na zijn oordeel. |
verify_pool | leeg | Datastore voor de herstelde schijven. Leeg: de eerste bruikbare. |
controller_target | controller-backups naast data_dir | Map voor de archieven van de controllerstatus, bijvoorbeeld /var/lib/kyvernon/controller-backups. Zie De controller back-uppen. |
controller_schedule | niet ingesteld | Wanneer de controller haar status archiveert: een tijdstip van de dag in UTC (02:30) of een interval (12h). Niet ingesteld: alleen op verzoek. |
controller_retention | 7 | Bewaarde archieven van de controllerstatus. |
De repository en de verificatie-instellingen kunnen ook in de console worden gewijzigd, en de back-upinstellingen van de console gelden op elke controller binnen ongeveer 10 seconden. Een waarde die daar nooit is gewijzigd, wordt uit de bovenstaande sleutels gelezen.
Geheugen en opslag
Geheugen en opslag van de controller (de standaardwaarden passen bij de meeste installaties; de service weigert te starten met een waarde buiten het genoemde bereik):
| Sleutel | Standaard | Betekenis |
|---|---|---|
[node] change_feed_max_bytes | 67108864 (64 MiB) | Geheugen voor de wijzigingsgeschiedenis waaruit API-clients zich bijwerken. Een client die te ver achterloopt, vraagt de lijst opnieuw op. 0: geen limiet in bytes; anders minstens 65536. |
[node] snapshot_log_bytes | 33554432 (32 MiB) | De controller schrijft een snapshot van zijn store wanneer het logboek sinds de vorige deze waarde overschrijdt (of de grootte van de vorige snapshot, als die groter is), en na elke 5.000 wijzigingen. Begrenst de grootte van inventory.redb. 0: alleen na elke 5.000 wijzigingen; anders minstens 1048576. |
[node] store_cache_bytes | 67108864 (64 MiB) | Paginacache van inventory.redb, geheugen van het controllerproces. Minstens 4194304. |
[node] history_on_disk | true | Taken, gebeurtenissen en auditrecords in inventory.redb bewaren, met alleen een index in het geheugen. false: ze in het geheugen en inline in de snapshot bewaren, zoals eerder (zie de upgradeopmerking). |
[node] history_flush_bytes | 16777216 (16 MiB) | Een snapshot wordt ook geschreven wanneer zoveel geschiedenistekst is gewijzigd sinds de vorige; dit begrenst de geschiedenis in het geheugen. 0: uit; anders minstens 1048576. |
[node] keep_pre_history_copy | true | De store kopiëren naar inventory.redb.before-history-on-disk voor de start die de geschiedenis erin verplaatst (eenmalig). Verwijder de kopie als alles goed werkt. |
[retention] history_max_bytes | 4294967296 (4 GiB) | Meeste JSON-tekst van taken en gebeurtenissen die in de store blijft. Daarboven worden de oudste gebeurtenissen en voltooide taken het eerst verwijderd, vóór hun leeftijdsgrens (30 dagen voor taken, 90 voor gebeurtenissen) of aantalsgrens. Draaiende taken en auditrecords worden hierdoor niet verwijderd. 0: geen limiet in bytes; anders minstens 1048576. |
[retention] audit_warn_bytes | 2147483648 (2 GiB) | Boven zoveel tekst aan auditrecords wordt een waarschuwing gelogd en wordt eenmaal per overschrijding een AuditHistoryLargeEvent verstuurd (een alarm kan erop afgaan). Auditrecords worden nooit op grootte verwijderd; ze verdwijnen via audit_age en audit_max. De meter is kyvernon_history_text_bytes{kind="audit"}. 0: uit. |
[metrics] cache_bytes | 67108864 (64 MiB) | Paginacache van metrics.redb, geheugen van het controllerproces. Minstens 4194304. |
[metrics] deleted_entity_retention | "7d" | Hoelang prestatiegrafieken van een verwijderde virtuele machine (of een verwijderde host of datastore) bewaard blijven voordat ze worden verwijderd. "0s" tot "366d". Verbruiksrapporten worden hierdoor niet beïnvloed (ledger_retention_days). |
Versie 0.1. Laatst gewijzigd: 2026-11-14