Xen est un logiciel libre de (para)virtualisation, plus précisément un hyperviseur de machine virtuelle.
Xen permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte. ( voir précisément paravirtualisation )
Les choses ont beaucoup changé puisque le kernel Linux, à partir de la version 3, intègre nativement Xen. Dès lors il est capable de fonctionner en Dom0 ou DomU sans recompilation ou manipulation.
La procédure pour l’installer sur Ubuntu 11.10 et supérieur est simplissime :
sudo apt-get install xen-hypervisor
Xen est un logiciel de (para)virtualisation de type hyperviseur. Il permet donc de faire tourner plusieurs systèmes d'exploitation (OS) sur une même ressource matérielle (PC, Serveur,…).
Le principe de l'hyperviseur est de faire tourner les OS dans le noyau (kernel) même, et non-pas de les émuler, ce qui permet de conserver des performances proches des natives.
Xen est un « paravirtualiseur » ou un « hyperviseur » de machines virtuelles. Les systèmes d'exploitation invités ont « conscience » du Xen sous-jacent, ils ont besoin d'être « portés » (adaptés) pour fonctionner sur Xen. Linux, NetBSD, FreeBSD (portage en cours), Plan 9 et GNU Hurd peuvent d'ores et déjà fonctionner sur Xen.
Xen 3 peut également exécuter des systèmes non modifiés comme Windows sur des processeurs supportant les technologies VT d'Intel ou AMD-V (nom de projet: Pacifica) de AMD1.
Les architectures x86, x64, IA-64, PowerPC et SPARC sont supportées. Le multiprocesseur (SMP) et partiellement l’Hyper-Threading sont supportés.
L'utilisation d'un hyperviseur comme Xen peut servir dans beaucoup d'applications :
Reportez-vous à la page officielle pour les dernières infos
Le Dom0 correspond au système d'exploitation hôte (OS Host). Il gère l'infrastructure Xen et toute la partie matérielle. Les DomU dépendent du Dom0.
Les DomU correspondent à chaque système d'exploitation invité (OS Guest).
L'OS invité (Guest) doit en général être modifié pour être virtualisé alors qu'avec un virtualiseur classique les systèmes d'exploitation fonctionnent en l'état (même s'il existe des optimiseurs à installer).
Il est aussi possible de faire tourner des OS non modifiés (HVM : Hardware Virtual Machine cf. Hardware-assisted virtualization) si vous disposez d'une technologie de virtualisation intégrée au processeur : Intel VT ou AMD-V.
Contrairement aux autres technologies de virtualisation, Xen n'est pas composé d'un programme et d'un module du noyau, mais il est composé de plusieurs programmes et d'un noyau modifié pour son fonctionnement.
Tout le matériel supporté par linux est disponible sous Xen (sous réserve de compatibilité avec le noyau).
Xen supporte tous les systèmes d'exploitation modifiés pour fonctionner en son sein.
Xen supporte les systèmes d'exploitation non-modifiés à travers la virtualisation matérielle des processeurs compatibles (Intel VT et AMD-V).
Avant de commencer, il convient d'avoir son système à jour :
sudo apt-get update sudo apt-get upgrade
Installer le paquet "xen-hypervisor" :
sudo apt-get install xen-hypervisor
Redémarrer votre système en choisissant "XEN" lors de l'invite GRUB
sudo uname -a
Il doit contenir "Xen" dans son intitulé, sinon vous n'êtes pas sur un noyau Xen.
sudo xm list
ifconfig
doit vous retourner au moins 3 interfaces : lo (le loopback du système), eth0 (le bridge (qui n'est plus votre interface réseau mais son image pour les domU)) et peth0 (votre interface réseau).
Vous devez pouvoir vous connecter à Internet (si c'était bien le cas avant).
Les pilotes ATI semblent fonctionner avec le noyau Xen.
L'accélération graphique par OpenGL est supporté par Xen à travers VMGL
À compléter
Car seuls les processeurs ayant le support matériel de la virtualisation peuvent faire tourner des systèmes d'exploitation propriétaires étant donné qu'il n'est plus nécessaire d'installer un noyau modifié.
Liste des processeurs Intel VT et AMD-V :
XCP ( Xen Cloud Platform ).
Voir XAPI_sur_Ubuntu(et debian) sur le wiki de Xen
a essayer plus amplement.
Installera également ubuntu-virt-mgmt,virt-manager,virt-server.
Voir : Site officiel.
Contributeurs: Fabien26