Cómo migrar máquinas virtuales de un entorno de virtualización clusterizado en VMware vCenter (o de un VMware ESXi independiente) a Proxmox.

Preparar la máquina virtual a migrar en VMware vCenter o VMware ESXi

En primer lugar, revisaremos la máquina virtual que queramos exportar a Proxmox. Es recomendable desinstalar las VMware Tools. Si la máquina se va a mover al entorno Proxmox, es decir, si se va a eliminar de VMware una vez pasada a Proxmox, desinstalaremos las VMware Tools antes de la migración.

Por otro lado, es conveniente instalar el driver VirtIO. Si disponemos de conexión a Internet en la máquina virtual, descargaremos el ISO de instalación en la máquina virtual a migrar. En el siguiente enlace se incluye la última versión estable para Windows:

Si tenemos algún equipo con versiones antiguas de Windows, deberemos descargar la versión de VirtIO compatible. Por ejemplo, para equipos con Windows Server 2012 o Windows 8, se recomienda el driver 0.1.271, disponible en:

Realizaremos la descarga del driver VirtIO:

En el caso de no disponer de conexión a Internet en la máquina virtual, descargaremos el ISO de VirtIO en un equipo con acceso al vCenter o al ESXi, subiremos este ISO y lo agregaremos a la máquina virtual en modo CD/DVD.

Si hemos descargado el ISO y no disponemos de la opción de montarlo como CD/DVD, lo descomprimiremos (podemos hacerlo con 7-Zip):

Ejecutaremos el instalador de VirtIO (el fichero virtio-win-gt-x64.msi). Se iniciará el asistente de instalación de Virtio-win:

Es posible que nos solicite permisos para instalar el driver VirtIO Balloon Driver, pulsaremos en «Instalar»:

En la migración, lo más probable es que se añada un nuevo adaptador de red y el actual quede inhabilitado. Por ello, si se usan direccionamientos estáticos (sin DHCP), anotaremos la configuración de red del equipo para aplicarla manualmente una vez realizada la migración.

Importar máquina virtual de VMware vCenter o de ESXi a Proxmox

En primer lugar, conectaremos Proxmox con el vCenter o el ESXi. Para ello, pulsaremos en «Centro de datos» [1] y en «Almacenamiento» [2]. Pulsaremos en «Agregar» y elegiremos «ESXi» [3]:

Introduciremos los datos de conexión al ESXi o al VMware vCenter (IP, usuario, contraseña) y marcaremos «Omitir verificación del certificado». Pulsaremos en «Agregar»:

Si los datos de conexión son correctos, Proxmox nos mostrará un nuevo objeto en la consola con el nombre especificado en «ID» anteriormente. Al pulsar sobre él, nos mostrará todas las máquinas virtuales del entorno VMware vCenter o del VMware ESXi:

Antes de hacer la importación, conviene apagar la máquina virtual. Aunque Proxmox permite importación en caliente, sin detener la máquina, el proceso será más lento y puede haber alguna incongruencia si el servidor a importar es de base de datos. Siempre que se pueda, apagaremos la máquina antes de importar.

Desde Proxmox, pulsaremos en el objeto «vcenter» creado anteriormente, seleccionaremos la máquina virtual a importar [1] y pulsaremos en «Importar» [2]:

Elegiremos las opciones de la máquina virtual a importar: vCPU (zócalos, núcleos), memoria RAM, nombre de la máquina virtual, etc. Por defecto, obtendrá las que tuviera en VMware vCenter o VMware ESXi. Elegiremos el almacenamiento de destino en Proxmox y el puente para el adaptador de red que se le asignará:

Desde «Avanzado», para la controladora de discos, es recomendable usar el controlador SCSI «VirtIO SCSI single», por lo que marcaremos la opción «Preparar para VirtIO-SCSI» y en «Controlador SCSI» elegiremos «VirtIO SCSI single». En las interfaces de red, marcaremos la interfaz que queramos asignar:

Una vez establecidas todas las opciones para la máquina virtual, pulsaremos en «Importar». Se iniciará el proceso de migración de la máquina virtual de VMware vCenter o VMware ESXi a Proxmox:

Una vez finalizado el proceso de migración, nos lo indicará con el mensaje «Cleaned up extracted image … successfully created disk … TASK OK»:

Nos aparecerá la máquina virtual importada en el entorno Proxmox. Podremos iniciarla y ver su arranque:

Para el caso de equipos Windows con Windows Server 2012, tras la migración (se puede hacer antes de la migración), se añade la ISO de VirtIO versión 0.1.134 (tal y como indicamos en este tutorial) e instalado el controlador del adaptador de red desde la carpeta del CD/DVD:

…\NetKMV\2k12R2\amd64

Pulsando con el botón derecho sobre el fichero «netkvm.inf» y pulsando en «Instalar»:

Importar máquina virtual de VMware vCenter o de ESXi a Proxmox

De esta forma nos detectará el adaptador de red correctamente y podremos configurarlo.

Importar máquina virtual de VMware vCenter o de ESXi a Proxmox

Si le asignamos la misma IP que tenía antes de migrar, nos mostrará el siguiente mensaje:

La dirección IP … que especificó para este adaptador de red ya está asignada a otro adaptador (Conexión de red …) que ya no está presente en el equipo. Si se asigna la misma dirección a ambos y los dos se activan, solo uno de ellos la usará. Esto puede dar lugar a una configuración incorrecta del sistema. ¿Desea quitar la configuración de IP estática del adaptador que falta?

Esto es debido a que el adaptador red de la máquina cuando estaba en el entorno VMware aún sigue presente, aunque desactivado. Responderemos «Sí» a la pregunta:

Y para evitar estas situaciones, eliminaremos definitivamente el adaptador de red de VMware, desde el Administrador de dispositivos, pulsaremos en el menú «Ver» – «Mostrar dispositivos ocultos»:

En Adaptadores de red, mostrará el adaptador indicado en el mensaje anterior, en este caso «Conexión de red Gigabit Intel(R) 8257AL» que, además, estará deshabilitado. Lo seleccionaremos y pulsaremos con el botón derecho del ratón sobre él, eligiendo la opción de «Desinstalar»:

Pulsaremos en «Aceptar» en el mensaje de confirmación de desinstalación del dispositivo:

De esta forma dejaremos «limpio» de dispositivos que no se van a usar nuestro equipo migrado.

Si no se ha instalado, es recomendable instalar el agente QEMU guest agent, que viene en el ISO de VirtIO:

Este agente permitirá realizar operaciones entre la máquina y el servidor Proxmox para mejorar los snapshot y otras interacciones entre el sistema operativo anfitrión y Proxmox.