Xen 4.0 sobre Debian Lenny (5.0)

Objectiu:

Disposar d’un entorn de virtualització Xen amb la versió 4.0.0 sobre un Debian Lenny, versió 5.0.

Des de la versió 4.0.0 de Xen s’utilitza per defecte les pv_ops del kernel. Així doncs ens farà falta un kernel que les suporti. Veurem tot seguit com aconseguir-lo.

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/products/xen_source.html

Per obtenir el codi fem:

$ cd /usr/src
$ wget http://bits.xensource.com/oss-xen/release/4.0.0/xen-4.0.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 bcc bin86 gawk bridge-utils libcurl3 bzip2 gettext transfig tgif texi2html texlive-latex-base texlive-latex-recommended texlive-fonts-extra texlive-fonts-recommended mercurial build-essential make gcc libc6-dev zlib1g-dev python-dev python-twisted python-xml python-pyopenssl python-pam libncurses5-dev libvncserver-dev libsdl1.2-dev libssl-dev libcurl4-openssl-dev libjpeg62-dev libx11-dev iasl libbz2-dev e2fslibs-dev git-core uuid-dev iasl libc6-dev-i386 gcc-multilib libpci-dev

A continuació executem les següents comandes:

$ tar xvzf xen-4.0.0.tar.gz
$ cd xen-4.0.0

En aquest punt hauríem de decidir si volem el kernel que Xen instal·la per defecte (2.6.31.x) o bé un kernel fet a mida, potser més nou i amb algunes opcions diferents.
La instal·lació a partir d’aquest punt és diferent segons escollim un itinerari o un altre.

OPCIÓ A: Instal·lació amb el kernel que Xen instal·la per defecte:

L’opció més senzilla és deixar que Xen descarregui i compili el kernel per defecte. En aquest cas la seqüencia de comandes és la següent:

$ make world

En un moment donat de la instal·lació, quan es configuri el kernel, se’ns demanarà tot un seguit d’opcions de Xen, hem d’escollir segons ens interessi. Dir que sí a tot no fa mal, però pot no ser el que ens faci falta.

A continuació fem:

$ ./install.sh

Amb això tindrem les eines de Xen i el kernel instal·lats. Per acabar de configurar el sistema per que arrenqui automàticament i demés podem fer el següent:

$ depmod -a
$ update-initramfs -c -k 2.6.31.13
$ update-rc.d xend defaults 20 21
$ update-rc.d xendomains defaults 21 20
$ update-grub

En aquest punt ja podem reiniciar el nostre sistema i escollir l’opció de boot de Xen 4.0.0 amb el kernel 2.6.31.13.

OPCIÓ B: Instal·lació amb un kernel fet a mida:

L’altra opció que tenim és descarregar un kernel i adaptar-lo a les nostres necessitats. S’explica a continuació com obtenir la versió 2.6.32.x del repositori git de kernel.org i utilitzar-lo en la nostra màquina Xen.

Les comandes bàsiques són les següents:

$ cd /usr/src
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git
$ git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x
$ make menuconfig (per adaptar el kernel a les nostres necessitats)

NOTA IMPORTANT: En aquest punt seria interessant dir que l”Universal TUN/TAP driver’ d’aquest kernel està deshabilitat per defecte i és necessari per a les màquines virtuals HVM. El podem habilitar en:

- Device Drivers --> Network Device Support --> Universal TUN/TAP driver support

A continuació fem:

$ make
$ make modules_install install
$ depmod -a
$ update-initramfs -c -k 2.6.32.x
$ update-grub

En aquest punt ja podem reiniciar amb el nostre kernel a mida amb Xen 4.0.0.

Altres configuracions:

Per acabar de configurar el Xen podem accedir a l’arxiu /etc/xen/xend-config.sxp i per exemple:

  • Activar l’accés per VNC
  • Modificar paràmetres de la xarxa

Documentació:

Com sempre, la documentació del projecte Xen la podem trobar a: