Xen 3.4: compilación e instalación
Introducción
Esta versión sigue siendo estable bajo el kernel 2.6.18, por lo que se hará uso de dicho kernel. Se utilizará tanto Xen 3.4 como el kernel 2.6.18.8 disponible en el sitio de Xen.
La distribución es Debian GNU/Linux Etch.
En este caso, se trató de la migración de un Xen 3.1, debido a que había inconvenientes con la red en los domUs, especialmente cuando utilizan más de una CPU (pings con tiempos extremadamente grandes y/o negativos, lentitud en la red y otros inconvenientes de rendimiento)
Procedimiento
Utilizar el .config que se encuentra en /boot/config-2.6.18-xxx para tomar como inicio de configuración del nuevo kernel
-
Descomprimir el archivo del kernel en ~/archivos/ y luego copiar el .config mencionado dentro del directorio del kernel descomprimido
Configurar el kernel con “make oldconfig” utilizando todas las opciones por defecto, a menos que se necesite otra cosa
Compilar el kernel con “make”. Observar que no ocurran errores al finalizar el proceso
Instalar el kernel con “make install” y “make modules_install”. Instalado el kernel en /boot, para esta ocasión lo llamaremos vmlinuz-2.6.18-xen-3.4
Crear el initrd.img para este nuevo kernel:
mkinitramfs -o /boot/initrd.img-2.6.18-xen-3.4.img 2.6.18.8
Añadir otra opción de menú para Xen 3.4 en GRUB (cambiar lo que corresponda):
title Xen 3.4
root (hd0,1)
kernel /xen-3.4.gz dom0_mem=262144
module /vmlinuz-2.6.18-xen-3.4 ro root=/dev/sda5 rhgb quiet
module /initrd.img-2.6.18-xen-3.4.img
savedefault
Instalar los siguientes paquetes necesarios para compilar el hipervisor y los utilitarios de Xen 3.4:
aptitude update
aptitude install build-essential python-dev zlib1g-dev bcc libsdl-dev pciutils-dev xserver-xorg-dev libssl-dev gettext xorg-dev
Modificó el kernel a usar para compilar el hypervisor en config/Linux.mk:
KERNELS ?= linux-2.6.18.8
Esta línea hace que make utilice el config en /boot/config-2.6.18.8 para compilar, utilizando dichas fuentes y evitando recompilar otro kernel (es decir, sólo compila el hipervisor y los utilitarios).
Compilar el hypervisor y los utilitarios, según la documentación:
make dist
make install
Una vez instalado Xen, reiniciar el sistema y verificar que todo funcione correctamente, especialmente si se realizó la migración desde una versión anterior
Resolución de problemas
Si se está migrando de una versión de Xen anterior, y surge un inconveniente con la creación del bridge, se debe a que Xen 3.4 utiliza otra forma de crear el mismo. La nueva versión de Xen crea uno en eth0, generando un conflicto con el xenbr0 configurado en /etc/network/interfaces para la versión 3.1. Entonces, se debe modificar dicho archivo como se muestra a continuación:
auto eth0
iface eth0 inet static
address 192.168.1.8
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
bridge-ports peth0
bridge-maxwait 0
Es decir, reemplazar “xenbr0” por “eth0”, y en bridge-ports colocar “peth0”
Hecho esto, reiniciar otra vez el sistema, y probar los domUs
Bibliografía