Backup macchine virtuali vmware esx

Questa è una procedura TOP per effettuare un backup delle macchine virtuali presenti in un Host VMware. E’ una soluzione gratuita, si basa su software gratuito e dunque non è necessario acquistare Veeam, Acronis o altri software. Non è necessario nemmeno avere la versione a pagamento di VMware. L’unica cosa da fare è abilitare l’accesso SSH all’host. Se abbiamo un ambiente più complesso o vogliamo delle funzionalità di backup più avanzate ovviamente il Veeam fa al caso nostro.

Procediamo.

In questo esempio tutti gli script e le procedure vengono lanciate da una macchina Windows virtuale che può risiedere sullo stesso host di cui si effettua il backup.

Andiamo sul sito web http://www.magikmon.com/mksbackup/download.en.html per scaricare il file di installazione di MKS Backup per Windows.

Scompattiamo il tutto ed eseguiamo il file .exe. Apparirà una finestra di MS-DOS che ci guida nell’installazione, in pratica installa e configura tutto. In automatico scarica anche lo script di GhettoVCB per i backup delle macchine virtuali.

Ora ci ritroviamo una cartella in C:\ con il nome “Magik”. Magico!

Adesso andiamo a configurare il file mksbackup.ini all’incirca come riportato qua di seguito.

Attenzione, qua ho avuto qualche grattacapo. Se per caso modificate i file da Windows questi vengono “sminchiati” e per pulirli ho dovuto aprirli da ESXi con il comando “vi” per togliere a fine di ogni riga quei bei simpatici “^M” che ad occhio nudo non si vedono. Dunque, meglio che fate questi file direttamente da ESXi.

Altra chicca: per caricare i file verso l’host potete dal Mac usare il terminale. Ma se come me non avete voglia, potete usare Transmit e connettervi via SFTP, il TOP!

Bene, vediamo il file mksbackup.ini
01 [DEFAULT]
02 night_shift=on
03 smtp_host=SMTP_SERVER
04 smtp_mode=normal
05 smtp_port=25
06 smtp_login=LOGIN
07 smtp_password=PASSWORD
08 sender=EMAIL
09 recipients=EMAIL
10
11 [VMWARE]
12 program=ghettovcb
13 host=IP_ADDRESS
14 port=22
15 login=root
16 password=PASSWORD
17 local=C:\magik\vmware
18 global_conf=ghettoVCB.conf
19 vm_list=
20 vm_exclude=

Adesso andiamo in C:\Magik\vmware ed editiamo il file ghettoVCB.conf in modo simile a questo. In questo caso un datastore NFS è stato configurato in ESXi e raggiungibile all’indirizzo riportato nella prima riga:
01 VM_BACKUP_VOLUME=/vmfs/volumes/FREENAS/ghettobackup
02 DISK_BACKUP_FORMAT=thin
03 VM_BACKUP_ROTATION_COUNT=3
04 POWER_VM_DOWN_BEFORE_BACKUP=0
05 ENABLE_HARD_POWER_OFF=0
06 ITER_TO_WAIT_SHUTDOWN=3
07 POWER_DOWN_TIMEOUT=5
08 ENABLE_COMPRESSION=0
09 VM_SNAPSHOT_MEMORY=0
10 VM_SNAPSHOT_QUIESCE=0
11 ENABLE_NON_PERSISTENT_NFS=0
12 UNMOUNT_NFS=0
13 SNAPSHOT_TIMEOUT=15

Adesso andiamo a modificare nella Utilità di pianificazione di Windows il task creato automaticamente ed inseriamo il valore VMWARE alla fine della riga nel campo “Aggiungi argomenti”:

Possiamo lanciare a mano il backup e vedere se tutto funziona a dovere con il seguente comando:
1 C:\Magik\MKSBackup\mksbackup.exe -d -c C:\Magik\mksbackup.ini backup VMWARE

Qua ho avuto un’altra gatta da pelare. Lo script non eliminava la snapshot, per proseguire dovevo eliminarla a mano dal vCenter. Per risolvere questo ostacolo occorre andare a modificare a mano con il comando “vi” il file ghettoVCB.sh e cercare la stringa:
1 ${VMWARE_CMD} vmsvc/snapshot.remove ${VM_ID} > /dev/null 2>&1

sostituendola con questa (il comando corretto è snapshot.removeall):
1 ${VMWARE_CMD} vmsvc/snapshot.removeall ${VM_ID} > /dev/null 2>&1

Back to Top