Sauvegarder esxi gratuitement avec Ghettovcb
Avec ghettovcb sauvegarder à chaud de façon planifié vos vms automatiquement et gratuitement.
Niveau compatibilité, Ghettovcb.sh est compatible avec les versions d’ESX 5.x/6.x
Fonctionnalités Principales
- Backup a chaud c’est ce qui nous intéresse le plus
- Possibilité d’éteindre la VM ou pas avant d’initier le backup puis de la redémarrer ensuite et beaucoup d’autres options que l’on peut explorer…
La doc est ici -> https://communities.vmware.com/docs/DOC-8760
1) Pré-requis
Il faut que le SSH soit activé sur le/les hôte(s).
2) Installation
Pour installer, on commence par télécharger ghettovbc.tar.gz ici
On dépose le package sur l’hôte dans un répertoire permanent par exemple dans le datastore /vmfs/volumes/datastore1/ghettoVCB/
On commence par le décompresser :
1 |
# tar -zxvf ghettoVCB.tar.gz |
Puis on ce place dans le répertoire :
1 |
# cd ghettoVCB |
3) Configuration
Pour commencer nous allons configurer notre fichier vms_to_backup (celui qui contient le nom des machines à sauvegarder):
1 |
#nano /vmfs/volumes/datastore1/ghettoVCB/vms_to_backup |
1 |
# srv-test |
Ctrl +X pour sauvegarder et quitter
Puis on modifie le fichier ghettoVCB.conf (j’ai modifier la première ligne ou sera envoyé le backup):
#
1 |
nano /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
VM_BACKUP_VOLUME=/vmfs/volumes/datastore1/backup DISK_BACKUP_FORMAT=thin VM_BACKUP_ROTATION_COUNT=1 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=test.smtp.fr EMAIL_SERVER_PORT=25 EMAIL_DELAY_INTERVAL=1 EMAIL_TO=test@test.fr EMAIL_ERRORS_TO= EMAIL_FROM=root@ghettoVCB WORKDIR_DEBUG=0 VM_SHUTDOWN_ORDER= VM_STARTUP_ORDER= |
Ctrl +X pour sauvegarder et quitter
Et enfin on modifie le fichier ghettoVCB.sh ( rien de compliqué non plus ici la modification concerne aussi les première ligne )
1 |
#nano /vmfs/volumes/datastore1/ghettoVCB/ghettoVCB.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
# Author: William Lam # Created Date: 11/17/2008 # http://www.virtuallyghetto.com/ # http://communities.vmware.com/docs/DOC-8760 ################################################################## # User Definable Parameters ################################################################## LAST_MODIFIED_DATE=2015_05_06 VERSION=1 # directory that all VM backups should go (e.g. /vmfs/volumes/SAN_LUN1/mybackupdir) VM_BACKUP_VOLUME=/vmfs/volumes/datastore1/backup # Format output of VMDK backup # zeroedthick # 2gbsparse # thin # eagerzeroedthick DISK_BACKUP_FORMAT=thin # Number of backups for a given VM before deleting VM_BACKUP_ROTATION_COUNT=1 |
4) Utilisation
1 |
# ghettoVCB.sh -f <LISTE_DE_VMS> -c <FICHIER_CONFIG_VMS> -g <CONF GLOBALE> |
1 |
# /vmfs/volumes/datastore1/local/ghettoVCB/ghettoVCB.sh –f /vmfs/volumes/datastore1/local/ghettoVCB/vms_to_backup -g /vmfs/volumes/datastore1/local/ghettoVCB/ghettoVCB.conf |
5) Tàche planifiée (ESX)
Pour mettre le backup en tache cron j’ai choisi l’option de passer par le fichier local.sh qui est dans /ect/rc.local.d/
On édite donc le fichier avec notre éditeur favori nano(évidement on backup le fichier au cas ou cela ne fonctionnerais pas il faut faire attention à la syntaxe également sinon on peu endommager le system et ne plus redémarrer correctement):
1 |
# nano /etc/rc.local.d/local.sh |
Pui on ajoute les entrées que l’on souhaite planifier de type :
1 2 3 4 5 6 |
chmod +w /var/spool/cron/crontabs/root /bin/echo "19 02 * * 3,6 rm -rf /vmfs/volumes/datastore1/backup" >> /var/spool/cron/crontabs/root /bin/echo "20 02 * * 3,6 /vmfs/volumes/datastore1/local/ghettoVCB/ghettoVCB.sh -f /vmfs/volumes/datastore1/local/ghettoVCB/vms_to_backup -g /vmfs/volumes/datastore1/local/ghettoVCB/ghettoVCB.conf" >> /var/spool/cron/crontabs/root chmod -w /var/spool/cron/crontabs/root |
Ctrl + X Sauvegarder et quitter et Ne pas oublier de redémarrer pour recharger le fichier local.sh au boot
1 |
# reboot |
Votre tâche est donc planifier, dans mon exemple ci dessus, ma tache s’exécute le jours 3 et 6 de la semaine, donc le mercredi et samedi a 02 20 pour la sauvegarde et juste avant je supprime la sauvegarde précédente car je n’ai pas assez d’espace pour la garder. le chmod +w me donne les droit d’écriture dans le répertoire, comme on peut le voir mon script est chargé dans le répertoire /vmfs/volumes/datastore1/local/ghettoVCB/ghettoVCB.sh et la liste de mes machines à sauvegarder dans le ficher vms_to_backup qui ce trouve dans /vmfs/volumes/datastore1/local/ghettoVCB/vms_to_backup et même chose pour le fichier de conf ou est précisé l’endroit de stockage.