Mise en place d’un serveur de virtualisation sur une Debian à l’aide de Xen

La virtualisation permet de réduire les coûts et d’utiliser au mieux les ressources, mais il faut savoir qu’il existe deux types de virtualisations :

  1. la para-virtualisation, qui consiste à avoir un noyau xénifié sur la machine virtuelle (modifié pour être compatible Xen). Les accès au matériel physique se font par des appels directs à l’hyperviseur. On dispose donc de bonnes performances.
  2. la virtualisation complète, utilisée par les logiciels comme VirtualBox, VMWare Workstation ou Microsoft VirtualPC où il n’est pas possible d’avoir de noyau modifiable. Dans ce cas, le système de virtualisation virtualise totalement une machine pour héberger la machine virtuelle, elle aura l’impression d’être sur une « vraie » machine. Ce type de virtualisation est surtout utilisé pour les différentes versions de Windows.

Comme d’habitude, le bon réflexe à avoir est de faire des sauvegardes des fichiers de configuration originaux ! Au moins après, il est toujours de revenir en arrière facilement.

Avant de commencer, petite précision du but de ce tutoriel :
– il faut avoir un système LVM fonctionnel
– nous utiliserons le mode bridge de Xen, c’est à dire que les machines virtuelles seront sur le même réseau que le serveur

Commençons par installer les paquets nécessaires
aptitude install xen-hypervisor-4.1-amd64 xen-docs-4.1 xen-utils-4.1 xen-tools

Changement du noyau de démarrage (il faut que l’hyperviseur soit actif pour utiliser Xen)
mv /etc/grub.d/10_linux /etc/grub.d/50_linux

On regénère le fichier de configuration de Grub2
update-grub2

Il faut à présent redémarrer pour démarrer sous le nouveau noyau. Xen 4.1-amd64 doit être en haut de la liste, cela indique que c’est le noyau par défaut.
reboot

Passons maintenant à la configuration de Xen en éditant le fichier « /etc/xen/xend-config.sxp ». Nous allons y activer le mode bridge, voici le contenu de mon fichier.

FICHIER DE CONFIG.

Et remplacer le contenu de « /etc/xen-tools/xen-tools.conf » par les lignes suivantes. Xen-Tools est un ensemble d’outils permettant de créer des machines virtuelles facilement

FICHIER DE CONFIG.

Il est maintenant possible de passer à la création de la première machine virtuelle. Pour cela, Xen-Tools nous sera utile grâce à ce type de commande (en principe, tous les arguments ne sont pas nécessaires, car nous établi les valeurs par défaut à utiliser via le fichier « /etc/xen-tools/xen-tools.conf »)
xen-create-image --hostname=nom-de-la-machine --ip=10.0.0.1 --passwd

Voici une petite liste des arguments possibles :

--dir : répertoire contenant les images des disques
--size : taille du disque dur principal
--memory : quantité de mémoire (RAM) allouée à la machine
--fs : type du système de fichier
--dist : nom de la distribution (peut-être une distribution Debian comme Lenny ou Ubuntu comme Maverick)
--hostname : nom de la machine
--ip : adresse IP de la machine
--netmask : masque de sous-réseau correspondant à l'IP
--swap : taille du SWAP
--arch : architecture de la machine (amd64 ou i686)
--kernel : emplacement et nom du kernel
--initrd : emplacement et nom de l'image de boot
--mirror : adresse du mirroir Debian ou Ubuntu à utiliser
--passwd : choix du mot de passe de l'utilisateur root de la machine
--boot : pour démarrer la machine après la fin de la création

Lancement de notre première machine virtuelle
xm create nom-de-la-machine.cfg

Pour vérifier que la machine soit lancée
xm list

Voici le résultat que j’ai obtenu.

Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  3142     8     r-----   5362.2
nom-de-la-machine 38   128     1     -b----      1.5

Pour la partie réseau, rien ne pourra égaler le wiki officiel :

En cas de coups durs, aller sur ces sites qui sont de vrais mines :