Llega la nueva versión de Cloud Hypervisor 0.3, el VMM open source
Intel dio a conocer el lanzamiento de una nueva versión del hipervisor “Cloud Hypervisor 0.3” el cual es un monitor de máquina virtual de código abierto que se ejecuta sobre KVM . El proyecto se centra en ejecutar exclusivamente cargas de trabajo modernas en la nube, además de un conjunto limitado de arquitecturas y plataformas de hardware.
Las cargas de trabajo en la nube se refieren a aquellas que generalmente son ejecutadas por clientes dentro de un proveedor de la nube. El hypervisor se basa en los componentes del proyecto conjunto Rust-VMM, en el que también participan Alibaba, Amazon, Google y Red Hat, además de Intel.
Rust-VMM está escrito en Rust y permite crear hypervisores específicos para tareas específicas. Cloud Hypervisor es uno de esos hypervisores que proporciona un monitor de máquina virtual (VMM) de alto nivel y está optimizado para enfrentar los desafíos de la computación en la nube.
Cloud Hypervisor se centra en lanzar distribuciones modernas de Linux utilizando dispositivos virtio paravirtualizados.
De las tareas clave se destacan: alta capacidad de respuesta, bajo consumo de memoria, alto rendimiento, simplificación de la configuración y reducción de posibles vectores para ataques.
El soporte de emulación se minimiza y el énfasis está en la paravirtualización. Actualmente, solo se admiten sistemas x86_64, pero los planes también incluyen soporte para AArch64. De los sistemas invitados, actualmente solo se admiten compilaciones de Linux de 64 bits. CPU, memoria, PCI y NVDIMM se configuran en la etapa de construcción y también se puede migrar máquinas virtuales entre servidores.
El código del proyecto está disponible bajo la licencia Apache 2.0.
Principales novedades de Cloud Hypervisor 0.3
En esta nueva versión de Cloud Hypervisor 0.3 se destaca la eliminación de E/S paravirtualizadas en procesos individuales. Para la interacción con dispositivos de bloque, se ha agregado la capacidad de usar backends vhost-user-blk.
El cambio permite conectar dispositivos de bloque basados en el módulo vhost -user, como SPDK, al Cloud Hypervisor como backends para almacenamientos paravirtualizados.
El soporte para la eliminación de operaciones de red en los backends vhost -user-net que aparecieron en la versión anterior se amplían con un nuevo backend basado en el controlador de red virtual TAP. El backend está escrito en Rust y ahora Cloud Hypervisor lo utiliza como la arquitectura de red paravirtualizada principal.
Para aumentar la eficiencia y la seguridad de las comunicaciones entre el entorno host y el sistema invitado, se propone una implementación híbrida de sockets con direccionamiento AF_VSOCK (sockets de red virtual), trabajando a través de virtio.
La implementación se basa en la experiencia del proyecto Firecracker, desarrollado por Amazon. VSOCK permite utilizar la API de sockets POSIX estándar para la interacción entre las aplicaciones en el sistema huésped y el lado del host, lo que facilita la adaptación de los programas de red regulares para dicha interacción e implementar la interacción de varios programas de cliente con una aplicación de servidor.
Otro de los cambios que se destacan es que se proporciona el soporte inicial para la API de administración utilizando el protocolo HTTP. En el futuro, esta API permitirá iniciar operaciones asincrónicas en sistemas invitados, como la conexión en caliente de recursos y la migración de entornos.
También se destaca la adición de una capa con la implementación de transporte basada en virtio MMIO (virtio mapeado en memoria), que puede usarse para crear sistemas invitados minimalistas que no requieren emulación de bus PCI.
Como parte de una iniciativa para expandir el soporte para el lanzamiento de sistemas invitados integrados, Cloud Hypervisor ha agregado la capacidad de reenviar dispositivos IOMMU paravirtualizados a través de virtio, lo que puede aumentar la seguridad del reenvío de dispositivos integrados y directos.
Finalmente de las demás novedades que se destacan en el anuncio, son el soporte proporcionado para Ubuntu 19.10, así como también la capacidad añadida de ejecutar sistemas invitados con más de 64 GB de RAM.
Si quieres conocer mas al respecto, así como también poder trabajar con este Hypervisor, puedes consultar los detalles en el siguiente enlace.