NFE 107 1 Virtualisation BAULE Laurent
Transcription
NFE 107 1 Virtualisation BAULE Laurent
NFE 107 Urbanisation et architecture des systèmes d’information DOSSIER «Virtualisation» Auditeur BAULE.L CNAM Lille Mai 2009 Page 1 sur 22 Sommaire PREAMBULE .............................................................................................................................. 3 1. 2. 3. 4. LES PRINCIPES DE LA VIRTUALISATION .................................................................... 4 1.1. Historique .........................................................................................................................................................4 1.2. Définitions.........................................................................................................................................................4 1.3. Buts de la virtualisation...................................................................................................................................7 LES DIFFERENTES TECHNIQUES DE VIRTUALISATION. ........................................... 8 2.1. L’isolation.........................................................................................................................................................9 2.2. La paravirtualisation.....................................................................................................................................10 2.3. La virtualisation complète.............................................................................................................................11 LES SOLUTIONS............................................................................................................ 12 3.1. Solution VMware...........................................................................................................................................12 3.2. Solution Microsoft .........................................................................................................................................14 3.3. Solution Citrix................................................................................................................................................16 SYNTHESE ..................................................................................................................... 18 SCHEMAS ................................................................................................................................. 21 LIENS ........................................................................................................................................ 22 Page 2 sur 22 Préambule C’est un fait, la plupart des systèmes d’informations des entreprises rassemblent un nombre important de serveurs physiques, intégrés au fur et à mesure des différentes évolutions technologique et stratégique de l’entreprise. Ainsi, il n’est pas rare de constater que tel type de serveur est dévolu à la fonction Achat (dû au fait du progiciel utilisé), qu’un autre de la marque X est destiné à la fonction Logistique (car incompatible avec le serveur des Achat), que le serveur Y sur lequel repose le fameux logiciel développé par l’équipe informatique ne tourne que sous Z, etc. De plus, lors d’un projet de migration d’un système, il fallait posséder l’architecture physique identique pour les tests de l’architecture cible, afin d’être absolument certain (ou tout du moins le plus certain possible) de déployer un système exempt de tous bugs. Autre point important, l’intensité d’utilisation des serveurs au sein de l’entreprise. Il est naïf de croire que l’ensemble des serveurs fonctionnent au maximum de leur potentiel en permanence, exemple en est des serveurs WEB des Intranet qui ne sont utilisés que pendant des périodes de l’ordre de 10 heures par jour sans pour autant utiliser le maximum de leur ressource aussi bien processeur, mémoire que disque. Bien entendu, tout ceci à un coût non négligeable en terme d’exploitation, de mise à niveau, mais aussi en terme d’énergie (consommation électrique des serveurs, des climatisations, etc.). C’est à partir de ce constat qu’un principe ancien a été remis au goût du jour, celui de la virtualisation. D’autant plus que c’est un secteur en pleine croissance et porteur car selon l'institut Gartner1, le chiffre d'affaires généré par l'aspect logiciel des infrastructures de virtualisation en zone EMEA (Europe, Moyen-Orient, Afrique) va faire un bond de 55% en 2009, ce secteur géographique devenant le principal moteur de croissance pour le marché mondial. La virtualisation des serveurs est aussi la deuxième plus importante initiative Green IT2 planifiée, à l’horizon 2010-2011, pour 39% des DSI interrogés (source Le journal du NET). Afin de mieux comprendre ce qu’est la virtualisation, notre étude débutera par une présentation des différents principes de virtualisation. Puis nous détaillerons les différentes techniques de virtualisation disponibles. Une large partie de la suite de cette étude portera sur les différentes offres du marché et notamment les plus matures. Enfin, nous terminerons par une synthèse des différentes solutions. 1 2 Gartner est une entreprise américaine de consulting et de recherche dans le domaine de la technologie. Green IT est l’ensemble des démarches relatives à la mise en place d’une politique verte des SI. Page 3 sur 22 1. Les principes de la virtualisation Notre étude porte sur la virtualisation, mais avant de rentrer dans le vif du sujet, il parait important de s’intéresser d’abord à sa genèse, car ce n’est pas, aussi étrange que cela puisse paraître, une idée nouvelle, bien au contraire. Nous détaillerons cela dans la première partie de ce chapitre. La deuxième partie sera consacrée à la définition des principaux termes en rapport avec la virtualisation, afin de bien assimiler les principes de base. Enfin, nous clôturerons ce chapitre par un aperçu des buts de la virtualisation, nous verrons ainsi qu’il existe de nombreux avantages et bénéfices quant au déploiement d’une telle technique et cela suivant différentes implémentations. 1.1. Historique La virtualisation n’est pas une idée nouvelle. En effet, une bonne part des travaux sur la virtualisation fut développée au centre de recherche IBM France de Grenoble (aujourd'hui disparu), qui développa le système expérimental CP/CMS dans les années 70, devenant ensuite le produit (alors nommé hyperviseur) VM/CMS. Par la suite, les mainframes ont été capables de virtualiser leurs systèmes d'exploitation avec des technologies spécifiques et propriétaires, à la fois logicielles et matérielles. En 1979 fut annoncé, par exemple, sur les IBM 4331 et 4341 un accélérateur VM optionnel et microcodé. Dans la seconde moitié des années 90, le monde de la micro-informatique découvre les émulateurs. La puissance des machines x86 leur permet d'émuler les générations précédentes de machines. Il devient alors possible d'émuler des machines Atari, Amiga, Amstrad ainsi que de nombreuses consoles. A la fin des années 1990, la société VMware développe et popularise le produit du même nom, système propriétaire de virtualisation logicielle des architectures de type Intel x86, ouvrant la possibilité de mettre en place n'importe quel environnement x86 à des fins de tests ou de développement sans avoir besoin d'acheter une nouvelle machine. Contrairement aux émulateurs cités précédemment, il est enfin possible de faire tourner les applications professionnelles destinées aux processeurs x86 dans une machine virtuelle. De plus, les logiciels libres Xen, QEMU, Bochs, Linux-VServer, Virtual Box et les logiciels propriétaires mais gratuits VirtualPC, VirtualServer et VMware Server ont achevé la popularisation de la virtualisation dans le monde x86. VMware a dernièrement rendu gratuit une version allégée de son hyperviseur phare ESX, ESXi. Dans la seconde moitié de l'an 2000, les fabricants de processeurs x86 AMD et Intel ont implémenté la virtualisation matérielle dans leurs gammes de processeurs. Augmentant ainsi les performances des plates-formes virtuelles. 1.2. Définitions D’après Wikipedia, la virtualisation est « l'ensemble des techniques matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Les outils de virtualisation servent à faire fonctionner ce qu'on appelle communément des serveurs privés virtuels (Virtual Private Servers ou VPS) ou encore environnements virtuels (Virtual Environments ou VE) » Dans notre étude, nous nous intéresserons uniquement à la virtualisation de systèmes, basé sur des techniques principalement logicielles. Dans ce cas, l’environnement matériel est complètement virtualisé au sein d’une machine virtuelle ou VM3, afin qu’elle puisse accueillir un système d’exploitation complet. 3 VM : Virtual Machine. Page 4 sur 22 Les virtualiseurs utilisés dans ce type de virtualisation sont appelés VMM (Virtual Machine Monitor) ou encore hyperviseur. L’hyperviseur est la couche logicielle qui s’intègre entre la partie matériel et les différents systèmes invités, ils sont classés actuellement sous deux catégories : • Un hyperviseur de type I (natif ou bare metal) est un logiciel qui s'exécute directement sur une plateforme matérielle donnée (comme outil de contrôle de système d'exploitation). Il doit gérer lui-même toutes les ressources matérielles du serveur et propose ainsi des machines virtuelles aux systèmes invités. Il implémente donc la plupart des services que fournissent les noyaux des systèmes d’exploitation. Un système d'exploitation secondaire peut de ce fait être exécuté au dessus du hardware. Un hyperviseur de type 1 classique est CP/CMS, développé par IBM dans les années 60 et ancêtre de z/VM. Des exemples d'hyperviseurs plus récents sont Xen, Oracle VM, ESX Server de VMware, TRANGO, LPAR de IBM (PR/SM), Hyper-V de Microsoft, et l'hyperviseur Logical Domains de SUN (sorti en 2005). Une légère variation consiste à intégrer l'hyperviseur dans le firmware de la plateforme. C'est ce qui a été fait dans le cas de l'hyperviseur Virtage d'Hitachi. Les machines virtuelles de noyau, qui transforment un noyau Linux complet en hyperviseur, sont également considérées comme hyperviseurs de type 1. Serveur Virtuel Serveur Virtuel A p p l i A p p l i Système d’exploitation A p p l i Serveur Virtuel A p p l i Système d’exploitation A p p l i A p p l i Système d’exploitation Hyperviseur Materiel Schéma 1 Hyperviseur de type 1 Page 5 sur 22 • Un hyperviseur de type II ou appelé host-based est un logiciel qui s'exécute à l'intérieur d'un autre système d'exploitation. Un système d'exploitation invité s'exécutera donc en troisième niveau au dessus du hardware (matériel). Quelques exemples de tels hyperviseurs sont VMware Server (GSX), VMware Workstation, l'hyperviseur open source QEMU, Microsoft Virtual PC et les produits Microsoft VirtualServer, VirtualBox d'InnoTek, de même que Parallels Workstation de SWsoft et Parallels Desktop. Serveur Virtuel Serveur Virtuel A p p l i A p p l i Système d’exploitation A p p l i Serveur Virtuel A p p l i Système d’exploitation A p p l i A p p l i Système d’exploitation Hyperviseur (type II) OS hôte Materiel Schéma 2 Hyperviseur de type 2 Page 6 sur 22 1.3. Buts de la virtualisation Tout d’abord, le premier but de la mise en place de la virtualisation au sein d’un système d’information est bien entendu la réduction des coûts liés à l’achat des serveurs. Il n’est pas rare de trouver au sein d’un SI un serveur dédié pour telle fonction, un autre pour tel service de l’entreprise, pour des raisons aussi bien historiques que technologiques. Avec la virtualisation, on peut ainsi avoir une machine physique regroupant un ensemble de machines virtuelles fonctionnant sous différents systèmes d’exploitation. C’est d’autant plus vrai qu’une partie des serveurs sont sous-employés. Le cas de serveurs WEB des Intranet des entreprises est le plus représentatif. Fonctionnant le plus souvent environ 10 heures par jour, et cela, sans utiliser le maximum de leurs capacités, ces serveurs sont autant de ressources inexploitées. En virtualisant, par exemple 3 serveurs WEB sur un seul serveur, on économise au niveau de l’achat du matériel et cela permet de diminuer de façon non négligeable la consommation électrique des salles serveurs (et des systèmes de climatisation associés). Un serveur fonctionnant à 15% ne consomme pas beaucoup plus d’énergie qu’un serveur à pleine puissance. Ensuite, la virtualisation peut fournir de nombreux services et faciliter grandement le quotidien des administrateurs. Lors des migrations de systèmes, il est ainsi possible d’éviter le coûteux redéveloppement d’une application (nécessaire car la partie matérielle était obsolète ou que la mise en place d’un nouveau système d’exploitation rendait l’application inutilisable) en virtualisant le système complet. De plus, des environnements de tests et/ou de pré-production très fidèles à l’environnement futur peuvent être mis en place avec un minimum de ressources physiques. Dans le cadre de l’hébergement, sur Internet notamment, les hébergeurs ont la possibilité de fournir un système virtualisé en toute indépendance des autres machines virtuelles, les clients pouvant avoir un contrôle totale de leur serveur virtuel (type de système d’exploitation, redémarrage de la machine sans aucune restriction, etc.). La virtualisation s’avère très intéressante dans le domaine de la haute disponibilité. Grâce à elle, il est possible de déplacer une machine virtuelle d’un serveur vers un autre (dans le cas de maintenance, etc.), tout cela avec une interruption de service quasi-nulle. Des machines virtuelles peuvent être aussi activées lors de plan de secours ou lors d’un passage en mode dégradé. Enfin, pour que la virtualisation prenne tout son sens, il faut absolument l’associer à une technologie de stockage partagé en réseau, SAN4 notamment, afin de profiter de tous les services possible (continuité de service, déplacement de machines virtuelles, etc.). Nous venons de voir que la virtualisation n’est donc pas un principe nouveau mais datant déjà d’une quarantaine d’années, passant des mainframes d’IBM vers les serveurs x86 en passant par la micro-informatique et l’émulation des consoles de jeux. Depuis 10 ans, la virtualisation a pénétré les SI des entreprises, offrant de nombreux avantages et avancés, tant en terme de réduction des couts d’exploitation et de maintenance des serveurs qu’en terme de nouvelles fonctionnalités. Mais avant de choisir son système de virtualisation, il est important de bien connaitre les différentes techniques de virtualisation, techniques que nous verrons en détail dans le chapitre suivant. 4 SAN (Storage Area Network) est un réseau spécialisé permettant de mutualiser des ressources de stockage. Page 7 sur 22 2. Les différentes techniques de virtualisation. Une fois convaincu de la nécessité de la mise en place d’une solution de virtualisation au sein d’un SI, encore faut-il choisir la technique la plus appropriée à celui-ci. Car toutes les solutions disponibles sur le marché (que nous verrons dans le chapitre suivant) offrent des approches différentes tant en terme de fonctionnalité qu’en terme de performance. La première partie de ce chapitre sera consacrée à l’isolation, technique bien connue des administrateurs de systèmes Unix. Ce n’est pas vraiment une technique de virtualisation au sens propre du terme, mais nous verrons qu’elle peut offrir des services intéressants. Ensuite, nous continuerons notre analyse avec la paravirtualisation, technique très en vogue en ce moment. Puis nous terminerons par la virtualisation complète, souvent comparée à l’émulation logicielle, mais nous verrons que la comparaison est très réductrice. Comme nous l’avons évoqué précédemment, nous distinguons trois grandes catégories de solutions de virtualisation : • L’isolation. • La paravirtualisation. • La virtualisation complète. Page 8 sur 22 2.1. L’isolation L'isolation (aussi appelé cloisonnement) est une technique qui intervient au sein d’un même système d'exploitation. Elle permet de séparer un système en plusieurs contextes ou environnements. Chacun d'entre eux est régi par l'OS hôte, mais les programmes de chaque contexte ne sont capables de communiquer qu'avec les processus et les ressources associées à leur propre contexte. Il est ainsi possible de partitionner un serveur en plusieurs dizaines de contextes, presque sans ralentissement. L'isolation est utilisée sous Unix depuis longtemps pour protéger les systèmes. Via des mécanismes comme chroot ou jail, il est possible d'exécuter des applications dans un environnement qui n'est pas celui du système hôte, mais un « mini système » ne contenant que ce dont l'application a besoin, et n’ayant que des accès limités aux ressources. Il est possible également de lancer des programmes dans une autre distribution que celle du système principal. Avec l’isolation, l’espace noyau n’est pas différencié, il est unique, partagé entre les différents contextes. Mais on définit de multiples espaces utilisateurs cloisonnés. C’est ainsi que l’on peut faire cohabiter différentes distributions de système d’exploitation, à condition qu’elles partagent le même noyau. L’isolation des contextes est une solution légère, tout particulièrement dans les environnements Linux. L’unicité du noyau reste bien sûr une petite limitation. D’une part en termes de robustesse, puisqu’un plantage du noyau (fort heureusement très rare dans le monde Linux) plante simultanément tous les environnements. D’autre part dans les utilisations possibles, puisque typiquement ce mode ne conviendra pas pour valider une nouvelle version de noyau. Mais pour les besoins les plus courants de la virtualisation, la simplicité de mise en œuvre et le faible overhead5 sont d’excellents arguments. Schéma 3 Isolation 5 Overhead : Désigne le temps passé par un système à ne rien faire d'autre que se gérer. Page 9 sur 22 2.2. La paravirtualisation La paravirtualisation est une technique de virtualisation de plus bas niveau que l'isolation. Elle partage avec cette dernière la nécessité d'utiliser un OS modifié. Plus précisément, en paravirtualisation ce n'est plus seulement l'OS hôte qui doit être modifié mais également les OS appelés à s'exécuter sur les environnements virtuels. Ainsi, les machines virtuelles sont conscientes de ne pas fonctionner sur une architecture matérielle classique. Le cœur de la paravirtualisation est un hyperviseur fonctionnant au plus près du matériel, et fournissant une interface qui permet à plusieurs systèmes hôtes d'accéder de manière concurrente aux ressources. Chaque système virtuel doit donc être modifié de façon à utiliser cette interface pour accéder au matériel, en revanche, contrairement à l'isolation, plusieurs OS de familles différentes peuvent fonctionner sur un même serveur physique. Il est ainsi possible de faire fonctionner GNU/Linux, NetWare, Solaris (et d'autres) simultanément sur une même machine. Chaque OS aura alors accès à ses propres périphériques de stockage, sa propre mémoire, sa ou ses propres interfaces réseau, son ou ses propres processeurs, chaque ressource matérielle virtualisée étant partagée avec les autres environnements. De plus, comme l’hyperviseur n’émule pas une architecture matérielle complète, le surcoût en terme de performance n’est que de l’ordre de 2 à 5%. Enfin, la nécessité de petites modifications au système d’exploitation invité exclut le support de systèmes « fermés », et en particulier de Microsoft Windows. Schéma 4 Paravirtualisation Page 10 sur 22 2.3. La virtualisation complète Au sens strict, le terme machines virtuelles désigne les systèmes virtuels exécutés via des technologies de virtualisation dites complète ou encore native. Dans ce cas de figure, c'est le matériel d'un ordinateur complet qui est présenté au système d'exploitation par le produit, de sorte que la virtualisation est alors réellement transparente pour le système d’exploitation invité. Cela permet donc de faire fonctionner plusieurs systèmes d'exploitation non modifiés sur un serveur physique. Le matériel du serveur physique est rendu abstrait et remplacé, du point de vue des serveurs virtuels, par un matériel 'générique' (en général propre au produit de virtualisation). Les premières solutions de virtualisation complète étaient basées sur des émulateurs, donc des logiciels qui réinterprétaient chaque opération demandée par le système virtuel, pour les adapter au matériel physique, au prix d'une perte considérable de performances. Petit à petit, la partie ré-interprétation est passée de l'espace utilisateur (des programmes) à l'espace noyau, regagnant une partie des performances d'origines, et les logiciels d'interface matérielle ont été remplacés par des hyperviseurs pour gagner en proximité avec le matériel physique. Les produits modernes tirent partie des nouveaux jeux d'instructions spécialisés des dernières générations de processeurs pour assurer des performances quasi identiques aux performances natives, alors que l'interface matérielle est gérée au plus bas niveau par un hyperviseur. C’est la condition sine qua non pour éviter une trop importante baisse de performance (de l’ordre de 20 à 30%). Sur une machine virtuelle, il est possible d'installer n'importe quel OS non modifié, et donc aussi bien commercial qu'open source du moment qu'il dispose des pilotes pour le matériel générique que lui présente l'hyperviseur. Serveur Virtuel Serveur Virtuel A p p l i A p p l i Système d’exploitation Serveur Virtuel A p p l i Système d’exploitation A p p l i A p p l i Système d’exploitation Hyperviseur Materiel Schéma 5 Virtualisation complète Au terme de ce chapitre, nous avons une vision globale des différentes techniques de virtualisation implémentées par l’ensemble des système de virtualisation, que ce soit par un simple isolateur (peu gourmant en ressource, mais limité en terme de fonctionnalités), d’un paravirtualiseur offrant une abstraction minimale au système d’exploitation invité (quelquefois restrictif en terme de système invité, mais d’un niveau de performance élevé), ou d’une virtualisation native offrant une architecture matérielle complète au système invité (au prix d’une baisse de performance dans certains cas, mais pouvant supporter un grand nombre d’OS). Cependant, l’offre disponible sur le marché, du fait de l’engouement des éditeurs de solutions et de l’effet de mode de cette technique, parait assez complexe. Afin de déterminer le système de virtualisation adapté aux besoins du SI parmi ceux du marché, nous analyserons les différentes solutions proposées par les trois acteurs incontournables de la virtualisation logicielle. Page 11 sur 22 3. Les solutions Les solutions de virtualisation présentes sur le marché sont assez nombreuses, diverses et variées. Il existe, comme nous l’avons vu précédemment, plus d’une dizaine de systèmes de virtualisation disponibles, que ce soit dans le monde de l’open-source ou dans le monde des éditeurs. Dans le but d’être suffisamment concis et sans parti pris pour telle ou telle technologie, ce chapitre analysera les 3 solutions les plus utilisées6 au sein des SI, selon l’institut Gartner à commencer par le leader du marché VMware avec ESX (89% de part de marché), puis Microsoft (7 %) avec Hyper-V, et nous terminerons par Citrix (2%) avec XenServer. De plus, chaque éditeur dispose d’une offre « globale » lié à son hyperviseur, fournissant un panel d’outils variés aux fonctionnalités multiples. Chaque solution dispose d’une solution de stockage SAN, que ce soit iSCSI7 ou Fiber Channel8. 3.1. Solution VMware Présent sur le marché des solutions de virtualisation depuis la fin des années 1990 et leader actuel incontesté, VMware propose de nombreuses solutions de virtualisation, que se soit sur la partie serveur que sur les postes clients. Nous allons nous intéresser à l’offre VMware Infrastructure 3, disponible en 4 versions (VMware ESXi standalone (gratuit), VMware Infrastructure Foundation, VMware Infrastructure Standard, VMware Infrastructure Enterprise) et à son hyperviseur associé, ESX. L’hyperviseur ESX est un hyperviseur de type I, s’exécutant directement sur le matériel et propose ainsi des machines virtuelles pour les systèmes invités. La technique utilisée par ESX repose sur de la virtualisation complète (et paravirtualisée pour les systèmes Linux modifiés). ESX permet ainsi de virtualiser la plupart des systèmes d’exploitation. Schéma 6 Architecture VMware ESX 6 Cette étude ne différentie pas les types d’hyperviseur de chaque éditeur, mais cela semble se rapprocher de la réalité. iSCSI (internet SCSI) est un protocole permettant le transport de commandes SCSI sur un réseau TCP/IP. 8 Fiber Channel est un protocole défini par la norme ANSI X3T11 permettant une connexion haut débit entre un ordinateur et son système de stockage 7 Page 12 sur 22 Concernant la partie spécification technique, un serveur ESX est capable de faire tourner jusqu'à 128 machines virtuelles, d’allouer 64 Go de RAM et 4 CPU physiques (soit 16 cœurs9) par VM. Le serveur physique peut lui compter jusqu’à 128 Go de RAM et 32 coeurs. • • • • • • Lié à l’hyperviseur ESX, VMware Infrastructure propose les services suivants : VMFS : système de fichiers en cluster très performant qui permet à plusieurs installations d’ESX Server d’accéder simultanément aux ressources de stockage d’une même machine virtuelle. Virtual SMP : améliore les performances des machines virtuelles en permettant à une seule machine virtuelle d’utiliser simultanément plusieurs processeurs physiques. VMotion : permet de migrer à chaud des machines virtuelles d’un serveur physique à un autre sans interruption. VMware HA : offre une haute disponibilité à l'ensemble de l’environnement informatique virtualisé. VMware DRS : équilibre la puissance de calcul entre les pools de ressource de l’infrastructure virtuelle. VMware Consolited Backup : permet la sauvegarde centralisée des machines virtuelles à partir d’un serveur Microsoft Windows 2003. L’éditeur VMware est, de par la maturité de son système de virtualisation et des nombreux services associés, l’acteur inévitable. Il est important de noter que tous ces services ne sont fournis de base qu’avec la version Entreprise de VMware Infrastructure 3, ce qui induit un coût important. Mais un autre grand nom de l’édition, cette fois du coté des systèmes d’exploitation, essaie de briser le « monopole » de VMware, Microsoft avec HyperV. 9 Auparavant, un CPU n’était composé que d’un seul cœur. Avec les nouvelles techniques, les fabriquant sont capables de concevoir 1 CPU mais possédant plusieurs cœurs (2, 4, ou 8 cœurs par CPU). Page 13 sur 22 3.2. Solution Microsoft Arrivé très tardivement sur le marché des solutions de virtualisation (la première version a été finalisé au début de l’été 2008), Microsoft et son hyperviseur Hyper-V n’en demeure pas moins le deuxième virtualiseur utilisé dans les SI des entreprises. Inclus dans le nouveau système d’exploitation Windows Server 2008, Hyper-V a de quoi séduire une partie des DSI. Etant plus jeune que son concurrent VMware, la plupart des services offerts par Hyper-V sont moins éprouvés. Mais ceux-ci sont inclus dans les différentes offres (Hyper-V, Hyper-V R2 et Windows Server 2008 R2 Entreprise Edition et Datacenter) et ne nécessite pas d’achat de licences supplémentaires. L’hyperviseur Hyper-V est un hyperviseur de type I fonctionnant en mode natif et en mode paravirtualisation, mais cependant limité à peu de systèmes d’exploitation. Ainsi, Hyper-V ne supporte que les OS suivants : • Windows XP SP3 x86 et x64. • Windows Vista SP1 x86 et x64. • Windows Server 2000 SP4. • Windows Server 2003 SP3 x86 et x64. • Windows Server 2008 x86 et x64. • Suse Linux Enterprise Server 10 SP1 et SP2 x86 et x64. Schéma 7Architecture Microsoft Hyper-V Concernant la partie spécification technique, un serveur Hyper-V10 est capable de faire tourner un nombre important de machines virtuelles, et ses capacités matérielles sont absolument considérables ! Il est ainsi théoriquement possible d’adresser 64 cœurs, 1 To de RAM et 384 VM. Mais il est important de noter que tout cela reste théorique, et bien loin de l’utilisation « typique » d’un serveur virtuel. 10 Les caractéristiques d’Hyper-V sont celles de la dernière version, à savoir R2, annoncée pour l’été 2009. Page 14 sur 22 • • • • Comme pour ESX, Hyper-V offre les services suivants : Failover Clustering : Haute disponibilité des machines virtuelle en cas de panne d'un host, les machines sont relancées sur un host survivant. Live Migration : Permet le déplacement des machines virtuelles d'un host à un autre sans arrêt de service et cela au sein d’une même famille de processeurs Updated Hyper-V Configuration Utility : Cet utilitaire permet de simplifier la configuration initiale de Hyper-V. Les nouvelles fonctions de configuration incluent : o Configuration à distance. o Configuration des clusters o Outils de mises à jour supplémentaires. Et bien sur, allocation dynamique des ressources (CPU, RAM). Malgré son arrivée tardive sur le marché de la virtualisation, Microsoft propose avec Hyper-V une solution, certes moins mature, mais offrant des services quasiment identiques à ceux de son concurrent. De plus, le licensing11 associé peut-être intéressant, pour peu que l’on dispose d’une infrastructure Windows conséquente. L’arrivée à été 2009 de la version 2 d’Hyper-V réduira les dernières différences avec ESX, et permettra à coups sûr de gagner quelques parts de marché. Mais c’est sans compter sur Citrix, autre grand nom de la virtualisation, et de son produit issue de la communauté open-source, XenServer. 11 Licensing : Contrat de licence Page 15 sur 22 3.3. Solution Citrix La solution de Citrix, XenServer, est basée sur Xen, un hyperviseur de machine virtuelle, issu de la communauté open-source, récupéré lors de l’achat de XenSource en 2007. Il a été développé, dans un premier temps, par l'université de Cambridge au Royaume-Uni en 2001. De plus, le projet Xen est activement soutenu par une vingtaine de grandes entreprises dont AMD, HP, IBM, Intel et Novell. XenServer 5, est proposé en 4 versions (Express (gratuite), Standard, Entreprise et Platinium). Même si il parait plus jeune qu’ESX et plus mature qu’Hyper-V, XenServer n’en demeure pas moins un concurrent sérieux de par les services fournis. XenServer est un hyperviseur de type I, s’exécutant directement sur le matériel et propose ainsi des machines virtuelles pour les systèmes invités. La technique utilisée par XenServer repose en premier lieu sur de la paravirtualisation (non compatible avec les systèmes dits « fermés ») ainsi qu’un mode virtualisation complète ou HVM12 (mais qui nécessite les technologies Intel VT ou AMD-V pour les systèmes Microsoft). Il est ainsi possible de virtualiser la plupart des systèmes d’exploitation. De plus, le partenariat de Citrix avec Microsoft permet notamment le support de Windows Server 2008 en tant qu’OS invité. Schéma 8 Architecture Citrix XenServer Développé initialement pour la virtualisation de machines Unix/Linux, il est clair qu’il est particulièrement adapté à ce type d’OS. Mais son principal avantage est le faible overhead généré (de l’ordre de 2 à 5%), dû essentiellement à son noyau de paravirtualisation. Dont profite aussi les VM Microsoft. Concernant la partie spécification technique, un serveur XenServer est capable de faire tourner un nombre illimité de machines virtuelles13, d’allouer 32 Go de RAM et 8 coeurs par VM. Le serveur physique peut lui compter jusqu’à 128 Go de RAM et 32 cœurs. 12 HVM : Hardware Virtual Machine. Technologie qui permet de faire fonctionner des systèmes qui ne sont pas spécialement adaptés (systèmes dits fermés). 13 Dépend des ressources de la machines physique (source Citrix). Page 16 sur 22 • • • • • A l’instar d’ESX ou d’Hyper-V, XenServer dispose d’une palette étendue de services : Xen Motion : permet le déplacement de machines virtuelles à chaud et sans interruption. Xen Center : interface unique d’administration. Xen API : intégration à l’administration, à l’infrastructure et aux processus existants. Citrix Essentials for XenServer and Hyper-V : offre un ensemble de fonctionnalités de gestion et d’automatisation qui étend les capacités de Citrix XenServer et de Microsoft Hyper-V. Et bien entendu, des fonctionnalités de continuité de services (haute disponibilité automatique et reprise après sinistre). S’appuyant sur un hyperviseur open-source largement soutenu par de grandes sociétés informatique, un partenariat avec Microsoft dans le cadre du projet « Encore »14 , des services toujours plus riches et fonctionnels associé à un overhead le plus bas du marché, XenServer paraît tout avoir de la solution idéale. Cependant, une interface d’administration encore trop perfectible semble pénaliser son entrée au sein des DSI, problème qui sera sûrement résolu avec l’aide à son partenaire Microsoft. 14 Projet Encore : Alliance stratégique entre Microsoft et Citrix pour la gestion commune de leurs serveurs au sein de leurs logiciels de gestion d'environnements virtualisés. Page 17 sur 22 4. Synthèse Nous venons de terminer notre tour d’horizon sur les différentes solutions de virtualisation, au travers des trois principaux systèmes les plus utilisés au sein des DSI. Le premier point commun est sans doute le fait que les hyperviseurs soient tous de type I, en relation directe avec le matériel pour de meilleures performances (sauf pour la prochaine version de Windows Server 2008 R2 Entreprise ou DataCenter Edition qui inclut Hyper-V R2). Deuxièmement, tous utilisent une technologie de virtualisation complète et de paravirtualisation, ce qui leur permet d’accueillir la plupart des systèmes d’exploitation en tant qu’invités. Mais c’est à partir de là que les différences commencent à émerger. De ce fait, le choix d’un système de virtualisation adapté à ses besoins, apparait assez complexe. Chaque solution possédant ses points forts et ses points faibles. De plus, certains éditeurs communiquent de façon assez opaque sur leurs systèmes (que se soit en terme de capacité, de performance ou de compatibilité), ce qui n’est pas pour aider à la décision. Enfin, le manque de retour d’expérience reste aussi un facteur de frein à la mise en place de la virtualisation dans les entreprises. Pour essayer d’éclaircir un peu tout cela, nous pouvons dans un premier temps nous baser sur le classement pour l’année 2008 effectué par l’institut Gartner qui a publié le tableau ci-après, regroupant plusieurs critères de sélections des cinq premières solutions de virtualisation du marché. Ainsi, il est clairement évident que le leader du marché (VMware) possède tous les atouts pour être retenu par la plupart des DSI. Sauf peut-être pour le prix ! Schéma 9 Solutions de virtualisation 2008 Page 18 sur 22 Dans un deuxième temps, nous pouvons enrichir ce comparatif en ajoutant d’autres critères comme l’overhead généré, le type d’OS émulé, les compétences requises ainsi que les capacités purement techniques des différentes solutions. Concernant les différents services et fonctionnalités fournies (de façon gratuite ou non), toutes les solutions proposent quasiment les mêmes et sont en constantes évolution (notamment chez Microsoft). Le choix de la solution en fonction de ce critère ne parait pas décisif, sauf éventuellement pour un besoin spécifique. VMware ESX 3.5 Overhead15 Type d’hôtes invités Compétences requises Nombre maximum de cœurs Quantité de RAM maximale Nombre de VM Nombre de cœurs et quantité de RAM maximum par VM Microsoft Hyper-V R2 5 à 10% inconnu Quasiment tous Tous les systèmes Microsoft et uniquement Suse Linux Enterprise Server Connaissance Unix de Compétences base Microsoft 32 64 Citrix XenServer 5.0 2 à 5%16 Quasiment tous Connaissance Unix 32 128 Go 1 To 128 Go 128 16 cœurs/64 Go >384 Illimité Illimité 8 cœurs/32 Go Schéma 10 Comparatif technique des principaux virtualiseurs Comme pour les services associés, les caractéristiques techniques des différentes solutions ne semblent pas être le seul facteur permettant de choisir LA solution adaptée. ESX associé à son mode de vitualisation complète parait le plus abouti des trois, du fait de sa maturité. Quant au mode paravirtualisation, il reste en deçà de XenServer qui reste clairement le plus efficace et le moins gourmand en ressources. Hyper-V tire son épingle du jeu avec son mode de virtualisation complète (le mode paravirtualisation reste peu utilisé) mais son point faible reste la compatibilité avec un grand nombre d’OS. Il reste très clairement positionné sur les produits Microsoft de dernière génération et ne virtualise officiellement qu’un système Linux, SUSE Linux Enterprise Server 10. En revanche, la grande inconnue de ce comparatif est bien entendu l’overhead généré d’Hyper-V R2. Si celui se révèle correct, il y fort à parier que la solution de Microsoft fasse un peu plus d’adeptes. Cependant, nous pouvons dégager quelques pistes de réflexion, sans tenir compte du facteur coût : • Dans un environnement purement Unix, XenServer semble posséder le plus d’atouts, notamment en terme d’overhead et de compatibilité. De plus, son partenariat avec Microsoft ne met pas de cotés les systèmes Windows. • Dans un environnement mixte (Windows/Unix) et peu de compétences spécifiques, ESX parait très intéressant. • Dans un environnement mixte (Windows/Unix) avec des compétences plus pointues, XenServer demeure la solution la plus attractive. 15 16 Les chiffres fournis représentent une moyenne de ceux que l’on peut rencontrer sur différents sites spécialisés. Ce taux très faible tient principalement au mode paravirtualisation. Page 19 sur 22 Bien entendu, le choix reste lié au coût. Suivant les services souhaités et/ou l’infrastructure système en place dans l’entreprise, une solution de virtualisation sera rapidement trouvée. Cependant, les éditeurs mettent à disposition des versions gratuites de leurs hyperviseurs (et cela sans limitations technique, uniquement la partie administration centralisée n’est généralement pas incluse), qui permettra de faire son choix plus sereinement. Associés à des outils de migration à chaud de VM ou de conversion P2V17, chaque DSI pourra trouver la solution qui convient le mieux à l’entreprise. Certains éditeurs n’hésitent pas à fournir un outil capable de calculer le ROI18 en fonction de la solution choisie ! La virtualisation, grâce à ses nombreuses utilisations au sein des SI, notamment pour la consolidation des serveurs et la mise en place d’infrastructures de haute disponibilité, en passant par les environnement de tests, est une des clés d’une urbanisation réussie et maitrisée. C’est d’autant plus vrai qu’elle est l’un des maillons principaux d’une autre technologie qui ne cesse de prendre de l’ampleur, le Cloud Computing. 17 P2V : Physical to Virtual. Technologie permettant la virtualisation d’une machine physique pour ensuite l’intégrer au sein d’une solution de virtualisation. 18 ROI : Return On Investment. Retour sur investissement. Page 20 sur 22 Schémas SCHEMA 1 HYPERVISEUR DE TYPE 1.......................................................................................................................................5 SCHEMA 2 HYPERVISEUR DE TYPE 2.......................................................................................................................................6 SCHEMA 3 ISOLATION ................................................................................................................................................................9 SCHEMA 4 PARAVIRTUALISATION..........................................................................................................................................10 SCHEMA 5 VIRTUALISATION COMPLETE ..............................................................................................................................11 SCHEMA 6 ARCHITECTURE VMWARE ESX ............................................................................................................................12 SCHÉMA 7ARCHITECTURE MICROSOFT HYPER-V ..............................................................................................................14 SCHEMA 8 ARCHITECTURE CITRIX XENSERVER .................................................................................................................16 SCHEMA 9 SOLUTIONS DE VIRTUALISATION 2008 ..............................................................................................................18 SCHEMA 10 COMPARATIF TECHNIQUE DES PRINCIPAUX VIRTUALISEURS ..................................................................19 Page 21 sur 22 Liens http://www.guvirt.org http://www.virtualisation-news.com http://www.citrix.com http://www.vmware.com http://www.microsoft.com http://www.labo-microsoft.com http://fr.wikipedia.org http://www.hypervisor.fr http://www.itrmanager.com http://www.it20.info http://www.lemagit.fr http://www.smile.fr http://www.journaldunet.com Page 22 sur 22