
Backup des machines virtuelles dans ESXI 5.0
Pour réaliser une sauvegarde des machines virtuelles dans ESXI 5.0, et ceci sans les stopper, il existe un petit script nommé GhettoVCB. Ce script est basé sur la réalisation et la sauvegarde de snapshot.
Pour commencer, il faut activer l’accès SSH sur le serveur Hôte.
Installation
- Télécharger le fichier archive ghettoVCB-master.tar.gz
- A l’aide de WinSCP par exemple, copier l’archive sur le serveur
- Se connecter au serveur Hôte avec client comme “Putty”
- Extraire ensuite le fichier archive à l’aide de la commande suivante : tar -zxvf ghettoVCB.tar.gz
Paramétrage
Pour configurer, il suffit d’éditer le fichier “ghettoVCB.conf”. Renseigner les paramétres suivants :
Répertoire de destination correspondant au backup.
VM_BACKUP_VOLUME=/vmfs/volumes/datastore2/VM_BACKUPS
Nombre de backup à conserver
VM_BACKUP_ROTATION_COUNT=1
Création d’un fichier permettant d’indiquer les machines virtuelles que l’on désire sauvegarder.
1 2 |
echo "VM1 VM2" > vms_to_backup |
Pour lancer la sauvegarde, lancer la commande suivante :
1 |
sh /ghettoVCB/ghettoVCB.sh -f /ghettoVCB/vms_to_backup -g /ghettoVCB/ghettoVCB.conf -l /vmfs/volumes/datastore1/backup/ghettoVCB-backup-$(date +\%s).log |
Penser à mettre à jour le répertoire correspondant à la destination de la log. Afin de tester, ajouter à la commande “-d dryrun”. Cela permettra de simuler le processus de sauvegarde.
Planification dans ESXI
Ajouter la commande suivante au fichier /var/spool/cron/crontabs/root. Le fichier étant en lecture seul, modifier les autorisations avant.
1 2 3 4 5 |
chmod 644 /var/spool/cron/crontabs/root /bin/echo "0 1 * * * sh /ghettoVCB/ghettoVCB.sh -f /ghettoVCB/vms_to_backup -g /ghettoVCB/ghettoVCB.conf \ -l /vmfs/volumes/datastore1/backup/ghettoVCB-backup-$(date +\%s).log" >> /var/spool/cron/crontabs/root chmod 444 /var/spool/cron/crontabs/root chmod +t /var/spool/cron/crontabs/root |
Killer le crontab qui tourne puis le redémarrer.
1 2 |
kill $(cat /var/run/crond.pid) busybox crond |
Ensuite, pour rendre la tache persistante après le redémarrage du serveur, mettre à jour le fichier /etc/rc.local
1 2 3 4 |
kill $(cat /var/run/crond.pid) /bin/echo "0 1 * * * sh /ghettoVCB/ghettoVCB.sh -f /ghettoVCB/vms_to_backup -g /ghettoVCB/ghettoVCB.conf \ -l /vmfs/volumes/datastore1/backup/ghettoVCB-backup-\$(date +\%s).log" >> /var/spool/cron/crontabs/root busybox crond |
On met à jour la nouvelle configuration à l’aide de la commande suivante:
1 |
/sbin/auto-backup.sh |
Voila, nous avons maintenant un backup de nos machines virtuelles planifié tous les jours à 02H00.
Remarque
Le serveur est à l’heure UTC, pensez y !
Le script permet d’effectuer le backup des machines virtuelles avec les différents disques associés à condition qu’il soit déclaré comme “dépendant”.
Il existe d’autre option au niveau de la ligne de commande (voir le site VMware pour plus de détail)