Cómo clonar una máquina virtual con sistema operativo Linux CentOS 6.5 en un entorno de virtualización con VMware ESXi. Explicamos cómo hacer esta clonación sin herramientas adicionales, usando el software gratuito VMware vSphere Client, cómo configurar la red apropiadamente y cómo cambiar la IP y el nombre de red DNS para poder iniciar la máquina clonada sin provocar conflictos entre ambas.

Requisitos para clonar máquina virtual Linux en VMware ESXi

Para poder clonar una máquina virtual Linux en un entorno de virtualización VMware ESXi, necesitaremos lo siguiente:

Clonar máquina virtual Linux en VMware ESXi con VMware vSphere Client

Exportar máquina virtual a fichero OVA (OVF)

Iniciaremos VMware vSphere Client, accederemos al servidor VMware ESXi que contenga la máquina virtual origen con Linux:

Exportar máquina virtual a fichero OVA (OVF)

A continuación deberemos apagar la máquina virtual origen, este es el único inconveniente de este método, que es gratuito y sin software de terceros pero obliga a detener la máquina virtual durante el tiempo en que transcurra la exportación. Por lo tanto apagaremos la máquina virtual, o bien desde la propia máquina ejecutando el comando:

shutdown -r now

Exportar máquina virtual a fichero OVA (OVF)

Si tenemos las VMware Tools instaladas en la máquina virtual también podremos apagarla desde VMware vSphere Client, pulsando con el botón derecho del ratón sobre ella y seleccionando «Power» – «Shut Down Guest»:

Exportar máquina virtual a fichero OVA (OVF)

Una vez apagada, con la máquina virtual seleccionada, pulsaremos en el menú «File» – «Export» – «Export OVF Template»:

Exportar máquina virtual a fichero OVA (OVF)

Introduciremos el nombre, la carpeta de destino y una descripción y pulsaremos «OK». Si dejamos la opción «Format» por defecto «Single file (OVA)» nos exportará la máquina virtual completa a un fichero con extensión .ova:

Exportar máquina virtual a fichero OVA (OVF)

Iniciará el proceso de exportación de la máquina virtual:

Exportar máquina virtual a fichero OVA (OVF)

Una vez finalizado nos mostrará el mensaje «Export Complete. Exporting xxx. Completed successfully». Pulsaremos «Close»:

Exportar máquina virtual a fichero OVA (OVF)

A título informativo, el proceso anterior habrá generado un fichero con extensión OVA en la carpeta indicada:

Exportar máquina virtual a fichero OVA (OVF)

Dicho fichero ova, en nuestro caso SRVPROYECTOA.ova, es un fichero comprimido que podría descomprimirse, por ejemplo, con 7zip:

Exportar máquina virtual a fichero OVA (OVF)

Y contiene varios ficheros (un mf, un ovf y uno o varios vmdk):

Exportar máquina virtual a fichero OVA (OVF)

Explicamos lo que contiene cada fichero:

  • SRVPROYECTOA.mf: contiene los SHA1 del resto de ficheros, por seguridad, para garantizar que no se han modificado:
Exportar máquina virtual a fichero OVA (OVF)
  • SRVPROYECTOA.ovf: fichero XML de configuración de la máquina virtual:
Exportar máquina virtual a fichero OVA (OVF)
  • SRVPROYECTOA-disk1.vmdk: contiene el disco duro y por lo tanto toda la información de la máquina virtual.

Una vez hecha la exportación podremos iniciar la máquina virtual origen, pulsando con el botón derecho del ratón sobre ella y seleccionando «Power» – «Power On»:

Exportar máquina virtual a fichero OVA (OVF)

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Una vez exportada la máquina virtual a OVA como hemos explicado anteriormente, desplegaremos ahora una máquina virtual con el fichero OVA exportado. Para ello, desde VMware vSphere Client, pulsaremos en el menú «File» – «Deploy OVF Template»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Pulsaremos en el botón «Browse» para seleccionar el fichero OVA exportado anteriormente:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Seleccionaremos el fichero OVA exportado, en nuestro caso SRVPROYECTOA.ova y pulsaremos «Abrir»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Tras seleccionar el fichero origen a desplegar pulsaremos en «Next»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

El asistente para desplegar un fichero OVA o OVF nos mostrará los datos de la máquina virtual, pulsaremos «Next»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Introduciremos el nombre para la nueva máquina virtual clonada, por ejemplo SRVPROYECTOA2 y pulsaremos «Next»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Seleccionaremos el resource pool donde se añadirá la máquina virtual o bien en el raíz del servidor:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Elegiremos el datastore (almacenamiento) donde se creará la carpeta para la máquina virtual, que contendrá todos los ficheros necesarios para su funcionamiento:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Elegiremos el método de aprovisionamiento de disco (Thick provision lazy zeroed, Thick provision eager zeroed, Thin provision) y pulsaremos «Next»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Elegiremos la red que se le asignará a la máquina virtual y pulsaremos «Next»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

El asistente para desplegar la máquina virtual OVA (OVF) nos mostrará un resumen de los datos elegidos, si son correctos pulsaremos «Finish» para crearla definitivamente:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Si nos muestra un error similar al siguiente:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Con el texto: Failed to Deploy. Failed to deploy OVF package: File ds://vmfs/volumes/xxx/_deviceImage-0.iso was not found.

Seguiremos las instrucciones del siguiente enlace para solucionarlo: Solución al error Failed to Deploy. Failed to deploy OVF package.

Continuará el proceso de despliegue de la máquina virtual:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Una vez finalizado el despliegue nos mostrará un mensaje indicando «Deploing SRVAJDPSOFT completed successfully»:

Importar o desplegar máquina virtual en fichero OVA o OVF a servidor VMware ESXi

Configurar máquina virtual Linux clonada para arranque sin conflictos

Una vez desplegada la máquina virtual (importándola desde el fichero OVA), como hemos indicado anteriormente, SIN INICIARLA, editaremos las propiedades de la máquina virtual, para ello la seleccionaremos y pulsaremos con el botón derecho del ratón, elegiremos «Edit Settings»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Seleccionaremos en la parte izquierda el hardware «Network adapter 1» y en la parte derecha nos aseguraremos de que esté desmarcada la opción «Connect at power on«. Anotaremos la MAC Address pues la necesitaremos en pasos posteriores:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Ahora podremos iniciar (con la red desactivada) la máquina virtual clonada, para ello pulsaremos con el botón derecho del ratón sobre ella y seleccionaremos «Power» – «Power On»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Abriremos la máquina virtual en una ventana de consola, para ello pulsaremos sobre la máquina virtual con el botón derecho y seleccionaremos «Open Console»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Una vez iniciada la máquina virtual Linux CentOS, configuraremos las opciones de red, para ello podremos usar el modo gráfico (si disponemos de él) o desde la ventana de terminal. Desde el modo gráfico pulsaremos en el menú «Sistema» – «Preferencias» – «Conexiones de red»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Veremos que nos ha creado una red llamada «Auto eth1» que eliminaremos seleccionándola y pulsando en «Eliminar»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Ahora editaremos las propiedades para la red «eth0», para ello la seleccionaremos y pulsaremos «Editar»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

En la pestaña «Cableado» en «Dirección MAC del dispositivo» añadiremos la MAC que anotamos en pasos anteriores, la MAC que VMware ESXi haya asignado a la tarjeta de red virtual elegida para la máquina virtual:

Configurar máquina virtual Linux clonada para arranque sin conflictos

En la pestaña «Ajustes de IPv4» añadiremos la configuración de red (dirección IP, máscara de red, puerta de enlace y servidores DNS), una vez añadida la configuración de red pulsaremos «Aplicar»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Si queremos configurar las opciones de red desde la ventana de terminal escribiremos el siguiente comando para editar el fichero «ifcfg-eth0»:

nano /etc/sysconfig/network-scripts/ifcfg-eth0

Configurar máquina virtual Linux clonada para arranque sin conflictos

En este fichero podremos establecer la IP (IPADDR), la puerta de enlace (GATEWAY), los DNS (DNS1, DNS2) y la MAC (HWADDR):

Configurar máquina virtual Linux clonada para arranque sin conflictos

Cambiaremos también el nombre de red del equipo (hostname), para ello abriremos una ventana de terminal y escribiremos el siguiente comando:

nano /etc/hosts

Configurar máquina virtual Linux clonada para arranque sin conflictos

Editaremos el fichero «hosts» y estableceremos el nuevo nombre de red para el equipo clonado, a la derecha de la IP estableceremos este nombre, por ejemplo SRVPROYECTOA2:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Editaremos también el fichero «network» con el comando:

nano /etc/sysconfig/network

Configurar máquina virtual Linux clonada para arranque sin conflictos

Establecemos también aquí el nuevo nombre de la máquina clonada, en HOSTNAME=XXX:

Configurar máquina virtual Linux clonada para arranque sin conflictos

En determinadas configuraciones de NAT y cortafuegos también será necesario configurar el siguiente fichero (o el correspondiente a la regla del cortafuegos establecida):

nano /etc/udev/rules.d/70-persistent-net.rules

En el fichero 70-persistent-net.rules eliminaremos la referencia a la tarjeta de la máquina original que tendrá su MAC y dejaremos la nueva tarjeta clonada con la nueva MAC. En la nueva MAC cambiaremos eth1 por eth0:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Quedando:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Apagaremos el equipo virtual desde «Sistema» – «Apagar»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

O bien desde el modo gráfico con el comando:

shutdown -h now

Tras configurar y apagar la máquina virtual editaremos las propiedades, pulsando con el botón derecho del ratón y seleccionando «Edit Settings»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Seleccionaremos «Network adapter 1» y marcaremos «Connect at power on». Pulsaremos «OK»:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Y ya podremos iniciar la máquina virtual y la tendremos disponible en la red para su uso:

Configurar máquina virtual Linux clonada para arranque sin conflictos

Anexo

Solución al error Failed to Deploy. Failed to deploy OVF package

Configurar máquina virtual Linux clonada para arranque sin conflictos

Para solucionar este error editaremos el fichero OVF que acompaña a la máquina virtual, si tenemos un único fichero OVA tendremos que descomprimirlo como indicamos aquí, una vez de que dispongamos del fichero OVF lo editaremos con cualquier editor de texto plano, como por ejemplo notepad, buscaremos el item «CD-ROM» y lo eliminaremos por completo, todas las líneas que mostramos en la imagen, una vez eliminadas guardaremos el fichero y volveremos a intentar la importación o despliegue de la máquina virtual:

Configurar máquina virtual Linux clonada para arranque sin conflictos