Cómo importar un VMDK de VMware en Proxmox VE

Cómo importar un VMDK de VMware en Proxmox VE

por Raúl Unzué

Migrar a Proxmox desde VMware

Llevo desde 2013 como VMware vExpert, y si algo he aprendido en más de una década "trasteando" con hipervisores es que ningún cambio de plataforma es tan limpio como promete la documentación oficial. Cuando Broadcom decidió cargarse las licencias gratuitas de ESXi, no fui de los que salieron corriendo a instalar Proxmox al día siguiente. Esperé, leí foros, vi cómo le iba a la gente que ya había dado el salto, y sobre todo, probé la migración en un entorno de pruebas antes de tocar nada en producción. Es lo que recomiendo siempre, y lo digo con la boca pequeña porque sé que casi nadie lo hace.

El importador gráfico que trae desde Proxmox VE 8.2 funciona, sí, pero solo si tienes vCenter o host ESXi. De hecho, no es más complicado que pulsar en tu Datacenter -> Storage -> Add -> ESXi. Eliges el fichero VMX de la máquina virtual y comienza el proceso de importación :

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 1

Si tu entorno es más humilde, un par de hosts ESXi sueltos o máquinas virtuales con ficheros VMDK "sueltos" de algún cliente, sin capa de gestión centralizada, como me pasa a mí en el laboratorio de casa, esa vía no existe. Ahí es donde entra la migración por comandos, más manual, algo más lenta, pero con control total sobre cada paso y, sobre todo, sin sorpresas de última hora.

En esta guía voy a contaros como podéis lograr una migración de ficheros VMDK sin errores o incidencias graves.

Preparar máquina VMware para la importación a Proxmox

Si tenéis la posibilidad de entrar en la máquina virtual, ya sea desde el host ESXi donde reside o abriéndola desde un VMware Workstation, que aún es posible descargar gratuitamente, es interesante instalar previamente a la migración las "VMware Tools" para Proxmox (drivers VirtIO).

En una máquina virtual Linux, por ejemplo, el kernel ya trae los módulos virtio de serie, y es muy probable que os podáis ahorrar este paso.

En cambio, si la máquina virtual es Windows, este paso es casi obligatorio para evitar quebraderos de cabeza. Lo primero que vas a hacer es instalar los drivers VirtIO antes de tocar nada más, porque si no, te vas a encontrar un precioso pantallazo azul en cuanto arranque en Proxmox. El disco duro que ve Windows en ESXi (LSI Logic o similar) no existe en el mundo KVM/VirtIO, y Windows puede darte problemas.

Pasos necesarios:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 2

  • Móntalo en la máquina virtual
  • Instala los drivers de red y de almacenamiento (aunque de momento no los use)
  • Y apaga la máquina para poder importarla

En esta guía para Windows Server 2025 ya os explicamos como se realizaba.

Consolidar Snapshots

Otro paso importante, que muchos técnicos no tienen en cuenta, es que si la máquina virtual dispone de snapshots, deberemos consolidarlos, para evitar problemas.

 

Exportar máquina virtual a fichero VMDK

Con la máquina virtual preparada con las "VMware Tools" para Proxmox y sin Snapshots, deberemos extraer el fichero VMDK del host ESXi donde resida.

Para ello, podéis conectaros vía SSH al host y lanzar estos comandos, o usar la herramienta ovftool, por ejemplo. Os dejo la opción más rápida:

ssh root@TU-HOST-ESXi
 vmkfstools -i /vmfs/volumes/datastore1/VM-A-EXPORTAR/VM-A-PROXMOX.vmdk -d thin /vmfs/volumes/datastore1/VM-A-EXPORTAR/VM-A-PROXMOX-export.vmdk

Con esto ya disponemos de una copia del VMDK de la máquina virtual que vamos a exportar a Proxmox VE.

Aseguraos que no existe más de un disco, sino el proceso habrá que realizarlo para cada disco:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 3

Importar máquina virtual a Proxmox

Una vez tenemos el fichero exportado, ahora deberemos subirlo a un almacenamiento, si no lo está ya, que tenga acceso nuestro host Proxmox.

Si no tenéis claro cómo localizar el almacenamiento evitando la gestión gráfica, lanzar el siguiente comando, para saber donde se encuentran vuestros recursos de almacenamiento mapeados (en mi caso, en un NAS, carpeta /mnt/pve/ASUSTOR/import):

cat /etc/pve/storage.cfg

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 4

Por comodidad, podéis conectaros, por ejemplo, vía FileZilla o WinSCP al host Proxmox, y subir el fichero VMDK a un almacenamiento del host.

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 5

También podéis hacerlo directamente vía comando con SCP desde vuestro host Proxmox:

scp root@TU-HOST-ESXi:/vmfs/volumes/datastore1/VM-A-EXPORTAR/VM-A-PROXMOX-export.vmdk /var/lib/vz/images/

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 6

Con la máquina virtual apagada subimos el fichero VMDK de cualquiera de las formas que os he mostrado:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 7

Crear máquina virtual vacía en Proxmox

Como estamos mostrando como subir un fichero VMDK a Proxmox, y no estamos usando el conector directamente, deberemos usar un paso intermedio. Crear una máquina virtual en Proxmox con las mismas características que la de origen, vacía sin discos, a la que enlazaremos el disco VMDK posteriormente.

Podéis hacerlo vía comando:

--- MAQUINA WINDOWSqm create 100 --name migrada-vm --memory 4096 --cores 2 \
 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci --ostype win10
 --- MAQUINA LINUX
 qm create 101 --name kalilinux --memory 4096 --cores 2 --sockets 1 \
 --net0 virtio,bridge=vmbr0 --scsihw virtio-scsi-pci --ostype l26 --machine q35

Crearla con las mismas características que la original, o ajustarla a conveniencia si lo veis necesarios en recursos de RAM o CPU.

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 8

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 9

Podéis validar que el ID ("100" en mi caso, se ha generado sin disco asignado) desde uno de los host del clúster Proxmox con "qm list":

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 10

Importar y Convertir disco VMDK a QCOW2 en Proxmox

Lo primero que haremos, antes de realizar nada más, es una comprobación de los pasos dados hasta ahora. Disponemos de:

  • VMDK exportado de la máquina original VMware.
  • Una máquina virtual Proxmox con el mismo nombre creada y apagada, con los mismos recursos que la original, pero SIN DISCO DURO ("vacía").
  • El disco VMDK de la máquina VMware subido a un almacenamiento de Proxmox.

¿Qué nos queda?

Importar y Convertir VMDK a QCow2

Nos movemos vía comando a la carpeta donde tenemos nuestro fichero VMDK. En mi caso, la carpeta de mi NAS (fichero "KALILINUX.vmdk"):

root@minis2:~# cd /mnt/pve/ASUSTOR/import/
 root@minis2:/mnt/pve/ASUSTOR/import# ls
 25.10.deb12.standard-1762188193.ova export-i-e93bcd8ceb7497c1t.mf KALILINUX.vmdk
 export-i-e93bcd8ceb7497c1t-disk-1.vmdk export-i-e93bcd8ceb7497c1t.ovf

Si tenéis problemas para encontrar los ficheros VMDK copiados, lanzar este comando:

find / -type f -name "*.vmdk"

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 11

Usaremos el siguiente comando para convertir e importar el fichero VMDK a la máquina creada con ID "100":

root@minis2:/mnt/pve/ASUSTOR/import# qm importdisk 100 /mnt/pve/ASUSTOR/import/KALILINUX.vmdk ASUSTOR

El fichero irá cambiando de tamaño, en mi caso hasta los 100GB, en la conversión progresivamente hasta terminar:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 12

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 13

Para enlazar el disco generará una carpeta con el ID de la máquina virtual (en mi ejemplo, "/mnt/pve/ASUSTOR/images/100"), que al estar vacía hasta ahora no existía, y dejará el fichero ahí:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 14

Lo podéis ver también desde Filezilla u otro programa más visual:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 15

Revisar nombre exacto del disco duro

Lanzamos "qm config 100". Como se puede ver, el disco se crea como "unused disk", que no está asignado a ningún BUS de disco:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 16

Asignar como disco de arranque

Configuramos el nuevo disco para que sea el de arranque (si tenéis varios este paso no es necesario en los que no sean de sistema operativo):

qm set 100 --scsi0 ASUSTOR:100/vm-100-disk-0.rawqm set 100 --boot order=scsi0

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 17

Confirmar que el controlador SCSI es VirtIO

qm set 100 --scsihw virtio-scsi-pci

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 18

Revisamos nuevamente el estado del disco:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 19

Arrancar máquina virtual

El último paso, es comprobar que la máquina virtual arranca sin incidencias:

qm start 100

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 20

Si todo es correcto tendremos una máquina virtual totalmente operativa:

Geeknetic Cómo importar un VMDK de VMware en Proxmox VE 21

La potencia de los comandos en Proxmox

Después de migrar unas cuantas máquinas virtuales con este método, mi conclusión es sencilla, el poder de los comandos es la base de la fuerza de cualquier sistema de virtualización.

Cada comando te dice exactamente qué está pasando, y cuando algo falla, sabes en qué paso mirar, en vez de darle vueltas a una barra de progreso que muchas veces cuenta bastante poco.

Dicho esto, no lo recomendaría para una migración masiva de veinte o treinta máquinas virtuales sin automatizarlo antes con un script que encadene estos mismos comandos. Ahí sí merece la pena invertir un rato en un script en bash, porque repetir esto a mano máquina a máquina es la forma más rápida de cometer un error tonto, como pisar un ID de máquina virtual que ya estaba en uso.

Si algo debes llevarte de este artículo es esto, consolida los snapshots antes de exportar, instala los drivers VirtIO antes de apagar la máquina origen, y decide el firmware (BIOS o UEFI) desde el primer comando, no a mitad de camino. Esos tres puntos son, en mi experiencia, el origen del 90% de los problemas que me he encontrado migrando de VMware a Proxmox. El resto es paciencia y una buena taza de café mientras se copia el disco.

Fin del Artículo. ¡Cuéntanos algo en los Comentarios!

Redactor del Artículo: Raúl Unzué

Raúl Unzué

Soy un apasionado de la virtualización con más de 20 años de experiencia, especializado en soluciones como VMware(premio vExpert y vExpert Pro desde 2013), Proxmox e Hyper-V. Durante mi carrera, he ayudado a empresas a optimizar sus infraestructuras TI mientras comparto mis conocimientos como redactor IT. Mi objetivo es traducir lo complejo en algo práctico y accesible, combinando teoría con experiencia real. Si te interesa la virtualización, las herramientas TI o simplemente aprender algo nuevo, espero ayudarte con mis artículos.