Aller au contenu
Conteneurs & Orchestration medium

Incus OS : sauvegarder et superviser sans shell

9 min de lecture

logo incus

Sur un serveur classique, on sauvegarde et on supervise avec un agent installé et un accès SSH. Sur Incus OS, il n'y a ni shell ni agent tiers : tout passe par l'API et le client de confiance. Ce guide montre comment sauvegarder les instances (snapshots, export), sauvegarder le nœud lui-même (clés de récupération), et superviser un cluster Incus OS avec un Prometheus externe et des logs centralisés. Public visé : administrateurs qui exploitent Incus OS en production, pas seulement en test.

  • Sauvegarder les instances par snapshot et par export portable.
  • Sauvegarder le nœud : récupérer ses clés de chiffrement.
  • Brancher un Prometheus externe sur les métriques d'Incus.
  • Centraliser les logs vers un serveur syslog distant.
  • Surveiller la santé du cluster par l'API.
  • Un cluster Incus OS en service. Voir Incus OS sans interface.
  • Un client Incus de confiance avec un remote vers un membre (node1:).
  • Un serveur de sauvegarde ou un Prometheus joignable depuis le réseau d'administration.

L'absence de shell ferme les habitudes classiques : pas d'ssh pour lancer un dump, pas de node_exporter posé à la main sur le nœud. Ce n'est pas un oubli, c'est le modèle d'Incus OS. Tout ce qui suit se pilote à distance, depuis le poste d'administration, via l'API Incus et l'API système préfixée par /os. Rien n'est installé sur le nœud.

La sauvegarde la plus rapide est le snapshot : une copie figée de l'instance, conservée dans le pool, utile avant une opération risquée. On la crée et on la liste à distance :

Fenêtre de terminal
incus snapshot create node1:app1 snap-avant-maj
incus snapshot list node1:app1
+----------------+-----------------------+------------+----------+
| NAME | TAKEN AT | EXPIRES AT | STATEFUL |
+----------------+-----------------------+------------+----------+
| snap-avant-maj | 2026/07/03 09:27 CEST | | NO |
+----------------+-----------------------+------------+----------+

Un snapshot reste sur le nœud : il protège d'une fausse manipulation, pas d'une perte du nœud. Pour une sauvegarde hors site, l'export produit une archive portable que l'on stocke où l'on veut :

Fenêtre de terminal
incus export node1:app1 /chemin/app1.tar.gz --instance-only

L'archive contient l'instance et ses snapshots (ou l'instance seule avec --instance-only). On la restaure sur n'importe quel membre du cluster, ou sur un autre cluster, par l'opération inverse :

Fenêtre de terminal
incus import node1:/chemin/app1.tar.gz

Sauvegarder les instances ne suffit pas : un nœud Incus OS chiffre ses disques (racine, swap, pool), et sans les clés de récupération, un disque rescapé reste illisible. L'API système expose une sauvegarde dédiée qui rassemble ces secrets :

Fenêtre de terminal
incus query -X POST node1:/os/1.0/system/:backup > node1-backup.tar.gz
tar tzf node1-backup.tar.gz
recovery.root.key
recovery.swap.key
state.txt
zpool.local.key

L'archive contient les clés de déchiffrement (recovery.root.key, recovery.swap.key, zpool.local.key) et un state.txt décrivant l'état du système. C'est court mais critique : à conserver dans un coffre, hors du nœud, pour chaque membre du cluster. La restauration se fait par l'endpoint symétrique /os/1.0/system/:restore.

Incus expose ses métriques au format OpenMetrics sur l'endpoint /1.0/metrics, servi en HTTPS avec authentification par certificat. Un Prometheus externe les collecte sans rien installer sur le nœud :

Fenêtre de terminal
curl -sk --cert client.crt --key client.key \
https://192.168.10.131:8443/1.0/metrics
# HELP incus_cpu_seconds_total The total number of CPU time used in seconds.
# TYPE incus_cpu_seconds_total counter
incus_cpu_seconds_total{cpu="0",mode="user",name="app1",project="default",type="container"} 0.84
# HELP incus_disk_read_bytes_total The total number of bytes read.
# TYPE incus_disk_read_bytes_total counter
incus_disk_read_bytes_total{device="sda",name="app1",project="default",type="container"} 28672

Chaque série porte le nom de l'instance, son projet et son type, ce qui permet de suivre CPU, disque, mémoire et réseau par charge. Côté Prometheus, on configure un job qui pointe sur chaque membre avec le certificat en tls_config.

Sans shell, on ne consulte pas journalctl sur le nœud. L'API système permet de renvoyer les logs vers un serveur syslog distant. L'endpoint expose la configuration attendue :

Fenêtre de terminal
incus query node1:/os/1.0/system/logging
{
"config": {
"syslog": {
"address": "",
"log_format": "",
"protocol": ""
}
}
}

En renseignant l'adresse du collecteur, le protocole et le format, chaque nœud pousse ses journaux vers votre pile de logs centralisée (par exemple un serveur syslog ou une stack de collecte). C'est la contrepartie logique du modèle sans shell : le nœud n'archive pas localement, il émet vers l'extérieur.

Au-delà des métriques, deux points de contrôle rapides renseignent sur l'état général. La racine de l'API système indique si un nœud a fini de démarrer et se tient prêt :

Fenêtre de terminal
incus query node1:/os/1.0

Le champ system_is_ready à true confirme qu'il est opérationnel. Au niveau du cluster, incus cluster list reste la vue de référence : la colonne STATUS doit afficher ONLINE et Fully operational pour chaque membre. Un OFFLINE inattendu est le premier signal à surveiller, en lien avec le seuil décrit dans le guide rôles et haute disponibilité.

SymptômeCause probableSolution
/1.0/metrics renvoie 403Certificat non approuvéAjouter le certificat au trust du cluster
L'export d'instance échoue faute de placeArchive volumineuse sur le posteExporter vers un stockage distant monté
Pas de logs côté collecteurConfiguration syslog incomplèteRenseigner adresse, protocole et format
Sauvegarde du nœud jugée « vide »On attend les instances:backup sauvegarde les clés, pas les instances ; les instances passent par export
  • Sur Incus OS, sauvegarde et supervision se pilotent à distance, par l'API.
  • Les instances se sauvegardent par snapshot (local) et export (portable, hors site).
  • La sauvegarde du nœud (:backup) rassemble les clés de récupération : un secret critique à conserver au coffre.
  • La supervision passe par un Prometheus externe sur /1.0/metrics, idéalement avec un certificat limité aux métriques.
  • Les logs se centralisent vers un syslog distant via l'API système.
  • system_is_ready et incus cluster list donnent la santé immédiate du cluster.

Ce site vous est utile ?

Sachez que moins de 1% des lecteurs soutiennent ce site.

Je maintiens +700 guides gratuits, sans pub ni tracking. Un soutien, même symbolique, m'aide à couvrir l'hébergement et à garder ces ressources gratuites. Merci pour votre appui.

Le formulaire ne s'affiche pas ? Ouvrir Ko-fi dans un onglet.

Abonnez-vous et suivez mon actualité DevSecOps sur LinkedIn