Convertir entre tipos de hipervisor

Convertir entre tipos de hipervisor

Mi empresa necesita automatizar la creación de nuevas máquinas virtuales con nuestra solución patentada, para ello nos gustaría enviar el producto en un formato estandarizado (OVA parece ser el único "estándar" que existe) o poder convertir desde el misma máquina a varios tipos diferentes de virtualización.

Hasta ahora, esto se hace manualmente, lo que significa que si un cliente quiere una máquina virtual HyperV, debemos construirla en un servidor HyperV que tengamos internamente, VMWare en VMWare, etc. Nuestro objetivo es automatizar esto.

Explicando mejor: el plan es tener un servidor KVM, aprovisionar la VM y después del aprovisionamiento exportarla a un formato OVA, y posiblemente como cortesía adicional para nuestros clientes en su hipervisor de elección.

Puedo convertir los discos perfectamente con "qemu-img convert", sin embargo, parece que no puedo convertir la definición de máquina (XML) a otros formatos según lo necesitan otros hipervisores.

No puedo encontrar ninguna herramienta adecuada para esto, ¿sugerencias?

Nota: no tenemos acceso al hipervisor donde se instalarán, por lo que debemos exportarlo como OVA/TAR, etc.

Respuesta1

Desafortunadamente, OVA promete mucho más de lo que puede ofrecer. En el mejor de los casos, es un formato estándar para distribuir imágenes de disco, pero hace muy poco o nada para garantizar que una imagen de disco se pueda iniciar sin problemas en múltiples hipervisores. Cada hipervisor emula un conjunto diferente de hardware virtual, por lo que el sistema operativo invitado necesitará instalar controladores diferentes para cada hipervisor. Algunos sistemas operativos como Linux son razonablemente buenos porque pueden arrancar con hardware arbitrario y detectar automáticamente los controladores para que coincidan con lo que encuentran, pero incluso así es fácil estropearlo. por ejemplo, si /etc/fstabenumera "/" como en /dev/vda1el disco (para el controlador de disco virtio-blk de QEMU), eso no funcionará cuando se inicie en VMWare con un disco SCSI que aparece como /dev/sda1. Windows es realmente difícil de adaptar a diferentes hardware, ya que le gusta vincular estrechamente controladores específicos a cada disco/NIC/etc.

También existe el problema de que cada hipervisor tiene su propio formato de imagen de disco preferido: VMWare prefiere vmdk, a QEMU le gusta raw o qcow2 idealmente, VirtualBox tiene otro, etc, etc. OVA no hace nada para solucionar ninguno de estos problemas difíciles.

Este tipo de problemas son la razón por la que herramientas como virt-v2v (http://libguestfs.org/virt-v2v.1.html) que toman una imagen de disco para un hipervisor y reconfiguran el sistema operativo invitado para que funcione en un hipervisor diferente, cambiando el formato del disco al mismo tiempo.

Incluso si de alguna manera creas una imagen de disco que crees que funciona en todos ellos, aún debes someterla a un ciclo de prueba de control de calidad completo para asegurarte de que realmente funciona correctamente.

En mi humilde opinión, es mucho más fácil crear una imagen de disco dedicada para cada hipervisor.

información relacionada