Virtualisation · 11 min read · Dec 07, 2025
Comment configurer Xen 4.3 sur Debian Wheezy (7.0.2) puis passer à Jessie
Comment configurer Xen 4.3 sur Debian Wheezy (7.0.2) puis passer à Jessie
Version 1.0
Auteur : Peter Okupski
Cela sera une configuration rapide et facile de XEN (dom0-hyperviseur) et d’un système virtuel (domU-invité). Je voulais tester XEN comme ma deuxième expérience après VMware et puisque de nombreuses pages Web sont obsolètes et contiennent de nombreux anciens bugs et erreurs corrigés. J’ai décidé de l’essayer avec XEN.
Remarque importante :
Qui bénéficiera de ce tutoriel : Uniquement les débutants qui souhaitent tester des machines virtuelles simples sans aucun véritable appareil Cloud comme XenOrchestra, Cloudstack, Opencloud et tout ce qui utilise XAPI pour Xen Cloud Platform (XCP). J’espère que cela fera gagner du temps à quiconque ayant besoin d’un véritable appareil cloud avec au moins une interface web et quelques fonctions pour l’allocation de stockage/mémoire/CPU, ce qui, pour le moment, ne peut pas être appliqué à un simple hyperviseur Xen. (ou c’est trop de travail :)
Qui cela ne concerne pas : Pour tous les utilisateurs/entreprises qui ont besoin de haute disponibilité et d’un véritable appareil Cloud.
J’encourage tous les nouveaux utilisateurs de Xen à regarder cette vidéo pour se familiariser et comprendre Xen.
Le tutoriel sera divisé en sections suivantes :
- Installation simple de Debian avec configuration LVM rapide et simple
- Mise à niveau vers Jessie, afin que nous soyons à jour avec les dernières corrections de XEN
- Installation de XEN 4.3
- Quelques conseils de réglage de XEN
- Configuration simple de pont XEN
- Configuration de XEN pour utiliser des modèles pour créer des hôtes
- Création du premier système domU invité avec une ligne de commande ;)
1. Installation simple de Debian avec configuration LVM
Je suggère d’utiliser des ISOs non officielles (mais Debian) qui ont déjà le firmware non libre nécessaire pour les cartes réseau Broadcom et d’autres, qui pourraient casser ce joli et facile processus.
ISOs non officielles de Debian
Après la configuration initiale de l’installateur Debian, veuillez choisir la configuration de partition personnalisée comme ci-dessous : J’ai créé les partitions suivantes :
| Point de montage | Taille | Commentaire |
| /boot | 200 Mo | (Principal) (Emplacement de la nouvelle partition : Début) (ext3) (Drapeau amorçable : activé <– important, sinon votre système ne démarrera pas !) |
| swap | 1 Go | (Logique) (Emplacement de la nouvelle partition : Début) (la mémoire dom0 sera réduite à 512 Mo) |
| / | 6 Go | (Logique) (Emplacement de la nouvelle partition : Début) (ext3) |
Nous pouvons définir le reste du disque comme LVM. Nous devons accepter les modifications et les écrire sur le disque.
Votre installation devrait se terminer, et vous devez écrire grub sur votre disque. Après cela, l’installation redémarrera.
Après l’installation, vos partitions devraient ressembler à ceci :
root@xen-dom0:~# df -h
Système de fichiers Taille Utilisé Disponible Utilisation% Monté sur
/dev/sda6 6.0G 2.0G 2.4G 30% /
udev 10M 0 10M 0% /dev
tmpfs 38M 268K 38M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 266M 0 266M 0% /run/shm
/dev/sda1 180M 28M 140M 17% /bootMaintenant, nous allons installer lvm et créer le premier volume physique.
apt-get install lvm2pvcreate /dev/sda7| Volume physique "/dev/sda7" créé avec succès root@xen-dom0:/etc/xen-tools# pvscan PV /dev/sda7 lvm2 [273.51 GiB] Total : 1 [273.51 GiB] / en utilisation : 0 [0 ] / dans aucun VG : 1 [273.51 GiB] root@xen-dom0:/etc/xen-tools# pvdisplay "/dev/sda7" est un nouveau volume physique de "273.51 GiB" --- NOUVEAU Volume physique --- Nom PV /dev/sda7 Nom VG Taille PV 273.51 GiB Allocable NON Taille PE 0 Total PE 0 PE libre 0 PE alloués 0 UUID PV 1vKp2c-KbmM-w8Ql-noOe-U00J-hlr0-FsKwOM |
Il est temps de créer le groupe de volumes (vg0) (remarquez le changement de lettres p/v ! avant de créer)
vgcreate vg0 /dev/sda7| Groupe de volumes "vg0" créé avec succès |
Voyons si tout s’est bien passé.
vgdisplay| --- Groupe de volumes --- Nom VG vg0 ID système Format lvm2 Zones de métadonnées 1 Numéro de séquence de métadonnées 1 Accès VG lecture/écriture Statut VG redimensionnable MAX LV 0 LV actuel 0 LV ouvert 0 Max PV 0 PV actuel 1 PV actif 1 Taille VG 273.51 GiB Taille PE 4.00 MiB Total PE 70018 PE alloués / taille 0 / 0 PE libre / taille 70018 / 273.51 GiB UUID VG 2a3kn9-DvVA-3Qac-g4Wz-f2Xo-s5hk-Yh5fBc |
Après avoir configuré LVM, nous pouvons nettoyer notre dom0 de ces paquets inutiles :
apt-get remove bsd-mailx exim4 exim4-base exim4-daemon-light nfs-commonEt ensuite, nous pouvons installer quelques-uns dont nous avons besoin/pourrions avoir besoin :
apt-get install mc screen ssh debootstrap python iproute bridge-utils libcurl3-devAprès l’installation, Debian pur 7.0.2 prend environ 760 Mo.
| rootfs 4.6G 764M 3.7G 18% / |
2. Mise à niveau vers Debian Jessie
Maintenant, nous pouvons faire une mise à niveau vers testing (Jessie) puisque nous avons besoin que XEN soit aussi frais que possible.
Utilisez ce générateur - cela vous fera gagner du temps :) et quelques erreurs. Ou changez simplement “wheezy” en “jessie”, et “stable” en “testing” dans /etc/apt/sources.list.
/etc/apt/sources.list
| deb http://ftp.pl.debian.org/debian testing main contrib non-free deb-src http://ftp.pl.debian.org/debian testing main contrib non-free deb http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb-src http://ftp.debian.org/debian/ jessie-updates main contrib non-free deb http://security.debian.org/ jessie/updates main contrib non-free deb-src http://security.debian.org/ jessie/updates main contrib non-free |
D’abord :
apt-get update; apt-get -y upgradePendant la mise à jour, vous serez invité à redémarrer des services - choisissez Oui. Ensuite, nous allons télécharger tous les .deb dont nous avons besoin (juste pour des raisons de sécurité) :
apt-get -y --download-only dist-upgradeEnsuite, nous pouvons procéder à la véritable mise à jour. Il est préférable de redémarrer après cela, afin que le noyau passe de 3.2 à 3.11.
apt-get -y dist-upgradeFaites le ménage :
apt-get clean; apt-get autoclean;apt-get autoremove3. Installation de XEN 4.3
Tout d’abord, nous devrions vérifier si notre CPU prend en charge la virtualisation matérielle
egrep '(vmx|svm)' --color=always /proc/cpuinfoLa sortie devrait ressembler à ceci
root@xxxx:~# egrep '(vmx|svm)' --color=always /proc/cpuinfo
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriorityEnsuite, nous pouvons procéder à l’installation de XEN : l’hyperviseur, le noyau compatible avec xen et les outils xen. Cela peut être fait par un métapaquet :
apt-get install xen-linux-system xen-toolsDebian Wheezy utilise Grub 2 et par défaut, il liste d’abord les noyaux normaux, puis liste seulement l’hyperviseur Xen et ses noyaux. Vous pouvez changer cela pour faire en sorte que Grub 2 préfère démarrer Xen, en changeant la priorité du script de configuration Xen de Grub (20_linux_xen) pour qu’elle soit plus élevée que la configuration Linux standard (10_linux). Cela se fait le plus facilement en utilisant dpkg-divert :
dpkg-divert --divert /etc/grub.d/08_linux_xen --rename /etc/grub.d/20_linux_xenAprès toute mise à jour de la configuration de Grub, vous devez appliquer la configuration en exécutant :
update-grub4. Réglage de Xen
- Définir la mémoire Dom0 à 512 Mo et désactiver le Ballooning afin que les DomUs ne prennent jamais la mémoire de Dom0
- Empêcher les machines virtuelles sur des volumes logiques d’apparaître dans le menu de démarrage
- Désactiver la sauvegarde et la restauration de Xendomains
- Limiter le dom0 au 1er CPU uniquement
1. Définir la mémoire Dom0 à 512 Mo et désactiver le balooning
/etc/xen/xend-config.sxp
| (dom0-min-mem 512) (enable-dom0-ballooning no) |
2. Empêcher les machines virtuelles sur des volumes logiques d’apparaître dans le menu de démarrage
Modifier grub :
/etc/default/grub
| #allouer de la mémoire à dom0 GRUB_CMDLINE_XEN="dom0_mem=512M" # Désactiver le prober OS GRUB_DISABLE_OS_PROBER=true |
update-grub;reboot3. Désactiver la sauvegarde et la restauration de Xendomains
/etc/default/xendomains
| #XENDOMAINS_SAVE=/var/lib/xen/save XENDOMAINS_SAVE= #XENDOMAINS_RESTORE=true XENDOMAINS_RESTORE=false |
4. Limiter dom0 au 1er CPU uniquement
Par défaut, tous les CPU sont partagés entre dom0 et tous les domU (invités). Cela peut compromettre la responsabilité de dom0 si les invités consomment trop de temps CPU. Pour éviter cela, il est possible d’accorder un (ou plusieurs) cœur de processeur à dom0 et de le fixer à dom0.
Ajoutez les options suivantes à /etc/default/grub pour allouer un cœur de CPU à dom0 :
/etc/default/grub
| # Paramètres de démarrage Xen pour tous les démarrages Xen GRUB_CMDLINE_XEN="dom0_mem=512M dom0_max_vcpus=1 dom0_vcpus_pin" # Désactiver le prober OS GRUB_DISABLE_OS_PROBER=true |
N’oubliez pas d’exécuter update-grub après cela !
update-grubFaites également ces changements dans /etc/xen/xend-config.sxp :
/etc/xen/xend-config.sxp
| (dom0-cpus 1) |
!! Avant de redémarrer, vérifiez si vous avez fait update-grub puis redémarrez votre serveur !!
5. Configuration simple de pont XEN
La plupart des configurations utiliseront une configuration BRIDGEée, et cela suffit si vous prévoyez un environnement simple, mais j’encourage fortement à utiliser OpenVSwitch si vous avez besoin de VLAN ou de toute ACL, etc.
Voici la version facile pour juste un pont simple :
apt-get install bridge-utilsNous devons modifier : /etc/network/interfaces
/etc/network/interfaces
| ##L'interface réseau de boucle auto lo iface lo inet loopback iface eth0 inet manual auto xenbr0 iface xenbr0 inet static address 10.0.9.100 netmask 255.255.255.0 network 10.0.9.0 broadcast 10.0.9.255 gateway 10.0.9.1 # les options dns-* sont mises en œuvre par le paquet resolvconf, si installé dns-nameservers 10.0.9.2 dns-search yourdomain.net bridge_ports eth0 #autres options potentiellement utiles dans un environnement virtualisé bridge_stp off # désactiver le protocole Spanning Tree bridge_waitport 0 # pas de délai avant qu'un port ne devienne disponible bridge_fd 0 # pas de délai de transfert |
Après cela, vous devriez redémarrer le réseau avec
/etc/init.d/networking restartEt vérifier si votre pont est opérationnel
brctl show| nom du pont id du pont STP activé interfaces xenbr0 8000.001a6479cd8c non eth0 |
6. Configuration des outils XEN pour utiliser des modèles pour vos machines virtuelles (invités-domU)
Maintenant, créons notre première image de nouveau domU avec un modèle. Nous devons modifier le fichier :
/etc/xen-tools/xen-tools.conf
| lvm = vg0 # votre groupe de volumes que nous avons créé précédemment install-method = debootstrap # Cela lancera l'installateur debian size = 10Go # Taille de l'image disque. memory = 512Mo # Taille de la mémoire swap = 2Go # Taille de l'échange noswap = 1 # Ne pas utiliser d'échange du tout pour le nouveau système. fs = ext4 # utiliser le système de fichiers EXT3 pour l'image disque. dist = `xt-guess-suite-and-mirror --suite` # Distribution par défaut à installer. image = sparse # Spécifier des images de disque éparses vs complètes. gateway = 10.0.9.1 # Votre passerelle, que dom0 utilise également avec le pont netmask = 255.255.255.0 # pas de commentaires nécessaires ;) broadcast = 10.0.9.255 # Votre diffusion bridge = xenbr0 # Ici, nous devrions utiliser le pont que nous avons créé, xen le transformera en eth0 sur domU. cachedir = /var/cache/xen-tools/archives/ # Emplacement pour les *.debs pour une utilisation ultérieure passwd = 1 #Cela demandera un mot de passe root à créer sur la nouvelle machine kernel = /boot/vmlinuz-`uname -r` #Il utilisera le même noyau que celui utilisé par dom0 (c'est crucial, pour éviter des problèmes) initrd = /boot/initrd.img-`uname -r` #Même ici pour initrd mirror = `xt-guess-suite-and-mirror --mirror` mirror = ftp://ftp.pl.debian.org/debian/ #Entrez votre miroir de debian ext3_options = noatime,nodiratime,errors=remount-ro #Options simples à appliquer pour la nouvelle machine ext2_options = noatime,nodiratime,errors=remount-ro xfs_options = defaults reiserfs_options = defaults btrfs_options = defaults boot = 1 # Voulons-nous démarrer notre nouvelle machine après l'avoir créée. Bien sûr ! |
7. Création du premier domU invité
Maintenant, nous pouvons créer notre premier hôte domU :
xen-create-image --hostname domU-test --dist=jessie --vcpus=4 --ip=10.0.9.101Cela prendra environ 3-4 minutes, selon la vitesse de votre connexion, de votre CPU et de la vitesse du disque. Une fois terminé, nous pouvons vérifier si cela fonctionne.
xm list| Nom ID Mem VCPUs État Temps(s) Domaine-0 0 512 1 r----- 93.8 domU-test 1 512 4 -b---- 23.9 |
Je recommande de lire xen-create-image –help car cela vous donnera une idée de ce que vous pouvez changer en lui fournissant des options pour créer n’importe quelle distribution. Exemple : exécuter des commandes après et toutes les autres choses dont vous pourriez avoir besoin. Il existe également une option pour générer une image et l’utiliser pour un système-template prêt à être lancé, sans avoir à exécuter l’installateur pendant 3 minutes à chaque fois.
Maintenant, vous pouvez vous connecter à votre nouvel hôte avec ssh.
Ci-dessous, vous pouvez trouver les liens que j’ai utilisés dans ce tutoriel :
- Xen dans le Wiki Debian
- OpenVSwitch
- Xen 4 dans Debian Wheezy
- Réglage de XEN - Wiki XEN
- Générateur de sources Apt
- Meilleures pratiques Xen
- Comment utiliser LVM
Recevez de nouveaux articles dans votre boîte de réception.
Aucun spam. Désabonnez-vous à tout moment.