Xen 4.0.1 sobre Debian Squeeze (6.0)

Objectiu:

Disposar d’un entorn de virtualització Xen amb la versió 4.0.1 sobre un Debian Squeeze (versió 6.0).

Amb la nova versió de Debian s’ha simplificat enormement la instal·lació de Xen i ara es possible instal·lar i disposar d’un entorn de virtualització amb poc més de quatre comandes.

Procediment:

Partirem de la idea que disposem d’un sistema operatiu Debian 6.0 instal·lat. En aquest cas la instal·lació és molt similar a la de Debian 5.0. Si es sap instal·lar Lenny, Squeeze no hauria de suposar cap problema afegit. La instal·lació de Lenny la vam cobrir en aquesta entrada anterior.

Per instal·lar Xen sobre aquest sistema operatiu seguirem les recomanacions de la documentació de Debian. Utilitzant apt-get farem el següent:

$ apt-get install xen-hypervisor-4.0-amd64 linux-image-xen-amd64 xen-qemu-dm-4.0 xen-tools debootstrap qemu

Dels paquets escollits s’ha de comentar el següent:

  • s’instal·la la versió de 64 bits, si tenim una màquina que no suporti aquesta arquitectura podem optar per la versió de 32 bits canviant amd64 per i386.
  • per tal d’obtenir suport HVM (màquines virtuals Windows, per exemple) s’ha d’instal·lar el paquet xen-qemu-dm-4.0
  • els tres últims paquets no són estrictament necessaris pel funcionament de Xen però poden ser útils per a la creació i gestió de màquines virtuals a posteriori.

Un cop instal·lats els paquets només hauríem de reiniciar la màquina i a l’etapa del grub sel·leccionar el kernel xen amb l’hypervisor associat. La configuració per defecte del grub2 no posa aquesta entrada com la primera. Probablement això és el que ens interessa si volem fer reinicis de màquina remots. Per arreglar aquest detall executem el següent:

$ mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux
$ update-grub2

Ja que estem amb el tema grub, es interessant, en màquines amb multiprocessador, destinar una CPU només per al Dom0 i posar les màquines virtuals en la resta de CPUs. Aquesta configuració s’ha d’afegir al grub. Concretament, a /etc/default/grub afegim la següent línia:

GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin=true acpi=force apic=on"

A continuació actualitzem el grub2 de nou:

$ update-grub2

Aquesta configuració s’ha de tenir en compte quan es creïn els arxius de configuració de les màquines virtuals. En tots ells s’haurà d’afegir les línies següents per evitar que s’executin en la CPU 0 destinada al Dom0:

cpus = "1-3"
vcpus = 1

En aquest cas permetem que la màquina virtual s’iniciï en qualsevol CPU entre 1 i 3 i la màquina virtual només veurà una CPU virtual, això vol dir que s’executarà com si fos uniprocessador.

Debian també recomana deshabilitar que es salvin els dominis quan aquests s’apaguen. Per aconseguir això haurem de modificar l’arxiu /etc/default/xendomains. Els paràmetres a canviar són els següents:

XENDOMAINS_RESTORE=false
XENDOMAINS_SAVE=""

Finalment, i ja com a configuració pròpia de cada entorn, podem configurar com es tractarà la xarxa en les màquines virtuals (Bridge, NAT, etcètera). Això no ha canviat de versions anteriors i es du a terme en l’arxiu /etc/xen/xend-config.sxp. La línia per a que les màquines virtuals utilitzin bridging per defecte que s’ha de descomentar és:

(network-script network-bridge)

Un cop realitzades aquestes modificacions ja podem reiniciar la màquina amb el nou entorn Xen. Si tot ha anat bé podrem executar la comanda sense errors:

$ xm list

Obtindrem la llista de màquines virtuals en funcionament… en aquest moment cap és clar. A partir d’aquest punt ja podem començar a crear màquines virtualitzades en el nou domini.

Documentació:

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