Mostrando entradas con la etiqueta maquina virtual. Mostrar todas las entradas
Mostrando entradas con la etiqueta maquina virtual. Mostrar todas las entradas

miércoles, 17 de octubre de 2012

Utilizar ghettoVCB en ESXi para copiar tus VMs



Me encanta este script, aunque me está dando la lata desde que he actualizado a la 5.0.
Se trata de un script gratuito, que permite realizar un backup de tus máquinas virtuales, sin la necesidad de apagarlas, en un Datastore local o en una unidad iSCSI, SAN o NFS.



- Lo primero, descargar el fichero.
Dentro tenemos varios scripts de copia y restauración, lo cuales subimos a una carpeta "e.j. backup" del Datastore.


lamw-ghettoVCB-19e0d4b/ghettoVCB.conf
lamw-ghettoVCB-19e0d4b/ghettoVCB-restore.sh
lamw-ghettoVCB-19e0d4b/ghettoVCB-restore_vm_restore_configuration_template
lamw-ghettoVCB-19e0d4b/ghettoVCB.sh
lamw-ghettoVCB-19e0d4b/ghettoVCB-vm_backup_configuration_template
lamw-ghettoVCB-19e0d4b/README

Yo solo subo el ghettoVCB.sh, es el que realiza la copia.



- El ghettoVCB.sh tenemos que modificarlo con el vi:
Con el putty, no dirigimos a la carpeta que lo contiene y ejecutamos:  ~ #vi ghettoVCB.sh

Modificamos principalmente esta línea:
VM_BACKUP_VOLUME=/vmfs/volumes/(ej. unidad iscsi)/(ej. backup)
Lo que indicamos, es el destino de la copia. Nos creará carpeta con el nombre de la VM y otra con la fecha de la copia.

Otras líneas para modificar:
DISK_BACKUP_FORMAT=  Aquí yo suelo usar thin (en otro post explicaré los diferemtes tipos de discos).
VM_BACKUP_ROTATION_COUNT= Número de copias a guardar.

Con estas modificaciones es suficiente para realizar un backup de nuestra VM.
NOTA: Para realizar modificaciones con el vi, cuando se muestra el fichero para la edición, pulsamos "i" para activar la edición. Realizamos las modificaciones y pulsamos "Esc" para cerrar la edición.
Para guardar la modificaciones, pulsamos ":" seguido de "wq" y pulsamos "intro".



- Por último, creamos un archivo para listar las VM a las que se le hará la copia:
~ #vi vm_para_copia
Aquí ponemos las VM a copiar.
e.j.
   server-xxx



- Ahora tenemos que programar la tarea con el CRON del ESXi:


--Editamos el cron de root:   ~ # vi /var/spool/cron/crontabs/root
   Agregamos lo siguiente:
0 0 1 * * /vmfs/volumes/(...dirección donde tenemos ghettoVCB.sh...)/ghettoVCB.sh -f vmfs/volumes/ (...dirección donde tenemos la lista de VM...)/ vm_para_copia  > /vmfs/volumes/(...donde guardamos el log...)/ghetto-bk-$(date +%Y-%m-%d).log

0 0 1 * * - Estas cifras son para indicar: minuto(0) hora(0) día(1) mes(todos) día de la semana(todos)
   Quiere decir que se ejecutará todos los días 1 de todos los meses independientemente del día de la semana que sea. Lo días de la semana se indican del 1 al 7 separados por comas.


--Cerramos el proceso del CRON:   ~ # kill $(cat /var/run/crond.pid)


--Lo volvemos a iniciar:   ~ # busybox crond


--Ahora, demos agregar la linea persistente agregándola en el rc.local (si se apaga el host se borra el CRON):   ~ # vi /etc/rc.local

/bin/kill $(cat /var/run/crond.pid)
/bin/echo " 0 0 1 * * /vmfs/volumes/(...dirección donde tenemos ghettoVCB.sh...)/ghettoVCB.sh -f vmfs/volumes/ (...dirección donde tenemos la lista de VM...)/ vm_para_copia  > /vmfs/volumes/(...donde guardamos el log...)/ghetto-bk-$(date +%Y-%m-%d).log " >> /var/spool/cron/crontabs/root
/bin/busybox crond


Y listo! Con esto tendremos a salvo nuestras VM.