» » » Sauvegarder par script vos VM sous ESXI

Sauvegarder par script vos VM sous ESXI

Posté dans : Sauvegarde, Script, Virtualisation | 0

Il est indispensable des faire des backups de ses VMs, personne n’est à l’abrit d’une panne matériel, d’une mauvaise manipulation ou d’un probleme suite à une mise à jour…

Ce script « ghettoVCB » va réaliser des images completes de vos VMs. Ce n’est pas un backup applicatif, votre sauvegarde aura une volumétrie importante.

Avant de commencer, assurez vous de bien disposer de 2 Datastores.

1 Recuperer le script « ghettoVCB » et le transferer vers l’ESXi (sur le datastore qui va accueillir les backups par exemple). https://github.com/slobberbone/ghettoVCB
2 Editer le fichier « ghettoVCB.conf » et renseigner les paramètres demandés VM_BACKUP_VOLUME=/vmfs/volumes/ESXi-Backup/
DISK_BACKUP_FORMAT=thin
VM_BACKUP_ROTATION_COUNT=2
POWER_VM_DOWN_BEFORE_BACKUP=0
SUSPEND_VM_BEFORE_BACKUP=1
ENABLE_HARD_POWER_OFF=1
ITER_TO_WAIT_SHUTDOWN=3
POWER_DOWN_TIMEOUT=5
SUSPEND_TIMEOUT=5
ENABLE_COMPRESSION=0
VM_SNAPSHOT_MEMORY=0
VM_SNAPSHOT_QUIESCE=0
ALLOW_VMS_WITH_SNAPSHOTS_TO_BE_BACKEDUP=1
ENABLE_REFRESH_LUN=1
ISCSI_INTERFACE=vmhba37
ENABLE_NON_PERSISTENT_NFS=0
UNMOUNT_NFS=0
NFS_SERVER=172.30.0.195
NFS_MOUNT=/nfsshare
NFS_LOCAL_NAME=nfs_storage_backup
NFS_VM_BACKUP_DIR=mybackups
SNAPSHOT_TIMEOUT=15
EMAIL_LOG=0
EMAIL_SERVER=auroa.primp-industries.com
EMAIL_SERVER_PORT=25
EMAIL_DELAY_INTERVAL=1
EMAIL_TO=auroa@primp-industries.com
EMAIL_FROM=root@ghettoVCB
WORKDIR_DEBUG=0
VM_SHUTDOWN_ORDER=
VM_STARTUP_ORDER=
3 Se connecter en ssh sur son ESXI

N’oubliez pas d’activer le protocole SSH depuis votre console admin

Logiciels SSH

4 Nous lancons un premier backup initial de tous les VMs

 

Nous obtenons par la suite 4 fichiers:

  • *-flat.vmdk ⇒ le disque virtuel de votre machine
  • *.vmdk ⇒ le descripteur du disque
  • *.vmx ⇒ le fichier contenant le configuration de votre machine
  • STATUS.ok ⇒ indique que le backup est OK
  •  Backup complet:
/vmfs/volumes/Backup/ghettoVCB.sh -a -g /vmfs/volumes/Backup/ghettoVCB.conf
  • Simulation de backup :
/vmfs/volumes/Backup/ghettoVCB.sh -d dryrun -a -g /vmfs/volumes/Backup/ghettoVCB.conf
  • Lancement en mode debug :
/vmfs/volumes/Backup/ghettoVCB.sh -d debug -a -g /vmfs/volumes/Backup/ghettoVCB.conf
  • Backup seulement la vm « toto »:
/vmfs/volumes/Backup/ghettoVCB.sh -m toto -a -g /vmfs/volumes/Backup/ghettoVCB.conf
5  Pour lancer automatiquement les Backups, nous devons créer un script sur notre serveur ESXI sous SSH, lancez la commande:

nano /etc/rc.local.d/local.sh
6  Et ajouter les commandes

 

Dans mon script je demande un backup tout les 1er du mois, vous pouvez changer cela en modifiant : 0 0 1 * *

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 0 1 * * /vmfs/volumes/Backup/ghettoVCB.sh -a -g /vmfs/volumes/Backup/ghettoVCB.conf >/dev/null 2>&1" >> /var/spool/cron/crontabs/root
/usr/lib/vmware/busybox/bin/busybox crond
 7 Redémarrer le serveur ESXI
8 Vérifier que le cron est bien pris en compte
cat /var/spool/cron/crontabs/root

Vous devries avoir la ligne :

0 0 1 * * /vmfs/volumes/Backup/ghettoVCB.sh -a -g /vmfs/volumes/Backup/ghettoVCB.conf >/dev/null 2>&1

Répondre