Xen

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
Xen
Xen screenshot.png
Xen ejecutando NetBSD y tres distribuciones Linux
Desarrollador
The Xen Project. XenSource, Inc.
http://www.xen.org/
Información general
Lanzamiento inicial 2003
Última versión estable 4.3 1
9 de julio de 2013; hace 1 año (2013-07-09)
Género Hipervisor
Sistema operativo Linux y Unix-like como sistema anfitrión y virtualizado, Windows sólo como sistema anfitrión
Licencia GNU GPL v2
[editar datos en Wikidata]

Xen es un monitor de máquina virtual de código abierto desarrollado por la Universidad de Cambridge.

La meta del diseño es poder ejecutar instancias de sistemas operativos con todas sus características, de forma completamente funcional en un equipo sencillo. Xen proporciona aislamiento seguro, control de recursos, garantías de calidad de servicio y migración de máquinas virtuales en caliente. Los sistemas operativos pueden ser modificados explícitamente para correr Xen (aunque manteniendo la compatibilidad con aplicaciones de usuario). Esto permite a Xen alcanzar virtualización de alto rendimiento sin un soporte especial de hardware. Intel ha realizado diversas contribuciones a Xen que han permitido añadir soporte para sus extensiones de arquitectura VT-X Vanderpool. Esta tecnología permite que sistemas operativos sin modificar actúen como hosts dentro de las máquinas virtuales de Xen, siempre y cuando el servidor físico soporte las extensiones VT de Intel o Pacifica de AMD.

Uso[editar]

Las máquinas virtuales son usadas a menudo por las empresas en sus servidores y ordenadores centrales para abstraer la mayor cantidad de aplicaciones posibles y proteger las aplicaciones poniéndolas en máquinas virtuales diferentes (semejante a una jaula chroot). Se puede utilizar no sólo por razones de seguridad o funcionamiento, sino también para poder tener ejecutándose diferentes sistemas operativos en el mismo ordenador. Con la migración de máquinas virtuales en caliente de Xen se puede conseguir hacer balance de cargas sin tiempos muertos.

Comparación con otras máquinas virtuales[editar]

  • Denali utiliza la virtualización para proporcionar máquinas virtuales de alto rendimiento en ordenadores x86. La máquina virtual Denali da soporte a Sistemas Operativos mínimamente especializados hacia servicios de Internet. El sistema puede escalar a millares de máquinas virtuales. A diferencia de Xen, Denali no preserva la interfaz binaria (ABI), y algunas aplicaciones deben ser recompiladas para que funcionen con las bibliotecas del sistema operativo; en este sentido es similar a Exonúcleo.
  • Virtuozzo sustituye la capa de la abstracción del hardware por una versión modificada permitiéndole funcionar con un mejor rendimiento de los sistemas operativos, pero fuerza a que todas las Máquinas Virtuales se ejecuten en un equipo y con el mismo sistema operativo. Actualmente existe una versión para Windows 2003 y para Fedora Core Linux.

Paravirtualización con Xen[editar]

Xen utiliza una técnica llamada paravirtualización para alcanzar alto rendimiento (es decir, bajas penalizaciones del rendimiento, típicamente alrededor del 2%, con los peores casos rondando el 8%; esto contrasta con las soluciones de emulación que habitualmente sufren penalizaciones de un 20%).

Con la paravirtualización, se puede alcanzar alto rendimiento incluso en arquitecturas (x86) que no suelen conseguirse con técnicas tradicionales de virtualización. A diferencia de las máquinas virtuales tradicionales, que proporcionan entornos basados en software para simular hardware, Xen requiere portar los sistemas operativos para adaptarse al API de Xen. Hasta el momento hay ports para NetBSD, Linux, FreeBSD y Plan 9.

En 2005, Novell muestra un port de NetWare para Xen. Un port de Windows XP fue creado durante el desarrollo inicial de Xen, pero las licencias de Microsoft prohíben su lanzamiento público.

Virtualización completa con Xen[editar]

Intel ha realizado modificaciones a Xen para soportar su arquitectura de extensiones Vanderpool. Esta tecnología permite que sistemas operativos sin modificaciones se ejecuten en máquinas virtuales Xen, si el sistema soporta las extensiones Vanderpool o Pacífica (de Intel y AMD respectivamente, extensiones para soportar virtualización de forma nativa). Prácticamente, esto significa una mejora de rendimiento, y que es posible virtualizar Windows sin tener que modificarlo.

Migración de máquinas virtuales[editar]

Las máquinas virtuales Xen pueden ser migradas en caliente entre equipos físicos sin pararlos. Durante este proceso, la memoria de la máquina virtual es copiada literativamente al destino sin detener su ejecución. Una parada muy breve de alrededor de 60 a 300 ms es necesaria para realizar la sincronización final antes de que la máquina virtual comience a ejecutarse en su destino final. Una tecnología similar es utilizada para suspender las máquinas virtuales a disco y cambiar a otra máquina virtual.

XEN En la actualidad[editar]

El 15-08-2007 Citrix adquiere XenSource, por un valor de 500 millones de dólares estadounidenses. Esta empresa ha lanzado recientemente XenServer 4.1, habiendo un producto gratuito, el Citrix XenServer Free Edition, aunque solo puede soportar cuatro máquinas virtuales

El Nuevo Kernel paravirt_ops[editar]

El paravirt_ops (o pv-ops para abreviar) es una pieza de la infraestructura del kernel Linux que permite ejecutar el kernel de forma paravirtualizada sobre un hipervisor. Actualmente soporta Xen (entre otras opciones de virtualización).

La infraestructura del kernel nos permite compilar un mismo kernel binario que pueda ser arrancado de forma nativa en hardware simple (o en modo HVM sobre Xen), o arrancar de forma paravirtualizada en cualquiera de los entornos de virtualización que hayamos activado en la configuración del kernel. También permite ser ejecutado como kernel de dom0 de Xen.

Este kernel usa varias técnicas como el parcheo binario que aseguran que el impacto en el rendimiento cuando se ejecuta en hardware simple es efectivamente incomparable cuando se compara con un kernel no-paravirt_ops.

Por el momento, el kernel paravirt_ops está disponible para las arquitecturas x86_32, x86_64 y ia64.

El soporte Xen para el pv_ops (en domU) ha estado presente en el mainline del kernel Linux desde su versión 2.6.23 y es la base de todo el desarrollo Linux/Xen que se está realizando hoy día (los antiguos parces de Xenlinux finalizaron oficialmente con 2.6.18.x-xen, aunque varias distribuciones tienen sus propios forward-ports de estos parches).

Aunque como hemos dicho el Xen/paravirt_ops ha estado en la rama principal del kernel Linux desde la versión 2.6.23, probablemente haya comenzado a ser utilizable desde la 2.6.24. Las últimas versiones del kernel Linux (2.6.27 y posteriores) son una buena elección para su uso como domU. Las distribuciones Fedora 9, Fedora 10, Fedora 11, Fedora 12 y Fedora 13 incluyen un kernel de domU basado en el pv_ops. Ubuntu 10.04 ("Lucid Lynx") también incluye un kernel ed domU Xen PV.

Plataformas soportadas[editar]

Xen funciona actualmente en sistemas basados en x86. Actualmente se están portando las plataformas AMD64, IA64 y PPC. Los ports de otras plataformas son técnicamente posibles y podrán estar disponibles en el futuro.

Xen en sistemas UNIX y GNU/Linux[editar]

  • Mandriva 2006 incluye Xen 2.6
  • Novell's SUSE Linux Enterprise 10 incluye Xen 3.
  • Fedora Core 5 incluye la versión 3 de Xen.
  • Red Hat Enterprise Linux en su última versión 5, incluye soporte completo de Xen 3.
  • Xenophilia es una distribución GNU/Linux que se basa en Xen.
  • Xen demo CD es una ISO live CD basada en Debian que permite probar Xen en tu sistema sin instalarla en disco duro.
  • Debian La versión 5.0 (lenny) incluye Xen 3.2, además de incluirlo en sus repositorios "testing" y "unstable".
  • NetBSD 2.0 incluye soporte para Xen 1.2.
  • Oracle VM Oracle basado en Xen
  • CentOS CentOS 5

Otras alternativas[editar]

Véase también[editar]

Enlaces externos[editar]