Conversión de imagen de Virtualbox en disco virtual para KVM

   En entradas anteriores de la presente bitácora se ha tratado el tema de la Máquina virtual basada en el núcleo ["Kernel-based Virtual Machine" ("KVM"), en inglés].
  Este gestor de máquinas virtuales es una tecnología de virtualización integrada en el núcleo de Linux que permite crear y ejecutar máquinas virtuales como si fueran ordenadores independientes, compartiendo recursos del sistema físico.
  Por su parte, un archivo OVA (Open Virtualization Format Archive) del gestor de máquinas virtuales VirtualBox es un paquete único y comprimido que contiene una máquina virtual completa y preconfigurada, incluyendo sistema operativo, aplicaciones y configuraciones, diseñado para compartir y desplegar fácilmente máquinas virtuales entre diferentes sistemas de virtualización.
   Lamentablemente, el archivo OVA no es compatible con el gestor de máquinas virtuales KVM, por lo que se hace necesaria una conversión al formato de disco virtual compatible con éste, QCOW2.

ARCHIVO OVA

  Como se ha indicado más arriba, un archivo de dispositivo de virtualización abierto es un archivo compatible con el gestor de virtualización VirtualBox que contiene descripciones de una máquina virtual. Se trata de un archivo de datos (formato TAR comprimido) porque no se utiliza para ejecutar la máquina virtual, sino que simplemente contiene información acerca de la misma.
  El archivo OVA contiene los siguientes elementos:
  •   Archivo OVF (Open Virtualization Format): Un archivo XML que describe la configuración de la máquina virtual, como hardware, redes y dispositivos.
  •   Archivos de disco: Imágenes de disco virtual (como .VMDK) con el sistema operativo y datos.
  •   Archivo de manifiesto (.MF): Contiene la suma de verificación de los archivos para asegurar su integridad.
  •   Certificados: Para autenticación.
  •   Otros archivos: Imágenes ISO de DVD virtuales.
  Este archivo se usa para:
  •   Distribución: Compartir máquinas virtuales listas para usar, como servidores preconfigurados o entornos de prueba.
  •   Portabilidad: Mover una MV entre diferentes sistemas de virtualización fácilmente.
  •   Implementación rápida: Desplegar un sistema operativo completo en minutos sin pasar por la instalación paso a paso.

ARCHIVO QCOW2

  Se trata de un formato de archivo para archivos de imagen de disco utilizado por QEMU, un monitor de máquina virtual alojado.​ El nombre proviene de "QEMU Copy On Write" ya que se usa una estrategia de optimización del almacenamiento que mantiene la versión inicial de la imagen de disco y utiliza almacenamiento adicional para persistir las modificaciones. por otra parte, este tipo de archivo  incorpora el cifrado AES y admite múltiples instantáneas utilizando un modelo más nuevo y flexible para almacenarlas.
  Entre sus características más relevantes se encuentran:
  •   Copia en Escritura ("Copy-On-Write", en inglés): Sólo guarda los bloques modificados, manteniendo una imagen base y añadiendo cambios, lo que ahorra espacio.
  •   Aprovisionamiento Tenue ("Thin Provisioning", en inglés): El archivo de imagen crece a medida que la MV escribe datos, no ocupa todo el espacio reservado desde el inicio.
  •   Rendimiento: Ofrece buena compresión y clonación, mejorando la gestión de recursos.
  •   Versatilidad: Se puede convertir a otros formatos (VDI, VMDK, etc.) para usarlo en diferentes hipervisores.
  •   Compatibilidad: Se puede abrir en Windows, macOS y Linux usando soporte técnico de virtualización como QEMU o Proxmox [plataforma de virtualización de código abierto basada en Debian que permite gestionar máquinas virtuales (MVs) usando KVM y contenedores Linux (LXC) desde una única interfaz de red intuitiva].
  Generalmente se emplea en:
  •   Plantillas: Crear una imagen maestra de un sistema operativo para desplegar múltiples MVs idénticas.
  •   Migración de MVs: Exportar y mover máquinas virtuales entre diferentes sistemas.
  •   Cloud Computing: Usado como formato estándar para imágenes de máquinas en entornos en la nube (OpenStack, Google Cloud...). 

CONVERSIÓN

  Para convertir un archivo OVA en uno QCOW2, lo primero que se debe hacer es descomprimir el primero mediante el comando tar -xvf <nombre del archivo OVA> (anteponiendo sudo si no se ha iniciado sesión como usuario administrador; en este ejemplo "wazuh-4.10.1.ova).
  Acto seguido, se emplea el comando
qemu-img convert -O qcow2 <nombre del archivo VMDK> <nombre del archivo QCOW2> (anteponiendo sudo si no se ha iniciado sesión como usuario administrador) para transformar el disco virtual de VirtualBox al formato de disco compatible con KVM (en este ejemplo el archivo VMDK es "wazuh-4.10.1-disk-1.vmdk" y el QCOW2 es "wazuh.qcow2").
  Aunque ya se puede utilizar el disco duro virtual desde la ubicación donde se haya creado, es mejor trasladarlo a la ubicación predeterminada de los discos duros virtuales de KVM usando el comando mv <nombre del disco duro QCOW2> <ruta de discos duros virtuales de KVM> (anteponiendo sudo si no se ha iniciado sesión como usuario administrador).
  Hecha la conversión, se debe crear la máquina virtual en el gestor de máquinas virtuales con el nuevo disco, pero antes se deben conocer algunos parámetros variables, principalmente la cantidad de RAM y el número de núcleos de UCP (aunque durante la creación el espacio del disco duro es estático, se podrá modificar posteriormente como cualquier otro disco duro virtual). Esto se logra viéndolos (con el comando cat <nombre de archivo OVF> o con un editor de texto) en el archivo OVF que apareció al descomprimir el archivo OVA (en este ejemplo el archivo es "wazuh-4-10.1.ovf", y puede verse que tiene 4 núcleos de UCP y 8 GB de RAM).
  Seguidamente, se abre el gestor de máquinas virtuales KVM y se crea una máquina virtual nueva pulsando en el botón "Crear una máquina virtual nueva".
  En la ventana emergente que aparecerá, se escoge la opción "Importar imagen de disco existente" y se pulsa en el botón "Forward".
  En la siguiente pantalla, se pulsa el botón "Explorar" para buscar el disco virtual recién creado.
  Dado que ya se ha puesto el disco QCOW2 en la ruta predeterminada para los discos virtuales de KVM, en la siguiente pantalla se deja seleccionada la opción "default" en la parte izquierda de la misma y se selecciona el disco recién creado (en este ejemplo "wazuh.qcow2") en la parte derecha. Luego se pulsa el botón "Elegir volumen".
  Nuevamente en la ventana anterior, Se elige el sistema operativo ("Generic Linux 2024", en este ejemplo), y se pulsa en el botón "Forward".
  En la siguiente pantalla, se selecciona la cantida de RAM y el número de núcleos de UCP revisados anteriormente (si la máquina física puede permitŕiselo, en caso contrario, se usarán los mínimos indispensables). Al terminar, se pulsará en el botón "Forward".
  La pantalla final resume las configuraciones antes realizadas. Si todo está bien, se pulsará en el botón "Finalizar" (en caso contrario, se vuelve atrás pulsando el botón "Mecanismo (backend)").
  La máquina virtual arrancará automáticamente.

  Espero que la presente entrada haya sido interesante para el lector. De ser así, aguardo que éste la comente y/o la comparta, por favor.

No hay comentarios:

Publicar un comentario

Deje aquí su comentario, si no puede comentar, pruebe a hacerlo desde otro navegador de red u otro equipo.