Installation Xen · 5 min read · Oct 22, 2025

Installation de Xen sur un serveur Ubuntu 8.04 (Hardy Heron) à partir des dépôts Ubuntu - Page 2

3 Création de machines virtuelles (domU)

Maintenant, créons notre premier domaine invité, xen1.example.com, fonctionnant sous Hardy Heron (hardy) avec l’adresse IP 192.168.0.101 :

xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Beaucoup d’options sont inutiles 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 sur la ligne de commande, soit dans /etc/xen-tools/xen-tools.conf. Veuillez vous assurer que vous spécifiez –ide, sinon votre machine virtuelle pourrait ne pas démarrer !

(Pour en savoir plus sur les options disponibles, jetez un œil à la page de manuel de xen-create-image :

man xen-create-image

)

La commande xen-create-image va maintenant créer la machine virtuelle xen1.example.com pour nous. Cela peut prendre quelques minutes. La sortie devrait ressembler à ceci :

root@server1:~# xen-create-image --hostname=xen1.example.com --size=2Gb --swap=256Mb --ide \  
> --ip=192.168.0.101 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
> --dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
> --initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
> --mirror=http://archive.ubuntu.com/ubuntu/ --passwd  
  
Informations générales  
--------------------  
Nom d'hôte       :  xen1.example.com  
Distribution   :  hardy  
Partitions     :  swap            256Mb (swap)  
                  /               2Gb   (ext3)  
Type d'image     :  sparse  
Taille de la mémoire :  64Mb  
Chemin du noyau    :  /boot/vmlinuz-2.6.24-16-xen  
Chemin de l'initrd :  /boot/initrd.img-2.6.24-16-xen  
  
Informations réseau  
----------------------  
Adresse IP 1   : 192.168.0.101 [MAC: 00:16:3E:62:DA:BB]  
Masque de sous-réseau        : 255.255.255.0  
Diffusion      : 192.168.0.255  
Passerelle        : 192.168.0.1  
  
  
Création de l'image de partition : /home/xen/domains/xen1.example.com/swap.img  
Terminé  
  
Création de swap sur /home/xen/domains/xen1.example.com/swap.img  
Terminé  
  
Création de l'image de partition : /home/xen/domains/xen1.example.com/disk.img  
Terminé  
  
Création du système de fichiers ext3 sur /home/xen/domains/xen1.example.com/disk.img  
Terminé  
Méthode d'installation : debootstrap  
Terminé  
  
Exécution des hooks  
Terminé  
  
Aucun script de rôle n'a été spécifié.  Passage  
  
Création du fichier de configuration Xen  
Terminé  
Configuration du mot de passe root  
Entrez le nouveau mot de passe UNIX :  
Retapez le nouveau mot de passe UNIX :  
passwd : mot de passe mis à jour avec succès  
Tout est prêt  
  
  
Fichier journal produit à :  
         /var/log/xen-tools/xen1.example.com.log  
root@server1:~#

Il devrait maintenant y avoir un fichier de configuration xen1.example.com - /etc/xen/xen1.example.com.cfg. Jetez-y un œil pour vous familiariser avec les fichiers de configuration des machines virtuelles :

cat /etc/xen/xen1.example.com.cfg

| # Fichier de configuration pour l'instance Xen xen1.example.com, créé # par xen-tools 3.8 le mar mai 6 16:01:38 2008. # # Noyau + taille de la mémoire # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' # # Disque(s) # root = '/dev/hda2 ro' disk = [ 'file:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'file:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] # # Nom d'hôte # name = 'xen1.example.com' # # Réseau # vif = [ 'ip=192.168.0.101,mac=00:16:3E:62:DA:BB' ] # # Comportement # on_poweroff = 'destroy' on_reboot = 'restart' on_crash = 'restart' extra = '2 console=xvc0' |

Le paramètre file: est maintenant obsolète dans Xen 3.2, nous devons donc éditer /etc/xen/xen1.example.com.cfg maintenant et remplacer file: par tap:aio: (sinon, vous obtiendrez une erreur similaire à celle-ci :

Error: Device 769 (vbd) could not be connected. losetup /dev/loop0 /home/xen/domains/xen1.example.com/swap.img failed

quand vous essayez de démarrer une vm - voir http://ubuntuforums.org/showthread.php?t=770902 aussi) :

vi /etc/xen/xen1.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen1.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen1.example.com/disk.img,hda2,w', ] [...] |

(Veuillez noter : si vous avez un processeur à double cœur et que vous souhaitez que la machine virtuelle utilise les deux cœurs de processeur, veuillez ajouter la ligne vcpus = ‘2’ au fichier de configuration, comme ceci :

vi /etc/xen/xen1.example.com.cfg

| # Fichier de configuration pour l'instance Xen xen1.example.com, créé # par xen-tools 3.8 le lun mai 5 16:49:32 2008. # # Noyau + taille de la mémoire # kernel = '/boot/vmlinuz-2.6.24-16-xen' ramdisk = '/boot/initrd.img-2.6.24-16-xen' memory = '64' vcpus = '2' [...] |

Ensuite, dans la machine virtuelle, vous pouvez exécuter la commande

cat /proc/cpuinfo

pour vérifier que les deux cœurs de processeur sont utilisés par la machine virtuelle. La sortie pourrait ressembler à ceci si votre vm utilise les deux cœurs :

xen1:~# cat /proc/cpuinfo  
processeur       : 0  
vendor_id       : AuthenticAMD  
famille_cpu      : 15  
modèle           : 75  
nom_modèle      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu_MHz         : 2210.054  
taille_cache      : 512 KB  
fdiv_bug        : non  
hlt_bug         : non  
f00f_bug        : non  
coma_bug        : non  
fpu             : oui  
fpu_exception   : oui  
cpuid_niveau     : 1  
wp              : oui  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
processeur       : 1  
vendor_id       : AuthenticAMD  
famille_cpu      : 15  
modèle           : 75  
nom_modèle      : AMD Athlon(tm) 64 X2 Dual Core Processor 4200+  
stepping        : 2  
cpu_MHz         : 2210.054  
taille_cache      : 512 KB  
fdiv_bug        : non  
hlt_bug         : non  
f00f_bug        : non  
coma_bug        : non  
fpu             : oui  
fpu_exception   : oui  
cpuid_niveau     : 1  
wp              : oui  
flags           : fpu tsc msr pae mce cx8 apic mca cmov pat pse36 clflush mmx fxsr  
 sse sse2 ht syscall nx mmxext fxsr_opt lm 3dnowext 3dnow up pni cx16 lahf_lm cmp_legacy svm  
 cr8legacy ts fid vid ttp tm stc  
bogomips        : 5526.81  
  
xen1:~#

)

Pour démarrer la machine virtuelle, exécutez

xm create /etc/xen/xen1.example.com.cfg

Exécutez

xm console xen1.example.com

pour vous connecter à cette machine virtuelle (tapez CTRL+] si vous êtes à la console, ou CTRL+5 si vous utilisez PuTTY pour revenir à dom0), ou utilisez un client SSH pour vous y connecter (192.168.0.101).

Dans la machine virtuelle (lorsque vous l’utilisez pour la première fois), exécutez

mv /lib/tls /lib/tls.disabled

Maintenant, revenons au système hôte (dom0). Pour obtenir une liste des machines virtuelles en cours d’exécution, tapez

xm list

La sortie devrait ressembler à ceci :

root@server1:~# xm list  
Nom                                        ID   Mem VCPUs      État   Temps(s)  
Domaine-0                                     0   569     1     r-----    103.6  
xen1.example.com                             1    64     1     -b----     60.8  
root@server1:~#

Pour éteindre xen1.example.com, faites ceci :

xm shutdown xen1.example.com

Si vous souhaitez que vm01 démarre automatiquement au prochain démarrage du système, faites ceci :

ln -s /etc/xen/xen1.example.com.cfg /etc/xen/auto

Voici les commandes Xen les plus importantes :

xm create -c /path/to/config - Démarrer une machine virtuelle.
xm shutdown - Arrêter une machine virtuelle.
xm destroy - Arrêter une machine virtuelle immédiatement sans l’éteindre. C’est comme si vous éteigniez le bouton d’alimentation.
xm list - Lister tous les systèmes en cours d’exécution.
xm console - Se connecter à une machine virtuelle.
xm help - Liste de toutes les commandes.

Créons une deuxième vm, xen2.example.com avec l’adresse IP 192.168.0.102 :

xen-create-image --hostname=xen2.example.com --size=2Gb --swap=256Mb --ide \  
--ip=192.168.0.102 --netmask=255.255.255.0 --gateway=192.168.0.1 --force \  
--dir=/home/xen --memory=64Mb --arch=i386 --kernel=/boot/vmlinuz-2.6.24-16-xen \  
--initrd=/boot/initrd.img-2.6.24-16-xen --install-method=debootstrap --dist=hardy \  
--mirror=http://archive.ubuntu.com/ubuntu/ --passwd

Ensuite, ouvrez le fichier de configuration de la vm, /etc/xen/xen2.example.com.cfg, et remplacez file: par tap:aio: à nouveau :

vi /etc/xen/xen2.example.com.cfg

| [...] disk = [ 'tap:aio:/home/xen/domains/xen2.example.com/swap.img,hda1,w', 'tap:aio:/home/xen/domains/xen2.example.com/disk.img,hda2,w', ] [...] |

Ensuite, vous pouvez démarrer xen2.example.com comme ceci :

xm create /etc/xen/xen2.example.com.cfg

(N’oubliez pas d’exécuter

xm console xen2.example.com

et

mv /lib/tls /lib/tls.disabled

lorsque vous êtes dans la vm pour la première fois !)

… et l’éteindre comme ceci :

xm shutdown xen2.example.com

Une liste de toutes les machines virtuelles qui ont été créées avec la commande xen-create-image est disponible sous

xen-list-images
root@server1:~# xen-list-images  
Nom: xen1.example.com  
Mémoire: 64  
IP: 192.168.0.101
Nom: xen2.example.com  
Mémoire: 64  
IP: 192.168.0.102  
root@server1:~#

Pour en savoir plus sur ce que vous pouvez faire avec xen-tools, jetez un œil à ce tutoriel : https://www.howtoforge.com/xen_tools_xen_shell_argo

4 Liens

Share: X/Twitter LinkedIn

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

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