Installation Xen · 7 min read · Oct 08, 2025

Installer Xen sur un serveur Ubuntu 8.04 (Hardy Heron) à partir des dépôts Ubuntu

Installer Xen sur un serveur Ubuntu 8.04 (Hardy Heron) à partir des dépôts Ubuntu

Version 1.0
Auteur : Falko Timme

Ce tutoriel fournit des instructions étape par étape sur la façon d’installer Xen sur un système serveur Ubuntu Hardy Heron (Ubuntu 8.04) (i386). Vous pouvez trouver tout le logiciel utilisé ici dans les dépôts Ubuntu, donc aucun fichier externe (à part un noyau Xen Ubuntu fixe pour activer le réseau pour les machines virtuelles) ou compilation n’est nécessaire.

Xen vous permet de créer des systèmes d’exploitation invités (systèmes d’exploitation nix comme Linux et FreeBSD), appelés “machines virtuelles” ou domU, sous un système d’exploitation hôte (dom0). En utilisant Xen, vous pouvez séparer vos applications en différentes machines virtuelles qui sont totalement indépendantes les unes des autres (par exemple, une machine virtuelle pour un serveur de messagerie, une machine virtuelle pour un site web à fort trafic, une autre machine virtuelle qui sert les sites web de vos clients, une machine virtuelle pour DNS, etc.), mais utiliser le même matériel. Cela permet d’économiser de l’argent, et ce qui est encore plus important, c’est plus sécurisé. Si la machine virtuelle de votre serveur DNS est piratée, cela n’a aucun effet sur vos autres machines virtuelles. De plus, vous pouvez déplacer des machines virtuelles d’un serveur Xen à un autre.

J’utiliserai Ubuntu Hardy Heron (i386) pour le système d’exploitation hôte (dom0) et Ubuntu Hardy Heron et Ubuntu Gutsy Gibbon (7.10) pour les systèmes d’exploitation invités (domU). D’autres distributions basées sur Debian qui peuvent être installées à l’aide de xen-tools sont Debian Etch, Debian Lenny, Debian Sid et Debian Sarge, ainsi qu’Ubuntu Dapper Drake, Ubuntu Edgy Eft et Ubuntu Feisty Fawn.

Ce howto est destiné à être un guide pratique ; il ne couvre pas les bases théoriques. Elles sont traitées dans de nombreux autres documents sur le web.

Ce document est fourni sans garantie d’aucune sorte ! Je tiens à dire que ce n’est pas la seule façon de configurer un tel système. Il existe de nombreuses façons d’atteindre cet objectif, mais c’est la méthode que je choisis. Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Installer le système hôte Ubuntu Hardy Heron (dom0)

Vous pouvez installer le système hôte (dom0) comme indiqué dans les chapitres un à dix de ce tutoriel : https://www.howtoforge.com/perfect-server-ubuntu8.04-lts (bien sûr, vous n’avez pas à le faire si vous avez déjà un système hôte Ubuntu 8.04 que vous souhaitez utiliser).

Assurez-vous que vous êtes connecté en tant que root (tapez

sudo su

pour devenir root), car nous devons exécuter toutes les étapes de ce tutoriel en tant qu’utilisateur root. De plus, si vous souhaitez utiliser vi comme éditeur de texte (comme suggéré par ce tutoriel), vous devez exécuter

apt-get install vim-full

Le paquet vim-full s’assure que l’éditeur de texte vi se comporte comme prévu (sans vim-full, vous pourriez rencontrer un comportement étrange dans l’éditeur de texte vi).

C’est une bonne idée de désactiver AppArmor :

/etc/init.d/apparmor stop  
update-rc.d -f apparmor remove

Le FQDN de dom0 dans cet exemple sera server1.example.com. L’adresse IP de server1.example.com sera 192.168.0.100 dans ce tutoriel, et la passerelle que j’utilise est 192.168.0.1, donc les machines virtuelles devront également utiliser celle-ci.

2 Installer Xen

Pour installer Xen et toutes les dépendances nécessaires, il suffit d’exécuter la commande suivante :

apt-get install ubuntu-xen-server

Cela installera également le paquet xen-tools que nous utiliserons plus tard pour créer des machines virtuelles.

Le paquet ubuntu-xen-server installe le noyau Ubuntu 2.6.24-16-xen ; malheureusement, il y a un bug désagréable dans ce noyau qui empêche le réseau de fonctionner pour les machines virtuelles (voir https://bugs.launchpad.net/ubuntu/+source/xen-3.2/+bug/204010 et https://bugs.launchpad.net/ubuntu/+source/linux/+bug/218126). Heureusement, Hirano Takahito a corrigé ce noyau et a rendu les versions corrigées (pour i386 et amd64) disponibles sur http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/ (j’ai créé un miroir de ces paquets à http://downloads.howtoforge.com/ubuntu_8.04_server_xen_from_repositories/ au cas où le lien original ne fonctionnerait plus un jour). Téléchargez le bon paquet linux-image pour votre architecture (i386 ou amd64), par exemple :

wget http://www.il.is.s.u-tokyo.ac.jp/~hiranotaka/linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

Ensuite, remplacez le noyau Ubuntu 2.6.24-16-xen par celui-ci comme suit :

dpkg -i linux-image-2.6.24-16-xen_2.6.24-16.30zng1_i386.deb

Ensuite, faites ceci :

mv /lib/tls /lib/tls.disabled

Nous devons également ajouter le module loop au noyau chaque fois que nous démarrons notre système, donc nous éditons /etc/modules. Si vous avez déjà une ligne loop là-dedans, faites-la ressembler à ceci, sinon ajoutez-la :

vi /etc/modules

| [...] loop max_loop=64 [...] |

Maintenant, jetez un œil au répertoire /boot pour voir quels noyaux et ramdisks sont installés :

ls -l /boot/
root@server1:~# ls -l /boot/  
total 34380  
-rw-r--r-- 1 root root  426444 2008-04-10 18:55 abi-2.6.24-16-server  
-rw-r--r-- 1 root root   80203 2008-04-10 18:55 config-2.6.24-16-server  
-rw-r--r-- 1 root root   85149 2008-04-19 23:17 config-2.6.24-16-xen  
drwxr-xr-x 2 root root    4096 2008-05-06 15:19 grub  
-rw-r--r-- 1 root root 7323503 2008-04-24 11:47 initrd.img-2.6.24-16-server  
-rw-r--r-- 1 root root 7047843 2008-04-24 11:45 initrd.img-2.6.24-16-server.bak  
-rw-r--r-- 1 root root 7056979 2008-05-06 15:19 initrd.img-2.6.24-16-xen  
-rw-r--r-- 1 root root 7062168 2008-05-06 15:09 initrd.img-2.6.24-16-xen.bak  
-rw-r--r-- 1 root root  103204 2007-09-28 12:06 memtest86+.bin  
-rw-r--r-- 1 root root  933296 2008-04-10 18:55 System.map-2.6.24-16-server  
-rw-r--r-- 1 root root  883544 2008-04-19 23:17 System.map-2.6.24-16-xen  
-rw-r--r-- 1 root root 1987288 2008-04-10 18:55 vmlinuz-2.6.24-16-server  
-rw-r--r-- 1 root root 1730344 2008-04-19 23:17 vmlinuz-2.6.24-16-xen  
-rw-r--r-- 1 root root  370610 2008-04-11 03:16 xen-3.2.gz  
root@server1:~#

Le noyau /boot/vmlinuz-2.6.24-16-xen est le nouveau noyau Xen corrigé, et /boot/initrd.img-2.6.24-16-xen est son ramdisk. Nous en aurons besoin bientôt.

Vous pouvez également jeter un œil au répertoire /usr/lib/xen-tools car il révèle quelles distributions peuvent être installées dans une machine virtuelle avec xen-tools :

ls -l /usr/lib/xen-tools
root@server1:~# ls -l /usr/lib/xen-tools  
total 36  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-4.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 centos-5.d  
-rwxr-xr-x 1 root root 4409 2008-04-06 03:12 common.sh  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 dapper.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 debian.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 edgy.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 etch.d -> debian.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-4.d -> fedora-core-6.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-5.d -> fedora-core-6.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 fedora-core-6.d  
lrwxrwxrwx 1 root root   15 2008-05-06 15:08 fedora-core-7.d -> fedora-core-6.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 feisty.d -> edgy.d  
drwxr-xr-x 2 root root 4096 2008-05-06 15:08 gentoo.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 gutsy.d -> edgy.d  
lrwxrwxrwx 1 root root    6 2008-05-06 15:08 hardy.d -> edgy.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 lenny.d -> debian.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sarge.d -> debian.d  
lrwxrwxrwx 1 root root    8 2008-05-06 15:08 sid.d -> debian.d  
root@server1:~#

Comme vous le voyez, nous pouvons installer les distributions suivantes :

  • Debian : Etch, Lenny (testing), Sid (unstable), Sarge
  • Ubuntu : Dapper Drake, Edgy Eft, Feisty Fawn, Gutsy Gibbon, Hardy Heron
  • CentOS 4, CentOS 5
  • Fedora Core 4, 5, 6, Fedora 7
  • Gentoo

(Je n’ai pas encore essayé d’installer CentOS, Fedora et Gentoo avec xen-tools, donc je ne peux pas dire à quel point cela fonctionne bien.)

Je veux stocker mes machines virtuelles dans le répertoire /home/xen, donc je le crée maintenant :

mkdir /home/xen

Nous utiliserons xen-tools pour créer des machines virtuelles. xen-tools facilite beaucoup la création de machines virtuelles - veuillez lire ce tutoriel pour en savoir plus : https://www.howtoforge.com/xen_tools_xen_shell_argo. Comme mentionné précédemment, le paquet xen-tools a été installé avec le paquet ubuntu-xen-server.

Maintenant, nous éditons /etc/xen-tools/xen-tools.conf. Ce fichier contient les valeurs par défaut qui sont utilisées par le script xen-create-image à moins que vous ne spécifiiez d’autres valeurs sur la ligne de commande. J’ai changé les valeurs suivantes et laissé le reste intact :

vi /etc/xen-tools/xen-tools.conf

| [...] dir = /home/xen [...] dist = hardy # Distribution par défaut à installer. [...] gateway = 192.168.0.1 netmask = 255.255.255.0 broadcast = 192.168.0.255 [...] passwd = 1 [...] mirror = http://archive.ubuntu.com/ubuntu/ [...] |

La ligne dist contient la distribution par défaut que vous souhaitez installer dans une machine virtuelle. Le contenu du répertoire /usr/lib/xen-tools révèle quelles distributions sont disponibles (voir ci-dessus).

La ligne kernel doit contenir notre noyau Xen, et la ligne initrd son ramdisk. Le fichier par défaut /etc/xen-tools/xen-tools.conf a les valeurs kernel = /boot/vmlinuz-uname -r et initrd = /boot/initrd.img-uname -r qui se traduisent automatiquement par le noyau et le ramdisk corrects, donc nous n’avons pas besoin de modifier ces lignes.

La ligne passwd = 1 permet de spécifier un mot de passe root lors de la création d’un nouveau domaine invité. Dans la ligne mirror, spécifiez un miroir Ubuntu proche de chez vous.

Assurez-vous de spécifier une passerelle et un masque de sous-réseau. Si vous ne le faites pas, et que vous ne spécifiez pas de passerelle et de masque de sous-réseau sur la ligne de commande lors de l’utilisation de xen-create-image, vos domaines invités n’auront pas de réseau même si vous avez spécifié une adresse IP !

Maintenant, redémarrez le système :

reboot

Si votre système redémarre sans problèmes, alors tout va bien !

Exécutez

uname -r

et votre nouveau noyau Xen devrait apparaître :

root@server1:~# uname -r  
2.6.24-16-xen  
root@server1:~#
Share: X/Twitter LinkedIn

Recevez de nouveaux articles dans votre boîte de réception.

Aucun spam. Désabonnez-vous à tout moment.