Xen

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
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 historiquement xm).
  • 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)