Instalaci´on y configuraci´on de Xen 3.0 en
Debian GNU/Linux (etch)
Alberto Molina Coballes <
[email protected]>
Jos´e Domingo Mu ˜noz Rodr´ıguez <
[email protected]>
IES Gonzalo Nazareno. Dos Hermanas (Sevilla)
17 de mayo de 2007
Resumen
En este documento se describe la instalaci´on y configuraci´on elemental
de Xen para la utilizaci´on de m´aquinas virtuales bajo GNU/Linux. En con-
creto la mayor parte del desarrollo se realiza con la ´ultima versi´on estable
de la distribuci´on Debian GNU/Linux, denominada etch. Por ´ultimo, se in-
cluye una breve discusi´on sobre los diferentes modos de configuraci´on de la
redes virtuales. Este documento se elabor´o para el curso M´aquinas virtuales
para la puesta en marcha de un portal educativo organizado por el Centro del
Profesorado de Sevilla en Septiembre de 2006.
c(cid:13)Alberto Molina Coballes y Jos´e Domingo Mu ˜noz Rodr´ıguez. Algunos Dere-
chos reservados.
Esta obra est´a bajo una licencia Attribution-ShareAlike 2.5 de Creative Com-
mons. Para ver una copia de esta licencia, visite:
http://creativecommons.org/licenses/by-sa/2.5/
1
´Indice
1. Introducci´on
2. Instalaci´on de Xen (dom0)
2.1.
Instalaci´on de paquetes en Debian etch .
.
.
.
Instalaci´on del hypervisor de Xen .
.
.
.
2.1.1.
Instalaci´on de un n ´ucleo apropiado .
2.1.2.
.
.
2.1.3. Configuraci´on del gestor de arranque (GRUB)
Instalaci´on desde binarios .
.
.
.
.
.
.
.
.
2.2.
2.3. Configuraci´on de dom0 .
.
2.4. El fichero /etc/xen/xend-config.sxp .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3. Instalaci´on de Xen (domU)
3.1. Utilizaci´on de xen-tools
3.2.
.
Inicio del nuevo dominio .
4. Xenman
5. Configuraciones de red
5.1. Puente . . . . . . . . . . .
5.2. Encaminador . . . . . . . .
5.3. NAT . . . . . . . . . . . .
.
6. Trucos y dem´as . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
3
5
5
5
6
6
7
7
8
9
9
12
14
14
15
18
20
22
La primera versi´on de este documento se escribi´o para el curso M´aquinas vir-
tuales para la puesta en marcha de un portal educativo organizado por el Centro del
Profesorado de Sevilla. Una vez terminado el documento, se public´o con licencia
libre con el ´animo de ser ´util a los que comienzan en Xen.
Es muy probable que encuentres errores y erratas a lo largo del documento,
por lo que los autores te agradecer´ıan cualquier tipo de comunicaci´on al respecto.
Primera versi´on: Septiembre de 2006
Segunda versi´on: Diciembre de 2006
Tercera versi´on: Mayo de 2007
2
1.
Introducci´on
Seg ´un la wikipedia [1]:
Xen es una m´aquina virtual de c´odigo abierto desarrollada por la Uni-
versidad de Cambridge. La meta del dise ˜no es poder ejecutar instan-
cias de sistemas operativos con todas sus caracter´ısticas, de forma
completamente funcional en un equipo sencillo. Xen proporciona ais-
lamiento seguro, control de recursos, garant´ıas de calidad de servicio
y migraci´on de m´aquinas virtuales en vivo. Los sistemas operativos
deben ser modificados expl´ıcitamente para correr Xen (aunque man-
teniendo la compatibilidad con aplicaciones de usuario). Esto permite
a Xen alcanzar virtualizaci´on de alto rendimiento sin un soporte espe-
cial de hardware.
Las arquitecturas soportadas actualmente por Xen son x86/32 y x86/64 y la
´ultima versi´on desarrollada es la 3.0.3.
La t´ecnica utilizada por Xen se denomina para-virtualizaci´on, lo que consigue
comportamientos de las m´aquinas virtuales cercanos al de una m´aquina real.
Para realizar dicha para-virtualizaci´on, es necesario cargar en modo n ´ucleo (ker-
nel space) el denominado “hypervisor” que se encarga de la gesti´on de recursos
para los diferentes sistemas operativos de una misma m´aquina. La contrapartida
en el caso de Xen es que el sistema operativo hu´esped (guest) debe modificarse
para trabajar con el hypervisor en lugar de con el hardware directamente. A d´ıa
de hoy s´olo pueden trabajar con Xen sistemas operativos libres, ya que en estos
casos es factible modificar el n ´ucleo (kernel) de forma apropida1. Los sistemas op-
erativos “propietarios” deben sacar versiones espec´ıficas para trabajar con Xen2.
Existe la posibilidad de trabajar con Xen sin necesidad de modificar el sistema
operativo hu´esped, pero para ello es necesario utilizar un microprocesador con
tecnolog´ıa de virtualizaci´on. Algunos microprocesadores salidos recientemente
al mercado incluyen esta caracter´ıstica, son los conocidos como Intel VT (Vander-
pool) y AMD-V (Pacifica). No hablaremos en este documento de la utilizaci´on de
Xen en este caso que abre muchas m´as posibilidades, sino que nos ce ˜niremos al
uso de Xen en equipos con microprocesadores convencionales.
Xen tiene diversos usos, aunque destacaremos los dos siguientes:
Se trata de una excelente herramienta did´actica para el aprendizaje de redes
de computadoras, ya que permite al alumno configurar de forma virtual
una red completa en un solo equipo.
Es una alternativa cada vez m´as real para la utilizaci´on de servidores ded-
icados virtuales para empresas que ofrezcan servicios a Internet y quieran
1En la versi´on 3.0 est´a soportado s´olo Linux, aunque pr´oximamente lo estar´an NetBSD, FreeB-
SD y Solaris
2Microsoft ha anunciado que su pr´oximo sistema operativo “servidor” podr´a actuar como
anfitri´on de Xen
3
ahorrar costes sin perder seguridad.
Las diferentes m´aquinas virtuales que se ejecutan en una m´aquina reciben el
nombre de dominios en la terminolog´ıa de Xen. Existe un dominio privilegiado
que es sobre el que se instala el “hypervisor” de Xen y que equivale al sistema
operativo anfitri´on (host) de otros monitores de m´aquinas virtuales como los de
la empresa VMware. Este dominio privilegiado recibe el nombre de dom0 y el
resto de dominios reciben el nombre gen´erico de domU.
El hardware que actualmente puede utilizar un domU en Xen es:
Interfaz de red
Disco duro
Memoria RAM
Dispositivos de E/S
Para el resto de dispositivos: tarjeta gr´afica, disquete, CD-ROM, USB, ACPI, . . . hay
que elegir el dominio que va a utilizarlo, pero no pueden “compatirse”. Esto
puede parecer una gran limitaci´on para determinados usos de las m´aquinas vir-
tuales, pero no para los aqu´ı mencionados.
En la figura 1 puede verse de forma esquem´atica los elementos que inter-
vienen as´ı como relaci´on entre los diferentes dominios y el hardware.
Figura 1: Esquema de funcionamiento del hypervisor y los diferentes dominios
en Xen.
4
Una caracter´ıstica no comentada a ´un, pero muy destacable en Xen es que se
trata de una herramienta libre, licenciada bajo la GPL y otras. Hoy en d´ıa se con-
sidera la alternativa con mayores posibilidades de hacer frente en el ´ambito de la
virtualizaci´on a los productos de la empresa VMware.
2.
Instalaci´on de Xen (dom0)
La instalaci´on del monitor de m´aquinas virtuales Xen (dom0) comprende tres
elementos principalmente:
El hypervisor de Xen, que realiza la paravirtualizaci´on.
N ´ucleo (kernel) modificado que pueda trabajar sobre un hypervisor.
Herramientas para el manejo de las m´aquinas virtuales: para crearlas, ini-
ciarlas, etc.
La situaci´on ideal es utilizar una distribuci´on de GNU/Linux que incluya to-
dos los componentes empaquetados, lo que nos garantiza la consistencia de nue-
stro sistema. Sin embargo tambi´en es posible instalar Xen 3.0 en cualquier dis-
tribuci´on que cumpla una serie de requisitos, utilizando para ello los binarios que
se facilitan en la p´agina del proyecto. En los siguientes apartados se explicaran
ambas formas.
En nuestro caso la distribuci´on GNU/Linux utilizada ser´a Debian (etch) que
incluye todos los componentes necesarios.
2.1.
Instalaci´on de paquetes en Debian etch
Existe la posibilidad de instalar todos los paquetes necesarios simplemente
con:
aptitude install xen-linux-system-2.6.18-4-xen-686
aunque preferimos hacerlo paso a paso, para tratar de ver m´as claramente el sen-
tido de cada paquete.
2.1.1.
Instalaci´on del hypervisor de Xen
El paquete que incluye el hypervisor es xen-hypervisor-3.0.3-1-i386,
aunque podr´ıa cambiar hasta la estabilizaci´on de etch. Lo primero que haremos
ser´a instalarlo con:
aptitude install xen-hypervisor-3.0.3-1-i386-pae
Leyendo lista de paquetes... Hecho
Creando ´arbol de dependencias... Hecho
5
Leyendo la informaci´on de estado extendido
Inicializando el estado de los paquetes... Hecho
Leyendo las descripciones de las tareas... Hecho
Construir la base de datos de etiquetas... Hecho
Se instalar´an autom´aticamente los siguientes paquetes NUEVOS:
bridge-utils libc6-xen xen-utils-3.0.3-1 xen-utils-common
Se ELIMINAR´AN autom´aticamente los siguientes paquetes:
libc6-i686
Se instalar´an los siguiente paquetes NUEVOS:
bridge-utils libc6-xen xen-hypervisor-3.0.3-1-i386-pae xen-utils-3.0.3-1
xen-utils-common
Se ELIMINAR´AN los siguientes paquetes:
libc6-i686
0 paquetes actualizados, 5 nuevos instalados, 1 para eliminar y 0 sin actualizar.
Necesito descargar 1815kB de ficheros. Despu´es de desempaquetar se usar´an 2232kB.
¿Quiere continuar? [Y/n/?]
El ´unico fichero que instala el paquete del hypervisor (documentaci´on aparte)
es:
/boot/xen-3.0.3-1-i386-pae.gz
que deberemos invocar en primer lugar al iniciar el kernel de xen, ya que se tra-
ta del hypervisor propiamente, y debe hacer las modificaciones adecuadas en el
”kernel space”para soportar la para-virtualizaci´on.
2.1.2.
Instalaci´on de un n ´ucleo apropiado
Hacemos una b ´usqueda de estos n ´ucleos en los repositorios con:
aptitude search ˜nxen˜nlinux-image
Instalamos el correspondiente al tipo de procesador que tengamos, en nuestro
caso:
Comentarios de: Instalación y configuración de Xen 3.0 en Debian GNU/Linux (0)
No hay comentarios