Howto install Xen 3.3.2 Debian Lenny 5.0

debian xen virtualisation Howto install Xen 3.3.2 Debian Lenny 5.0

Note en passant : Salut à tous, j’ai pas posté depuis longtemps sur ce site parce que j’étais parti pendant un an en voyage. Me revoilà (tadaaa !), premier article le jour de mon anniversaire :D Enjoy !

J’ai décidé d’écrire ce howto parce que j’ai rencontré des problèmes à l’installation de Xen 3.3.2 avec les modules du noyau compilé « manuellement » sur une debian 5.0 , et il y a deux-trois petites astuces à connaitre aussi, et aussi que j’en ai pas trouvé en français (j’avoue que j’ai pas été plus loin que le 2 premières pages de résultat google…).
Et pourquoi se casser la tête à compiler un xen me direz-vous ? Et bien tout simplement à cause d’un ou deux bugs gênant pour moi :) Vous les découvrirez en lisant ce HOWTO.

Sur une installation fraiche de debian lenny :

Installation du xen normal :

apt-get install libc6-xen  libxenstore3.0 linux-headers-2.6-xen-686 linux-headers-2.6.26-2-common-xen  linux-headers-2.6.26-2-xen-686 linux-image-2.6-xen-686  linux-image-2.6.26-2-xen-686 linux-modules-2.6-xen-686   linux-modules-2.6.26-2-xen-686 xen-hypervisor-3.2-1-i386 xen-shell  xen-tools  xen-utils-3.2-1 xen-utils-common xenstore-utils
Ici, il faut configurer le réseau, donc mettre dans la config les lignes suivantes (config minimum sans les commentaires ) :
vim  /etc/xen/xend-config.sxp
(xend-relocation-server yes)
(xend-relocation-hosts-allow  '^localhost$ ^localhost\.localdomain$')
(network-script 'network-bridge bridge=xenbr0 netdev=eth0')
(vif-script  vif-bridge)
(dom0-min-mem 196)
(enable-dom0-ballooning yes)
(dom0-cpus  1)
(vncpasswd '')

Ici il est très important de laisser dom0-cpus à 1, sinon le dom0 plantera au bout d’un certains temps. Mais cependant, de mettre le dom0 à 1 empêche le reboot des machines virtuelles. On est obligé de les tuer, ce qui n’est pas très propre. Un autre problème, c’est quand des utilisateurs sont admin de leur machine virtuelle, et qu’ils veulent faire un reboot, ça nous oblige à intervenir.

On configure l’interface réseau (à adapter selon le réseau) :

vim  /etc/network/interfaces
auto eth0
iface eth0 inet  static
address 192.168.0.15
netmask    255.255.255.0
network    192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.63
dns-nameservers 192.168.0.2 192.168.0.3
 
auto xenbr0
iface  xenbr0 inet static
address 192.168.0.15
netmask  255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.63
dns-nameservers 192.168.0.2 192.168.0.3
bridge_ports eth0
bridge_maxwait 0
bridge_hello 0
bridge_fr 0

Ici on peut faire un reboot pour déjà valider que le dom0 fonctionne bien.

Puis on install la dernière version de xen en compilant :

On installe les paquets essentiels à la compilation :

apt-get  install bcc bin86 gawk bridge-utils iproute libcurl3  libcurl4-openssl-dev bzip2 module-init-tools transfig tgif texinfo  pciutils-dev mercurial build-essential make gcc libc6-dev zlib1g-dev  python python-dev python-twisted libncurses5-dev patch libvncserver-dev  libsdl-dev libjpeg62-dev

On télécharge, on compile et on installe la source :

cd /usr/src/
wget  <a href="http://bits.xensource.com/oss-xen/release/3.3.2/xen-3.3.2.tar.gz" target="_blank">http://bits.xensource.com/oss-xen/release/3.3.2/xen-3.3.2.tar.gz</a>
tar -xvzf xen-3.3.2.tar.gz
cd xen-3.3.2
make world &amp;&amp; make  dist
(answer the few questions then take a coffee, or a rest :)...)
./install.sh
update-rc.d xend defaults 20 21
update-rc.d xendomains defaults 21  20
depmod 2.6.18.8-xen
update-initramfs -c -k 2.6.18.8-xen
update-grub

On reconfigure xen :

vim /etc/xen/xend-config.sxp
(network-script 'network-bridge bridge=xenbr0 netdev=eth0')
(vif-script  vif-bridge)
(dom0-cpus 0)

Ca y est on peut mettre dom0-cpu à 0, cool !

Et là l’astuce, c’est de modifier menu.lst de GRUB pour utiliser les modules de la version officielle (installée avant la version compilée) avec le nouveau noyau xen :

title        Xen 3.3.2 / Debian GNU/Linux, kernel 2.6.18.8-xen
root         (hd0,0)
kernel        /boot/xen-3.3.2.gz
module           /boot/vmlinuz-2.6.26-2-xen-686 root=UUID=fe72ca30-05cf-4baf-9e0f-41749cf4011a  ro console=tty0
module          /boot/initrd.img-2.6.26-2-xen-686
au lieu de
#module         /boot/vmlinuz-2.6.18.8-xen root=UUID=fe72ca30-05cf-4baf-9e0f-41749cf4011a  ro console=tty0
#module        /boot/initrd.img-2.6.18.8-xen

Reboot and enjoy !

Cheers

Inspirations et sources :
- http://www.xen-support.com/?p=211

Vus : 413
Publié par Admin-Linux : 176