Xen Mini HOWTO

De GALPon WiKi
Saltar a: navegación, buscar

Introducción

Este Xen Mini HOWTO recopila la información que he utilizado al instalar y utilizar Xen en Debian Etch y SID.

He decidido utilizar Xen como solución de virtualización debido a que:

  • Tiene disponible bastante soporte (tanto comercial como por parte de la comunidad).
  • Es una solución libre.
  • Posee un buen rendimiento.

Información básica sobre el proyecto Xen y virtualización.

Lecturas recomendables si se desconoce el tema.

http://en.wikipedia.org/wiki/Xen

http://en.wikipedia.org/wiki/Virtualization

http://en.wikipedia.org/wiki/Hypervisor

Xen consiste en un hypervisor y una o varias máquinas virtuales. Como mínimo debe existir siempre una, la dom0 que tendrá permisos especiales para controlar el resto de máquinas virtuales, las domU's.

Debido a que ésto no se ajusta exactamente a la estructura de arranque tradicional, LILO no será capaz de arrancar un sistema Xen, por lo que se utilizará GRUB.

Xen puede funcionar en dos modos:

  • Paravirtualización. Los sistemas virtualizados han de ser modificados para que colaboren con el hypervisor.
  • Virtualización (HVM). Xen solo podrá funcionar en este modo si dispone de las extensiones hardware AMD-V(AMD) o VT-x(Intel). En este modo el sistema operativo alojado en el domU no necesita ser modificado, lo que permitirá ejecutar sistemas operativos cerrados como Windows.

Inicialmente nos centraremos en la primera opción, ya que es la más desarrollada y funcional. Como el uso inicial va a ser el trabajar con el mismo domU en diversas máquinas, se utilizará la versión de 32 bit.

Una vez aclarados los conceptos iniciales, es interesante comprobar el estado de desarrollo del proyecto Xen.

Estado del desarrollo de Xen

El proyecto Xen se desarrolla actualmente en dos frentes.

El primero consiste en la implementación original, que podemos encontrar en www.xen.org. Las características de esta versión son:

  • Es la implementación más desarrollada, y la que incluye más funcionalidades:
    • Framebuffer virtual.
    • Suspend/resume.
    • Migración en funcionamiento.
  • Esta implementación permite la creación de la dom0 y domU's.
  • Permite dom0 y domU's de 64 bit, 32 bit+PAE y 32 bit.
  • Esta implementación está basada en el kernel 2.6.18, por lo que no se pueden utilizar versiones más nuevas.
  • Estos kernels ( dom0 y domU ) no pueden arrancar sin el hypervisor.


El segundo frente es la implementación que se está realizando en el kernel (kernel.org) utilizando el "paravirt-ops" framework.

  • Permite únicamente la creación de domU's.
  • Incluido a partir de la versión 2.6.23.
  • Soporta menos combinaciones de arquitecturas ( solamente guests 32 bit ).
  • Posee menos funcionalidades.
  • Desarrollo constante por parte de Red Hat.


Se están realizando un gran esfuerzo para portar las características del Xen original al kernel base. Se espera que Fedora 9 utilize estas domU's y que para Fedora 10 se haya incluido el soporte para dom0.

Este framework "paravirt-ops" es utilizado también por lguest y por Vmware, de manera que los tres proyectos pueden arrancar un mismo kernel.

Xen en Etch, dom0 y domU 32 bit

Xen está completamente soportada en Debian Etch. La distribución incluye todo lo necesario para ejecutar Xen 3.0.3.

Será necesario instalar:

  • El kernel con soporte xen. Este kernel podrá arrancarse como dom0 o domU.
  • El hypervisor.
  • Ambos se instalarán como dependencias si instalamos xen-linux-system.
  • libc6-xen, que nos solucionará un problema que tiene Xen en 32 bit con las librerías TLS.
  • xen-utils, las utilidades de administración.
  • xen-ioemu si utilizamos HVM.
  • xenman si queremos un program gráfico de administración.

La instalación modificará la configuración de grub automáticamente y al reiniciar se podrá arrancar sin problema xen con el dom0.

Revisando el dmesg se puede comprobar que el sistema ahora detecta unos 40 MB menos de RAM, esto es debido a que es usada por el hypervisor.