Configuration
Fichiers, répertoires et clés de controller.toml pour la capacité, les tâches, la mémoire et le stockage du contrôleur.
Emplacements
| Élément | Emplacement |
|---|---|
| Binaires | /usr/bin/kyvernon-controller, kyvernon-agent, kyvernon-vmm, kyvernon |
| Configuration | /etc/kyvernon/controller.toml, agent.toml, join-token, admin-password, controller-ca.pem |
| Squelettes | /usr/share/kyvernon/controller.toml.example, agent.toml.example |
| État | /var/lib/kyvernon/controller, /var/lib/kyvernon/agent, images sous /var/lib/kyvernon/images |
| Journaux | journalctl -u kyvernon-controller, journalctl -u kyvernon-agent |
| Pages de manuel | man kyvernon-controller, man kyvernon-agent, man kyvernon-vmm, man kyvernon |
Capacité
Paramètres de capacité dans controller.toml (section [vm_ops] ; les valeurs par défaut conviennent à la plupart des installations) :
| Clé | Valeur par défaut | Signification |
|---|---|---|
max_vcpus_per_vm | 0 | Nombre maximal de processeurs virtuels d'une machine virtuelle. 0 signifie les processeurs logiques de son hôte. |
host_memory_reserve_mib | 2048 | Mémoire gardée pour l'hôte lui-même. Une machine virtuelle ne peut pas dépasser la mémoire de son hôte moins cette valeur. |
memory_overcommit_ratio | 1.0 | La mise sous tension est refusée lorsque la mémoire des machines virtuelles en marche d'un hôte dépasserait sa mémoire (après la réserve) multipliée par cette valeur. 1.0 signifie pas de surallocation. |
max_thin_disk_gib | 0 | Plus grand disque à allocation dynamique. 0 signifie la capacité de son datastore. Les disques à allocation statique doivent toujours tenir dans l'espace libre. |
Tâches
Paramètres des tâches dans controller.toml (section [tasks] ; les valeurs par défaut conviennent à la plupart des installations) :
| Clé | Valeur par défaut | Signification |
|---|---|---|
workers | 8 | Tâches qui travaillent en même temps dans le contrôleur. |
waiting_tasks | 256 | Tâches qui peuvent être en cours en plus de workers parce qu'elles ne font qu'attendre : l'arrêt d'un invité, la copie d'un disque ou la migration d'une machine virtuelle par un hôte, une autre tâche sur la même machine virtuelle. Pendant leur attente, elles ne bloquent aucune autre tâche. Avec 0, une tâche en attente garde son processus de travail, et huit arrêts lents bloquent toutes les autres tâches. |
queue_capacity | 1024 | Tâches qui peuvent attendre de démarrer. Une requête au-delà est refusée avec RESOURCE_EXHAUSTED ; l'appelant réessaie. |
sweep_interval | 1m | Fréquence à laquelle on cherche les tâches que plus personne n'exécute. 0s désactive la vérification périodique. |
orphan_timeout | 15m | Une tâche en file qui n'a pas pu démarrer pendant cette durée échoue. |
max_run_time | 1d | Une tâche qui s'exécute plus longtemps est annulée et échoue. 0s signifie aucune limite. |
scrub_secrets | true | Lorsque le contrôleur devient leader, les tâches terminées dont les paramètres enregistrés contiennent encore des données utilisateur ou des mots de passe de l'invité (enregistrements antérieurs à leur masquage) sont réécrites sans eux. Le journal indique combien. |
Au plus workers + waiting_tasks tâches sont en cours à la fois ; la suivante attend dans la file.
Sauvegarde
Paramètres de l'API de sauvegarde dans controller.toml (section [backup] ; voir Sauvegarder une machine virtuelle et Restaurer une machine virtuelle) :
| Clé | Valeur par défaut | Signification |
|---|---|---|
state_dir | backup sous le répertoire d'état | Emplacement où sont conservés les sessions et leurs identifiants de modification. |
remote_exports | false | Servir les exports de disques à d'autres machines en TCP avec TLS 1.3, au lieu de les servir sur l'hôte seulement. |
agent_timeout | 10m | Durée pendant laquelle le contrôleur attend un hôte lors d'un appel de sauvegarde. |
verify_schedule | non défini | Vérification nocturne par restauration : une heure du jour en UTC (02:30) ou un intervalle (6h). Non défini : aucune tâche. |
verify_repository | non défini | Répertoire des sauvegardes stockées que la vérification restaure. |
verify_network | non défini | Le réseau de quarantaine, par nom ou identifiant. |
verify_timeout | 300s | Durée accordée à une vérification. |
verify_destroy | true | Détruire la machine virtuelle restaurée après son verdict. |
verify_pool | vide | Datastore pour les disques restaurés. Vide : le premier utilisable. |
controller_target | controller-backups à côté de data_dir | Dossier des archives de l'état du contrôleur, par exemple /var/lib/kyvernon/controller-backups. Voir Sauvegarder le contrôleur. |
controller_schedule | non défini | Moment où le contrôleur archive son état : une heure du jour en UTC (02:30) ou un intervalle (12h). Non défini : uniquement à la demande. |
controller_retention | 7 | Archives de l'état du contrôleur conservées. |
Le dépôt et les paramètres de vérification peuvent aussi être modifiés dans la console, et les paramètres de sauvegarde de la console s'appliquent sur chaque contrôleur en une dizaine de secondes. Une valeur qui n'y a jamais été modifiée est lue dans les clés ci-dessus.
Mémoire et stockage
Mémoire et stockage du contrôleur (les valeurs par défaut conviennent à la plupart des installations ; le service refuse de démarrer avec une valeur hors de la plage indiquée) :
| Clé | Valeur par défaut | Signification |
|---|---|---|
[node] change_feed_max_bytes | 67108864 (64 Mio) | Mémoire pour l'historique des changements à partir duquel les clients de l'API se mettent à jour. Un client trop en retard liste à nouveau. 0 : pas de limite en octets ; sinon au moins 65536. |
[node] snapshot_log_bytes | 33554432 (32 Mio) | Le contrôleur écrit un instantané de son magasin lorsque le journal depuis le dernier dépasse cette valeur (ou la taille du dernier instantané, si elle est plus grande), et tous les 5 000 changements. Borne la taille de inventory.redb. 0 : tous les 5 000 changements seulement ; sinon au moins 1048576. |
[node] store_cache_bytes | 67108864 (64 Mio) | Cache de pages de inventory.redb, mémoire du processus du contrôleur. Au moins 4194304. |
[node] history_on_disk | true | Garder les tâches, les événements et les enregistrements d'audit dans inventory.redb, avec seulement un index en mémoire. false : les garder en mémoire et en ligne dans l'instantané, comme auparavant (voir la remarque de mise à niveau). |
[node] history_flush_bytes | 16777216 (16 Mio) | Un instantané est aussi écrit lorsque tant de texte d'historique a changé depuis le dernier ; cette valeur borne l'historique tenu en mémoire. 0 : désactivé ; sinon au moins 1048576. |
[node] keep_pre_history_copy | true | Copier le magasin vers inventory.redb.before-history-on-disk avant le démarrage qui y déplace l'historique (une seule fois). Supprimez la copie lorsque le résultat vous convient. |
[retention] history_max_bytes | 4294967296 (4 Gio) | Plus grande quantité de texte JSON de tâches et d'événements gardée dans le magasin. Au-delà, les événements les plus anciens et les tâches terminées sont supprimés en premier, avant leur limite d'âge (30 jours pour les tâches, 90 pour les événements) ou de nombre. Les tâches en cours et les enregistrements d'audit ne sont pas supprimés par cette limite. 0 : pas de limite en octets ; sinon au moins 1048576. |
[retention] audit_warn_bytes | 2147483648 (2 Gio) | Au-delà de cette quantité de texte d'enregistrements d'audit, un avertissement est journalisé et un AuditHistoryLargeEvent est émis une fois par franchissement (une alarme peut s'y déclencher). Les enregistrements d'audit ne sont jamais supprimés selon la taille ; ils partent par audit_age et audit_max. La jauge est kyvernon_history_text_bytes{kind="audit"}. 0 : désactivé. |
[metrics] cache_bytes | 67108864 (64 Mio) | Cache de pages de metrics.redb, mémoire du processus du contrôleur. Au moins 4194304. |
[metrics] deleted_entity_retention | "7d" | Durée de conservation des graphiques de performance d'une machine virtuelle supprimée (ou d'un hôte ou datastore retiré) avant leur suppression. De "0s" à "366d". Les rapports de consommation ne sont pas concernés (ledger_retention_days). |
Version 0.1. Dernière modification : 2026-11-14