Outils personnels

KVM backup - snapshot - restore

De wikiGite

Le backup des machines virtuelles KVM peut se faire de deux façons :

  • par snapshot LVM si la machine virtuelle est elle-même dans un volume logique, et qu'il existe un volum group LVM séparé pour les snapshots.

(En effet LVM refuse de créer le snapshot dans le même VG). Par défaut, Proxmox prend le volume pve qu'il a créé à l'installation pour le système : malheureusement, le volume logique "root" prend souvent déjà toute la place.

  • par suspension (ou arrêt) de la VM, puis copie tar.gz du disque virtuel vers un répertoire de backup.

Ce répertoire doit exister et avoir été ajouté comme emplacement dans storage, en paramétrant le contenu comme "VZDump backups".

Sauvegarde

Manuellement, VM arrêtée

vzdump --dumpdir /var/lib/vz/backup <ID de la VM>

Snapshot

  • par l'interface Proxmox, menu "Sauvegardes", cliquer sur la flèche et "ajouter un nouveau job".

Paramétrer les heures, la destination, les machines à sauvegarder. Indiquer le mode "snapshot".

  • Ou, pour une sauvegarde ponctuelle, en ligne de commande, par
vzdump --compress --dumpdir /var/lib/vz/backup --snapshot <ID de la VM>

Tar.gz

  • par l'interface Proxmox, menu "Sauvegardes", cliquer sur la flèche et "ajouter un nouveau job". Indiquer le mode "suspend".
  • Ou, pour une sauvegarde ponctuelle, en ligne de commande, par
vzdump --suspend <ID de la VM>

Restauration

Snapshot

TODO -

Tar.gz

Le backup se remonte en ligne de commande par :

qmrestore vzdump-qemu-103-2011_03_31-12_07_01.tgz 106

où le fichier tgz est celui créé par le backup, et "106" un ID de machine virtuelle disponible (elle n'a pas besoin d'être créée avant, qemu se débrouille de tout).

Si on souhaite remonter cette sauvegarde dans la même VM qu'avant, il faut d'abord supprimer celle-ci via l'interface puis lancer qmrestore avec son ancien ID.

NOTE : la configuration est restaurée aussi, donc si on utilise cette méthode pour cloner des VMs, attention aux adresses MAC des interfaces réseau qui sont restaurées à l'identique sur les clones !

Pour régénérer une nouvelle adresse MAC, supprimer et recréer l'interface réseau dans la configuration de la VM (Virtual machines/ double-clic sur la VM / onglet Hardware).

Ensuite plusiuers fichiers de conf peuvent devoir être modifiés :

CentOS

Modifier le fichier /etc/udev/rules.d/70-persistent-net.rules. On doit ici supprimer la ligne correspondant à l'interface copiée de l'ancienne vm (se référer aux adresses mac) et changer le champ "NAME=eth1" de la seconde en "NAME=eth0".

Enfin, dans le fichier /etc/sysconfig/network-scripts/ifcfg-eth0, changer la ligne HWADDR= avec l'adresse mac de la nouvelle interface.