Xen
| Fiche express | |
|---|---|
| Type | Hyperviseur bare-metal (type 1), open-source |
| Origine | Université de Cambridge (XenSource), Linux Foundation depuis 2013 |
| Toolstacks | xl (actuel) · xapi (xe) · libvirt (virsh) · xend (xm, obsolète) |
| Dérivés commerciaux | Citrix XenServer / XCP-ng |
| Voir aussi | Xe · Xm · KVM |
Xen est un hyperviseur bare-metal (type 1) open-source, développé à l'origine à l'université de Cambridge puis maintenu par la Linux Foundation. Il repose sur la paravirtualisation (domaines invités adaptés pour dialoguer directement avec l'hyperviseur) et sur la virtualisation matérielle assistée (HVM, via Intel VT-x/AMD-V) pour les systèmes invités non modifiés.
Le domaine privilégié dom0 (généralement une distribution Linux) héberge le toolstack de gestion et les pilotes matériels ; les VM invitées sont des domU.
Deux usages à distinguer :
- Xen upstream / Xen classique — le projet open-source, installé manuellement sur une distribution Linux (Debian, CentOS...), piloté par
xl(ou historiquementxm). - XenServer / XCP-ng — distribution "clé en main" basée sur Xen, packagée par Citrix (XenServer, aujourd'hui Citrix Hypervisor) ou par le projet communautaire XCP-ng, pilotée via le toolstack XAPI et l'outil xe.
Toolstacks
Le toolstack est la couche de gestion qui pilote le moteur Xen (création de VM, réseau, stockage...). Il est défini dans /etc/default/xen :
vi /etc/default/xen TOOLSTACK=XAPI
| TOOLSTACK | CLI |
|---|---|
| XL | xl |
| XAPI | xe |
| LIBVIRT | virsh |
| XEND | xm (obsolète) |
XAPI permet également l'intégration avec OpenStack (driver XenAPI de Nova, voir Openstack) :
apt-get install xcp-xe stunnel
Installation (Xen classique sur Debian/Ubuntu)
apt-get install xen-hypervisor-4.1-amd64 xen-utils-4.1 xen-tools xenwatch xenstore-utils virtinst virt-viewer virt-manager apt-get install libxml2-dev libxml2-utils
Autoriser l'interface graphique de gestion (virt-manager) via l'ancien démon xend :
vi /etc/xen/xend-config.sxp (xend-http-server yes) (xend-unix-server yes)
Configuration réseau — création d'un bridge xenbr0, nécessaire pour que les VM accèdent au réseau physique :
vi /etc/network/interfaces
auto eth0 iface eth0 inet manual
auto xenbr0
iface xenbr0 inet static
bridge_ports eth0
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 192.168.1.1
service networking restart
Sur certaines versions, GRUB2 nécessite un ajustement pour que Xen démarre par défaut :
mv /etc/grub.d/10_linux /etc/grub.d/50_linux update-grub2 reboot
Vérifier le démarrage de l'hyperviseur (messages du dom0), avec l'ancien outil :
xm dmesg
sur les versions récentes (toolstack XL) :
xl dmesg
Voir aussi
- Xe — CLI du toolstack XAPI (XenServer/XCP-ng)
- Xm — CLI historique du toolstack Xend, obsolète, remplacé par xl
- XEN template conf — format du fichier de configuration d'une VM
- Virsh — pilotage de Xen via libvirt
- KVM — hyperviseur concurrent intégré au noyau Linux
- Proxmox — solution de virtualisation clé en main (KVM/LXC)