Virtualisation · 4 min read · Feb 13, 2026

Virtualisation avec Xen 3.3.1 sur Debian Etch

Virtualisation avec Xen 3.3.1 sur Debian Etch

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 Debian Etch (4.0).

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.

Je ne donne aucune garantie que cela fonctionnera pour vous !

1 Remarque préliminaire

J’utilise un système Debian Etch avec le nom d’hôte server1.example.com et l’adresse IP 192.168.0.100 comme système hôte (dom0). Je vais également utiliser Debian Etch pour les machines virtuelles (domU).

Ce guide expliquera comment configurer des machines virtuelles basées sur des images et également des machines virtuelles basées sur LVM.

Veuillez noter : Xen 3.3.1 est livré avec le noyau 2.6.18 qui est assez ancien. Si vous utilisez du matériel récent, le système pourrait ne plus démarrer en raison de pilotes manquants !

2 Installation de Xen

Avant d’installer Xen, nous devons installer quelques prérequis :

apt-get install make gcc libc6-dev zlib1g-dev python python-dev python-twisted bridge-utils iproute libcurl3 libcurl3-dev bzip2 module-init-tools transfig tgif libncurses5-dev patch libvncserver-dev libsdl-dev libjpeg62-dev bcc bin86 gawk pciutils-dev mercurial build-essential

Ensuite, nous téléchargeons Xen 3.3.1…

cd /usr/src  
wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz

… et le décompressons :

tar -xvzf xen-3.3.1.tar.gz  
cd xen-3.3.1

Maintenant, nous le construisons comme suit :

make world && make dist

Cela peut prendre un certain temps, alors veuillez être patient. Ensuite, nous installons Xen :

./install.sh

La sortie devrait ressembler à ceci :

server1:/usr/src/xen-3.3.1# ./install.sh  
Installing Xen from './dist/install' to '/'...  
 - installing for udev-based system  
 - modifying permissions  
All done.  
Checking to see whether prerequisite tools are installed...  
Xen CHECK-INSTALL  Sun Feb 8 21:22:39 CET 2009  
Checking check_brctl: OK  
Checking check_crypto_lib: OK  
Checking check_curl: unused, OK  
Checking check_iproute: OK  
Checking check_python: OK  
Checking check_python_xml: OK  
Checking check_udev: OK  
Checking check_xml2: unused, OK  
Checking check_zlib_lib: OK  
All done.  
server1:/usr/src/xen-3.3.1#

Exécutez

mv /lib/tls /lib/tls.disabled

… et créez les liens de démarrage système pour Xen :

update-rc.d xend defaults 20 21  
update-rc.d xendomains defaults 21 20

Ensuite, nous ouvrons /etc/modules et nous assurons que nous avons la ligne loop max_loop=64 dedans (cette étape n’est nécessaire que si vous souhaitez créer des machines virtuelles basées sur des images - vous pouvez l’ignorer si vous souhaitez créer des machines virtuelles basées sur LVM) :

vi /etc/modules

| [...] loop max_loop=64 |

Maintenant, regardez dans le répertoire /boot :

ls -l /boot/
server1:/usr/src/xen-3.3.1# ls -l /boot/  
total 15546  
-rw-r--r-- 1 root root   71818 2007-03-26 18:32 config-2.6.18-4-486  
-rw-r--r-- 1 root root   66264 2009-02-08 21:21 config-2.6.18.8-xen  
drwxr-xr-x 2 root root    1024 2008-12-14 00:07 grub  
-rw-r--r-- 1 root root 4845777 2008-12-14 00:04 initrd.img-2.6.18-4-486  
drwx------ 2 root root   12288 2008-12-13 23:59 lost+found  
-rw-r--r-- 1 root root  716728 2007-03-27 00:39 System.map-2.6.18-4-486  
-rw-r--r-- 1 root root  752541 2009-02-08 21:21 System.map-2.6.18.8-xen  
-rw-r--r-- 1 root root 1220128 2007-03-27 00:39 vmlinuz-2.6.18-4-486  
-rw-r--r-- 1 root root 1541626 2009-02-08 21:21 vmlinuz-2.6.18.8-xen  
-rw-r--r-- 1 root root  433689 2009-02-08 21:14 xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen-3.3.gz -> xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen-3.gz -> xen-3.3.1.gz  
lrwxrwxrwx 1 root root      12 2009-02-08 21:22 xen.gz -> xen-3.3.1.gz  
-rw-r--r-- 1 root root 6180789 2009-02-08 21:14 xen-syms-3.3.1  
server1:/usr/src/xen-3.3.1#

Comme vous le voyez, il y a un nouveau noyau, 2.6.18.8-xen, mais pas de ramdisk pour celui-ci ; par conséquent, nous en construisons un…

depmod 2.6.18.8-xen  
update-initramfs -c -k 2.6.18.8-xen

… et mettons à jour notre chargeur de démarrage :

update-grub

Puis redémarrez le système :

reboot

Exécutez

uname -r

et votre nouveau noyau Xen devrait apparaître :

server1:~# uname -r  
2.6.18.8-xen  
server1:~#
 

3 Installation de xen-tools

Nous allons utiliser 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. Nous n’installons pas le paquet xen-tools du dépôt Debian Etch (car il est assez ancien), mais directement depuis le dépôt du développeur - de cette façon, nous obtenons la version la plus récente. Ouvrez /etc/apt/sources.list…

vi /etc/apt/sources.list

… et ajoutez la ligne suivante :

| [...] deb http://apt.steve.org.uk/etch etch main non-free contrib [...] |

Ensuite, exécutez…

wget -q http://apt.steve.org.uk/apt-key.gpg -O- | apt-key add - && apt-get update

… et installez xen-tools :

apt-get install xen-tools
Share: X/Twitter LinkedIn

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

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