
Impossible de sauvegarder une VM sans l’éteindre? GhettoVCB c'est la solution indispensable! Il sauvegarde à chaud les VM de votre ESXi.
Cas d'usage concret
Vous devez sauvegarder une VM ESXi sans l'éteindre ni payer de licence : découvrez GhettoVCB, la solution gratuite.
VMware ESXi en version gratuite ne propose pas la sauvegarde de machines virtuelles à chaud.
Un script développé par Virtuallyghetto, nommé GhettoVCB permet de contourner ce problème!
La page Github de GhettoVCB est disponible à cette adresse : GhettoVCB
Dans cet article, nous irons à l’essentiel.
Préparation de ghettoVCB
Télécharger l’ensemble des fichiers en cliquant sur Download ZIP.
Ensuite, rendez-vous sur votre hyperviseur afin de transférer ghettoVCB-master.zip.
Désormais, connectez-vous en SSH sur votre hyperviseur.
Notre répertoire de travail sera : /vmfs/volumes/datastore1/ghettoVCB.
Il est fortement conseillé de le mettre dans un datastore local et de le copier dans un dossier.
ghettoVCB dans l’hyperviseur ESXi 5
Dézipper votre fichier zip :
unzip ghettoVCB-master.zip
Rendre exécutable votre script :
chmod +x ghettoVCB.sh
Éditer votre fichier ghettoVCB.sh :
vi ghettoVCB.sh
Modifier les variables suivantes :
VM_BACKUP_VOLUME=/vmfs/volumes/52304bd6-af562afc-e5fa-08606ee5bd47/backups
VM_BACKUP_ROTATION_COUNT=2
Le « 52304bd6-af562afc-e5fa-08606ee5bd47 » correspond à mon datastore 2.
Création d’un fichier listvm :
touch listvm
Ajouter les noms des VM :
core.vyatta.master
core.vyatta.slave
srv.owncloud
srv.zimbra
srv.zpush
Rechercher le processus « crond » :
ps | grep crond | grep -v grep
==> 3255 23255 crond crond
Tuer le processus cron :
kill 3255
Modification des droits du cron :
chmod 644 /var/spool/cron/crontabs/root
chmod +t /var/spool/cron/crontabs/root
Programmer la tâche cron :
vi /var/spool/cron/crontabs/root
Ajouter cette ligne dans la cron :
0 0 * * 1 /vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/listvm
Se rendre dans le fichier rc.local :
vi /etc/rc.local
Pour la version 5.1 :
vi /etc/rc.local.d/local.sh
Ajouter ceci :
/bin/echo "0 0 * * 1 /vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/listvm" >> /var/spool/cron/crontabs/root
Redémarrage du cron :
crond
Pour tester le bon fonctionnement du script :
/vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/5230458e-84f00e58-8db6-08606ee5bd47/ghettoVCB/listvm
Vérification de mon datastore2 :

Pour avoir plus de détails sur les commandes : GhettoVCB.
Conclusion
J'ai détaillé ici la mise en place de GhettoVCB pour pallier l'absence de sauvegarde à chaud des machines virtuelles dans la version gratuite de VMware ESXi. La configuration du script, de la liste des VM à sauvegarder jusqu'à la planification via cron et le lancement automatique au démarrage de l'hyperviseur, permet d'obtenir une solution de sauvegarde simple et gratuite. C'est une alternative précieuse pour les environnements ESXi qui ne disposent pas de licence permettant les sauvegardes natives.
