Tutoriel simple et rapide pour mettre en place une solution de virtualisation Xen sous Debian 4.0 Etch
Je vous propose à travers ce tutoriel d'installer une solution Xen facilement et rapidement sous Debian 4.0 (Etch), l'actuelle Debian stable.
Tout d'abord, un peu de théorie : ici, l'hôte s'appelle Dom0, l'invité s'appelle DomU. Si les termes d'hôte et d'invité ne vous disent rien, je vous invite à vous documenter sur la virtualisation.
Tout d'abord, cela passe par l'installation de quelques paquets supplémentaires, dont le kernel approprié :
# aptitude install xen-linux-system-2.6.18-6-xen-686 libc6-xen bridge-utils xen-tools
Ici, le premier paquet dépend du noyau recompilé spécialement pour Xen par la gentille devteam de Debian, le deuxième paquet est une version de la libc spécialement recompilée pour xen, bridge-utils vous sera très utile pour la gestion du réseau, et xen-tools est un lot de commandes vous aidant à la création et gestion de vos DomU.
Sur un système 64 bit :
# aptitude install xen-linux-system-2.6.18-6-xen-amd64 bridge-utils xen-tools
Note : il n'existe actuellement pas de libc6-xen pour l'arch AMD64
Après installation, rebootez afin de redémarrer sur le nouveau kernel :
# reboot
Après le reboot, vérifiez que vous possédez bien le kernel Xen :
# uname -a
Éditez maintenant le fichier /etc/xen-tools/xen-tools.conf à l'aide de votre éditeur favori :
# vim /etc/xen-tools/xen-tools.conf
Tout en bas du fichier de configuration, modifiez les lignes kernel et initrd par :
- 32 bit :
kernel = /boot/vmlinuz-2.6.18-6-xen-686 initrd = /boot/initrd.img-2.6.18-6-xen-686
- 64 bit :
kernel = /boot/vmlinuz-2.6.18-6-xen-amd64 initrd = /boot/initrd.img-2.6.18-6-xen-amd64
Dans ce même fichier, n'oubliez pas de décommenter/modifier les lignes en conséquence comme ci-dessous :
dir = /home/xen debootstrap = 1 size = 4Gb memory = 128Mb swap = 128Mb fs = ext3 dist = etch image = sparse
dhcp = 1 mirror = http://ftp.fr.debian.org/debian/
Ensuite, on crée les dossiers que nous avons indiqué :
# mkdir /home/xen && mkdir /home/xen/domains
On édite le fichier /etc/xen/xend-config.sxp
# vim /etc/xen/xend-config.sxp
Et l'on modifie la ligne network-script comme ceci :
(network-script network-bridge)
On termine par le relancement du daemon Xen :
# /etc/init.d/xend restart
Et c'est terminé pour la phase d'installation !
Créons maintenant votre première machine grâce à cette commande :
# xen-create-image -hostname=vps -passwd
Le paramètre hostname vous permet de spécifier le nom de la machine, et l'argument __passwd_ permet de configurer le mot de passe du compte root juste après la préparation de votre Dom0
Lançons maintenant votre machine grâce à la commande :
# xm create vps.cfg
À la manière d'un screen, attachez votre machine grâce à la commande :
# xm console vps
Voilà
Si vous souhaitez créer d'autres machines, retroussez vos manches et repartez sur un xen-create-image avec un argument hostname différent des précédentes. De la même manière, xm create nouvelle-machine.cfg pour la lancer, et xm console nouvelle-machine pour l'attacher.
Découvrez simplement la puissance de Xen !
Note personnelle : pour le grand public, la Virtualisation (VirtualBox, VMWare, qemu+kqemu…) reste plus accessible que la Paravirtualisation (Xen). Cependant, la technologie KVM n'est pas à ignorer, celle-ci est presqu'autant performante que Xen, encore faut-il, ce n'est pas mon cas, posséder un processeur avec l'instruction VT.