
Dans Incus, tout le stockage repose sur deux objets : les pools (les réservoirs de données, basés sur dir, ZFS, btrfs ou LVM) et les volumes (les unités de stockage à l'intérieur). Ce guide montre comment lister, créer et inspecter des pools, gérer des volumes personnalisés, choisir le bon backend, et pourquoi ZFS change la donne pour les snapshots. Tout a été testé sur Incus 7.0. Pour qui veut organiser proprement les données de ses instances.
Ce que vous allez apprendre
Section intitulée « Ce que vous allez apprendre »- Les concepts : pool, volume, snapshot.
- Lister et inspecter les pools de stockage.
- Créer un pool et choisir son backend.
- Gérer des volumes personnalisés et les attacher à une instance.
Les concepts en bref
Section intitulée « Les concepts en bref »Trois notions structurent le stockage Incus.
- Un pool (storage pool) est le réservoir où Incus range les disques des instances et les volumes. Il s'appuie sur un backend : dir (simple dossier), ZFS, btrfs, LVM ou Ceph.
- Un volume est une unité de stockage dans un pool. Chaque instance a son volume de disque ; on peut aussi créer des volumes personnalisés pour partager des données.
- Un snapshot fige l'état d'un volume à un instant donné, pour revenir en arrière en cas de problème.
Lister et inspecter les pools
Section intitulée « Lister et inspecter les pools »À l'initialisation, incus admin init a créé un pool default. On le retrouve avec :
incus storage listincus storage show defaultconfig: source: /var/lib/incus/storage-pools/defaultname: defaultdriver: dirused_by: - /1.0/instances/c1 - /1.0/instances/vm1Ici le pool default utilise le backend dir et sert déjà deux instances (c1, vm1).
Créer un pool de stockage
Section intitulée « Créer un pool de stockage »On crée un pool avec incus storage create <nom> <backend>. Le plus simple, dir, fonctionne partout :
incus storage create donnees dir# Storage pool donnees createdPour un backend ZFS ou btrfs, les outils correspondants doivent être installés sur l'hôte, sinon Incus refuse :
incus storage create rapide zfs# Error: Required tool 'zpool' is missingChoisir le bon backend
Section intitulée « Choisir le bon backend »Le choix du backend conditionne les performances et les fonctionnalités (snapshots rapides, compression).
| Backend | Snapshots rapides | Quand le choisir |
|---|---|---|
| dir | non (copie) | tests, simplicité, aucun prérequis |
| ZFS | oui | recommandé : snapshots/clones instantanés, compression |
| btrfs | oui | alternative à ZFS, intégrée au noyau |
| LVM | oui (par blocs) | volumes de blocs, infra existante LVM |
| Ceph | oui | stockage distribué en cluster |
Pour un usage sérieux, ZFS est le choix de référence : ses snapshots et clones sont quasi instantanés et n'occupent que les différences. dir reste parfait pour découvrir ou pour un lab.
Gérer des volumes personnalisés
Section intitulée « Gérer des volumes personnalisés »Au-delà des disques d'instances, on crée des volumes personnalisés pour stocker des données indépendamment, par exemple à partager entre instances :
incus storage volume create donnees data1incus storage volume list donnees+--------+-------+--------------+---------+| TYPE | NAME | CONTENT-TYPE | USED BY |+--------+-------+--------------+---------+| custom | data1 | filesystem | 0 |+--------+-------+--------------+---------+On attache ensuite ce volume à une instance, à un point de montage donné :
incus storage volume attach donnees data1 c1 /mnt/dataLe volume data1 devient accessible dans /mnt/data du conteneur c1. Comme il vit dans le pool et non dans l'instance, il survit à la suppression du conteneur.
Snapshots de volumes
Section intitulée « Snapshots de volumes »Comme les instances, les volumes se snapshotent :
incus storage volume snapshot create donnees data1 avant-majincus storage volume snapshot list donnees data1Sur un pool ZFS ou btrfs, ces snapshots sont instantanés et peu coûteux ; sur dir, ils reposent sur une copie complète.
À retenir
Section intitulée « À retenir »- Le stockage Incus s'organise en pools (réservoirs) et volumes (unités à l'intérieur).
incus storage list/showinspecte les pools ;incus storage createen crée un.- Les backends ZFS/btrfs/LVM exigent leurs outils installés (sinon
Required tool missing). - ZFS est recommandé pour ses snapshots et clones instantanés ;
dirpour la simplicité. - Un volume personnalisé s'attache à une instance et survit à sa suppression.
FAQ : questions fréquentes sur le stockage Incus
Section intitulée « FAQ : questions fréquentes sur le stockage Incus »Cinq backends
Un pool Incus repose sur un backend :| Backend | Caractéristique |
|---|---|
| dir | un dossier, aucun prérequis |
| ZFS | snapshots/clones instantanés, compression |
| btrfs | alternative à ZFS, intégré au noyau |
| LVM | volumes de blocs |
| Ceph | stockage distribué (cluster) |
ZFS en référence
- ZFS : le choix de référence, snapshots et clones instantanés qui n'occupent que les différences, plus la compression ;
- btrfs : alternative intégrée au noyau ;
- LVM : pour une infra de blocs existante ;
- Ceph : pour du stockage distribué en cluster ;
- dir : parfait pour un lab ou pour découvrir, sans prérequis.
Le backend manque ses outils
Les backends ZFS, btrfs et LVM s'appuient sur des outils système :Error: Required tool 'zpool' is missing
Installez le paquet correspondant :- ZFS :
apt install zfsutils-linux; - btrfs :
apt install btrfs-progs; - LVM :
apt install lvm2.
dir ne requiert aucun outil et fonctionne partout.Un volume personnalisé attaché
incus storage volume create donnees data1
incus storage volume attach donnees data1 c1 /mnt/data
Le volume data1 devient accessible dans /mnt/data du conteneur. On peut l'attacher à plusieurs instances.Comme il vit dans le pool et non dans une instance, il survit à la suppression des conteneurs : pratique pour des données partagées ou persistantes.