Xén

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar

Xen (pronunciado) es un hipervisor tipo 1 gratuito y de código abierto que proporciona servicios que permiten que varios sistemas operativos de computadora se ejecuten en el mismo hardware de computadora al mismo tiempo. Fue desarrollado originalmente por el Laboratorio de Computación de la Universidad de Cambridge y ahora está siendo desarrollado por la Fundación Linux con el apoyo de Intel, Citrix, Arm Ltd, Huawei, AWS, Alibaba Cloud, AMD, Bitdefender y epam.

La comunidad de Xen Project desarrolla y mantiene Xen Project como software gratuito y de código abierto, sujeto a los requisitos de la Licencia Pública General GNU (GPL), versión 2. Xen Project está actualmente disponible para IA-32, x86- 64 y conjuntos de instrucciones ARM.

Arquitectura de software

Xen Project se ejecuta en un estado de CPU más privilegiado que cualquier otro software de la máquina, excepto el firmware.

Las responsabilidades del hipervisor incluyen la gestión de la memoria y la programación de la CPU de todas las máquinas virtuales ("dominios") y el lanzamiento del dominio con más privilegios ("dom0"), la única máquina virtual. que por defecto tiene acceso directo al hardware. Desde dom0 se puede gestionar el hipervisor y se pueden lanzar dominios sin privilegios ("domU").

El dominio dom0 suele ser una versión de Linux o BSD. Los dominios de usuario pueden ser sistemas operativos tradicionales, como Microsoft Windows, en los que se proporcionan instrucciones privilegiadas mediante instrucciones de virtualización de hardware (si el procesador host admite la virtualización x86, por ejemplo, Intel VT-x y AMD-V), o sistemas operativos paravirtualizados mediante los cuales el El sistema operativo es consciente de que se está ejecutando dentro de una máquina virtual y, por lo tanto, realiza hiperllamadas directamente, en lugar de emitir instrucciones privilegiadas.

Xen Project arranca desde un gestor de arranque como GNU GRUB y luego generalmente carga un sistema operativo host paravirtualizado en el dominio host (dom0).

Historia

Xen se originó como un proyecto de investigación en la Universidad de Cambridge dirigido por Ian Pratt, profesor titular del Laboratorio de Computación, y su estudiante de doctorado Keir Fraser. El primer lanzamiento público de Xen se realizó en 2003, seguido de la versión 1.0 en 2004. Poco después, Pratt y Fraser, junto con otros alumnos de Cambridge, incluidos Simon Crosby y el director ejecutivo fundador Nick Gault, crearon XenSource Inc. para convertir Xen en un producto empresarial competitivo..

Para admitir sistemas integrados como teléfonos inteligentes/IoT con recursos informáticos de hardware relativamente escasos, la arquitectura Secure Xen ARM en una CPU ARM se exhibió en la Cumbre Xen el 17 de abril de 2007, celebrada en IBM TJ Watson. El primer lanzamiento público del código fuente de Secure Xen ARM se realizó en Xen Summit el 24 de junio de 2008 por Sang-bum Suh, un alumno de Cambridge, en Samsung Electronics.

El 22 de octubre de 2007, Citrix Systems completó la adquisición de XenSource y el Proyecto Xen se trasladó al dominio xen.org. Este movimiento había comenzado algún tiempo antes, y hizo pública la existencia del Consejo Asesor del Proyecto Xen (Xen AB), que contaba con miembros de Citrix, IBM, Intel, Hewlett-Packard, Novell, Red Hat, Sun Microsystems y Oracle. El Consejo Asesor de Xen asesora al líder del Proyecto Xen y es responsable de la marca registrada Xen, cuya licencia Citrix ha otorgado gratuitamente a todos los proveedores y proyectos que implementan el hipervisor Xen. Citrix también utilizó la marca Xen para algunos productos propietarios no relacionados con Xen, incluidos XenApp y XenDesktop.

El 15 de abril de 2013, se anunció que el Proyecto Xen se trasladó bajo los auspicios de la Fundación Linux como un Proyecto Colaborativo. La Fundación Linux lanzó una nueva marca registrada para "Xen Project" para diferenciar el proyecto de cualquier uso comercial del antiguo "Xen" marca comercial. Se lanzó un nuevo sitio web comunitario en xenproject.org como parte de la transferencia. Los miembros del proyecto en el momento del anuncio incluían: Amazon, AMD, Bromium, CA Technologies, Calxeda, Cisco, Citrix, Google, Intel, Oracle, Samsung y Verizon. El proyecto Xen en sí es autónomo.

Desde la versión 3.0 del kernel de Linux, el soporte de Xen para dom0 y domU existe en el kernel principal.

Historial de versiones

Versión Fecha de lanzamiento Notas
1.0 2 de octubre de 2003
2.0 5 de noviembre de 2004Migración en vivo de huéspedes PV.
3.0 5 de diciembre de 2005
  • Soporta la tecnología Intel VT para huéspedes HVM.
  • Soporte para la arquitectura Intel IA-64.

Las versiones de hasta 3.0.4 también añadieron:

  • Soporte para las extensiones de virtualización AMD SVM.
  • Apoyo a la arquitectura PowerPC.
  • Soporte gráfico de framebuffer para invitados paravirtualizados.
3.1 18 de mayo de 2007Migración en vivo para huéspedes HVM, XenAPI
3.2 17 de enero de 2008Transpaso PCI y modo de reserva ACPI S3 para el sistema host.
3.3 24 de agosto de 2008Mejoras para el paso de PCI y la gestión de energía. Xen ARM hipervisor código fuente publicado para ARM CPU soporte
3.4 18 de mayo de 2009Contiene una primera versión de la "Iniciativa de cliente verde", en breve XCI.
4.0 7 de abril de 2010Permite utilizar un núcleo dom0 Linux, que ha sido implementado mediante PVOps. Un kernel de Linux de la versión 2.6.31 ha sido modificado para este propósito, porque el kernel oficial de Linux en realidad no soporta el uso como núcleo dom0 (fecha de julio de 2010).
4.1 25 de marzo de 2011Algunas de las mejoras: Soporte para más de 255 procesadores, mejor estabilidad. Linux kernel v2.6.37 y uso de soporte en adelante como núcleo dom0.
4.2 8 de septiembre de 2012XL se convirtió en la barra de herramientas predeterminada. Soporte para hasta 4095 procesadores de host y hasta 512 procesadores de invitados.
4.3 9 de julio de 2013Soporte experimental de ARM. Programación de NUMA. Soporte para Open vSwitch.
4.4 10 de marzo de 2014Soporte de libvirt sólido para libxl, nueva interfaz de canal de evento escalable, hipervisor ABI para ARM declarado estable, Virtualización en hardware Intel.
4.5 17 de enero de 2015Con 43 nuevas características importantes, 4.5 incluye las más actualizaciones de la historia del proyecto.
4.6 Octubre 13, 2015Centrado en mejorar la calidad del código, endurecimiento de seguridad, habilitación de aparatos de seguridad y previsibilidad del ciclo de liberación.
4.7 24 de junio de 2016Mejorado: seguridad, migración en vivo, rendimiento y volumen de trabajo. Soporte de hardware (ARM e Intel Xeon).
4.8.1 12 de abril de 2017
4.9 28 de junio de 2017 Xen Project 4.9 Release Notes
4.10 Diciembre 12, 2017 Xen Project 4.10 Release Notes
4.11 10 de julio de 2018 Xen Project 4.11 Release Notes
4.12 2 de abril de 2019 Xen Project 4.12 Release Notes
4.13 18 de diciembre de 2019 Xen Project 4.13 Release Notes
4.14 24 de julio de 2020 Xen Project 4.14 Release Notes
4.15 8 de abril de 2021 Xen Project 4.15 Release Notes
4.16 Diciembre 2, 2021 Xen Project 4.16 Release Notes
4.17 14 de diciembre de 2022 Xen Project 4.17 Release Notes

Usos

Las empresas de servicios de alojamiento de Internet utilizan hipervisores para proporcionar servidores privados virtuales. Amazon EC2 (desde agosto de 2006), IBM SoftLayer, Liquid Web, Fujitsu Global Cloud Platform, Linode, OrionVM y Rackspace Cloud utilizan Xen como hipervisor de VM principal para sus ofertas de productos.

Los monitores de máquinas virtuales (también conocidos como hipervisores) también suelen operar en mainframes y grandes servidores que ejecutan IBM, HP y otros sistemas. La virtualización de servidores puede proporcionar beneficios tales como:

  • Consolidación que conduzca al aumento de la utilización
  • Prestación rápida
  • Tolerancia de falla dinámica contra fallos de software (a través de arranque rápido o reinicio)
  • Tolerancia de falla de hardware (mediante la migración de una máquina virtual a diferentes hardware)
  • Separaciones seguras de sistemas operativos virtuales
  • Apoyo al software legado, así como nuevas instancias del sistema operativo en la misma computadora

El soporte de Xen para la migración en vivo de máquinas virtuales de un host a otro permite equilibrar la carga y evitar el tiempo de inactividad.

La virtualización también tiene beneficios cuando se trabaja en desarrollo (incluido el desarrollo de sistemas operativos): ejecutar el nuevo sistema como invitado evita la necesidad de reiniciar la computadora física cada vez que ocurre un error. Los sistemas invitados en espacio aislado también pueden ayudar en la investigación de seguridad informática, permitiendo el estudio de los efectos de algún virus o gusano sin la posibilidad de comprometer el sistema anfitrión.

Finalmente, los proveedores de dispositivos de hardware pueden decidir enviar sus dispositivos ejecutando varios sistemas invitados, para poder ejecutar varias piezas de software que requieren diferentes sistemas operativos.

Tipos de virtualización

Xen ofrece cinco enfoques para ejecutar el sistema operativo invitado:

  • PV (paravirtualización): Virtualization-aware Invitados y dispositivos.
  • HVM (Máquina virtual de hardware): virtualización totalmente asistida por hardware con dispositivos emulados.
  • HVM con controladores PV: virtualización totalmente asistida por hardware con controladores PV para dispositivos IO.
  • PVHVM (paravirtualización con virtualización de hardware): virtualización compatible con hardware PV con controladores PV para dispositivos IO.
  • PVH (VPH en un contenedor HVM): Invitado paravirtualizado acelerado por virtualización asistida por hardware cuando esté disponible.

Xen proporciona una forma de virtualización conocida como paravirtualización, en la que los huéspedes ejecutan un sistema operativo modificado. Los huéspedes son modificados para utilizar un ABI hipercall especial, en lugar de ciertas características arquitectónicas. Mediante la paravirtualización, Xen puede lograr un alto rendimiento incluso en su arquitectura host (x86) que tiene una reputación de no cooperar con técnicas tradicionales de virtualización. Xen puede ejecutar invitados paravirtualizados ("varios de PVC" en terminología Xen) incluso en CPU sin ningún soporte explícito para la virtualización. Paravirtualization evita la necesidad de emular un conjunto completo de servicios de hardware y firmware, lo que hace que un sistema PV sea más sencillo para gestionar y reducir la superficie de ataque expuesta a huéspedes potencialmente maliciosos. En 32 bits x86, el código de núcleo host Xen se ejecuta en Ring 0, mientras que los dominios hospedados se ejecutan en Anillo 1 (negro) y Anillo 3 (aplicaciones).

Las CPU que admiten virtualización permiten ejecutar invitados no modificados, incluidos sistemas operativos propietarios (como Microsoft Windows). Esto se conoce como virtualización asistida por hardware; sin embargo, en Xen se conoce como máquina virtual de hardware (HVM). Las extensiones HVM proporcionan modos de ejecución adicionales, con una distinción explícita entre los modos más privilegiados utilizados por el hipervisor con acceso al hardware real (llamado "modo raíz" en x86) y los modos menos privilegiados utilizados por el invitado. kernels y aplicaciones con "hardware" accesos bajo control total del hipervisor (en x86, conocido como "modo no root"; tanto el modo root como el no root tienen anillos 0–3). Tanto Intel como AMD han aportado modificaciones a Xen para explotar sus respectivas extensiones de arquitectura Intel VT-x y AMD-V. El uso de extensiones de virtualización ARM v7A y v8A vino con Xen 4.3. Las extensiones HVM también suelen ofrecer nuevas instrucciones para permitir llamadas directas de un invitado/controlador paravirtualizado al hipervisor, normalmente utilizado para E/S u otras operaciones que necesitan un alto rendimiento. Esto permite a los invitados HVM, con modificaciones menores adecuadas, obtener muchos de los beneficios de rendimiento de las E/S paravirtualizadas. En las versiones actuales de Xen (hasta 4.2), sólo los invitados HVM completamente virtualizados pueden hacer uso de las funciones de hardware para múltiples niveles independientes de protección de memoria y paginación. Como resultado, para algunas cargas de trabajo, los invitados HVM con controladores PV (también conocidos como PV-on-HVM o PVH) brindan un mejor rendimiento que los invitados PV puros. Xen HVM tiene emulación de dispositivos basada en el proyecto QEMU para proporcionar virtualización de E/S a las máquinas virtuales. El sistema emula el hardware a través de un 'administrador de dispositivos' QEMU parcheado. (qemu-dm) demonio que se ejecuta como backend en dom0. Esto significa que las máquinas virtualizadas ven una versión emulada de una PC bastante básica. En un entorno de rendimiento crítico, los controladores de red y disco PV-on-HVM se utilizan durante la operación normal del invitado, de modo que el hardware de PC emulado se utiliza principalmente para el arranque.

Características

Los administradores pueden "migrar en vivo" Máquinas virtuales Xen entre hosts físicos a través de una LAN sin pérdida de disponibilidad. Durante este procedimiento, la LAN copia iterativamente la memoria de la máquina virtual al destino sin detener su ejecución. El proceso requiere una parada de alrededor de 60 a 300 ms para realizar la sincronización final antes de que la máquina virtual comience a ejecutarse en su destino final, lo que proporciona una ilusión de migración perfecta. Una tecnología similar puede servir para suspender la ejecución de máquinas virtuales en el disco, "congelando" su estado de funcionamiento para reanudarlo en una fecha posterior.

Xen puede escalar a 4095 CPU físicas, 256 VCPU por invitado HVM, 512 VCPU por invitado PV, 16 TB de RAM por host y hasta 1 TB de RAM por invitado HVM o 512 GB de RAM por invitado PV.

Disponibilidad

El hipervisor Xen se ha adaptado a varias familias de procesadores:

  • Intel: IA-32, IA-64 (antes de la versión 4.2), x86-64
  • PowerPC: previamente apoyado bajo el proyecto XenPPC, ya no activo después de Xen 3.2
  • ARM: previamente apoyado bajo el proyecto XenARM para versiones anteriores de ARM sin extensiones de virtualización, como el Cortex-A9. Actualmente soportado desde Xen 4.3 para versiones más recientes del ARM con extensiones de virtualización, tales como Cortex-A15.
  • MIPS: puerto experimental XLP832

Hosts

Xen se puede enviar en una plataforma de virtualización dedicada, como XCP-ng o XenServer (anteriormente Citrix Hypervisor, y antes Citrix XenServer, y antes XenEnterprise de XenSource).

Alternativamente, Xen se distribuye como una configuración opcional de muchos sistemas operativos estándar. Xen está disponible y distribuido con:

  • Alpine Linux ofrece un sistema de dom0 mínimo (Busybox, UClibc) que se puede ejecutar desde medios extraíbles, como memorias USB.
  • Arch Linux proporciona los paquetes necesarios con instrucciones detalladas de configuración en su Wiki.
  • Debian Linux (desde la versión 4.0 "etch") y muchos de sus derivados;
  • FreeBSD 11 incluye soporte de host experimental.
  • Gentoo tiene los paquetes necesarios disponibles para apoyar a Xen, junto con instrucciones en su Wiki.
  • Mageia (desde la versión 4);
  • NetBSD puede funcionar como domU y dom0.
  • Las distribuciones basadas en OpenSolaris pueden funcionar como dom0 y domU de Nevada construir 75 en adelante.
  • openSUSE 10.x a 12.x: sólo 64-bit hosts son compatibles desde 12.1;
  • Qubes OS utiliza Xen para aislar aplicaciones para un escritorio más seguro.
  • SUSE Linux Enterprise Server (desde la versión 10);
  • Solaris (desde 2013 con Oracle VM Server para x86, antes con Sun xVM);
  • Ubuntu (desde el 8,04 "Hardy Heron", pero ningún kernel dom0-capable en 8.10 "Intrepid Ibex" hasta el 12,04 "Precise Pangolin".)

Invitados

Los sistemas invitados pueden ejecutarse completamente virtualizados (lo que requiere soporte de hardware), paravirtualizados (lo que requiere un sistema operativo invitado modificado) o completamente virtualizados con controladores paravirtualizados (PVHVM). La mayoría de los sistemas operativos que pueden ejecutarse en PC pueden ejecutarse como un invitado Xen HVM. Los siguientes sistemas pueden funcionar como invitados Xen paravirtualizados:

  • Linux
  • FreeBSD en 32 bits o 64 bits a través de PVHVM;
  • OpenBSD, a través de PVHVM;
  • NetBSD
  • MINIX
  • GNU Hurd (gnumach-1-branch-Xen-branch)
  • Plan 9 de Bell Labs

Xen versión 3.0 introdujo la capacidad de ejecutar Microsoft Windows como sistema operativo invitado sin modificaciones si el procesador de la máquina host admite la virtualización de hardware proporcionada por Intel VT-x (anteriormente con nombre en código Vanderpool) o AMD-V (anteriormente con nombre en código Pacifica).). Durante el desarrollo de Xen 1.x, Microsoft Research, junto con el grupo de sistemas operativos de la Universidad de Cambridge, desarrolló una adaptación de Windows XP a Xen, posible gracias al programa de licencias académicas de Microsoft. Los términos de esta licencia no permiten la publicación de este port, aunque la documentación de la experiencia aparece en el documento original de Xen SOSP. James Harper y la comunidad de código abierto Xen han comenzado a desarrollar controladores de paravirtualización de software gratuito para Windows. Estos proporcionan controladores de interfaz para el bloque Xen y los dispositivos de red y permiten un rendimiento de red y de disco mucho mayor para sistemas Windows que se ejecutan en modo HVM. Sin estos controladores, todo el tráfico de disco y de red debe procesarse a través de QEMU-DM. Posteriormente, Citrix lanzó bajo licencia BSD (y continúa manteniendo) controladores fotovoltaicos para Windows.

Gestión

Desarrolladores externos han creado una serie de herramientas (conocidas como consolas de administración Xen) para facilitar las tareas comunes de administrar un host Xen, como configurar, iniciar, monitorear y detener invitados Xen. Ejemplos incluyen:

  • The OpenNebula cloud management toolkit
  • En openSUSE YaST y virt-man ofrecen gestión gráfica de VM
  • OpenStack admite apoyos nativos Xen como objetivo Hypervisor/Compute
  • Apache CloudStack también admite Xen como hipervisor
  • Novell's PlateSpin Orchestrate también gestiona máquinas virtuales Xen para envío Xen en SUSE Linux Enterprise Server.
  • Orquesta Xen para plataformas XCP-ng y Citrix Hypervisor

Versiones comerciales

  • XCP-ng (libre fuente, dentro de la Fundación Linux y Xen Project, originalmente un tenedor de XenServer)
  • XenServer (Formerly Citrix Hypervisor hasta 2023 y anteriormente Citrix XenServer hasta 2019)
  • Huawei FusionSphere
  • Oracle VM Servidor para x86
  • Thinsy Corporation
  • Hierro virtual (continúa por Oracle)
  • Crucible (hipervisor) por Star Lab Corp.

El hipervisor Xen está cubierto por la Licencia Pública General GNU, por lo que todas estas versiones contienen un núcleo de software libre con código fuente. Sin embargo, muchos de ellos contienen adiciones patentadas.

Contenido relacionado

Historia de la cámara

La historia de la cámara comenzó incluso antes de la introducción de la fotografía. Las cámaras evolucionaron desde la cámara oscura a través de muchas...

Tubo de vacío

Un tubo de vacío, tubo de electrones o válvula termoiónica, es un dispositivo que controla el flujo de corriente eléctrica en un alto vacío entre...

Señales de humo

La señal de humo es una de las formas más antiguas de comunicación a larga distancia. Es una forma de comunicación visual utilizada a larga distancia. En...
Más resultados...
Tamaño del texto:
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save