Xen Management · 5 min read · Oct 23, 2025
Gérer Xen Avec Xen-Tools, Xen-Shell, Et Argo
Gérer Xen Avec Xen-Tools, Xen-Shell, Et Argo
Version 1.0
Auteur : Falko Timme
Ce guide décrit comment installer et utiliser xen-tools, xen-shell et Argo sur un système Debian. Les trois paquets fournissent des outils utiles pour l’administration des machines virtuelles Xen. Xen-tools est une collection de scripts Perl qui vous permettent de créer, mettre à jour et supprimer facilement des domaines invités Xen. Le xen-shell fournit une interface en ligne de commande aux propriétaires de domaines Xen afin qu’ils puissent gérer leurs domaines Xen sans l’aide de l’administrateur du serveur. Et avec Argo, vous pouvez contrôler les domaines Xen via une interface web ou via un menu en ligne de commande. Les trois paquets ont été développés pour les systèmes Debian, mais pourraient également fonctionner sur d’autres distributions.
Je tiens à dire d’abord 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 j’utilise. Je ne donne aucune garantie que cela fonctionnera pour vous !
1 Remarque Préliminaire
Je suppose que vous avez déjà installé Xen 3 sur votre système Debian (cela ne fonctionne pas avec Xen 2 !), par exemple à partir des sources comme indiqué dans le chapitre 4 de ce tutoriel : https://www.howtoforge.com/debian_sarge_xen_3.0.3. Je n’ai pas réussi à faire fonctionner xen-tools avec l’installation binaire de Xen (indiquée dans le chapitre 5), mais cela pourrait fonctionner pour vous. Mais xen-tools fonctionne à merveille pour moi sur une installation Xen à partir des sources.
Le nom d’hôte de mon domaine Xen dom0 est server1.example.com dans ce tutoriel, son adresse IP est 192.168.0.100, et la passerelle est 192.168.0.1. Je souhaite stocker mes domaines invités dans le répertoire /vserver/images. Ces valeurs peuvent être différentes pour vous.
Veuillez vous assurer que vous avez une ligne comme celle-ci dans /etc/hosts :
vi /etc/hosts| [...] 192.168.0.100 server1.example.com server1 [...] |
2 Xen-Tools
Bien qu’il existe des paquets Debian pour xen-tools et xen-shell disponibles sur http://www.steve.org.uk/apt/, j’ai décidé d’installer xen-tools et xen-shell à partir des sources car le paquet Debian xen-tools a écrit des fichiers de configuration Xen invalides pour moi, ce qui ne s’est pas produit lorsque j’ai utilisé les sources.
Tout d’abord, nous installons quelques prérequis pour xen-tools :
apt-get install libtext-template-perl perl-docEnsuite, nous installons xen-tools comme ceci :
cd /tmp
wget http://xen-tools.org/software/xen-tools/xen-tools-2.7.tar.gz
tar xvfz xen-tools-2.7.tar.gz
cd xen-tools-2.7
make installEnsuite, 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 en ligne de commande. J’ai changé les valeurs suivantes et laissé le reste intact :
vi /etc/xen-tools/xen-tools.conf| [...] gateway = 192.168.0.1 netmask = 255.255.255.0 passwd = 1 kernel = /boot/vmlinuz-2.6-xenU #initrd = /boot/initrd.img-2.6.16-2-xen-686 mirror = http://ftp2.de.debian.org/debian/ [...] |
La ligne passwd = 1 permet de spécifier un mot de passe root lorsque vous créez un nouveau domaine invité. Dans la ligne kernel, vous devez spécifier le noyau domU que vous souhaitez utiliser pour vos domaines invités. Si vos domaines invités n’ont pas besoin d’un ramdisk pour démarrer, commentez la ligne initrd (je devais le faire sur mon installation), sinon spécifiez le ramdisk correct. Dans la ligne mirror, spécifiez un miroir Debian 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 en 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, créons notre premier domaine invité, vm03.example.com, avec l’adresse IP 192.168.0.103 :
xen-create-image --hostname=vm03.example.com --ip=192.168.0.103 \
--netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrapLes commutateurs –netmask et –gateway ne sont pas nécessaires ici car nous avons spécifié les mêmes détails dans /etc/xen-tools/xen-tools.conf, mais cela montre que vous pouvez spécifier les paramètres souhaités soit en ligne de commande, soit dans /etc/xen-tools/xen-tools.conf.
Cette commande va maintenant créer le domaine invité vm03.example.com avec Debian Sarge à l’intérieur en utilisant l’outil de debootstrap de Debian. Cela prendra quelques minutes, alors soyez patient. En attendant, vous pouvez ouvrir une autre fenêtre de terminal et exécuter
tail -f /var/log/xen-tools/vm03.example.com.logpour voir ce qui se passe en coulisses.
Après la création du nouveau domaine invité, vérifiez /etc/xen/vm03.example.com.cfg. Il devrait maintenant ressembler à ceci (j’ai supprimé les commentaires ici) :
vi /etc/xen/vm03.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '128' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm03.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm03.example.com/swap.img,sda2,w' ] name = 'vm03.example.com' vif = [ 'ip=192.168.0.103' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
Nous pouvons démarrer notre nouvelle machine virtuelle comme ceci :
xm create -c /etc/xen/vm03.example.com.cfgAvec la commande xen-create-image, vous pouvez spécifier presque tous les paramètres en ligne de commande. Jetez un œil à
man xen-create-imagepour en savoir plus. Voici un autre exemple :
xen-create-image --size=2Gb --swap=128Mb --hostname=vm04.example.com \
--ip=192.168.0.104 --netmask=255.255.255.0 --gateway=192.168.0.1 --dir=/vserver/images \
--dist=sarge --debootstrap --fs=ext3 --kernel=/boot/vmlinuz-2.6-xenU --memory=32Mb \
--image=sparse --mirror=http://ftp2.de.debian.org/debian/ --passwdCela créera le domaine virtuel vm04.example.com. /etc/xen/vm04.example.com.cfg devrait ressembler à ceci par la suite (encore une fois, j’ai supprimé les commentaires) :
vi /etc/xen/vm04.example.com.cfg| kernel = '/boot/vmlinuz-2.6-xenU' memory = '32' root = '/dev/sda1 ro' disk = [ 'file:/vserver/images/domains/vm04.example.com/disk.img,sda1,w', 'file:/vserver/images/domains/vm04.example.com/swap.img,sda2,w' ] name = 'vm04.example.com' vif = [ 'ip=192.168.0.104' ] on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' |
Vous pouvez démarrer la nouvelle machine virtuelle comme ceci :
xm create -c /etc/xen/vm04.example.com.cfgIl existe également trois autres scripts qui accompagnent xen-tools :
xen-update-image vous permet de mettre à jour les paquets dans les domaines invités, par exemple comme ceci :
xen-update-image --dir=/vserver/images vm03.example.comxen-list-images affiche tous les domaines invités qui ont été créés avec xen-create-image :
xen-list-imagesLa sortie ressemble à ceci :
server1:~# xen-list-images
Name: vm03.example.com
Memory: 128
IP: 192.168.0.103Name: vm04.example.com
Memory: 32
IP: 192.168.0.104Avec xen-delete-image, vous pouvez supprimer des domaines invités qui ont été créés avec xen-create-image :
xen-delete-image --dir=/vserver/images vm03.example.comRecevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.