Xen 3.2.1 des de codi font sobre Debian Etch.

Objectiu:

Es vol disposar d’un entorn de virtualització Xen 3.2.1 que permeti l’execució de màquines virtuals Linux i/o Windows sobre un sistema operatiu Debian Etch (4.0r3).

La instal·lació de Debian Etch no es comentarà ja que ja ha estat tractada en una entrada anterior d’aquest blog.

Per què Xen?

Sembla que sobre entorns lliures Linux hi ha una petita batalla entre triar KVM o Xen. Les dues opcions permeten crear entorns de virtualització que permeten executar màquines virtuals Linux o Windows (entre d’altres…). Existeixen diverses pàgines on es comenta el rendiment que les dues opcions ofereixen i sembla ser que la paravirtualització que implementa Xen funciona més ràpidament que entorns de virtualització completa.

S’ha de tenir en compte que, de moment, la paravirtualització només funciona sobre DomU’s Linux, no sobre Windows.

Obtenció del software necessari:

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

La versió que farem servir és la 3.2.1, la última en el moment de la redacció d’aquest article.

Per obtenir el codi fem:

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

Compilació i configuració:

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 libncurses-dev libssl-dev libcurl3-dev libssl0.9.7 mercurial gawk gettext libx11-dev bcc pciutils-dev
$ apt-get install python python-xml python-pyopenssl python-pam python-dev

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.2.1.tar.gz
$ hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
$ cd xen-3.2.1
$ make prep-kernels
$ make world
$ make install 
$ depmod 2.6.18.8-xen

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 tetex-base tetex-extra graphviz gs-gpl
$ cd /usr/src/xen-3.2.1/docs
$ make 

Amb el codi compilat ja només queden uns passos opcionals però recomanables.

Primer deshabilitem les llibreries tls:

$ 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

Finalment preparem el GRUB:

$ mkinitramfs -o /boot/initrd.img-2.6.18.8-xen 2.6.18.8-xen
$ update-grub

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