Para los laboratorios personales, en muchas ocasiones, usaba VirtualBox. Tras montarme un pequeño servidor con Proxmox, he decidido migrar todas mis VM creadas a este nuevo entorno.
Es un proceso sencillo pero que decidí documentar en esta web ya que, aunque ahora es un proceso que estoy repitiendo con bastante frecuencia, se que pasados unos meses tendré que volver a buscarlo si tengo que volver a hacerlo.
¿Qué es Proxmox y por qué migrar?
Proxmox VE (Virtual Environment) es una plataforma de virtualización de código abierto que permite administrar máquinas virtuales, contenedores y almacenamiento. Ofrece una interfaz web intuitiva, soporte para alta disponibilidad, y es ideal para entornos de producción y laboratorios personales.
Procedimiento
1. Exportar la VM de VirtualBox
En primer lugar, tendremos que exportar la VM de VirtualBox. En este caso, usaré una VM de Parrot que utilizo para algunos de los WriteUps documentados en esta web.
2. Subir y Descomprimir el OVA en Proxmox
Subimos el fichero .ova
generado a nuestro Proxmox y descomprimimos el empaquetado:
tar -xvf ParrotSecurity.ova
Entre los ficheros descomprimidos tendremos uno en formato .vmdk
. Esto es el disco de nuestra VM de VirtualBox.
3. Convertir el Disco a qcow2
El siguiente paso será convertir el disco al formato qcow2
, que ofrece mayor compatibilidad en Proxmox:
qemu-img convert -f vmdk -O qcow2 Parrot-disk.vmdk Parrot-disk.qcow2
4. Crear una VM en Proxmox
Una vez finalizada la conversión, tendremos que crear la VM en Proxmox. En esta guía no se explica cómo crear VM en Proxmox, pero la VM tendrá que tener los siguientes requerimientos:
- No tener una imagen ISO para el arranque.
- No añadirle ningún disco.
El resto de requerimientos serán a gusto de las necesidades que se requieran. Es importante, quedarnos con el ID que obtendrá esta máquina.
5. Importar el Disco a la VM en Proxmox
Con una VM creada, tenemos que importar el disco a esta nueva VM:
qm disk import 107 Parrot-disk.qcow2 local-lvm
Sobre este comando indicar los siguientes parámetros:
107
-> Identificador de la máquinaParrot-disk.qcow2
-> Nombre del disco convertido previamentelocal-lvm
-> Storage donde guardaremos el disco
Esto llevará unos minutos, dependiendo del tamaño del disco. Cuando finalice, podremos verlo añadido en la opción de Hardware de nuestra VM:
6. Conectar el Disco
Para ello, clicamos sobre el disco llamado «Unused Disk 0» (el nombre puede variar en función de los discos que la máquina pueda tener añadidos) y clicamos en la opción «Edit». En mi caso, seleccionaré las siguientes opciones:
7. Configurar el Orden de Arranque
Ir a la pestaña de «Options» de la VM y en «Boot Order», marcar este nuevo disco como una opción para el arranque:
Tras esto, será arrancar la máquina y comprobar que todo funciona correctamente
Compatibilidad del Formato qcow2 con Proxmox
El formato qcow2
(QEMU Copy-On-Write) es ampliamente utilizado en Proxmox debido a que entre sus ventajas encontramos:
- Snapshots: Permite la creación de snapshots que facilitan la gestión de estados de la VM.
- Espacio Dinámico: A diferencia de otros formatos,
qcow2
ocupa solo el espacio necesario en lugar del tamaño máximo del disco. - Compresión: Soporte para compresión de discos, lo que ahorra espacio en almacenamiento.
- Desempeño: Aunque puede tener un impacto en el desempeño en comparación con formatos sin compresión, es generalmente eficiente para la mayoría de usos.