Hace poco se dio a conocer una noticia bastante importante, es que Cyberus Technology anuncio mediante una publicación de blog que su backend KVM para VirtualBox ahora es de código abierto y con ello en lugar de que VirtualBox utilice su propio módulo del kernel de Linux, VirtualBox ahora se puede utilizar con un backend KVM.
Para quienes desconocen de KVM (Kernel-based Virtual Machine) deben saber que es una tecnología de virtualización integrada en el núcleo del sistema operativo Linux. Funciona como un hipervisor, permitiendo la ejecución eficiente de múltiples máquinas virtuales en un sistema host Linux.
Visto de otra forma, al ser implementado como un módulo del kernel de Linux, KVM puede funcionar como un hipervisor, aprovechando las extensiones de virtualización que proporcionan las CPU modernas (Intel VT y AMD-V), extensiones de hardware que habilitan al procesador para ejecutar instrucciones específicas de virtualización de manera altamente eficiente.
Durante los últimos meses, el equipo de Cyberus Technology ha dedicado esfuerzos significativos para lograr la compatibilidad entre VirtualBox y KVM. La intención era fusionar las capacidades de administración multiplataforma y la interfaz de usuario intuitiva de VirtualBox con el potencial de KVM como hipervisor a nivel del kernel de Linux.
El backend KVM de Cyberus Technology permite a VirtualBox ejecutar máquinas virtuales utilizando el hipervisor KVM de Linux en lugar del módulo de kernel personalizado utilizado por VirtualBox estándar. El uso de KVM conlleva una serie de beneficios.
Nuestros clientes utilizan la virtualización para aislar diferentes dominios de seguridad entre sí. Dependen de un mayor refuerzo del sistema anfitrión para mayor seguridad. Este tipo de endurecimiento es necesario para obtener la certificación de organismos gubernamentales y, como resultado, requisitos estrictos para nuestros clientes.
Y ahora el esfuerzo ha rendido sus frutos, pues la combinación de VirtualBox y KVM representa un avance significativo en el campo de la virtualización en entornos Linux. Esta integración no solo ofrece un rendimiento superior, sino que también mejora la seguridad y la flexibilidad de las máquinas virtuales.
Con la integración de KVM, VirtualBox ahora puede proporcionar un soporte mejorado para máquinas virtuales Windows que se ejecutan en sistemas Linux. Además, la combinación de VirtualBox y KVM permite a los usuarios aprovechar las características únicas de ambos frentes. Esta flexibilidad da lugar a nuevos escenarios de uso, como la ejecución simultánea de VirtualBox y QEMU en hosts Linux.
Entre las características más importantes de la implementación se destacan las siguientes:
- Rendimiento Mejorado: La integración con KVM permite que las máquinas virtuales aprovechen al máximo las capacidades de aceleración del hardware, garantizando un rendimiento óptimo.
- Seguridad Reforzada: KVM, al ser basado en el kernel, proporciona una capa adicional de seguridad. VirtualBox se beneficia de esta estructura sólida, creando un entorno más seguro para las aplicaciones virtualizadas.
- Soporte Avanzado para Windows: La integración de KVM permite un mejor soporte para máquinas virtuales Windows en sistemas Linux, especialmente importante en entornos donde la seguridad es primordial.
- Ejecución Paralela QEMU/KVM: VirtualBox KVM puede funcionar en paralelo con QEMU/KVM, proporcionando una mayor flexibilidad en el entorno de virtualización.
- Eliminación del Controlador del Kernel de VirtualBox: La integración con KVM elimina la necesidad del controlador del kernel de VirtualBox, simplificando la instalación y la administración de la plataforma.
- Aprovechamiento de Capacidades de Virtualización Modernas: VirtualBox KVM puede aprovechar automáticamente las funciones de virtualización modernas compatibles con KVM, como APICv, para una gestión más eficiente.
Para los interesados en la implementación, deben saber que actualmente, VirtualBox KVM debe compilarse a partir del código fuente proporcionado por Cyberus Technology y de momento la plataforma Intel x86-64 es oficialmente compatible, ya que el soporte AMD se considera experimental.
Por otra parte, vale la pena mencionar que el código está escrito en C y C++ y se distribuye bajo la licencia GPLv3. El código de la implementación lo puedes consultar en el siguiente enlace. Si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.