## Introduction

Proxmox Virtual Environment (VE) est une plateforme open source de gestion de machines virtuelles et de conteneurs. Les sauvegardes sont essentielles pour la reprise après sinistre, les tests et la migration. Ce guide fournit des exemples pratiques pour sauvegarder et restaurer des VM et des conteneurs à l'aide des outils intégrés de Proxmox.

Nous aborderons l'inventaire des versions et de l'environnement, la configuration sécurisée, la vérification, les modes de défaillance, la récupération et une liste de contrôle opérationnelle. Chaque section comprend des commandes concrètes, les sorties attendues et les signaux d'échec. À la fin, vous serez en mesure de planifier des sauvegardes, de les restaurer et de valider que vos données sont en sécurité.

Ce guide suppose que vous avez Proxmox VE 7.x ou 8.x installé et un accès à l'interface Web ou à la CLI avec les privilèges root.

## Inventaire des versions et de l'environnement

Avant d'apporter des modifications, capturez l'état actuel de votre environnement Proxmox. Cela permet d'identifier les problèmes de compatibilité et fournit une base de référence pour le dépannage.

Vérifier la version de Proxmox :

pveversion 
 Exemple de sortie attendue :

pve-manager/8.1.4/9e3c8c8c (running kernel: 6.5.11-6-pve) 
 Si la commande échoue, assurez-vous d'avoir un accès root et que le paquet est installé. Notez la version car le comportement et les options de sauvegarde peuvent différer entre les versions majeures.

Lister les VM et les conteneurs :

qm list
pct list 
 Exemple de sortie :

VMID NAME STATUS MEM(MB) BOOTDISK(GB) PID
 100 webserver running 4096 32.00 12345
 101 database stopped 8192 64.00 0 
 Pour les conteneurs, pct list affiche des informations similaires. Enregistrez le VMID, le nom, l'état et la taille du disque pour vos ressources. C'est l'inventaire que vous utiliserez pour la sélection des sauvegardes.

Vérifier la configuration du stockage :

cat /etc/pve/storage.cfg 
 Recherchez un stockage compatible avec les sauvegardes tel que dir , nfs ou pbs (Proxmox Backup Server). La sortie affichera les définitions de stockage. Exemple :

dir: local
 path /var/lib/vz
 content backup,iso,vztmpl
 maxfiles 3 
 Cela montre que le stockage local peut contenir des sauvegardes et conserve un maximum de 3 fichiers de sauvegarde par invité.

Prérequis pour la sauvegarde :

- Espace libre suffisant sur le stockage cible. Vérifiez avec df -h sur l'hôte Proxmox.

- Connectivité réseau si vous utilisez un stockage distant comme NFS ou Proxmox Backup Server.

- Pour les sauvegardes vzdump, aucun paquet supplémentaire n'est nécessaire ; il est inclus.

Rayon d'impact : Ces commandes en lecture seule ne modifient pas l'état du système. Elles peuvent être exécutées à tout moment en toute sécurité.

Vérification : Confirmez que vous pouvez voir toutes les VM/conteneurs et que les chemins de stockage sont valides. Si une VM manque dans la liste, vérifiez son fichier de configuration dans /etc/pve/qemu-server/ ou /etc/pve/lxc/ .

## Chemin de configuration sécurisé

Cette section couvre la configuration correcte des tâches de sauvegarde et du stockage. Testez toujours la configuration de sauvegarde sur une VM non critique d'abord.

Création d'un répertoire de stockage de sauvegarde (si vous utilisez un stockage local dir ) :

Le stockage local existe souvent déjà. Si vous avez besoin d'un répertoire de sauvegarde dédié sur un disque monté, ajoutez-le à /etc/pve/storage.cfg avec un éditeur de texte ou via l'interface Web.

Exemple d'ajout d'un montage NFS pour les sauvegardes (en supposant un serveur NFS à 192.168.1.100 et une exportation /backups ) :

Tout d'abord, créez le point de montage et montez :

mkdir -p /mnt/backup-nfs
mount -t nfs 192.168.1.100:/backups /mnt/backup-nfs 
 Pour le rendre persistant, ajoutez à /etc/fstab :

192.168.1.100:/backups /mnt/backup-nfs nfs defaults 0 0 
 Ensuite, définissez le stockage dans Proxmox en modifiant /etc/pve/storage.cfg :

nfs: backup-nfs
 path /mnt/backup-nfs
 server 192.168.1.100
 export /backups
 content backup
 maxfiles 7 
 Après modification, vérifiez que le stockage est reconnu :

pvesm status 
 La sortie attendue inclut backup-nfs avec l'état active .

Planification d'une tâche de sauvegarde

Proxmox utilise vzdump pour les sauvegardes. Vous pouvez planifier via cron ou des timers systemd. L'interface Web crée une entrée cron dans /etc/cron.d/vzdump . Pour la CLI, créez une tâche cron :

echo "0 2 * * * root vzdump 100 --mode snapshot --compress zstd --storage backup-nfs --notes-template '{{guestname}} daily backup'" > /etc/cron.d/vzdump-custom 
 Cela planifie une sauvegarde quotidienne à 2 h du matin pour le VMID 100, en mode snapshot avec compression zstd, stockée sur backup-nfs .

Testez d'abord la sauvegarde manuellement :

vzdump 100 --mode snapshot --compress zstd --storage backup-nfs --notes-template '{{guestname}} test' 
 Surveillez la sortie. Une sauvegarde réussie se termine par :

INFO: Finished Backup of VM 100 (00:02:30)
INFO: Backup finished at 2025-03-12 02:03:45 
 Options importantes :

- --mode snapshot pour une sauvegarde en ligne sans interruption (nécessite l'agent invité QEMU pour la cohérence dans certains cas).

- --mode suspend met la VM en pause pendant la sauvegarde (temps d'arrêt plus court mais toujours une interruption).

- --mode stop arrête la VM pour une sauvegarde cohérente (temps d'arrêt le plus long).

- --compress zstd ou gzip ou lzo ou none .

- --storage doit être un stockage défini avec le contenu backup .

Rayon d'impact : Testez la sauvegarde sur une seule VM. Si le stockage est mal configuré, la sauvegarde échoue mais n'affecte pas la VM. Assurez-vous que le stockage a suffisamment d'espace pour éviter de remplir les disques.

Vérification : Après la fin de la sauvegarde, listez les fichiers de sauvegarde :

ls -lh /mnt/backup-nfs/dump/ 
 ou utilisez :

vzdump --list 
 Vous devriez voir un fichier .vma.zst ou .tar.zst pour la VM.

## Vérification et diagnostics

Après avoir créé des sauvegardes, vérifiez leur intégrité et leur capacité de restauration. Une sauvegarde n'est utile que si elle peut être restaurée.

Vérifier l'intégrité du fichier de sauvegarde

Proxmox stocke les sauvegardes sous forme de fichiers VMA (archive de machine virtuelle). Vous pouvez vérifier avec l'outil vma (du paquet vma ) :

vma verify /chemin/vers/sauvegarde.vma.zst 
 Cela vérifie la structure de l'archive. Sortie attendue :

verify: backup file looks OK 
 Si des erreurs apparaissent, la sauvegarde peut être corrompue. Envisagez de relancer la sauvegarde.

Test de restauration vers un VMID différent

La restauration vers un nouveau VMID garantit que la sauvegarde est utilisable sans affecter l'original. Utilisez qmrestore pour les VM et pct restore pour les conteneurs.

Exemple de restauration de la sauvegarde de la VM 100 vers le VMID 200 :

qmrestore /mnt/backup-nfs/dump/vzdump-qemu-100-2025_03_12-02_00_00.vma.zst 200 --storage local-lvm 
 Cela crée une nouvelle VM avec l'ID 200 sur le stockage local-lvm . Après la restauration, démarrez la VM et vérifiez qu'elle démarre :

qm start 200
qm status 200 
 État attendu : running .

Pour les conteneurs :

pct restore 200 /mnt/backup-nfs/dump/vzdump-lxc-101-2025_03_12-02_00_00.tar.zst --storage local-lvm 
 Vérifier l'intégrité des données dans la VM

Après la restauration, connectez-vous à la VM (via la console ou SSH) et vérifiez les fichiers critiques ou les bases de données. Par exemple, s'il s'agit d'un serveur Web, vérifiez que le service Web est en cours d'exécution et que les pages sont servies.

Journaux et diagnostics

Consultez les journaux de sauvegarde :

cat /var/log/vzdump/*.log 
 Recherchez les avertissements ou les erreurs. Problèmes courants :

- Espace disque insuffisant : la sauvegarde échoue avec No space left on device .

- Agent invité non en cours d'exécution : le mode snapshot peut fonctionner mais le système de fichiers peut être incohérent. Installez qemu-guest-agent dans la VM.

Signal d'échec : Si vma verify échoue ou si la restauration produit une VM non amorçable, considérez la sauvegarde comme invalide et dépannez la VM d'origine et les paramètres de sauvegarde.

## Modes de défaillance et récupération

Comprenez les modes de défaillance courants et comment les résoudre.

1. La sauvegarde échoue en raison d'un manque d'espace

Symptôme : erreur vzdump No space left on device ou sauvegarde incomplète.

Récupération :

- Vérifiez l'espace libre sur le stockage cible : df -h /mnt/backup-nfs .

- Supprimez les anciennes sauvegardes ou augmentez la capacité de stockage.

- Ajustez maxfiles pour conserver moins de sauvegardes.

- Relancez la sauvegarde.

2. La restauration échoue avec « storage does not support content type 'images' »

Symptôme : erreur qmrestore.

Cause : Le stockage cible n'est pas configuré pour les images de VM (uniquement le contenu de sauvegarde).

Récupération :

- Utilisez un stockage qui prend en charge images , par exemple local-lvm ou local .

- Ou ajoutez le contenu d'images à la définition de stockage dans /etc/pve/storage.cfg .

3. La sauvegarde s'est terminée mais les données de la VM sont incohérentes

Symptôme : La VM restaurée a une base de données corrompue ou des modifications récentes manquantes.

Cause : Le mode snapshot sans agent invité peut ne pas geler le système de fichiers.

Récupération :

- Installez et activez l'agent invité QEMU dans la VM.

- Utilisez --mode snapshot avec --fleecing (dans Proxmox 8) pour une meilleure cohérence.

- Pour les bases de données, envisagez d'utiliser une sauvegarde au niveau de l'application dans la VM avant vzdump.

4. La tâche de sauvegarde ne s'exécute pas à l'heure prévue

Symptôme : Aucune nouvelle sauvegarde n'apparaît.

Cause : Entrée cron mal configurée ou service vzdump non en cours d'exécution.

Récupération :

- Vérifiez le fichier cron /etc/cron.d/vzdump pour la syntaxe correcte.

- Exécutez manuellement la commande vzdump pour voir les erreurs.

- Consultez les journaux système : journalctl -u cron .

5. L'hôte Proxmox tombe complètement en panne

Symptôme : Panne matérielle ou système d'exploitation corrompu.

Récupération :

- Réinstallez Proxmox sur un nouveau matériel.

- Restaurez les sauvegardes à partir d'un stockage externe.

- Si vous utilisez Proxmox Backup Server, attachez-le comme stockage et restaurez.

- Documentez les configurations des VM séparément (ou utilisez les sorties de qm config stockées hors ligne).

Retour en arrière : Si une sauvegarde ou une restauration cause des problèmes, supprimez les fichiers ou VM problématiques, annulez les modifications de configuration et réessayez avec des paramètres corrigés.

## Pièges courants

Évitez ces erreurs courantes :

- Ne pas tester les restaurations : Beaucoup supposent que les sauvegardes fonctionnent jusqu'à ce qu'un sinistre survienne. Planifiez des tests de restauration périodiques (par exemple, trimestriels) vers un VMID de test.

- Utiliser le mode stop pour les VM critiques : Cela entraîne des temps d'arrêt. Utilisez le mode snapshot avec l'agent invité pour une sauvegarde en ligne.

- Stocker les sauvegardes sur le même disque que les VM : Si le disque tombe en panne, vous perdez les deux. Utilisez un stockage physique séparé ou hors site/cloud.

- Ignorer la rétention : L'absence de maxfiles entraîne le remplissage du disque. Définissez une rétention appropriée et surveillez.

- Ne pas chiffrer les sauvegardes : Les sauvegardes contiennent des données sensibles. Utilisez un stockage chiffré ou ajoutez le chiffrement via Proxmox Backup Server.

- Oublier d'inclure la configuration : vzdump inclut la configuration de la VM par défaut, mais si vous copiez manuellement les images disque, vous risquez de manquer les fichiers de configuration. Utilisez toujours vzdump ou assurez-vous d'avoir sauvegardé /etc/pve/qemu-server/ et /etc/pve/lxc/ .

- Supposer la cohérence sans quiescence : Pour les bases de données, utilisez des dumps au niveau de l'application ou des scripts de gel/dégel en conjonction avec vzdump.

## Liste de contrôle opérationnelle

Utilisez cette liste de contrôle pour garantir des sauvegardes et des restaurations fiables. Attribuez un responsable unique pour chaque élément si vous êtes en équipe. Fréquence de révision : mensuelle pour la santé des sauvegardes, trimestrielle pour les tests de restauration.

<div class="my-stack-md overflow-x-auto">
<table class="min-w-[42rem] border-collapse text-left">
<thead><tr><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Élément</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Commande / Action</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Résultat attendu</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Responsable</th><th scope="col" class="border border-outline-variant bg-surface-container-low px-4 py-3 text-left font-label-md font-semibold text-on-surface">Fréquence de révision</th></tr></thead>
<tbody><tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Vérifier la version et la santé de Proxmox</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">pveversion</code> et <code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">pvecm status</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Version prise en charge, aucune erreur de cluster</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur systèmes : Alex Johnson</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Mensuelle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Vérifier la disponibilité du stockage de sauvegarde</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">pvesm status</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Tous les stockages de sauvegarde actifs</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur systèmes : Alex Johnson</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Hebdomadaire</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Confirmer que les tâches de sauvegarde sont configurées</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">cat /etc/cron.d/vzdump</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Entrées de tâche correctes</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur de sauvegarde : Maria Garcia</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Mensuelle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Exécuter une sauvegarde de test manuelle</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">vzdump 100 --mode snapshot --storage backup-nfs</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">La sauvegarde se termine sans erreur</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur de sauvegarde : Maria Garcia</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Mensuelle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Vérifier l&#39;intégrité du fichier de sauvegarde</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">vma verify /chemin/vers/sauvegarde</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">« backup file looks OK »</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur de sauvegarde : Maria Garcia</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Mensuelle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Effectuer un test de restauration vers un VMID de test</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">qmrestore ... 999 --storage local-lvm</code> puis démarrer</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">La VM démarre et les données sont intactes</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Responsable de la reprise après sinistre : Sam Patel</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Trimestrielle</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Vérifier l&#39;utilisation du disque de sauvegarde</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant"><code class="font-mono text-[0.9em] bg-surface-container px-1 py-0.5 rounded">df -h /mnt/backup-nfs</code></td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Espace libre &gt; 20 %</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Administrateur systèmes : Alex Johnson</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Hebdomadaire</td></tr>
<tr><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Examiner et mettre à jour la politique de sauvegarde</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Documenter les changements, ajuster la rétention</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Politique à jour</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Responsable informatique : Priya Shah</td><td class="border border-outline-variant px-4 py-3 align-top text-body-md text-on-surface-variant">Trimestrielle</td></tr></tbody>
</table>
</div>
Vérification pour la liste de contrôle : Après chaque tâche, enregistrez la sortie et comparez-la aux attentes. Si un contrôle échoue, ouvrez un incident et résolvez-le avant la prochaine révision.

## Conclusion

La sauvegarde et la restauration Proxmox sont des compétences essentielles pour tout administrateur. En suivant les pratiques de ce guide, vous pouvez créer des sauvegardes fiables, tester les restaurations et récupérer des défaillances en toute confiance.

Commencez par les commandes d'inventaire pour comprendre votre environnement, configurez le stockage et les tâches de sauvegarde en toute sécurité, vérifiez les sauvegardes en les restaurant et soyez prêt à faire face aux modes de défaillance courants. Utilisez la liste de contrôle opérationnelle pour maintenir votre stratégie de sauvegarde en bonne santé.

Des tests réguliers sont le seul moyen de garantir que vos sauvegardes fonctionneront en cas de besoin. Planifiez des exercices de restauration, examinez les journaux de sauvegarde et maintenez la documentation à jour. Avec Proxmox VE, vous disposez d'outils puissants à votre disposition, utilisez-les à bon escient.