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