Vous êtes sur la page 1sur 25

La virtualisation de Microsoft

hyper-v sous Windows server


2008

La virtualisation est depuis quelques annes en pleine expansion, et pour cause : la consolidation de serveurs de nombreux avantages comme la rduction des cots nergtiques (vritablement problmatique dans les DataCenters), loptimisation de lespace, mais aussi une norme souplesse dans la gestion des sauvegardes/restaurations. Ce document va donc vous prsenter la nouvelle solution de virtualisation de Microsoft : Hyper-V. Avant de rentrer dans le vif du sujet et afin de bien comprendre les enjeux et volutions nous allons vous prsenter le cot thorique de la virtualisation ainsi que les diffrents modes de virtualisation. A la suite de cela nous continuerons vers une approche plus spcifique dHyper-V puis une procdure de mise en production en utilisant le mode Core de Windows Server 2008.

Sommaire

1. Un peu de thorie 1.1 introduction 1.2 L'intrt de la virtualisation 1.3 Les Machines Virtuelles 1.4 Les Isolateurs 1.5 Les Hyperviseurs 1.6 Les paravirtualisateurs 1.7 Technologie Intel et AMD de support matriel de la virtualisation 2. Hyper-V 2.1 La gense 2.2 Fonctionnement dHyper-V 2.3 Les fonctionnalits dHyper-v 2.4 Cot, licensing 3. Installation d'Hyper-V avec Windows Serveur 2008 Core 3.1 Introduction 3.2 Configuration pile TCP/IP 3.3 Configuration DNS 3.4 Dsactivation du Firewall 3.5 Configuration du nom du seveur 3.6 Intgration au domaine 3.7 Update vers dHyper-V RC0/RC1 3.8 Installation dHyper-V 3.9 Vrification de l'installation 4. Les outils d'administration d'Hyper-V 4.1 Une nouvelle console dadministration 4.2 Cration dun rseau virtuel 4.3 Cration dune machine virtuelle 4.4 Optimisation des machines virtualises 4.5 Gestion des Snapshots 4.6 Cration de Snapshots via MMC 4.7 Cration de Snapshots via Power Shell et WMI 5. Benchmarking des performancess 5.1 Introduction 5.2 Environnement de test 5.3 Les benchs 6. Conclusion

1. Un peu de thorie
1.1 Introduction
La virtualisation recouvre l'ensemble des techniques matrielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine hte plusieurs systmes d'exploitation, plusieurs instances diffrentes et cloisonnes d'un mme systme ou plusieurs applications, sparment les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Nous allons voir tout dabord pourquoi utiliser la virtualisation, ensuite les diffrents types de virtualisation et pour finir limpact de celle-ci sur les performances ainsi que son volution.

1.2 L'intrt de la virtualisation


Les intrts de la virtualisation sont :

Une utilisation optimale des ressources d'un parc de machines (rpartition des machines virtuelles sur les machines physiques en fonction des charges respectives) ainsi quune conomie sur le matriel (consommation lectrique, compatibilit logicielle et matrielle) Linstallation, le dploiement et la migration facile des machines virtuelles d'une machine physique une autre, notamment dans le contexte d'une mise en production partir d'un environnement de qualification ou de pr-production, livraison facilite. Scurisation d'un rseau (lattaquant na accs quaux machines virtuelles) Isolation des diffrents utilisateurs simultans d'une mme machine

1.3 Les Machines Virtuelles


Une machine virtuelle est un logiciel qui tourne sur le systme dexploitation (O.S.) hte. Ce logiciel permettant de lancer un ou plusieurs OS invits. La machine virtualise le matriel, les O.S. invits pensent donc dialoguer directement avec un matriel physique. En pratique on a recours une mulation logicielle des priphriques, et parfois aussi de tout ou partie de la machine. Cette solution isole bien les systmes d'exploitation invits, mais elle a un cot. Tout dabord en performance, principalement au niveau des entres-sorties (I/O). A ce cot, relativement important, peut tre ajout un cot supplmentaire si le processeur doit tre intgralement mul. Cette solution n'est pas non plus conome en mmoire, puisque aucune conomie d'chelle ne peut tre ralise en ce qui concerne les OS chargs. Le point faible de cette solution est donc son importante consommation de ressources. Des exemples de logiciels permettant lutilisation de machines virtuelles sont Virtual PC/Server et VMWare Player/GSX/Workstation ou bien encore Parallels Desktop.

1.4 Les Isolateurs


Un isolateur est un logiciel permettant d'isoler l'excution des applications dans des contextes ou zones d'excution. Il permet ainsi de faire tourner plusieurs fois la mme application alors que lexcution de celle-ci devrait tre unique. Notons que cette technologie consiste en quelque sorte gnraliser la notion de "contexte" Unix : ce dernier isole les processus (mmoire, accs aux ressources), on ajoute alors : une isolation des priphriques (c'est le rle de l'isolateur), voire leur partage, les systmes de fichiers donc les fichiers eux-mmes et leurs accs. UCette solution est trs performante, du fait du peu d'overhead (chute de performance consquente de l'ajout des couches de virtualisation), mais les environnements virtualiss ne sont pas compltement isols, ils partagent en particulier le code du noyau. Cette solution est aussi remarquablement conomique en mmoire par consquence de la dernire remarque. Ces environnements sont donc bien adapts au dploiement de nombreux serveurs virtuels de test ou dveloppement bass sur un mme systme. Des exemples de logiciels sont Linux-VServer ou encore BSD Jails

1.5 Les Hyperviseurs


Partant du principe, expos prcdemment, que pour avoir une virtualisation efficace il faut affiner les couches, une premire approche consiste proposer un noyau lger (de type micro-noyau comme Mach par exemple), lequel est accompagn d'outils de supervision, et adapt pour faire tourner des systmes d'exploitation natifs. Pour russir cette approche, soit on mule le matriel (et on revient aux performances de la machine virtuelle pour les I/O), soit on dispose des technologies ddies la virtualisation dveloppes par AMD et Intel que nous verrons plus tard. Exemple : VMWare ESX, Hyper-V

1.6 Les paravirtualisateurs


Un paravirtualiseur est un noyau hte allg et optimis pour ne faire tourner que des noyaux de systmes d'exploitation invits, adapts et optimiss pour cette utilisation. Les applications en espace utilisateur des systmes d'exploitation invits tournent ainsi sur une pile de deux noyaux optimiss, les OS ayant conscience d'tre virtualiss. A noter que lutilisation des instructions Intel VT ou AMD-V rende possible lutilisation dun OS non modifi. Un exemple de noyau: Xen, Hyper-V.

1.7 Technologie Intel et AMD de support matriel de la virtualisation


Dans le but de simplifier la virtualisation, Intel et AMD ont sorti une technologie de virtualisation matrielle. La premire se lancer sur ce terrain fut Intel avec sa technologie VT (Virtualization Technology) fin 2005. En 2006 AMD sortit AMD-V (Virtualization). Ces deux technologies ont une structure similaire : elles se composent de trois volets : un pour la virtualisation du processeur, un pour la virtualisation des priphriques et enfin un dernier pour la virtualisation de la mmoire. Avec ces technologies AMD et Intel ont ajout des instructions ainsi quune nouvelle structure de contrle (VMCB pour Virtual Machine Control Block du cot dAMD et VMCS pour Virtual Machine Control Structure du cot dIntel). Grce une de ces nouvelles instructions on peut passer un nouveau mode dexcution (VMX chez Intel). Ce dernier permet de faire fonctionner les systmes dexploitation invits avec un niveau de privilge trs lev (ring 0). Cela a pour avantage :

Meilleures performances. En effet, lhyperviseur ne fait plus de translations binaires pour faire croire aux OS invits quils travaillent en ring 0. Il nest plus ncessaire de modifier les OS invits pour les faire fonctionner ailleurs que sur le ring 0.

2. Hyper-V
2.1 La gense
Le lancement du projet semble avoir dbut en 2005. Suite lessor de VMWARE ESX server et de XEN, les journalistes et les professionnels attendaient une rponse de la part de Microsoft en termes de virtualisation. En effet, Microsoft avec Windows Virtual Server ne proposait quune solution de machines virtuelles classique, peu performante et aux fonctionnalits rduites. Si nous prenons en compte lavance de ses concurrents et par consquent, les attentes de la presse et des professionnels, il est facile de saisir les enjeux de ce projet intitul "Viridian". Pour rsumer, Microsoft se devait de proposer un produit :

Sensiblement aussi performant que les solutions dj existantes. Interoprable. Qui sintgre parfaitement dans les prochaines applications Microsoft en particulier Windows Server 2008 (Longhorn) et les produits de la gamme system center (configuration manager, Operation Manager).

2.2 Fonctionnement dHyper-V


Tout dabord Hyper-V nest pas bas sur XEN, il est naturellement difficile de concevoir du code GPL dans un Kernel Windows. Cette confusion a pris sa source dans diffrents documents mal interprts, peut tre celui-ci paru en juillet 2006. Confrence de presse de Juillet 2006 Cet article prsente la synergie de Microsoft et XenSource afin de proposer diffrentes interoprabilits : lintgration de machine XEN dans lHyper-V de Microsoft ;intgration des machines Windows dans XEN. De plus, le projet XEN a t financ en partie par MS Research ce qui peut expliquer la ressemblance entre les 2 architectures. Hyper-V se base sur les concepts de paravirtualisation et dhyperviseur vus prcdemment. Dans Virtual server/pc, on instancie une architecture x86 afin de crer une machine virtuelle. Nous avons donc pour n machines virtuelles, n instanciations de larchitecture x86. Avec Hyper-V, larchitecture matrielle est instancie quune seule fois travers une fine couche logicielle (< 1 MO) appele "hyperviseur". Lhyperviseur va permettre le multiplexage des ressources logiques vers les ressources physiques. Au dessus de cette couche, une machine virtuelle particulire appele "parente" est instancie. Les nouvelles machines virtuelles seront instancies sur la mme couche que la "machine parente". Elles porteront le nom de "machine fille" et seront de type machine virtuelle classique ou machine virtuelle "paravirtualise". La "paravirtualisation" permet aux machines virtuelles de communiquer ensemble et en particulier avec la machine parente travers un bus logiciel. Pour cela, une machine virtuelle paravirtualise doit possder une couche logicielle appele "enlightenment". Cette couche logicielle, comme pour lajout de composant sur une machine virtuelle classique permet daugmenter les performances dentre/sortie sur les priphriques. Les machines filles paravirtualises pourront ainsi profiter des priphriques supporter par Windows en standard sans passer par de lmulation comme dans la virtualisation "classique", les drivers officiels seront donc supports. Pour rsumer, les machines paravirtualises nexploiteront plus les pilotes muls mais directement les drivers physiques mme pour la gestion des E/S ! Il est donc fort probable que Hyper-V offre des performances remarquables pour toutes les applications gourmandes en terme dE/S comme des BDD et autre serveurs mail. A noter que VMWARE ESX server utilise encore lmulation de priphrique, ce qui explique pourquoi certains benchmarks parus sur Internet dmontrent la supriorit dHyper-V en termes de performance. Voici un schma rsumant le principe :

Lautre lment important dHyper-V est lexploitation des extensions processeurs et chipsets comme AMD-V et Intel VT.

2.3 Les fonctionnalits dHyper-v


Interoprabilit, possibilit dexcuter des environnements diffrents de machines virtuelles. (Windows, Linux, Unix, 32 bit et 64 bit). Exploitation des processeurs SMP. Support de 4 CPU pour une machine virtuelle. Prise en charge des drivers matriels par les machines virtuelles. Possibilit dquilibrage de charge entre les machines virtuelles (NLB) Dplacement dune VM sans quasiment aucune coupure dune machine physique une autre (2 secondes environ) Possibilit de raliser une image fixe dune machine virtuelle au mme titre quune image Ghost. Possibilit de migrer une machine virtuelle dune machine hte vers une autre avec un temps dindisponibilit minimale (Quick Migration) Snapshot des machines virtuelles chaud.

2.4 Cot, licensing


Hyper-V est compris dans Windows Server 2008. Il vous sera possible dacqurir une version de Windows Server 2008 sans Hyper-V pour environ 28$ de moins.

3. Installation d'Hyper-V avec Windows Serveur 2008 Core


3.1 Introduction
Il est possible dinstaller Hyper-V en mode Windows Serveur 2008 Core. Celui-ci reprsentant bien sr des performances optimales, nous utiliserons ce mode. Ladministration pourra se faire sur un autre Windows Serveur 2008 ou Vista SP1 via MMC Avertissement : les premier screens ont t pris avec un appareil photo. Nous vous prions de nous excuser pour la faible qualit des captures. Nous avons nanmoins joint toutes les commandes associes.

3.2 Configuration pile TCP/IP


On utilisera la commande netsh pour modifier les proprits TCP/IP.

Dterminer le nom de linterface :

netsh interface ipv4 show interfaces

Dfinir ladresse IP, le masque et la paserelle (ici 192.168.0.100 /16, passerelle 192.168.0.10):

netsh interface ipv4 set address name="Local Area Connection" source=static address=192.168.0.100 mask=255.255.0.0 gateway=192.168.0.10

3.3 Configuration DNS


Dfinir un serveur DNS (ici 192.168.0.110):

netsh interface ipv4 add dnsserver "Local Area Connection" 192.168.0.110

3.4 Dsactivation du firewall


Pour simplifier la procdure nous dsactiverons le firewall activ par dfaut. On utilisera la commande:

netsh firewall set opmode disable

3.5 Configuration du nom du seveur


Pour renommer le serveur, il vous faut son nom actuel. On l'obtient grce la commande:

hostname

Il faudra ensuite indiquer son nom actuel et son nouveau nom.

netdom renamecomputer OldName /NewName:HV001

Vous devrez ensuite redmarrer le serveur grce la commande suivante:

shutdown /t 0 /r

3.6 Intgration au domaine


En ltat actuel des choses, il sera difficile dadministrer Hyper-V distance si le serveur hte et le client ne font pas partis du mme domaine. Nous vous recommandons dintgrer le serveur dans un domaine avec cette commande:

Netdom join ComputerName /domain DomainName

3.7 Update vers Hyper-V RC0/RC1


La version RTM de Windows Server 2008 est livre avec une version Beta dHyper-V. Il convient dinstaller la RC0. Vous la trouverez ici : Lien de tlchargement RC0. Note : la version RC1 est maintenant disponible vous la trouverez ici: Lien de tlchargement RC1. Personnellement jai tlcharg le package sur un autre ordinateur et je lai mis sur clef usb pour linstaller sur le serveur.

wusa.exe i:\nom du package.msu

3.8 Installation dHyper-V


Nous pouvons maintenant installer Hyper-V.

start /w ocsetup Microsoft-Hyper-V

3.9 Vrification de l'installation


On peut lister les rles du serveur pour vrifier linstallation:

OClist

Votre serveur est maintenant configur et Hyper-V install !

4. Les outils d'administration d'Hyper-V


Nous utiliserons Windows Vista SP1 pour administrer Hyper-V.

4.1 Une nouvelle console dadministration


La console est tlchargeable grce au lien suivant: Tlcharger la console MMC

La console MMC dadministration dHyper-V est intuitive. A droite, on retrouve les diffrents htes Hyper-V, au centre, les diffrentes machines virtuelles ainsi que les points de sauvegarde. La partie de gauche reprsente toutes les actions possibles.

4.2 Cration dun rseau virtuel

Avant de crer une machine virtuelle, nous allons crer un rseau virtuel. Dans la partie "Action", slectionnez "Virtual Network Manager".

Vous avez trois possibilits:


External: Permet dutiliser une carte rseau prsente physiquement sur lhte. Il faut utiliser ce type de rseau pour permettre la communication entre la machine virtuelle et le rseau LAN/WAN. Internal: Permet la communication entre les machines virtuelles ainsi quavec la machine hte. Il nutilise pas de carte rseau physique de lhte Private: Permet la communication entre les machines virtuelles uniquement.

A noter loption "Enable Virtual LAN identification": si ladaptateur physique de lhte le supporte, vous avez la possibilit de marquer les trames Eternet pour les VLAN utilisant les tag (balisage VLAN 802.1Q).

4.3 Cration dune machine virtuelle


Dans la partie "Action", selectionnez "New" puis "Virtual Machine".

Indiquez le nom de la machine virtuelle.

Ajuster la mmoire allouer la mchine virtuelle.

Slectionnez le rseau.

Pour le disque dur vous avez la possibilit de :


Crer un nouveau disque virtuel Utiliser un disque dur exeistant Attacher un disque virtuel plus tard

Lcran suivant prsente un rsum de la configuration.

4.4 Optimisation des machines virtualises


Afin que les VM travaillent en mode de paravirtualisation, il est ncessaire dinstaller les composants additionnels dHyper-V. Pour le moment, seul les OS suivants sont supports :
Windows XP SP3 Windows Server 2003 SP2 Windows Vista SP1 Windows Server 2008

Pour linstallation il suffit de slectionner dans le menu action de la VM "Insert Integration Services Setup Disk" et de suivre le wizard.

Une fois linstallation termine, plusieurs services seront installs.

A noter aussi lajout de nombreux priphriques (le screen nen reprsente quune petite partie)

Attention : il semblerait que cet ajout de priphriques dsactive Windows Vista !

4.5 Gestion de Snapshots


Grce au service de shadow Copy, vous avez la possibilit de crer des sauvegardes chaud de vous machines virtuelles.

4.6 Cration de Snapshots via MMC


Pour cela, cliquez simplement sur "Snapshot" dans le menu action.

Vos sauvegardes apparatront alors dans la partie mdiane de la console daministration.

Vous avez la possibilit dappliquer telle ou telle sauvegarde la VM dun simple clic.

4.7 Cration de Snapshots via Power Shell et WMI


WMI Classes for Virtualisation

Les classes WMI fournissent une interface permettant de consulter et de manipuler tous les aspects de la virtualisation et des machines virtuelles. Combins aux classes de virtualisation WMI, PowerShell et son approche oriente objet constituent un puissant outil de gestion des environnements virtualiss. Il est possible de crer des fonctions ou des scripts de maintenance automatique de toute machine virtuelle et son systme hte. Lespace de noms utilis par le fournisseur WMI dHyper-V est: "\\.\Root\Virtualization". On distingue quatre objets principaux :

ComputerSystem : reprsente les machines virtuelles et leur hte. VirtualSystemSettingData : options de la machine virtuelle. ResourceAllocationSettingData : attribution des ressources.

VirtualSystemManagementService : mthodes de manipulation des objets.

Vous pouvez obtenir la liste complte des classes disponibles grce la commande suivante :

get-wmiobject -namespace root\virtualization list.

Script PowerShell : Enregistrer un Snapshot

Variable de connexion au fournisseur WMI :

$VSMS = get-wmiobject namespace root\virtualization class Msvm_VirtualSystemManagementService

Variable de connexion une machine virtuelle

$CS = get-wmiobject -namespace root\virtualization -class Msvm_ComputerSystem -filter " ElementName = 'NomDeLaMachineVirtuelle' "

Enregistrement dun SnapShot

$VSMS.CreateVirtualSystemSnapShot($CS.__PATH)

Suppression et application de SnapShot:

Les mthodes RemoveVirtualSystemSnapShot et ApplyVirtualSystemSnapshot permettent respectivement de supprimer et appliquer un SnapShot.

Automatisation:

Une tche planifie peut alors tre cre afin de dclencher la cration dun nouveau snapshot lors dun vnement particulier ou intervalles rguliers.

5. Benchmarking des performances


5.1 Introduction
On ne pouvait pas terminer cet article sans faire quelques benchs dHyper-V. Nous disposions de moyens techniques modestes et le bench na donc pas pu se faire avec plusieurs machines virtuelles simultanes.

5.2 Environnement de test


Configuration

Tous les tests ont t effectus sur un portable Fujitsu Siemens Amilo PI2530, quip dun Core2Duo T7100 (1,8Ghz) et de 2GB de RAM (Dual DDR2-667), sur un chipset Intel PM965. Ce systme supporte bien videmment les instructions 64bits ainsi que la virtualisation matrielle.
Outils choisis

Les outils de benchmarking fonctionnant sur les systmes 64bits, dual core ne sont pas lgion Nous avons nanmoins retenu Sandra qui permet dvaluer les performances processeur, mmoire, et disque.
Solutions de virtualisation

LHyper-V utilis lors de ces tests est la version RC0 du 18 mars, dernire version bta avant la version finale prvue pour le mois daot.

Il sera compar VMWare Server 2 beta 2, puis son anctre : Virtual Server 2005 R2 SP1. LHyper-V sera teste sur Windows Server 2008 Entreprise 64bits tandis que VMWare et Virtual Server seront installs sur Windows Server 2003 R2 Entreprise 64bits.
Nomenclature

Dans un souci de lisibilit, les systmes tests seront dfinis de la faon suivante :

2K8x64+2x1024 > Windows 2008 Server, Version 64bits, 2 CPU, 1024Mo de RAM

Ainsi, la premire valeur dsigne lOS (2K8/2K3), la deuxime la version (x64/x86), la troisime le nombre de core (+1/+2), la quatrime la quantit de mmoire (x1024).

[HV] / [VM] / [VS] > Hyper-V / VMWare / Virtual Server

5.3 Les Benchs


Sandra Pro XII SP1

Le logiciel de SiSoftware calcule lindice de performance gnrale du systme aprs avoir ralis 5 tests concernant les processeurs arithmtique et multimdia, la bande passante mmoire, le systme de fichiers et la bande passante rseau. Nous navons retenu que les 4 premiers indices, le dernier ne variant pas dun systme lautre... Les rsultats sont ici ramens une valeur pour 1000 correspondant aux performances du systme hte.

Comme on pouvait sen douter, et malgr des tests effectus sur une version beta, Hyper-V offre de trs bonnes performances. Il est trs probable que ces performances soient exponentielles au nombre de machines virtualises sur le systme hte. Nous esprons prochainement pouvoir enrichir ces benchs avec la version finale d'Hyper-V et une monte en charge de l'hte.

6. Conclusion
Hyper-V est plus qu'une volution des prcdents produits de virtualisation proposs par Microsoft. Il s'agit vritablement d'un changement complet de technologie de virtualisation. Rsolument novateur par rapport aux produits concurrents Hyper-V associe parravirtualisation et hyperviseur le tout pour un prix modique. Biensr Hyper-V est encore un produit jeune (version RC) : les outils d'administrations ne sont pas exempts de bug et il est clairement trop tt pour consolider des serveurs de production avec cette version RC. La version finale est prvue pour Aout 2008. Concernant la stratgie de virtulisation de Microsoft, il est probable que Hyper-v soit utilis dans les futurs OS clients de Microsoft. En effet, assurer une compatibilit descendante des applications cote extrmement cher Microsoft. Il ne serait pas tonnant de voir l'hyperviseur utilis pour virtualiser des anciens OS dans les futurs systmes clients, cela dgagerait Microsoft du support descendant des anciennes applications...

Source : Labo Microsoft

Plus des Cours : Club Tutoriel informatique