Cómo exportar una máquina virtual de VirtualBox (con disco duro en formato VDI) a VMware ESXi 6.7 en formato VMDK. En realidad, lo que haremos, será convertir el disco duro VirtualBox en formato VDI a disco duro de VMware con formato VMDK. Posteriormente convertiremos el disco VMDK IDE a formato ISCSI para que sea más rápido, desde un host de VMware.

Crear máquina virtual en VMware ESXi sin disco duro

En primer lugar crearemos una máquina virtual en el entorno VMware ESXi, la crearemos sin disco duro, puesto que le asignaremos el disco duro posteriormente, una vez convertido de VirtualBox.

Desde vSphere Client (o el cliente de conexión que usemos para nuestro entorno de virtualización), pulsaremos en «Nueva máquina virtual»:

Crear máquina virtual en VMware ESXi sin disco duro

Seleccionaremos «Crear una nueva máquina virtual»:

Crear máquina virtual en VMware ESXi sin disco duro

Elegiremos el nombre para la máquina virtual, en nuestro caso «SRVO»:

Crear máquina virtual en VMware ESXi sin disco duro

Elegiremos el pool de recursos donde se creará la máquina virtual:

Crear máquina virtual en VMware ESXi sin disco duro

Seleccionaremos el datastore donde se almacenarán la carpeta y ficheros de la máquina virtual. En nuestro caso «SSD». Es importante anotar este dato, que lo necesitaremos posteriormente:

Crear máquina virtual en VMware ESXi sin disco duro

Elegiremos la compatibilidad de hardware, en nuestro caso dejaremos el de defecto para el entorno ESXi 6.7:

Crear máquina virtual en VMware ESXi sin disco duro

Elegiremos el sistema operativo de la máquina virtual, el que más se parezca al sistema operativo que contendrá la máquina. En nuestro caso Linux CentOS 64 bits:

Crear máquina virtual en VMware ESXi sin disco duro

En el siguiente paso, elegiremos la CPU, RAM, red, etc. de la máquina virtual. Es importante eliminar el disco duro que crearía por defecto, pulsando en el aspa de la derecha sobre «Nuevo disco duro», para que no agregue un disco duro, dado que lo añadiremos de forma manual posteriormente:

Crear máquina virtual en VMware ESXi sin disco duro

Pulsaremos «Finish» para crear la nueva máquina virtual sin disco duro:

Crear máquina virtual en VMware ESXi sin disco duro

Dejaremos la máquina virtual creada, sin iniciarla y sin disco duro.

Conversión de disco de VirtualBox VDI a formato VMware VMDK

Abriremos VirtualBox, que tendremos instalado en el equipo, pulsaremos con el botón derecho del ratón sobre la máquina virtual que queramos convertir y en el menú emergente elegiremos «Mostrar en explorador»:

Conversión de disco de VirtualBox VDI a formato VMware VMDK

Anotaremos la ruta (unidad y carpeta) y el nombre del fichero con extensión .vdi:

Conversión de disco de VirtualBox VDI a formato VMware VMDK

Será este fichero el que convirtamos a VMDK, en nuestro caso: ServidorCentos7-disk001.vdi, ubicado en: C:\Users\proyectoa\VirtualBox VMs\ServidorCentos7.

Para convertir el fichero del disco duro virtual .vdi de VirtualBox a .vmdk abriremos una ventana de la línea de comandos (Símbolo de sistema, CMD, MS-DOS). Y accederemos a la carpeta donde tengamos instalado VirtualBox, en nuestro caso a C:\Program Files\Oracle\VirtualBox, con el comando:

cd «C:\Program Files\Oracle\VirtualBox»

En esta carpeta existirá el comando VBoxManage.exe, que será el que usemos para la conversión. Ejecutaremos el siguiente comando para convertir el disco ServidorCentos7-disk001.vdi al disco ServidorCentos7-disk001.vmdk:

VBoxManage.exe clonehd «C:\Users\proyectoa\VirtualBox VMs\ServidorCentos7\ServidorCentos7-disk001.vdi» «C:\Users\proyectoa\VirtualBox VMs\ServidorCentos7\ServidorCentos7-disk001.vmdk» –format vmdk

El proceso, una vez concluido, habrá creado un fichero nuevo, con el nombre indicado, en formato VMDK. Si todo ha sido correcto mostrará el resultado:

Clone medium created in format ‘vmdk’. UUID: b899c8e0-f618-44b8-8d39-71edfd7

Conversión de disco de VirtualBox VDI a formato VMware VMDK

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Una vez convertido a VMDK, el siguiente paso será subir el fichero al entorno VMware. Para ello, desde la consola de administración de VMware vSphere Client, accederemos a la gestión del almacenamiento. Exploraremos el datastore donde hemos creado la máquina virtual, en nuestro caso «SSD» y abriremos la carpeta de la máquina virtual, en nuestro caso «SRVO». Desde esta carpeta pulsaremos en «Cargar archivos»:

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Seleccionaremos el fichero .vmdk convertido anteriormente para subirlo a la carpeta de la máquina virtual:

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Una vez subido, si queremos que tenga un buen rendimiento, es recomendable convertirlo a SCSI. En la conversión de vdi a vmdk quedó en formato IDE. Para convertirlo, deberemos acceder a un host ESXi de nuestro entorno de virtualización con acceso al datastore de la máquina virtual por SSH (como explicamos en este artículo).

Una vez dentro de un host ESXi con SSH, accederemos a la carpeta donde se encuentra el fichero .vmdk subido anteriormente, en nuestro caso en /vmfs/volumes/SSD/SRVO:

cd /vmfs/volumes/SSD/SRVO

Nos aseguraremos de que, efectivamente, existe el fichero .vmdk subido, ejecutando:

ls -lah *.vmdk

Nos devolverá los ficheros .vmdk de la máquina virtual. Sólo debe aparecer el que hemos subido, dado que creamos la máquina sin disco durdo

-rw-r–r– 1 root root 12.8G Dec 20 10:31 ServidorCentos7-disk001.vmdk

Ahora convertiremos el fichero .vmdk de disco duro virtual IDE a disco duro virtual ISCSI:

vmkfstools -i ServidorCentos7-disk001.vmdk -d thin SRVO.vmdk

Iniciará el proceso de conversión. Si todo es correcto mostrará:

Destination disk format: VMFS thin-provisioned
Cloning disk ‘ServidorCentos7-disk001.vmdk’…
Clone: 100% done

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Asignar disco duro VMDK existente a máquina virtual creada en VMware

Por último, tras convertir el disco duro de vdi a VMDK IDE y de VMDK IDE a VMDK SCSI, ya lo tendremos preparado para asignarlo a la máquina virtual que creamos al principio sin disco duro. Para ello, desde vSphere Client, pulsaremos con el botón derecho del ratón sobre la máquina virtual creada y en el menú emergente pulsaremos en «Editar configuración…»:

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Pulsaremos en «AGREGAR NUEVO DISPOSITIVO» y en «Disco duro existente»:

Subir fichero VMDK convertido a datastore de VMware y convertir de IDE a ISCSI

Accederemos al datastore y a la carpeta que contiene la máquina virtual y seleccionaremos el fichero .vmdk convertido a ISCSI, en nuestro caso «SRVO.vmdk»:

Ahora ya podremos iniciar la máquina virtual de forma normal. Si todo es correcto arrancará el sistema operativo y ya podrá usarse.