Recherche


imprimer pdf
DISTRIBUTION XEN

Description

La distribution XEN vous permets de créer et de gérer des serveurs virtuels sur un même serveur physique. Le système de base (appelé "Dom0") est basé sur une Debian 4.0 64bits ce qui vous permets de faire fonctionner vos "DomU" (serveurs virtuels) en 32 ou 64 bits.


Création de serveurs virtuels

Deux possibilités s'offrent à vous pour stocker le système de fichiers de vos DomU :


Installation des DomU dans fichier loopback


Pour installer dans un fichier en loopback, voici un exemple de marche à suivre:

# dd if=/dev/zero of=/xen/node01.img bs=1M count=10240
# dd if=/dev/zero of=/xen/node01-swap.img bs=1M count=512
# mkfs.ext3 -F /xen/node01.img
# mkswap /xen/node01-swap.img
# mount -o loop /xen/node01.img /mnt
# cd /mnt
# tar xfj /xen/DomU-64bit-Debian-Etch.tbz # pour une DomU 64bit
# tar xfj /xen/DomU-32bit-Debian-Etch.tbz # pour une DomU 32bit

# chroot /mnt
# passwd # mettre un mot de passe

Adapter les fichier suivants :
-> /etc/network/interfaces # (ajouter les IP failover et la route)
-> /etc/hostname
-> /etc/hosts

Puis créer un fichier de configuration dans /etc/xen/, par exemple "node01", à partir de l'exemple fourni dans /etc/xen/.

# exit # quitter l'environnement chroot
# umount /mnt
# xm create -c node01 # ou autre nom de fichier choisi


Vous êtes alors directement connecté à votre DomU.

Installation avec LVM


La gestion par volumes logiques (en anglais, logical volume management ou LVM) est une méthode et un logiciel de découpage, de concaténation et d'utilisation des espaces de stockage d'un serveur. Il permet de gérer, sécuriser et optimiser de manière souple les espaces de stockage en ligne dans les systèmes d'exploitation de type UNIX/Linux.


On parle également de gestionnaire de volumes ou Volume Manager en anglais. (wikipedia)


Il faut créer une vg (Volume group), dans l'exemple suivant celle-ci est nommé xenvg
ATTENTION: Dans l'exemple suivant nous allons créer und VG au lieu de /home/, c'est à dire en effacant l'ancien contenu de la partition /home/

# pvcreate /dev/sda2
# vgcreate xenvg /dev/sda2

Vous pouvez alors jouter des lv (Logical volume) à volonté. Voici un exemple pour créer un seul LV à 5 Go nommé "node01" dans la vg "xenvg":

# lvcreate -L 5G -n node01 xenvg
# mkfs.ext3 /dev/xenvg/node01


Pour créer toute une série de LVs:

# for i in `seq 1 9`; do lvcreate -L 5G -n node0$i xenvg; lvcreate -L256M -n node0$i-swap xenvg; done
# for i in /dev/xenvg/node0`seq 1 9`; do mkfs.ext3 $i; mkswap $i-swap; done


Installation de la DomU:

# mount -t ext3 /dev/xenvg/node01 /mnt # aussi à vérifier dans /etc/fstab
# cd /mnt
# tar xfj /xen/DomU-64Bit-Debian-Etch.tbz # pour une DomU 64bit
# tar xfj /xen/DomU-32Bit-Debian-Etch.tbz # pour une DomU 32bit

# chroot /mnt
# passwd # mettre un mot de passe


Adapter les fichier suivants :
-> /etc/network/interfaces # (ajouter les IP failover et la route)
-> /etc/hostname
-> /etc/hosts

Puis créer un fichier de configuration dans /etc/xen/, par exemple "node01", à partir d'un exemple fourni dans /etc/xen/ mème.

# exit # quitter l'environnement chroot
# umount /mnt
# xm create -c node01 # ou autre nom de fichier choisi


Vous êtes alors directement connecté à votre DomU.


Création de réseau virtuel
Pour des raisons de sécurité l'infrastructure réseau de OVH ne vous permets pas de faire du "bridging", c'est à dire ajouter des interfaces réseau virtuels directement à l'interface réseau réel, ce qui est le mode d'opération par défaut de xen.
Dans l'installation de la distribution Debian/Xen de OVH, Xen est donc configuré sans bridge, avec le mode routage. Ceci veut dire que le trafic venant des serveurs virtuels n'es pas directement envoyé au prochain switch, mais routé par le host.
Des opérations sont donc nécessaires sur 3 niveaux:

  • le réseau extérieur: Routage des IP failover ou d'un réseau IP pour les instances virtuelles vers le serveur. À gérer dans la manager.
  • le serveur: Le noyau linux doit savoir ou envoyer les paquets recu pour les adresses supplémentaires. Cette partie est géré par xen à partir du moment que l'IP est configuré dans la configuration de ce serveur virtuel.
  • le serveur virtuel: le noyau du serveur virtuel doit savoir ou envoyer le trafic (réponse: vers votre serveur réel, qui fait passerelle) et comment le joindre. Dans les exemples livrées avec la distribution OVH il ne faut plus que adapter le fichier /etc/network/interfaces:

auto eth0
iface eth0 inet static
    address <IP FAILOVER>        # adresse DomU
    netmask 255.255.255.255
    post-up /sbin/ip route add IP-principale.Du.Serveur.254 dev eth0         #gateway du serveur
    post-up /sbin/ip route add default via IP-principale.Du.Serveur.254

Pour vos propres systèmes de votre choix il vous faut donc adapter cet exemple vers les fichiers et la syntaxe spécifique à votre système.

Compilation de votre propre noyau
La virtualisation avec Xen est en cours d'etre intégré dans le noyau linux. Aujourd'hui (linux 2.6.26) il est déja possible de créer un noyau pour domU 32bits avec la version vanilla sans patcher les sources, des fichiers de configuration exemplaires sont inclus dans /boot/domU_32/.
Pour des noyaux DomU 64bits ceci n'est pas encore possible, dans ce cas vous devez vous baser sur les sources de Xen (Linux 2.6.18) ou de Fedora (Linux 2.6.21)
Pour suivre le progrès de l'intégration de Xen dans le noyau linux, veuillez vous diriger à la page wiki Xen au sujet de XenParavirtOps.