Faire des snapshots sous Proxmox sans que les VMs soient suspendues

Sur une installation par défaut de Proxmox 2.2 sur un serveur dédié OVH, il n’est pas possible de faire une snapshot d’une VM sans que celle-ci soit suspendue.

Voici l’erreur que retourne Proxmox :

INFO: mode failure - unable to dump into snapshot (use option --dumpdir)

D’après la documentation de Proxmox relative aux backups : http://pve.proxmox.com/wiki/Backup_and_Restore

« N.B. when LVM2 snapshot, the destination of the backup must be outside the LVM volume that contains the VM you are backing up (i.e. if your VM is in /pve/data that is mounted as /var/lib/vz, you can’t save the backup in /var/lib/vz/dump) »

Il faut donc faire les backups sur un autre storage que le storage « local » par défaut.

Dans cette même documentation, on trouve également la note suivante :

« In most situations, using a NFS server is the good way to store backups. Save those backups later to a tape drive, for off-site archive. »

Alors, pourquoi ne pas tout simplement créer un serveur NFS sur le host Proxmox et le monter dans l’interface Web de Proxmox afin qu’il puisse être utilisé comme emplacement de stockage des backups ?

Configuration d’un serveur NFS sur le host Proxmox

Voici les paquets à installer :

apt-get install nfs-kernel-server portmap nfs-common

Il faut ensuite créer un dossier qui sera partagé via NFS :

mkdir /var/lib/vz/nfs

Puis il faut ajouter la ligne suivante dans le fichier /etc/exports pour qu’il soit partagé via NFS :

/var/lib/vz/nfs  127.0.0.1(rw,sync,no_subtree_check,no_root_squash)

Remarque : j’ai volontairement autorisé qu’un accès via l’IP 127.0.0.1 afin de ne pas rendre ce serveur NFS accessible de l’extérieur.

Et finalement, il faut redémarrer le serveur NFS avec la commande suivante :

service nfs-kernel-server restart

Configuration du dossier NFS dans Proxmox

Dans l’interface de Proxmox, il faut sélectionner « Datacenter » dans la colonne de gauche de l’interface Web.

Ensuite, il faut aller dans l’onglet « Storage » puis choisir « Add… » et « NFS Share »

Voici les informations à renseigner dans le popup d’ajout d’un partage NFS :

  • ID : saisir « nfs-local » (ou un autre nom de votre choix)
  • Server : saisir l’adresse IP « 127.0.0.1 »
  • Export : après un rapide scan des dossiers partagés, on doit pouvoir choisir le dossier qu’on a créé précédement /var/lib/vz/nfs
  • Content : sélectionner « Backup »
  • Nodes : laisser vide
  • Enable : cocher la case
  • Max Backups : mettre la valeur de votre choix

Cliquer sur le bouton « Add » pour valider l’ajout de ce partage NFS.

Faire une snapshot d’une VM (OpenVZ ou KVM)

Lors du backup d’un VM, il faut :

  • Storage : choisir le storage « nfs-local » (ou choisir le nom que vous avez choisi pour votre dossier NFS lors de son ajout à Proxmox à l’étape précédente)
  • Mode : choisir « Snapshot »
  • Compression : choisir ce que vous voulez

Résultat pour une VM OpenVZ

INFO: starting new backup job: vzdump 111 --remove 0 --mode snapshot --compress lzo --storage nfs-local --node ns400XXXX
INFO: Starting Backup of VM 111 (openvz)
INFO: CTID 111 exist mounted running
INFO: status = running
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO: creating lvm snapshot of /dev/mapper/pve-data ('/dev/pve/vzsnap-ns400XXXX-0')
INFO:   Logical volume "vzsnap-ns400XXXX-0" created
INFO: creating archive '/mnt/pve/nfs-local/dump/vzdump-openvz-111-2013_02_02-11_53_15.tar.lzo'
INFO: Total bytes written: 738816000 (705MiB, 27MiB/s)
INFO: archive file size: 355MB
INFO: Finished Backup of VM 111 (00:01:22)
INFO: Backup job finished successfully

Résultat pour une VM KVM

INFO: starting new backup job: vzdump 100 --remove 0 --mode snapshot --compress lzo --storage nfs-local --node ns400XXXX
INFO: Starting Backup of VM 100 (qemu)
INFO: status = running
INFO: backup mode: snapshot
INFO: ionice priority: 7
INFO:   Logical volume "vzsnap-ns400XXXX-0" created
INFO: creating archive '/mnt/pve/nfs-local/dump/vzdump-qemu-100-2013_02_02-12_05_16.tar.lzo'
INFO: adding '/mnt/pve/nfs-local/dump/vzdump-qemu-100-2013_02_02-12_05_16.tmp/qemu-server.conf' to archive ('qemu-server.conf')
INFO: adding '/mnt/vzsnap0/images/100/vm-100-disk-1.raw' to archive ('vm-disk-ide0.raw')
INFO: Total bytes written: 274880000 (87.33 MiB/s)
INFO: archive file size: 33MB
INFO: Finished Backup of VM 100 (00:00:12)
INFO: Backup job finished successfully
TASK OK

 

 

 

4 réponses sur “Faire des snapshots sous Proxmox sans que les VMs soient suspendues”

  1. En fait, il y a plus simple. Proxmox ne veux juste pas que les snapshots soient réalisés dans le même volume LVM que les machines virtuelles (situées dans /var/lib/vz).
    Un simple répertoire est donc suffisant pour faire des snapshots :
    – Créer un espace de stockage « directory » dans l’onglet Storage de Proxmox,
    – Choisir comme chemin un répertoire en dehors de « /var/lib/vz » ( exemple: /backup )
    – Dans la liste la case « Content », bien sélectionner « backup »
    Et voila 🙂

    1. Merci pour cette solution pas mal plus simple que la mienne : va falloir que je teste ça et que je mette à jour cet article avec cette solution.

Les commentaires sont fermés.