GhettoVCB la sauvegarde gratuite de VMware ESXi

GhettoVCB la sauvegarde gratuite de VMware ESXi
Jérémie Kassianoff
8 octobre 2013
2 min de lecture

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 :

bash
unzip ghettoVCB-master.zip

Rendre exécutable votre script :

bash
chmod +x ghettoVCB.sh

Éditer votre fichier ghettoVCB.sh :

bash
vi ghettoVCB.sh

Modifier les variables suivantes :

bash
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 :

bash
touch listvm

Ajouter les noms des VM :

bash
core.vyatta.master
core.vyatta.slave
srv.owncloud
srv.zimbra
srv.zpush

Rechercher le processus « crond » :

bash
ps | grep crond | grep -v grep
==> 3255 23255 crond                crond

Tuer le processus cron :

bash
kill 3255

Modification des droits du cron :

bash
chmod 644 /var/spool/cron/crontabs/root
chmod +t /var/spool/cron/crontabs/root

Programmer la tâche cron :

bash
vi /var/spool/cron/crontabs/root

Ajouter cette ligne dans la cron :

bash
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  :

bash
vi /etc/rc.local

Pour la version 5.1 :

bash
vi /etc/rc.local.d/local.sh

Ajouter ceci :

bash
/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 :

bash
crond

Pour tester le bon fonctionnement du script :

bash
/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.