Ir al contenido principal

Crear imagenes de servidores VMWARE ESXi con software libre - GhettoVCB


Una de ventajas de la virutalización es la posibilidad de transladar nuestras maquinas virtuales(VM) de un servidor a otro, sin que esto implique mayor costo de tiempo en configuraciones internas a la VM.

Este procedimiento es factible hacerlo usando las herramientas proporcionadas por Vmware como vCenter Server, o de la forma que expongo a continuación en la cual se usa software libre con resultados similares (No iguales).

De hecho la version ESXi 3.5 (tambien la 4.0) es una version libre del servidor comercial de Vmware denominado ESX server.

Para este caso y por licenciamiento ESXi no soporta conexión con muchos de las increibles herramientas que trae Vmware Infraestructure 3. (De verdad son muy buenas pero el costo es elevado, prefiero libre y a mas bajo costo).

Continuando con el proposito de esta entrada listo a continuación algunos pasos que se deben realizar para la creación de una imagen sobre ESXi, por supuesto sin apagar la maquina virtual.

Nota: Estos pasos aplican unicamente si ya esta corriendo el servidor ESXi, puesto que no pretende mostrar la instalación ni configuración de ninguna VM.

1. Habilite el acceso ssh al servidor Esxi. Los pasos en detalle aqui.

2. Descarge a su servidor ESXi el software: ghettoVCB.sh
Es posible hacerlo con el siguiente comando
usuario@ubuntu$wget //link puesto anteriormente.

3. Leer la documentación provista en la pagina oficial de vmware, en la cual hay gran cantidad FAQ's y documentación al respecto. Aqui. o Aqui en caso que no exista en la pagina oficial de Vmaware.

4. El procedimiento a seguir despues de tener el software en el servidor es editar el archivo que tiene contiene las maquinas a las que se les va a realizar backups.

~#vi vm_to_backup

maquina1
maquina2 //este es el nombre de las maquinas virtuales como aparecen en el servidor ESXi.

5. Configurar un servidor NFS para almacenamiento de las imagenes de las VM's en un equipo distinto al ESXi. Pasos detallados aqui.

6. Editar el archivo ghettoVCB.sh y establecer las opciones para la ejecución del backup. (Unicamente menciono las que modifique, el resto se dejan por defecto)

~#vi getthoVCB.sh

ENABLE_NON_PERSISTENT_NFS=1 #Habilita conexion al servidor NFS
NFS_SERVER=ip del servidor NFS
NFS_MOUNT=/home/usuario/vmbackup #Directorio configurado en el servidor NFS para almacenar la imagen.

7. Una vez que se han realizado las configuraciones del caso se procede con el comando que iniciará el proceso de creación de la imagen de la VM del ESXi, la cual será almacenada en el servidor NFS dispuesto para tal fin. (Es posible almacenarla dentro del mismo ESXi, pero en caso de un daño fisico del servidor no tendria sentido tener un backup, puesto que estaría comprometido).

8. El comando que debemos ejecutar es:

~#ghettoVCB.sh -f vm_to_backup -l /tmp/logGhettoVCB.log

Este comando genera un backup de las VM's contenidas en el archivo y un log en la carpeta /tmp para su posterior revisión en caso de errores.

9. Una vez el script indique que la clonación llego al 100%, tenemos oficialmente un backup de nuestras VM en un equipo remoto con la certeza de que en caso de daño solo debemos restaurar la imagen contenida en el servidor NFS.

Pero un backup no estaria completo sin una restauración del mismo. Esto en el caso que el ESXi tenga algun daño y sea necesario formatear y volver a instalar o lo que sea que ocurra y que comprometa el funcionamiento de las VM's.

Pasos para la restauración del backup.

1. Adicionar el servidor NFS por medio del Vmware Infraestructure Client, pestaña configuración del servidor ESXi, modulo Storage. Una imagen para no extenderme más.

2. Dentro de esta consola se sigue el adicionamiento guiado de un almacenamiento externo (NAS) en este caso el que configuramos como servidor NFS.

3. Una vez que tengamos acceso desde la linea de comando del servidor ESXi, realizaremos la descarga del siguiente script provisto por el mismo autor de GhettoVCB.sh pero en este caso para la restauración de una imagen.

4. A continuación el link de descarga del script. Link. Y la respectiva documentación. Link. o en este link. Es importante leer esta documentación antes de seguir con el procedimiento, puesto que es la documentación oficial y da una idea profunda del funcionamiento de este script y los posibles escenarios de error.

5. Para este script no hay que realizar ninguna modificación en su interior, pero si se debe adecuar el archivo que indica las rutas de donde esta ubicada la imagen y a donde se va a restaurar. Este es el formato del archivo de modo simple.

#vi vm_a_restaurar // comando para crear el archivo.

Su interior basicamente tiene esta linea:

"/vmfs/volumes/NFSserver/imagen;/vmfs/volumes/datastore2;1"

De manera detallada: toda la linea esta entre comillas separando los parametros por ";". En el primer termino se indica la ubicación de la imagen a restaurar. Para nuestro caso estará en el servidor NFS. El segundo termino indica la ubicación donde se almacenan las VM's del ESXi. Y el ultimo no recomiedo modificarlo puesto que indica el formato de compresión de la imagen que no esta muy soportado hasta el momento.

6. El ultimo de los pasos es ejecutar el script, con la siguiente orden

~#ghettoVCB-restore.sh -c vm_a_restaurar -l /tmp/ghettoVCB-restore.log

Luego debe aparecer el mensaje de finalización.


Notas importantes.

No se explico como hacer ejecutable el script de backup. ej. chmod +x ghettoVCB-restore.sh
Una vez se arranca la imagen restaurada, el ESXi pregunta si fue movida o copiada, a lo cual se responde copiada.

************************

Un problema que encontré, es que no pueden haber imágenes creadas por el usuario. Pues esto cancela la realización del backup.


Comentarios

  1. Si buscais un software de backup gratuito Open Source para EXSI 5.1 XSIBackup os gustará. Permite backups desatendidos con provisión automática de espacio en el disco de backup y envía un completo informe via e-mail una vez concluido el proceso de backup - http://33hops.com/xsibackup-copia-de-seguridad-vmware-esxi.html

    ResponderBorrar

Publicar un comentario

Entradas más populares de este blog

Creando relaciones de confianza entre maquinas Linux por SSH

He buscado muchas veces sobre este mismo tema asi que hoy he decidido documentarlo para su posterior uso. De manera general una relación de confianza entre maquinas se establece con el objetivo de evitar la digitación de contraseña para acceso por terminal (ssh). Es decir que yo pueda acceder a una maquina y esta revise entre sus known_host (lista de equipos conocidos) y me permita acceso. Otra funcion importante es que se pueda realizar sincronizaciones mediante rsync y programadas por Cron evitando la intervención del usuario. Ahora si el procedimiento tecnico. Este proceso lo realize entre dos maquinas linux con sistemas operativos Ubuntu y Red Hat respectivamente. En el caso de la maquina con Ubuntu, escogi el usuario sobre el cual deseo crear la confianza. Este procedimiento hay que hacerlo con cada usuario en el cual desea evitar digitar la contraseña puesto que son entidades independientes con privilegios distintos dentro del S.O. usuario@ubuntu$ ssh-keygen - t rsa --...

Variables y Tipos de datos - Macros en Excel

Las variables son útilies en la creación de Macros. Son de nuestro especial interés cuando deseamos desarrollar formulas personalizadas (User Defined Formulas). Para introducirnos en el tema de la creación de formulas, necesitamos reconocer los tipos de datos existentes y tener la capacidad de utilizarlos. A continuación se presenta una tabla con los tipos de datos y la capacidad de almacenamiento según el tipo.   Cada de uno de estos tipos de datos deben usarse en concordancia con el objetivo de la macro. El siguiente ejercicio muestra el uso de variables tipo entero (integer): Entrar una cantidad que representa el precio de algo por el teclado con la instrucción InputBox y guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa. Calcular en A3, el precio de A1 menos el descuento de A2. Sub variables1() Dim Precio As...