Xen en Debian Sarge mediante Backports

2006-08-20 por Angel Abad, etiquetado como debian, servidor, virtualizacion

Artículo traducido de http://www.debian-administration.org/articles/423

Artículo original: http://www.virtualconcepts.nl/xenbackports.php

Existe un buen howto que explica como instalar Xen en Debian Inestable. Es realmente fácil de hacer y funciona perfectamente. Aunque en servidores en producción esta no es precisamente la opción más indicada. Debian Inestable sufre demasiadas actualizaciones y las cosas cambian muy a menudo. En una máquina en producción un host Xen deberia ser estable, seguro y no requerir mucha atención. Este es el momento en el que aparece Sarge. Si coges paquetes de backports y los instalas en Debian Estable obtendrás lo mejor de cada mundo. Vamos a verlo!

Antes de empezar con este howto, necesitas instalar Sarge en tu hardware de la manera que prefieras. Yo he usado un Sun Fire X2100 con 4Gb de ram y 2 discos SATA configurados en raid1 por software.

Añade los backports a las fuentes de tu apt y establece las preferencias.

# vi /etc/apt/sources.list
deb http://www.backports.org/debian/ sarge-backports main

Si /etc/apt/preferences no existe, crealo.

# vi /etc/apt/preferences
Package: *
Pin: release a=sarge-backports
Pin-Priority: 200

Package: xen-3.0
Pin: release a=sarge-backports
Pin-Priority: 999

Package: linux-2.6
Pin: release a=sarge-backports
Pin-Priority: 999

Package: xen-tools
Pin: release a=sarge-backports
Pin-Priority: 999

Package: udev
Pin: release a=sarge-backports
Pin-Priority: 999

Package: lsb
Pin: release a=sarge-backports
Pin-Priority: 999

Package: module-init-tools
Pin: release a=sarge-backports
Pin-Priority: 999

Package: grub
Pin: release a=sarge-backports
Pin-Priority: 999

Ahora actualiza tus fuentes

apt-get update && apt-get dist-upgrade

Si todo ha ido bien, ya estás preparado para empezar a instalar paquetes. Si no tienes mas información sobre los backports en su sitio web: http://www.backports.org

Ya que hay ciertos problemas de dependencias con grub y mdadm, los instalaremos junto con otros paquetes desde backports.

# apt-get install grub/sarge-backports
# apt-get install makedev/sarge-backports
# apt-get install lsb-base/sarge-backports
# apt-get install mdadm/sarge-backports

Los siguientes paquetes a instalar son xen-hypervisor y xen-utils.

# apt-get install xen-hypervisor-3.0-i386 xen-utils-3.0

Instala el kernel adecuado. Un 686 para máquinas P4 y Xeon y K7 para máquinas Athlon y Opteron.

# apt-get install linux-image-2.6.16-2-xen-686

Elimina hotplug, ya que vamos a cambiar a udev!

# dpkg --purge hotplug
# apt-get install bridge-utils xen-tools/sarge-backports sysfsutils
# mv /lib/tls/ /lib/tls.disabled

Necesitas un nuevo initrd. Mkinitramfs hará esta tarea por tí.

# cd /boot
# mkinitramfs -o /boot/initrd.img-2.6.16-2-xen-686 2.6.16-2-xen-686

Ahora necesitamos configurar nuestro cargador de arranque para que utilice nuestro nuevo kernel Xen. Añade algo como esto en tu archivo /boot/grub/menu.lst

# vi /boot/grub/menu.lst
title Xen 3.0 / XenLinux 2.6-686
kernel /boot/xen-3.0-i386.gz
module /boot/vmlinuz-2.6.16-2-xen-686 root=/dev/md0 ro
module /boot/initrd.img-2.6.16-2-xen-686

O con k7 si tienes una máquina Athlon u Opteron.

title Xen 3.0 / XenLinux 2.6-k7
kernel /boot/xen-3.0-i386.gz
module /boot/vmlinuz-2.6.16-2-xen-k7 root=/dev/md0 ro
module /boot/initrd.img-2.6.16-2-xen-k7

El demonio xen necesita algunos ajustes. abre el fichero de configuración y asegurate de habilitar (network-script network-bridge) (linea 73), (vif-script vif-bridge) (linea 104).

# vi /etc/xen/xend-config.sxp

Reinicia el demonio xen y comprueba que acepta las nuevas configuraciones.

# invoke-rc.d xend restart
# reboot

En la mayoría de los casos el bridge funcionará después de reiniciar, pero es fácil comprobarlo. Peth0 y vif0.0 deben estar en la lista de interfaces. Peth0 es el dispositivo físico de red.

# brctl show

Ya estás preparado para configurar y arrancar tus xens! La puesta en marcha de las máquinas xen está ampliamente explicada en la red. Posiblemente la forma más fácil es usando las xen-tools creadas por steve. Aunque es extremadamente sencillo, hay documentación sobre como usarlo al final del siguiente artículo: http://www.debian-administration.org/articles/396

Hay ciertas cosas a las que debes prestar atención cuando configures tus xens. Lo primero es copiar los módulos al xen guest. Por ejemplo, montando tu primer xen en /mnt/xen1 y copiando los módulos:

# cp -a /lib/modules/2.6.16-2-xen-k7/ /mnt/xen1/lib/modules/

Lo segundo es el archivo de configuración. La opción ramdisk está desactivada por defecto, pero es obligatoria para iniciar xen! Por ejemplo:

# vi /etc/xen/xen1.cfg
kernel = '/boot/vmlinuz-2.6.16-2-xen-k7'
memory = 128
name = 'xen1'
disk = [ 'phy:/dev/mapper/xens-xen1,sda1,w' ]
root = "/dev/sda1 ro"
extra = '4'
ramdisk = "/boot/initrd.img-2.6.16-2-xen-k7"
vif = [ 'vifname=vif_xen1,bridge=xenbr0' ]

Si necesitas actualizar el kernel xen, no olvides actualizar los ficheros de configuración de los guests, los initrds y los módulos en los xen guests!

Buena Suerte!