Xen

Un article de Wikipédia, l'encyclopédie libre.

Pour les articles homonymes, voir Xen (Half-Life).
Xen
Développeur The Xen Project, XenSource, Inc.
Dernière version 3.2.1 (le 25 avril 2008)
Environnement Multiplate-forme
Type Virtualisation
Licence GPL
Site web www.xensource.com/xen

Xen est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle.

Il est développé par l'université de Cambridge au Royaume-Uni. Xen permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte.

Sommaire

[modifier] Présentation

Xen permet de faire tourner plusieurs systèmes d'exploitation (et leurs applications) de manière isolée sur une même machine physique sur plateforme x86, x86-64, IA-64 et PowerPC (bientôt sur SPARC). Les systèmes d'exploitation invités partagent ainsi les ressources de la machine hôte.

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 faire tourner des systèmes non modifiés comme Windows sur des processeurs supportant la technologie VT[1].

Avec les technologies Intel Vanderpool et AMD Pacifica ce portage ne sera bientôt plus nécessaire et tous les systèmes d'exploitation seront supportés.

Les architectures x86, x64, IA-64, PowerPC et SPARC sont supportées. Le multiprocesseur (SMP) et partiellement l'Hyper-Threading sont supportés.

[modifier] Architecture de Xen

Chaque système d'exploitation invité tourne dans un « domaine ». Xen est une fine couche fonctionnant directement sur le matériel.

Architecture Xen
Logiciels de contrôle Xen
Xeno-Linux
Pilotes Xen
Espace utilisateur
Linux
Pilotes Xen
Espace utilisateur
NetBSD
Pilotes Xen
Espace utilisateur
FreeBSD
Pilotes Xen
Espace utilisateur
Plan 9
Pilotes Xen

Xen

Matériel : processeur, mémoire, stockage, réseau, etc.

[modifier] Acteurs industriels

  • Ian Pratt, le chef du projet, a créé XenSource, une société dédiée au développement de Xen, à sa promotion et à son support. Des investisseurs ont injecté des millions de dollars dans cette société
  • Red Hat, projet Fedora, SuSE, Mandriva, Ubuntu Linux, Debian, Gentoo et Arch Linux ont intégré Xen dans leur distribution
  • AMD a annoncé en février 2005 l'intégration de la technologie de virtualisation matérielle dans ses processeurs 64 bits (AMD64 aka x86-64) sous le nom de code Pacifica. Cette virtualisation matérielle est utilisée par Xen version 3.
  • HP a annoncé dédier des ressources en contribution au projet Xen
  • Citrix Systems, Inc. a annoncé[2] le 15 août 2007 l'aquisition de XenSource, Inc pour un montant d'environ $ 500 millions. Citrix entre ainsi dans le marché prometteur de la virtualisation sur les serveurs et les stations de travail.

[modifier] Comparaison avec d'autres solutions de virtualisation

Généralement, la virtualisation nécessite un système d'exploitation hôte installé sur le matériel, et optionnellement une couche intermédiaire. Un ou plusieurs systèmes d'exploitation invités peuvent alors être installés en parallèle.

  • Les logiciels de virtualisation de type QEMU, VirtualBox, VMWare Workstation/GSX ou VirtualPC sont des machines virtuelles complètes pour les systèmes d'exploitation invités, incluant même un BIOS logiciel (« firmware» ). Le système d'exploitation invité « croit » tourner sur un matériel, or il est « virtuel» ou « simulé » par le logiciel de virtualisation, l'OS invité n'a pas « conscience » d'être virtualisé. La surcharge introduite par l'empilage du système d'exploitation hôte et de la machine virtuelle en font des solutions peu satisfaisantes pour des besoins en performance. Ils sont toutefois les plus simples à mettre en œuvre.
  • Le logiciel de virtualisation de type VMWare ESX permet des machines virtuelles complètes pour les systèmes d'exploitation invités, incluant même un bios. Mais à la différence des machines virtuelles complètes précédemment citées, il y a empilage léger, la machine virtuelle se repose sur un noyau léger nommé vmkernel. C'est une architecture très similaire à Xen.
  • Les logiciels de type chroot, Linux-VServer, OpenVZ ou BSD Jail ne font qu'isoler certains aspects ou ressources du système d'exploitation hôte comme les systèmes de fichiers ou les espaces mémoire. Ces solutions sont très performantes, du fait du peu de surcharge (pas d'empilage d'OS hôte et d'un logiciel de virtualisation), mais les environnements virtualisés (on ne peut pas parler de machine ou systèmes d'exploitation virtuels) sont peu ou pas complètement isolés.
  • User Mode Linux (d'acronyme UML) est un noyau Linux compilé pour fonctionner en espace mémoire utilisateur (en dehors de l'espace noyau privilégié). Il se lance donc comme une application dans le système d'exploitation hôte. UML peut lancer et gérer ses applications de manière isolée des autres UML qui tournent sur la même machine. Solution très peu performante, car deux noyaux sont empilés, elle sert surtout au développement du noyau ou à la réalisation de pot de miel.

Du fait de cette « paravirtualisation » (adaptation du système d'exploitation invité) et de sa légèreté, Xen est un outil de virtualisation des plus performants.

[modifier] Voir aussi

[modifier] Liens externes

[modifier] Notes et références

  1. HOWTO: Windows XP running under Xen 3.0 on Ubuntu Dapper Drake
  2. (en) Citrix to Enter Server and Desktop Virtualization Markets with Acquisition of XenSource