rss logo

Comment sauvegarder et restaurer des machines virtuelles Proxmox avec vzdump

Logo Proxmox

Avec la sortie de Proxmox VE 9, j’ai récemment dû migrer un serveur depuis Proxmox VE 8 vers la dernière version. Je ne détaillerai pas ici la procédure de migration, car la documentation officielle est déjà très complète : Mise à jour de Proxmox 8 vers 9. Ce guide vous montre plutôt comment réaliser une sauvegarde fiable de machine virtuelle Proxmox avec vzdump — et comment la restaurer avec qmrestore — afin de disposer d’un filet de sécurité supplémentaire en cas d’échec de mise à jour ou d’opération sur le serveur. Bien qu’il ne remplace pas un Proxmox Backup Server dédié, ce procédé constitue une couche de protection additionnelle. Je recommande vivement de sauvegarder toutes vos machines virtuelles via cette méthode avant toute tâche de maintenance importante. Vous aurez ainsi une solution de restauration rapide en cas d’échec ou d’incident.

Cette méthode est également idéale pour migrer vos machines virtuelles Proxmox vers un autre serveur, même sans stockage partagé.

Autre avantage clé : le fichier de sauvegarde peut être exporté vers n’importe quel support, y compris un stockage à froid, ce qui facilite l’archivage et la restauration ultérieure.

Présentation de l’architecture

Considérons le scénario suivant : un seul serveur Proxmox VE hébergeant plusieurs machines virtuelles que nous souhaitons sauvegarder.

Serveur Proxmox hébergeant trois machines virtuelles sur ZFS RAID10.

Sauvegarder une machine virtuelle Proxmox avec vzdump

Comme vzdump est un outil en ligne de commande, commencez par vous connecter à votre serveur Proxmox VE via SSH en tant que root :

user@host:~$ ssh -l root 192.168.1.200
  • Listez tous les emplacements de stockage disponibles et sélectionnez celui où vous souhaitez enregistrer votre sauvegarde. Dans cet exemple, nous utilisons le stockage ZFS_R10 :
root@pve:~# pvesm status
Name               Type     Status           Total            Used       Available        %
ZFS_R10         zfspool     active     15468593152      6815054108      8653539044   44.06%
local               dir     active       756262400        30017152       726245248    3.97%
local-zfs       zfspool     active       812571432        86326156       726245276   10.62%

Créez ensuite un dossier dédié BACKUP dans le stockage ZFS_R10. Ce dossier contiendra toutes vos sauvegardes de machines virtuelles.

Serveur Proxmox avec trois machines virtuelles et un dossier de sauvegarde dédié sur ZFS RAID10.
  • Accédez au répertoire /ZFS_R10 et créez le dossier BACKUP :
root@pve:~# cd /ZFS_R10
root@pve:~# mkdir BACKUP
  • Vous pouvez maintenant lancer une sauvegarde avec la commande vzdump. Voici les principales options à connaître :
    • <ID> : numéro ID de la machine virtuelle à sauvegarder.
    • --mode : définit l’état de la VM pendant la sauvegarde.
      • stop : méthode la plus sûre — la VM est arrêtée avant la sauvegarde puis redémarrée après.
      • snapshot : crée une sauvegarde à chaud via un snapshot (temps d’interruption minimal).
      • suspend : met la VM en pause pendant la sauvegarde.
    • --compress : format de compression. zstd est rapide et offre un bon taux de compression.
    • --dumpdir : répertoire où sera enregistré le fichier de sauvegarde.
root@pve:~# vzdump <ID> --mode stop --compress zstd --dumpdir <folder>
  • Exemple : sauvegarde de la VM 100 dans le dossier /ZFS_R10/BACKUP/ :
root@pve:~# vzdump 100 --mode stop --compress zstd --dumpdir /ZFS_R10/BACKUP/

La commande vzdump va générer deux fichiers dans le répertoire cible :

  • .zst — l’archive de sauvegarde compressée.
  • .log — un fichier journal contenant les détails du processus de sauvegarde.
Commande Proxmox vzdump créant un fichier de sauvegarde ZSTD et un fichier journal.

Une fois la sauvegarde terminée, vous pouvez exporter le dossier BACKUP (et ses fichiers) vers un autre hôte avec la commande rsync :

user@host:~$ rsync -av --progress root@192.168.1.200:/ZFS_R10/BACKUP /home/john/

Pour un guide détaillé sur l’utilisation de rsync, consultez Comment utiliser rsync avec des exemples.

Restaurer une sauvegarde Proxmox

Après avoir créé une sauvegarde, il est recommandé de la tester avec la commande qmrestore afin de vérifier qu’elle peut être restaurée correctement.

  • La commande qmrestore utilise les paramètres suivants :
    • <archive> : chemin complet vers le fichier de sauvegarde.
    • <vmid> : ID unique de la machine virtuelle restaurée. Utilisez --force pour écraser une VM existante ayant le même ID.
    • --storage <stockage> : stockage cible pour la VM restaurée (vérifiez les stockages disponibles avec pvesm status).
root@pve:~# qmrestore <archive> <vmid> --storage <storage>
  • Exemple : restauration de la VM 100 en tant que nouvelle VM avec l’ID 500 sur le stockage ZFS_R10 :
root@pve:~# qmrestore /ZFS_R10/BACKUP/vzdump-qemu-100-2025_08_10-19_40_07.vma.zst 500 --storage ZFS_R10