old-tape.jpg

Les machines virtuelles c'est top ! Dans mon cas c'est même beaucoup plus solide que le dockstar que j'avais acheté et qui peut maintenant servir de brique (le pauvre est incapable de retrouver son chemin sur le réseau).

Avertissement : je ne peux en aucun cas être tenu responsable de pertes de données consécutives à l'application de ce qui va suivre. La sauvegarde est un métier à part entière et il vous appartient de faire des tests avant de mettre en place une méthode de sauvegarde et de tester régulièrement que les restaurations de données fonctionnent.

Mon problème était de trouver un moyen simple pour sauvegarder ma VM sans pour autant l'arrêter car c'est un serveur web. La solution que j'applique est la suivante :

  1. Je créer un cliché (snapshot) de ma VM. A partir de là les changements d'état de ma VM seront stocké dans un autre fichier.
  2. Je demande à Virtualbox de cloner l'image disque (.vdi). Il va copier l'image disque en générant un UUiD différent.
  3. Je supprime le cliché (snapshot) et Virtual. Les changements intervenu dans l'intervalle sont réintégrés dans l'image disque (.vdi).

De cette façon le fichier vdi sauvegardé ne subit pas de changement pendant la copie.

Après j'utilise back in time pour sauvegarder de façon intelligente mes fichiers. Du coup j'ai une sauvegarde par jour de mon image disque.

Le script bash est donc très simple :

#!/bin/bash
VMDIR="/home/user/VirtualBox VMs/"
VMNAME="vmname"
#déplacement
cd "$VMDIR""$VMNAME"
#destruction de l'ancien fichier
rm *.vdi.bak
#création du cliché de la VM
VBoxManage snapshot $VMNAME take current --pause
#copie du .vdi
VBoxManage clonehd vmhdd.vdi vmhdd.vdi.bak --format VDI
#delete du cliché courant
VBoxManage snapshot $VMNAME delete current

Pour la restauration il suffira de créer une nouvelle VM, de lui assigner le fichier vdi de backup et de gérer les désagréments causé par le changement d'adresse MAC de la carte réseau virtuelle.

Attention : cloner une image disque prend du temps ! Dans mon cas les 9Go de ma machine virtuelle prennent 10 bonnes minutes. Cette méthode n'est donc pas adaptée à une grosse quantité de machines ou à des machines avec des disques volumineux.