Retour : Proxmox VE
Proxmox déclare des stockages (storages) au niveau du Datacenter : chacun a un nom, un type, et une liste de contenus autorisés. La configuration est commune à tous les nœuds d'un cluster et se trouve dans /etc/pve/storage.cfg.
| Contenu | Usage |
|---|---|
images |
Disques des VM |
rootdir |
Disques des conteneurs LXC |
iso |
Images ISO d'installation |
vztmpl |
Modèles de conteneurs LXC |
backup |
Sauvegardes (vzdump) |
snippets |
Fichiers annexes (cloud-init, scripts de hook) |
Après une installation en ext4, deux stockages existent :
| Stockage | Type | Emplacement | Contenus |
|---|---|---|---|
local |
Répertoire | /var/lib/vz |
ISO, modèles, sauvegardes |
local-lvm |
LVM-thin | volume pve/data |
Disques des VM et conteneurs |
Avec une installation ZFS, local-lvm est remplacé par local-zfs (pool rpool/data).
| Type | Niveau | Snapshots | Partagé | Usage typique |
|---|---|---|---|---|
| Répertoire (Directory) | Fichier | Avec qcow2 |
Non | ISO, sauvegardes, disque supplémentaire simple |
| LVM | Bloc | Non | Possible (iSCSI) | Disques en provisionnement épais |
| LVM-thin | Bloc | Oui | Non | Disques des VM sur un disque local (défaut) |
| ZFS | Bloc | Oui | Non (réplication possible) | Redondance, compression, intégrité des données |
| NFS | Fichier | Avec qcow2 |
Oui | NAS (TrueNAS, Synology), sauvegardes |
| SMB/CIFS | Fichier | Avec qcow2 |
Oui | Partage Windows, sauvegardes |
| iSCSI | Bloc | Non | Oui | Baie de stockage, SAN |
| Ceph RBD / CephFS | Bloc / fichier distribué | Oui | Oui | Cluster de 3 nœuds ou plus, stockage hyperconvergé |
| Proxmox Backup Server | Sauvegarde | — | Oui | Sauvegardes dédupliquées (voir Sauvegardes) |
💡 Un stockage partagé permet de migrer une VM d'un nœud à l'autre sans copier ses disques, et il est nécessaire à la haute disponibilité.
Exemple avec un second disque /dev/sdb, vide.
⚠️ Toutes les données du disque sont effacées. Vérifier son nom avec
lsblkavant de commencer.
data2), laisser Add Storage coché.lsblk
# Volume physique, groupe de volumes, puis pool thin occupant le disque
pvcreate /dev/sdb
vgcreate vg-data2 /dev/sdb
lvcreate -l 95%FREE --thinpool data2 vg-data2
# Déclarer le stockage dans Proxmox
pvesm add lvmthin data2 --vgname vg-data2 --thinpool data2 --content images,rootdir
Les 5 % laissés libres permettent d'agrandir les métadonnées du pool si nécessaire.
Exemple : miroir de deux disques.
💡 Désigner les disques par leur identifiant stable (
/dev/disk/by-id/...) plutôt que/dev/sdX, qui peut changer au redémarrage.
Nœud → Disks → ZFS → Create: ZFS : nom du pool (tank), niveau RAID Mirror, compression on, ashift 12, sélectionner les deux disques, Add Storage coché.
ls -l /dev/disk/by-id/ | grep -v part
zpool create -o ashift=12 -O compression=lz4 tank mirror \
/dev/disk/by-id/ata-DISQUE1 /dev/disk/by-id/ata-DISQUE2
pvesm add zfspool tank-vm --pool tank --content images,rootdir --sparse 1
Surveiller l'état du pool :
zpool status
zpool list
zfs list
| Niveau | Disques | Pannes tolérées | Remarque |
|---|---|---|---|
| Mirror | 2 ou plus | Tous sauf un | Meilleures performances en lecture |
| RAID10 | 4 ou plus (paires) | Un par paire | Meilleur compromis pour les VM |
| RAIDZ-1 | 3 ou plus | 1 | Plus de capacité, écritures plus lentes |
| RAIDZ-2 | 4 ou plus | 2 | Gros disques, données importantes |
⚠️ Un pool ZFS rempli au-delà de 80 % ralentit fortement : surveiller l'espace libre.
Côté NAS : créer un partage NFS, autoriser l'adresse IP du ou des nœuds Proxmox, avec accès en écriture pour root (option Maproot User = root sur TrueNAS).
Datacenter → Storage → Add → NFS :
| Champ | Exemple |
|---|---|
| ID | nas-nfs |
| Server | 192.168.4.20 |
| Export | /mnt/tank/proxmox (liste proposée automatiquement) |
| Content | Disk image, ISO image, VZDump backup file |
# Exports proposés par le NAS
pvesm scan nfs 192.168.4.20
pvesm add nfs nas-nfs --server 192.168.4.20 --export /mnt/tank/proxmox \
--content images,iso,backup --options vers=4.2
Le partage est monté sur chaque nœud dans /mnt/pve/nas-nfs.
Existing volume groups → Base storage : la cible iSCSI → choisir la LUN, nommer le groupe de volumes, cocher Shared si plusieurs nœuds y accèdent.pvesm scan iscsi 192.168.4.20
| Format | Stockages | Particularités |
|---|---|---|
raw |
Tous | Le plus performant ; snapshots portés par le stockage (LVM-thin, ZFS, Ceph) |
qcow2 |
Répertoire, NFS, SMB | Snapshots et provisionnement fin sur un stockage fichier |
vmdk |
Répertoire, NFS, SMB | Compatibilité VMware (import / export) |
| Option | Valeur | Effet |
|---|---|---|
| Contrôleur (SCSI Controller) | VirtIO SCSI single | Un contrôleur par disque, permet iothread |
| Bus du disque | SCSI | Pilote VirtIO, le plus performant |
iothread |
activé | Un fil d'exécution dédié aux E/S de chaque disque |
discard |
activé | L'espace libéré dans l'invité (TRIM) est rendu au stockage thin |
ssd |
activé | L'invité voit un SSD et adapte son comportement |
| Cache | Default (No cache) | Sûr en cas de coupure de courant |
qm set 100 --scsihw virtio-scsi-single
qm set 100 --scsi0 local-lvm:vm-100-disk-0,iothread=1,discard=on,ssd=1
Dans un invité Linux, activer le TRIM périodique pour profiter de discard :
systemctl enable --now fstrim.timer
💡 Les invités Windows ont besoin des pilotes VirtIO (ISO
virtio-win) pour voir un disque SCSI VirtIO pendant l'installation.
# Ajouter un disque de 50 Go à la VM 100
qm set 100 --scsi1 local-lvm:50,iothread=1,discard=on,ssd=1
# Agrandir un disque de 20 Go (puis étendre la partition dans l'invité)
qm disk resize 100 scsi0 +20G
# Déplacer un disque vers un autre stockage (possible VM allumée)
qm disk move 100 scsi0 tank-vm --delete 1
# Importer un disque existant (vmdk, qcow2…) dans la VM 100
qm disk import 100 /chemin/disque.vmdk local-lvm
⚠️ Réduire un disque n'est pas possible depuis Proxmox : toujours agrandir par petites étapes.
# Occupation de chaque stockage
pvesm status
# Remplissage réel des pools LVM-thin (colonnes Data% et Meta%)
lvs
# Disques d'un stockage
pvesm list local-lvm
⚠️ Un pool thin plein bloque toutes les VM qui écrivent dessus. Garder une marge de 20 à 30 % et configurer une alerte de supervision.