Sauvegardes des VM d'un ESX (VMWARE) avec ghettoVCB
Comme indiqué dans certains articles à ce sujet, il s'agit de la solution du pauvre (pas d'incrémentiel ni d'interface graphique).
N'ayant pas assez de licences Veeam pour backuper les VM de l'hyperviseur VMware ESXi qui nous sert de bac à sable. J'ai opté pour cette solution.
Prérequis.
L'espace de destination des sauvegardes doit être configuré en tant que "Datastore" sur l'ESX. J'ai effectué les premiers essais sur un datastore qui pointait sur un partage de type NFS. Les sauvegardes n'ont pas fonctionné. Je pense que c'est faisable, mais n'ai pas insisté, vu que j'avais la possibilité de cibler une vraie LUN.
Installation/Configuration de ghettoVCB
- Télécharger https://github.com/lamw/ghettoVCB/archive/master.zip
- Déposer l'archive zip dans le datastore local de l'ESX
- Se connecter en ssh sur l'ESX
#Se placer dans le repertoire du datastore local cd /vmfs/volumes/datastore1/ #dézipper l'archive unzip ghettoVCB-master.zip #rentrer dans le dossier de gettho cd ghettoVCB-master/ #Rendre le .sh éxécutable chmod +x ghettoVCB.sh #Editer ghettoVCB.sh (Ouep, désolé, nano n'est pas installé sur les ESX) vi ghettoVCB.sh
Au début du fichier ghettoVCB.sh, changer
VM_BACKUP_VOLUME=/vmfs/volumes/mini-local-datastore-hdd/backups
par le bon chemin
On peut tester en éxécutant un premier backup
./ghettoVCB.sh -a
Mise en tâche CRON
C'est pénible à faire. car la crontab de l'ESX est réinitialisée à chaque démarrage du service CRON Voici la doc utilisée: https://apice.unibo.it/xwiki/bin/view/Apice/esxi6Scheduling
On ajoute donc ça dans le script. /etc/rc.local.d/local.sh (adaptez le chemin /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh ci dessous)
/bin/kill $(cat /var/run/crond.pid) /bin/echo "0 0 * * 1-5 /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -a > /dev/null" >> /var/spool/cron/crontabs/root /usr/lib/vmware/busybox/bin/busybox crond
Backup manuel
En ssh (root) sur l'ESX. Pour backuper un seul serveur:
/vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -m nomDeLaVM
Pour backuper toutes les VMS de l'ESX:
/vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -a
Restauration
Parcourez le datastore pour aller dans l'emplacement où sont vos sauvegardes. Déplacez le dossier qui vous interesse (sinon il risque de se faire supprimer au vu de la limite de rétention des backups), et enregistrez la VM qu'il contient.
Il est possible d'utiliser aussi les scripts prévus par ghettoVCB. La documentation est par là: https://communities.vmware.com/docs/DOC-10595