Xen 4.17 ya fue liberado y estas son sus novedades

diciembre 19, 2022 0 Comments

Xen

Xen es un hipervisor que proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales

Después de un año de desarrollo, se dio a conocer el lanzamiento de la nueva versión del hipervisor gratuito Xen 4.17, versión en la cual la formación de actualizaciones para la rama Xen 4.17 durará hasta el 12 de junio de 2024 y la publicación de correcciones de vulnerabilidades hasta el 12 de diciembre de 2025.

Cabe mencionar que empresas como Amazon, Arm, Bitdefender, Citrix, EPAM Systems y Xilinx (AMD) han contribuido al desarrollo de la nueva versión.

Principales novedades de Xen 4.17

En esta nueva versión que se presenta se destaca que se proporcionó la capacidad de definir una configuración estática de Xen para sistemas ARM que codifica por adelantado todos los recursos necesarios para iniciar los sistemas invitados. Todos los recursos, como la memoria compartida, los canales de notificación de eventos y el espacio de almacenamiento dinámico del hipervisor, se asignan previamente en el inicio del hipervisor en lugar de asignarse dinámicamente, lo que elimina la posibilidad de fallas debido a la falta de recursos.

Para los sistemas integrados basados ​​en la arquitectura ARM, se ha implementado soporte experimental (tech preview) para la virtualización de E/S usando los protocolos VirtIO, virtio-mmio se utiliza para comunicarse con el dispositivo de E/S virtual, lo que permitió garantizar la compatibilidad con una amplia gama de dispositivos VirtIO. Tambien podremos encontrar la compatibilidad implementada para el frontend de Linux, con libxl/xl, el modo dom0less y los backends de espacio de usuario.

Otro de los cambios que se destaca es la compatibilidad mejorada con el modo dom0less, que permite evitar la implementación de un entorno dom0 al iniciar máquinas virtuales en una etapa temprana del arranque del servidor.

Se proporciona la capacidad de definir grupos de CPU (CPUPOOL) en la etapa de arranque (a través del árbol de dispositivos), lo que permite usar grupos en configuraciones sin dom0, por ejemplo, para vincular diferentes tipos de núcleos de CPU en sistemas ARM basados ​​en la arquitectura big.LITTLE, que combina núcleos potentes, pero que consumen energía, y núcleos menos productivos, pero más eficientes energéticamente. Además, dom0less brinda la capacidad de vincular el frontend/backend de paravirtualización a los invitados, lo que le permite iniciar a los invitados con los dispositivos paravirtualizados necesarios.

En los sistemas ARM, las estructuras de virtualización de memoria (P2M, físico a máquina) ahora se asignan desde el grupo de memoria creado cuando se crea un dominio, lo que permite un mejor aislamiento entre invitados cuando ocurren fallas relacionadas con la memoria.

En los sistemas x86, se admiten páginas IOMMU (superpágina) grandes para todos los tipos de sistemas invitados, lo que permite aumentar el rendimiento al reenviar dispositivos, PCI, ademas de que se agregó soporte para hosts con hasta 12 TB de RAM. En la etapa de arranque, se implementa la capacidad de establecer parámetros cpuid para dom0. Los parámetros VIRT_SSBD y MSR_SPEC_CTRL se proponen para controlar la protección a nivel de hipervisor contra ataques a la CPU en sistemas invitados.

De los demás cambios que se destacan:

  • Se agregó protección contra la vulnerabilidad Spectre-BHB en las estructuras de microarquitectura del procesador para sistemas ARM.
  • En los sistemas ARM, se proporciona la capacidad de ejecutar el sistema operativo Zephyr en el entorno raíz Dom0.
    Se proporciona la posibilidad de un ensamblaje de hipervisor separado (fuera del árbol).

Por separado, se está desarrollando el transporte VirtIO-Grant, que difiere de VirtIO-MMIO en un mayor nivel de seguridad y la capacidad de ejecutar controladores en un dominio aislado separado para los controladores.

En lugar del mapeo de memoria directo, VirtIO-Grant utiliza la traducción de las direcciones físicas del huésped en enlaces de concesión, lo que permite el uso de áreas de memoria compartida previamente acordadas para el intercambio de datos entre el huésped y el backend de VirtIO, sin otorgarle al backend el derecho de realizar mapeo de memoria. La compatibilidad con VirtIO-Grant ya está implementada en el kernel de Linux, pero aún no está incluida en los backends de QEMU, virtio-vhost y toolkit (libxl/xl).

La iniciativa Hyperlaunch continúa desarrollándose para proporcionar herramientas flexibles para personalizar el lanzamiento de máquinas virtuales en el momento del arranque del sistema. Actualmente, el primer conjunto de parches ya está listo, lo que  permite definir dominios PV y transferir sus imágenes al hipervisor al cargar. T

Finalmente si estás interesado en poder conocer más la respecto, puedes consultar los detalles en el siguiente enlace.


Some say he’s half man half fish, others say he’s more of a seventy/thirty split. Either way he’s a fishy bastard.