Spesso capita di dover efettuare backup di maccine virtuali. E come al solito senza voler spendere soldi in prodotti ulteriori.
Il seguente procedimento si basa sul documentatissimo script Ghettovcb.sh
Non ho inventato nulla ho solo cercato di riassumere tutti i passaggi.
Se trovate errori i commenti sono lì apposta.
Prerequisiti:
- Accesso ssh alle macchine (se non lo avete attivato su ESX fate riferimento qui)
- Il programma Putty
- Il programma Plink
- Il Programma WInSCP
- Una copia dello script ghettoVCP.sh
Installate sulla Vs Workstation i programmi
Copiate lo script sulla macchina ESX7ESXi tramite WinSCP
Spostat elo script nel primo datastore ,solitamente Datastore1, in quanto ESXi cancella tutto ciò che non si strova nei datastore al reboot.
Cambite i permessi di esecuzione in 644 tramite il comando chmod +x ghettoVCB.sh
Create un file che contenga il nome delle macchine di cui effettuare i backup
- cd /vmfs/volumes/Datastore1
- Scrivete: vi vmbackups
- PRemete la insert keyper entrare nell’editing mode di vi. scrivete il nome della prima macchina da salvare poi enter e poi la seconda e enter…..infine enter.
- Premete ESc per uscire dall’editing mode.
- SCrivete un due punti “:” e poi scrivete wq e enter.
Scegliete ora dove salvare i backup:
potete lasciarli in locale e salvarli tramite winscp ogni giorno
oppure montare un datastore NFS
Editate le sesuenti linne dello script, tlo script è commentato molto bene non dovreste trovare difficoltà.
- VM_BACKUP_VOLUME=/vmfs/volumes/backup (questo è il path del vostro NFS share)
- ENABLE_2GB_SPARSE=0 (settatelo a 1 ise volete splittare il VMDK infile da 2 GB )
- VM_BACKUP_ROTATION_COUNT=3 (numero di backup da mantenere prima di cancellare il più anziano)
- VM_BACKUP_DIR_NAMING_CONVENTION (Lasciatelo così com’è)
- POWER_VM_DOWN_BEFORE_BACKUP=0 (io lo metto a 0 (zero)un live backup)
- ENABLE_HARD_POWER_OFF=0 (io cambio a 0 (zero) per disabilitare un hardware off)
- ITER_TO_WAIT_SHUTDOWN=4 (io lo lascio come sta)
Ok ora spostatevi nella cartella dello script e lanciate ./ghettoVCB.sh vmbackups per effettuare il backup……
Vedrete apparire uno stato di avazamento simile a quello di cui sotto.
[root@esx1 testbackup]# ./ghettoVCB.sh backup
################ Taking backup snapshot for MACCHINA1 … ################
Destination disk format: VMFS thick
Cloning disk ‘/vmfs/volumes/Produzione/MACCHINA1/MACCHINA1.vmdk’…
Clone: 100% done.
Removing snapshot from MACCHINA1 …
#################### Completed backup for MACCHINA1! ####################
Start time: Wed Aug 19 14:50:14 CEST 2009
End time: Wed Aug 19 14:57:37 CEST 2009
Duration : 7.38 Minutes
Completed backing up specified Virtual Machines!
A questo punto abbiamo verificate che tutto fuziona come vorremmo andiamo a schedulare un processo ricorsivo.
Copiamo plink sul nostro VIrtualCenter o su di una altra macchina se usiamo ESXi
Creiamo un file chiamato backupesx.cmd con notepad
con una sintassi simile alla seguente
c:\putty\plink.exe root@10.10.10.1-pw password “nohup ./vmfs/volumes/datastore1/ghettoVCB.sh /vmfs/volumes/datastore1/vmbackups > /vmfs/volumes/datastore1/backuplog.txt &”
dove
c:\putty\plink.exe è la locazione in cui torvare plink
root@10.10.10.1 è root@indirizzo esx/esxi server
.pw password dove poassword è la password di root sull’esx
./vmfs/volumes/datastore1/ghettoVCB.sh locazione script
/vmfs/volumes/datastore1/vmbackups file contenente le macchine da sottoporre a backup
/vmfs/volumes/datastore1/backuplog.txt locazionedel log del backup
Scheduliamo il job nelle operazioni pianificate di windows secondo le modalità del sistema operativo….
Per ulteriore supporto sullo script ghettoVCB.s fate riferimento qui
A questo punto avete il log perchè non farselo spedire per email….scaricate blat
ed eseguit blat.exe nomefile da inviare -server indirizzo_del _server -f indirizzo_mittente -to indirizzo _destinatario
blat.exe backuplog.txt -server IPSMTPSERVER -f ESXBACKUP@bomby.it -to davide@bomby.it
Tag: backup, esx, esxi, vmware