Xen en Debian 5.0.3 (Lenny)

Posted by Unknown | Posted on 10:51


Como todos saben Xen se utiliza para realizar maquinas virtuales, pero si quieren mas informacion al respecto pueden visitar wikipedia donde le podran explicar mucho mejor el funcionamiento de xen (http://es.wikipedia.org/wiki/Xen).

En este caso instalaremos Xen en un equipo con Debian Lenny, lo primero que tenemos que instalar son los paquetes necesarios, ahora solo tenemos que instalar un metapaquete que nos hace la vida un poco mas facil, y las herramientas de xen.
#aptitude install xen-linux-system-2.6.26-2-xen-686 xen-tools
Reading package lists... Done
Building dependency tree
Reading state information... Done
Reading extended state information
Initializing package states... Done
Reading task descriptions... Done
The following NEW packages will be installed:
binutils{a} bridge-utils{a} busybox{a} debootstrap{a} initramfs-tools{a} iproute{a} klibc-utils{a}
libasound2{a} libatm1{a} libbeecrypt6{a} libcompress-raw-zlib-perl{a} libcompress-zlib-perl{a}
libconfig-inifiles-perl{a} libdirectfb-1.0-0{a} libexpect-perl{a} libfont-afm-perl{a} libhtml-format-perl{a}
libhtml-parser-perl{a} libhtml-tagset-perl{a} libhtml-tree-perl{a} libio-compress-base-perl{a}
libio-compress-zlib-perl{a} libio-pty-perl{a} libio-stty-perl{a} libklibc{a} libmailtools-perl{a} libneon27{a}
librpm4.4{a} libsdl1.2debian{a} libsdl1.2debian-alsa{a} libsvga1{a} libsysfs2{a} libterm-readline-gnu-perl{a}
libterm-size-perl{a} libtext-template-perl{a} libtimedate-perl{a} libts-0.0-0{a} liburi-perl{a}
libvolume-id0{a} libwww-perl{a} libx86-1{a} libxenstore3.0{a} linux-image-2.6.26-2-xen-686{a}
linux-modules-2.6.26-2-xen-686{a} python-central{a} reiserfsprogs{a} rinse{a} rpm{a} screen{a} sudo{a}
svgalibg1{a} udev{a} vnstat{a} xen-hypervisor-3.2-1-i386{a} xen-linux-system-2.6.26-2-xen-686 xen-shell{a}
xen-tools xen-utils-3.2-1{a} xen-utils-common{a} xenstore-utils{a} xfsprogs{a}

Nos instalara esta cantidad de paquetes de manera automatica, ahora solo nos falta crear el bridge para la interfaz y empezar a crear las maquinas virtuales.

Para crear el bridge lo podemos hacer de dos maneras por, una activando la opcion del bridge en el achivo "xend-config.sxp" que se encuentra en /etc/xen/, y la otra que es la que yo particularmente utilizo, es crear el bridge directamente en el fichero de las interfacez "interfaces" de red que se encuentra en /etc/network/.
Editamos el fichero y hacemos los siguientes cambios (Esto va a depender de la configuracion que tenga cada equipo).

#vim /etc/network/interfaces
Observaremos algo como esto.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

Y ahora lo debemos dejar de la siguiente manera para poder asociar el bridge a la interfaz que utilizamos para navegar en la red.

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

auto eth0

auto br-xen
iface br-xen inet dhcp
bridge-ports eth0
bridge_maxwait 0

Ahora solo reiniciamos las interfaces y al momento de verificar las interfaces con un "ifconfig" observaremos algo como esto.
debian:/etc/xen# ifconfig
br-xen Link encap:Ethernet HWaddr 00:18:8B:52:E6:CB
inet addr:172.26.16.29 Bcast:172.26.16.255 Mask:255.255.255.0
inet6 addr: fe80::218:8bff:fe52:e6cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:425975 errors:0 dropped:0 overruns:0 frame:0
TX packets:8230 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:29773297 (28.3 MiB) TX bytes:1257025 (1.1 MiB)

eth0 Link encap:Ethernet HWaddr 00:18:8B:52:E6:CB
inet6 addr: fe80::218:8bff:fe52:e6cb/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:1613549 errors:0 dropped:0 overruns:0 frame:0
TX packets:187400 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:476292726 (454.2 MiB) TX bytes:37028947 (35.3 MiB)
Interrupt:16 Memory:f8000000-f8011100

lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)

Ya tenemos listo el bridge para poder crear las maquinas virtuales.
Ahora editamos el archivo "xen-tools.conf" que se encuentra en /etc/xen-tools/, donde colocaremos los parametros de cada maquina virtual, el tamaño del disco, memoria, swap, entre otras opciones.

#vim /etc/xen-tools/xen-tools.conf
Podemos editar las siguientes opciones que son basicas para la creacion de la maquina virtual.

dir = /srv/xen (directorio donde se guardaran las imagenes de las maquinas virtuales).
size = 20Gb (Tamaño del disco de la maquina virtual).
memory = 512Mb (Tamaño de la memoria Ram de la Maquina Virtual).
swap = 128Mb (Tamaño del area de intercambio de la Maquina Virtual).
fs = ext3 (Filesystem de la maquina virtual por defecto es ext3)
dist = lenny (Distribucion de la maquina virtual, puede ser ubuntu, fedora, centos y las versiones anteriores de debian como etch y sarge).
image = sparse (Tipo de imagen, Full o Reducida).

passwd = 1 (Activacion del pasword de root al momento de crear la maquina virtual, por defecto viene comentado).

mirror = http://mirror/debian/ (Mirror de debian o de la distribucion que se vaya a utilizar para crear la maquina virtual).

serial_device = hvc0 (Para poder acceder a la consola de la maquina virtual debemos activar esta opcion)

Listo con eso ya tenemos el archivo para crear las maquinas virtuales, recordando que se pueden pasar los parametros que se requieran al momento de crear la VM.

Ahora Solo nos falta crear la maquina virtual (claramente antes de iniciar la maquina virtual debemos reiniciar el equipo Dom0, para poder inicial con el kernel de xen que instalamos anteriormente).

# xen-create-image --hostname maquinaxen --dhcp --role udev

Con esta sintaxis crearemos nuestra maquina virtual, nos pedira el password de root por que esta opcion fue activada en el xen-tools.

ahora solo nos falta levantarla.
debian:/etc/xen#xm create maquinaxen.cfg -c

Esperamos que levante nuestra nueva maquina y listo a disfrutar de ella.

Ah me olvidaba algunas veces las maquinas xen arrojan un error con el clocksource para ello colocamos la siguiente linea "extra='clocksource=jiffies'" dentro del archivo de configuracion de la maquina virtual "maquinaxen.cfg" que se encuentra en /etc/xen/.

Ahora si Listo a jugar con tu nueva Virtual Machine.

Comments (5)

Hola, al parecer hay un error en la entrada :D. Creo que es cambiar esto:

debian:/etc/xen#xm create maquinaxen.cfg -c

Por esto:

#xm create /etc/xen/maquinaxen.cfg.

Tengo una pregunta para ti :D. Estoy tratando de migrar un servidor que está en Centos a Debian porque esta ultima tiene fama de ser mucho mas estable, el trabajo parece ser algo engorroso pero creo que será mejor :D. De todas maneras hice pruebes en un equipo normalito que soporte virtualizacion por hardware y me deja crear la maquina, pero cuando intento levantarla me sale el error de que el demonio xend no ha iniciado :(. He intentado arrancar el kernel de Xen 4.0 pero este no me deja arrancar entorno grafico. Supongo que el problema es porque uso Linux Mint Debian Edition con repositorios "inestables" :D. Cualquier tip se agradecería :D

Saludos Jesús no hay error en la entrada si puedes observar la ruta donde estamos ejecutando el comando es la misma que colocaste solo que tu no. colocaste el -c que se utiliza para enviarnos a la consola de la maquina virtual luego de creada y con respecto al error que arroja al iniciar xen 4 puedes solucionarlo revisando el post de xen en Debian squeeze que esta en el blog.

Hola Jesus fijate k e seguido al pie de la letra tus instrucciones hasta llegar a la creacion de la MV
xen-create-image --hostname mk1 --dhcp --role udev y me saca rebien que todo lo hace, como la particion el swap el filesystem todo lo saca "done" pero en el siguiente paso de installation method: debootstrap se queda trabada en ese paso y de ahi no pasa. le doy ctrl z y se detiene entonces voy a ver i si creo todo . pero al intentar levantar la MV con xm create mk1.cfg -c ya no hace nada y tan solo me saca ayuda del xm

ya e probado hacerlo en 3 makinas diferentes usando netinst y tambien version de cd full y no hay forma que logre pasar de ahi.... todos los demas pasos anteriores si me salen al pie de la letra ..... gracias

Saludos, es Victor, pero no hay problema, es posible que tengas problemas con el repositorio que estés utilizando recuerda que el instala los paquetes vía red, es decir se conecta a internet para buscar el repositorio (por defecto), o si tienes un repositorio local tienes que indicarle el url del mismo.

Perdon perdon esk aveces linux me deja la mente tan mal que ya no le atino ni a los nombres hahahha le cambie a otro repositorio y todo fue de maravilas gracias Victor!

Publicar un comentario