- Xen
-
Pour les articles homonymes, voir Xen (Half-Life).
Xen Développeur The Xen Project, XenSource, Inc. Dernière version 4.1.2 (21 octobre 2011) [+/-] Environnements Multiplate-forme Type Virtualisation Licence GNU GPL Site web www.xen.org modifier Xen est un logiciel libre de virtualisation, plus précisément un hyperviseur de machine virtuelle.
Son développement a débuté sous la forme d'un projet de recherche de l'université de Cambridge au Royaume-Uni. La société XenSource a par la suite été créée et en a poursuivi le développement. Xen permet de faire fonctionner plusieurs systèmes d'exploitation virtuels (invités) sur une seule machine hôte. Xen est en partie intégré à la partie principale du noyau linux depuis la version 3.0.
Sommaire
Présentation
Xen permet d'exécuter plusieurs systèmes d'exploitation (et leurs applications) de manière isolée sur une même machine physique sur plate-forme 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 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 AMD[1].
Les architectures x86, x64, IA-64, PowerPC et SPARC sont supportées. Le multiprocesseur (SMP) et partiellement l’Hyper-Threading sont supportés.
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.
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é[2].
- Red Hat, projet Fedora, SuSE, Mandriva, Ubuntu Linux, Debian, Gentoo, CentOS 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) sous le nom de code Pacifica, renommée maintenant en AMD-V. 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 a annoncé[3] le 15 août 2007 l'acquisition de XenSource pour un montant d'environ 500 millions de dollars. Citrix entre ainsi dans le marché prometteur de la virtualisation sur les serveurs et les stations de travail.
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, le système d’exploitation 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 similaire à Xen en ce qu'il n'y a pas de système hôte visible, en revanche les systèmes invités n'ont pas à être modifiés, et n'ont pas accès directement au matériel de la machine.
- 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 de système d’exploitation 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 ».
- Le logiciel de virtualisation de VirtualLogix est dédié au monde de l'embarqué. Il s'agit d'un paravirtualiseur très proche dans son principe de Xen. Il s'agit d'une solution propriétaire qui n'est donc intégrée dans aucune distribution ; elle est en revanche portable sur d'autres architectures de processeurs comme ARM et TI C64xx.
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. En effet les systèmes invités peuvent avoir un accès direct au matériel, ce qui offre un bien meilleur potentiel d'optimisation. Cependant, faire fonctionner une machine virtuelle Windows dont le code source est fermé pose quelques problèmes de stabilité sous forte charge[réf. nécessaire].
Voir aussi
Articles connexes
Liens externes
- (en) Site officiel du projet
- (en) XenSource
Notes et références
Catégories :- Machine virtuelle
- Logiciel libre sous licence GPL
- Virtualisation
Wikimedia Foundation. 2010.