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.
Y listo! Con esto tendremos a salvo nuestras VM.
buenas tardes ,
ResponderEliminarel post muy bueno pero estoy teniendo problemas con el esxi 5.0 y 5.0.1 ya que me dice que no es la version adecuada,hay solucion?
saludos
Primero intenta usar esta versión de ghettoVCB -> https://github.com/lamw/ghettoVCB/downloads
ResponderEliminarSi continúas con el error de versión, prueba esto:
Edita y cambia la línea
ESX_VERSION=$(vmware -v | awk '{print $3}')
if [[ "${ESX_VERSION}" == "5.0.0" ]]; then
por esto:
ESX_VERSION=$(vmware -v | awk '{print $3}')
if [[ "${ESX_VERSION}" == "5.0.0" ]] || [[ ${ESX_VERSION}" == "5.1.0" ]] ; then