Introduction
Les choix de stockage et la discipline de sauvegarde dans Proxmox VE déterminent la sécurité d'exécution, de modification et de récupération des machines virtuelles. Ce guide propose un parcours pratique pour :
- Comprendre les compromis entre local-lvm, le stockage en répertoire et ZFS
- Associer les disques des VM aux backends de stockage et choisir le plus adapté
- Exploiter efficacement les instantanés avant toute modification
- Vérifier les sauvegardes et tester les restaurations avant de toucher aux VM de production
- Exécuter un pilote mono-nœud sûr avant un déploiement plus large
L'objectif est d'obtenir des changements prévisibles et une récupération fiable, sans surprise.
Vue d'ensemble du flux de travail
Suivez ces étapes, de l'inventaire au changement sécurisé.
1) Inventaire du stockage actuel et de sa santé
Identifiez ce que vous possédez et son état de santé.
Commandes :
pvesm status
pvesm list local
pvesm list local-lvm
Pour les détails LVM (local-lvm utilise LVM-Thin par défaut) :
vgs
lvs -a -o+lv_size,lv_attr,lv_time,segtype,thin_count
Pour la santé d'un pool ZFS :
zpool status
zpool list
zfs list -o name,used,avail,mountpoint
Pour la capacité du système de fichiers sur le stockage en répertoire (ext4/xfs) :
df -hT
Liste de contrôle :
- Notez l'espace libre, le pourcentage d'utilisation du pool thin et l'état de santé du pool ZFS
- Repérez toute erreur de lecture/écriture ou de checksum (ZFS)
- Confirmez que TRIM/discard est activé sur les SSD sous-jacents
2) Associer les VM à leurs disques et instantanés
Comprenez où réside chaque disque et quels filets de sécurité existent.
Configuration de la VM et correspondance des disques :
qm config 100
Recherchez des lignes comme :
scsi0: local-lvm:vm-100-disk-0,size=40Gscsi1: zfspool:vm-100-disk-1,size=200Gsata0: local:iso/ubuntu-22.04.iso,media=cdrom
Instantanés existants :
qm listsnap 100
3) Choisir le bon stockage pour chaque rôle
Chaque backend présente des compromis. Utilisez d'abord une règle simple, puis affinez.
| Backend | Avantages | Inconvénients | Adapté à |
|---|---|---|---|
| local-lvm (LVM-Thin) | Allocation rapide, instantanés au niveau stockage, opérations simples | Fichiers non lisibles directement ; étapes de redimensionnement/migration différentes du stockage fichier | Disques VM à usage général sur mono-nœud ou petits clusters |
| Répertoire (ext4/xfs) | Accès au niveau fichier, sauvegarde facile avec outils standards, bon pour ISO/modèles | Capacité d'instantané dépend du format d'image ; surcharge du système de fichiers sous forte I/O | ISO, modèles, cibles de sauvegarde, disques VM légers, points de montage datastore PBS |
| ZFS (datasets/zvols) | Checksums, instantanés, clones, send/receive ; intégrité forte | Gourmand en RAM ; nécessite réglage write cache/sync | VM nécessitant une intégrité élevée, instantanés faciles, flux de réplication |
Séparez les rôles autant que possible :
- Disques d'exécution des VM sur local-lvm ou ZFS
- ISO et modèles sur stockage en répertoire
- Sauvegardes sur répertoire dédié ou dataset ZFS avec capacité suffisante
4) Sauvegardes d'abord, puis modifications
Les sauvegardes sont votre filet de sécurité. Créez, vérifiez et testez avant toute action risquée.
Sauvegarde à la demande (mode snapshot quand supporté) :
vzdump 100 --mode snapshot --compress zstd --storage backupdir
Sauvegardes planifiées (GUI) :
- Datacenter → Sauvegarde → Ajouter
- Sélectionnez le stockage, la planification et la rétention (règles d'élagage)
- Privilégiez le mode snapshot pour un temps d'arrêt minimal
Vérification et test de restauration :
pvesm list backupdir | grep vzdump
qmrestore /var/lib/vz/dump/vzdump-qemu-100-*.vma.zst 200 --storage local-lvm --unique 1
Effectuez des restaurations de test vers un ID de VM non productif (ex. 200) sur un réseau isolé. Vérifiez que l'invité démarre et que l'application répond — pour un serveur web, confirmez un HTTP 200 sur le point de terminaison attendu.
5) Déplacements et redimensionnements de disques en toute sécurité
Lors d'un déplacement ou redimensionnement, réduisez le risque avec instantanés et sauvegardes.
Créer un instantané pré-modification :
qm snapshot 100 pre-change --description "avant déplacement stockage"
Déplacer un disque vers un autre stockage (prévoyez un arrêt sauf si le déplacement en ligne est validé pour votre combinaison de stockage) :
qm stop 100
qm move_disk 100 scsi0 zfspool
qm start 100
Vérifier le déplacement :
qm config 100
pvesm list zfspool | grep vm-100
Redimensionner un disque en toute sécurité :
qm stop 100
qm resize 100 scsi0 +20G
qm start 100
Puis agrandissez le système de fichiers à l'intérieur de l'OS invité (ex. resize2fs /dev/sda1 ou xfs_growfs / selon le FS invité).
Revenir en arrière si nécessaire :
qm stop 100
qm rollback 100 pre-change
qm start 100
6) Contrôles opérationnels et surveillance
- Garde-fous de capacité : maintenez au moins 20 % d'espace libre sur les pools LVM-Thin et ZFS
- Santé : vérifiez quotidiennement
zpool status, l'utilisationlvset syslog pour les erreurs I/O - Succès des sauvegardes : examinez les journaux quotidiens des tâches et les résultats d'élagage ; alertez en cas d'échec
- Fenêtres de changement : planifiez les modifications de stockage uniquement pendant les fenêtres de maintenance
Plan pilote local
Commencez petit et mesurable sur un seul nœud. Choisissez une VM non critique ou créez une VM de test.
Objectifs du pilote (exemple) :
- Deux sauvegardes en mode snapshot réussies pour la VM de test
- Une restauration de test réussie vers un nouvel ID de VM qui démarre et passe une vérification de base (ex. HTTP 200)
- Un déplacement de disque entre stockages réussi sans perte de données
- Collecte des durées pour les opérations de sauvegarde, restauration et déplacement
Étapes du pilote :
Créez un stockage en répertoire pour ISO/sauvegardes :
- Préparer le stockage
mkdir -p /mnt/backupdir
# montez via /etc/fstab selon besoin, puis ajoutez dans Datacenter → Stockage (type : Répertoire)
Optionnellement, créez un petit pool ZFS (deux SSD en miroir) pour les tests :
zpool create zfspool mirror /dev/nvme0n1 /dev/nvme1n1
# ajoutez dans Datacenter → Stockage (type : ZFS ou pool ZFS)
- Établir la ligne de base de la VM
qm config 100
pvesm status
Assurez-vous d'avoir 20 % de marge sur le stockage cible.
- Instantané et sauvegarde
qm snapshot 100 pilot-start --description "baseline pilote"
vzdump 100 --mode snapshot --compress zstd --storage backupdir
- Test de restauration
qmrestore /mnt/backupdir/dump/vzdump-qemu-100-*.vma.zst 200 --storage local-lvm --unique 1
Démarrez la VM restaurée (ID 200), isolez le réseau si nécessaire, et exécutez une vérification de service de base (ex. curl -I http://<ip> renvoie 200).
- Essai de déplacement de disque
qm stop 100
qm move_disk 100 scsi0 zfspool
qm start 100
Vérifiez que la VM fonctionne correctement, puis supprimez les volumes obsolètes sur le stockage source s'ils ne sont pas nettoyés automatiquement.
- Enregistrer les résultats et décider
Capturez :
- Durées pour sauvegarde, restauration et déplacement
- Impact CPU et disque pendant les opérations
- Toute erreur ou friction opérateur
Utilisez ces données pour définir des RPO (Recovery Point Objective) : objectif de point de récupération, et RTO (Recovery Time Objective) : objectif de temps de récupération réalistes, ainsi que les fenêtres de planification pour la production.
Conclusion
Une pratique de stockage Proxmox VE sûre commence par des rôles clairs pour chaque backend, des sauvegardes fiables et des pilotes petits et mesurables. Maintenez les disques d'exécution des VM sur local-lvm ou ZFS, stockez ISO et sauvegardes sur répertoire ou dataset dédié, et vérifiez les sauvegardes avant tout changement.
Liste de contrôle pré-modification :
- Une sauvegarde récente réussie existe et a été testée en restauration
- Un instantané de VM est créé et documenté
- Au moins 20 % d'espace libre sur les stockages source et cible
- La santé du stockage est verte (
pvesm status,zpool status,lvs) - Fenêtre de maintenance et étapes de rollback confirmées
- Plan de vérification post-modification défini (démarrage, services, journaux)
Avec ces garde-fous, vous pouvez faire évoluer les dispositions de stockage, déplacer ou redimensionner des disques, et garder les VM de production en sécurité.