Backup de VM sous ESXi 6.5 sans licence avec ghettoVCB
Pour faire des backup de vos VMs sous ESXi sans licence il n’y a guère le choix ( avec licence ESXi alors Veeam dispose d’une version gratuite).
Le plus simple est d’utiliser ghettoVCB.
ghettoVCB est un script qui permet de faire des backups de vos VMs, de gérer le versioning et d’envoyer des rapports par email. C’est carrément stable et ça existe depuis 2008.
Installation
Récupérer le fichier vib disponible sur le Github de ghettoVCB et copier le dans le répertoire /tmp de votre ESXi.
Il faut tout d’abord autoriser l’installation de vib issu du net :
esxcli  software acceptance set --level=CommunitySupported
Pour enfin pouvoir installer le vib :
esxcli software vib install -v /tmp/vghetto-ghettoVCB.vib -f
Configuration
Les fichiers de configuration se trouvent dans /etc/ghettovcb
Les scripts se trouvent dans /opt/ghetto/bin/
Sur mon ESXi il m’était impossible de modifier le fichier .conf, j’ai du d’abord le déplacer dans le répertoire /tmp, l’éditer puis le remettre dans /etc/ghettovcb
Le fichier ce configuration ghettoVCB.conf :
VM_BACKUP_VOLUME=/vmfs/volumes/VMFS_BACKUP #L'endroit ou vous allez déposer vos backups DISK_BACKUP_FORMAT=thin VM_BACKUP_ROTATION_COUNT=3 POWER_VM_DOWN_BEFORE_BACKUP=0 ENABLE_HARD_POWER_OFF=0 ITER_TO_WAIT_SHUTDOWN=3 POWER_DOWN_TIMEOUT=5 ENABLE_COMPRESSION=0 VM_SNAPSHOT_MEMORY=0 VM_SNAPSHOT_QUIESCE=0 ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=0 SNAPSHOT_TIMEOUT=15 EMAIL_ALERT=0 EMAIL_LOG=0 EMAIL_SERVER=[@IP] EMAIL_SERVER_PORT=25 EMAIL_DELAY_INTERVAL=1 EMAIL_TO=ghettovcb@zwindler.fr EMAIL_ERRORS_TO= EMAIL_FROM=alert_ghettoVCB@zwindler.fr WORKDIR_DEBUG=0 VM_SHUTDOWN_ORDER= VM_STARTUP_ORDER=
La documentation est disponible ici.
Utilisation
Tout est dans la documentation.
Perso, j’ai crée un fichier texte list_vm_backup dans /etc/ghettovcb avec ma liste de vm à sauvegarder
Ensuite j’ai fais un premier test en exécutant :
/opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/list_backup_vm -g /etc/ghettovcb/ghettoVCB.conf
Pour rendre tout cela automatique, il suffit de créer un cron job.
Dans mon cas je lance la sauvegarde tous les dimanches à partir de 2H du matin
La ligne à ajouter à cron /var/spool/cron/crontabs/root (Plus d’informations dans la doc officielle)
3 2 * * 0 /opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/vm_backup_list -g /etc/ghettovcb/ghettoVCB.conf
Probléme, à chaque reboot l’ESXi remet le fichier par défaut du crontab.
Pour contourner ça il faut ajouter ces deux lignes dans le fichier /etc/rc.local.d/local.sh :
/bin/kill $(cat /var/run/crond.pid) /bin/echo "3 2 * * 0 /opt/ghettovcb/bin/ghettoVCB.sh -f /etc/ghettovcb/vm_backup_list -g /etc/ghettovcb/ghettoVCB.conf >> /var/spool/cron/crontabs/root crond
Bonjour,
merci pour le tuto
primo , je fais un backup avec le fichier conf avec l option DISK_BACKUP_FORMAT = thin (pour test) d’une VM avec 2 DD , un en statique de 1 GO et un en dynamique de 300 go
(il n y a aucune data dessus , c’est vraiment pour tester le backup)
le backup se passe bien mais surprise sur mon serveur sur lequel est sauvegardé cette VM, j’ai bien 2 fichiers .vmdk correspondant a mes 2 disques mais la place occupée sur le disque est de 300 go !!! alors que je pensais que ce mode ne sauvegardait que la donnée utilisée soit rien chez moi , une idée ?
secundo, j’ai cette erreur « Slept 1 seconds to work around NFS I/O error » , j’ai l option VM_BACKUP_ROTATION_COUNT = 2 donc si je comprends bien au bout de la 3eme sauvegarde il écrase la plus ancienne or je pense qu’il a un souci d ou cette erreur , une idée ?
merci bcp
anthony
Bonjour,
Tout dépends de la configuration de ta VM, est ce que les disques utilisent aussi 300Go ?