Xen 3.3.0 sobre Debian Lenny (5.0)

Objectiu:

Volem disposar d’un entorn de virtualització Xen amb la versió 3.3.0 sobre un Debian Lenny, versió 5.0. Aquest objectiu presenta els següents problemes:

  • Si instal·lem la versió del kernel que ve amb Xen 3.3, el procés d’arrencada provoca un kernel panic.
  • La versió 5.0 de Lenny no te cap linux-image-xen disponible, pel que no podem instal·lar el kernel amb Xen des d’apt-get directament.

La solució que proposem aquí utilitza una mescla de Xen, Etch i Lenny.

Procediment:

Partim de la base que tenim un Debian Lenny completament actualitzat tal i com s’explica en aquesta entrada anterior.

El codi font de Xen està disponible a la seva pàgina web: http://www.xen.org/download

Per obtenir el codi fem:

$ cd /usr/src
$ wget http://bits.xensource.com/oss-xen/release/3.3.0/xen-3.3.0.tar.gz

Preparació:

Abans de compilar el codi descarregat ens hem d’assegurar que el nostre sistema Debian compti amb les eines necessàries per dur a terme la compilació sense problemes. La compilació del kernel és lenta i ens podem estalviar haver de recompilar si ja disposem d’aquests paquets:

$ apt-get install build-essential linux-headers-`uname -r` iproute bridge-utils zlib1g-dev libncurses5-dev libssl-dev libcurl4-openssl-dev libssl0.9.8 gawk gettext libx11-dev bcc libpci-dev
$ apt-get install python python-xml python-pyopenssl python-pam python-dev

Si estem treballan sobre Lenny x86_64 també ens farà falta el següent paquet:

$ apt-get install libc6-dev-i386

Compilació:

Amb aquests paquets instal·lats ja podem compilar Xen. Per fer-ho s’ha de seguir aquests passos amb compte:

$ cd /usr/src
$ tar xvzf xen-3.3.0.tar.gz
$ cd xen-3.3.0
$ make install-xen
$ make install-tools
$ make install-stubdom

Els passos importants i que trigaran força estona són els tres últims, paciència. :-)

Opcionalment podem compilar també els documents de Xen. Per això ens faran falta les eines LaTeX. Les comandes a executar són:

$ apt-get install texlive-latex-* graphviz gs-gpl
$ cd /usr/src/xen-3.3.0
$ make -C docs

Instal·lació del kernel:

Com s’ha comentat Lenny no porta cap linux-image-xen, però Etch sí. El kernel que instal·larem és el de la versió 4.0 doncs.

Modificarem el nostre arxiu /etc/apt/sources.list per afegir el repositori main de Etch:

$ cat /etc/apt/sources.list
deb http://ftp.es.debian.org/debian/ lenny main contrib non-free
deb-src http://ftp.es.debian.org/debian/ lenny main contrib non-free

deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free

deb http://ftp.es.debian.org/debian/ etch main

Actualitzem les fonts:

$ apt-get update

Instal·lem el kernel amb:

$ apt-get install linux-image-xen-686

o bé, per a un entorn x86_64:

$ apt-get install linux-image-xen-amd64

Fet això, opcionalment, podem treure l’última línia de l’arxiu /etc/apt/sources.list, la del repositori Etch.

La pròpia instal·lació del kernel prepararà el grub, però no estarà de més comprovar que en /boot/grub/menu.lst les opcions de carrega del kernel Xen són correctes.

Configuracions extra:

Amb el procés completat ja només queden uns passos opcionals però recomanables.

Primer deshabilitem les llibreries tls (només en i686):

$ mv /lib/tls /lib/tls.disabled

Preparem el sistema per que arrenqui Xend i Xendomains a l’arrencada:

$ update-rc.d xend defaults 20 21
$ update-rc.d xendomains defaults 21 20

Hem acabat. Podem reiniciar el sistema amb el nou kernel Xen i començar a crear màquines virtuals.