XEN + LVM

Dernière mise à jour : 22/05/2008

    Nous verrons dans cet article comment installer Xen sur une machine n'ayant pas les instructions matérielles de virtualisation (VT) en utilisant LVM pour partitionner avec flexibilité nos différentes machines virtuelles. Le tout est réalisé grâce à Debian Etch avec les bons noyaux qui vont bien. J'ai aussi utilisé le noyau officiel de chez Xen afin d'avoir quelque chose de propre (enfin dans la limite du possible). Attention, mon tutoriel prends de véritables adresses IP, je n'ai donc aucun besoin de NAT. Si tel est votre problème, achetez le numéro 100 de GLMF, il contient le serveur parfait et un setup bien plus avancé que le miens :)

    Commencez donc par installer votre Debian sur le nouveau serveur, sélectionnez une installation classique sans interface, vous pouvez configurer ensuite votre LVM pendant l'installation ou bien comme moi le faire par la suite. Dans cet exemple, nous avons crées plusieurs partitions pour le système suivi d'une grande partition pour le LVM :
    Il vous faut à présent télécharger le dernier xen disponible (je tourne en x86_64 sous Debian). Au moment de la configuration, il s'agit de Xen 3.1 tarball 64 bit SMP. Détarrez le tout et lancez l'installation : tar xzf xen-3.1.0-install-x86_64.tgz && cd dist && ./install.sh. Il vous faut creer l'initrd, voici ma commande : mkinitramfs -o /boot/initrd.img-2.6.18-xen 2.6.18-xen.

    Vous devez à présent mettre votre grub à jour avec ceci (remplacez bien sûr hd0,4 par votre partition racine) :
    Installez ensuite les bons outils pour votre machine : apt-get install bridge-utils xen-tools iproute lvm2 screen libssl0.9.7. Nous sommes alors prêts à configurer le LVM. Dans cet exemple j'ai une partition de 63GB que je vais utiliser en physique et que je vais ensuite diviser en morceaux de 5GB pour les machines virtuelles. Suivez le guide, dans l'ordre, on crée le volume physique, le virtuel et le volum logique, puis on formate ce dernier en ext3 et on le monte :
    Après création cela vous donne un volume LVM de 60GB avec une première machine virtuelle de 5GB :
    Il ne nous reste plus qu'à installer Debian, vous pouvez pour ce faire utiliser xen-create-image mais je préfère voir ce qui se passe, donc j'utilise debootstrap (à installer si ce n'est déjà fait) comme ceci /usr/sbin/debootstrap --arch i386 etch /mnt/xen/ http://ftp.fr.debian.org/debian. Vous devriez alors obtenir :
    Il faut ensuite paramétrer quelques fichiers, changer le mot de passe root et installer quelques paquets :
    Je crée ensuite le fichier de configuration xen de ma première machine virtuelle dans /etc/xen/monitor.cfg :
    Il est important de modifier /etc/xen/xend-config.sxp pour qu'il contienne vos changements, dans mon cas (sans besoin de NAT), je change donc les deux lignes suivantes :
   
    Le moment de vérité a sonné, votre première machine virtuelle est prête à fonctionner, testons donc cela : xm create -c monitor.cfg, vous devriez obtenir quelque chose comme çà :
    Il vous reste a placer les demons xend et xendomains au demarrage comme suit :
    Félicitations, vous avez installé votre premier système xen avec une machine virtuelle, il ne vous reste plus qu'à en installer plus :) Je vous livre enfin en plus une petite astuce pour bénéficier d'IPv6 sur la zone 0 (c'est un problème que j'ai rencontré). Il semblerait que selon l'installation, votre xenbr0 prenne une adresse IPv6 (je tourne en ra un peu partout), donc pour pallier à ce problème, rentrez ceci et redémarrez :
    Enfin si vous n'avez pas de réseau dans votre machine virtuelle, éditez /etc/network/interfaces et remplacez allow-hotplug eth0 par :