Backup di ESXi tramite ghettoVCB

Il backup è stato implementato su  usando il tool gratutito ghettoVCB (http://www.virtuallyghetto.com/).

Questi i passi seguiti per implementare il tutto:

  1. Scaricare il software (si tratta di un semplice script) dal sito;
  2. Scompattarlo in una directory in cui è montato un Datastore di ESX (nel caso in esempio /vmfs/volumes/datastore1)
  3. Montare come datastore NFS una share su un NAS (verificare lo spazio prima di creare la share, i backup di VMWare sono piuttosto corposi)
  4. Modificare il file di configurazione ghettoVCB.conf in una maniera simile a questa.
  5. VM_BACKUP_VOLUME=/vmfs/volumes/BIGTERA
    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
    ENABLE_NON_PERSISTENT_NFS=0
    UNMOUNT_NFS=0
    NFS_SERVER=bigtera
    NFS_VERSION=nfs
    NFS_MOUNT=/nfsshare
    NFS_LOCAL_NAME=nfs_storage_backup
    NFS_VM_BACKUP_DIR=bkp_esx
    SNAPSHOT_TIMEOUT=15
    EMAIL_LOG=1
    EMAIL_SERVER=smtp
    EMAIL_SERVER_PORT=25
    EMAIL_DELAY_INTERVAL=1
    EMAIL_TO=mail@domain.tld
    EMAIL_FROM=ghettoVCB@domain.tld
    WORKDIR_DEBUG=0
    VM_SHUTDOWN_ORDER=
    VM_STARTUP_ORDER=
    ENABLE_COMPRESSION=0

Non è necessario impostare i parametri relativi all’NFS se la share è già stata montata nell’ESXi: in questo caso basta specificare il path nel formato/vmfs/volumes/nomeShareSuESXi alla voce VM_BACKUP_VOLUME.

Il backup viene lanciato con il comando

/vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -g /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.conf -f /vmfs/volumes/datastore1/ghettoVCB-master/vms_to_backup > /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB-backup-$(date +\%s).log

E’ obbligatorio l’uso dei percorsi assoluti. Il parametro -g indica dove trovare il file di configuraizone (il ghettoVCB.conf di cui sopra), mentre il -f indica dove trovare la lista dei serve da salvare (un normale file con i nomi macchina, uno per riga). Il tutto scrive l’outpunt in un file di log.

Per inserire il job nella crontab occorre fare un po’ di lavoro, visto che ESXi non ha una vera e propria shell. Questi i comandi da dare:

vi /var/spool/cron/crontabs/root (attenzione ai permessi, a volte non si può modificare detto file, dare prima il comando chmod u+w /var/spool/cron/crontabs/root)

Inserire la seguente riga:

0 2 * * 0 /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -g /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.conf -f /vmfs/volumes/datastore1/ghettoVCB-master/vms_to_backup > /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB-backup-$(date +\%s).log

Riavviare cron:

~ # kill $(cat /var/run/crond.pid)
~ # crond

Per evitare che dopo un reboot le modifiche al cron vengano perse, bisogna inserire le seguenti righe in /etc/rc.local (o /etc/rc.local.d/local.sh per ESXi 5.1)

/bin/kill $(cat /var/run/crond.pid)
/bin/echo "0 0 * * 1-5 0 2 * * 0 /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.sh -g /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB.conf -f /vmfs/volumes/datastore1/ghettoVCB-master/vms_to_backup > /vmfs/volumes/datastore1/ghettoVCB-master/ghettoVCB-backup-$(date +\%s).log"
crond

Salvare le impostazioni con il comando: /sbin/auto-backup.sh

Infine verificare che crond stia girando: ps | grep crond | grep -v grep

Per ulteriori info leggere qua: https://communities.vmware.com/docs/DOC-8760

© 2021 Catfish Blog | Tema: Storto di CrestaProject WordPress Themes.