Windows | Windows Server | Active directory | Exchange | SharePoint | SCCM | SCOM | Hyper-V | App-V
ACCUEIL Facebook Twitter Linked In Viadeo Flux RSS
Chapitres
1 Présentation d'Hyper-V
2 Administration d’un ou plusieurs serveurs Hyper-V
3 Gestion des machines virtuelle.
4 Hyper-V et la haute disponibilité
5 Conclusion

Articles suivants

Articles précédents
Nouveautés de Windows Server 2016 CTP2
Histoire de Microsoft et chronologie
Windows 10: Découvrez les nouveautés !
System Center 2012 Orchestrator: Présentation
Optimisation des performances d'un environnement Hyper-V


Publié le : 03/02/2008 09:45:00
Mise à jour le : 14/10/2011 22:35:59
Catégories :


Version imprimable

Auteur(s)

Saïda AZIRI (Membre depuis le 12/02/2007 17:31:06)
Société : Microsoft
Fonction : Consultant
Contactez cet auteur - Affichez les ressources de cet auteur
Loïc THOBOIS (Membre depuis le 04/09/2007 17:50:01)
Société : AVAEDOS
Fonction : Consultant / Formateur
Contactez cet auteur - Affichez les ressources de cet auteur

Hyper-V, l'avenir de la virtualisation selon Microsoft


1 Présentation d'Hyper-V

Microsoft fait un pas en avant important dans le monde de la virtualisation avec une intégration poussée de cette technologie dans la dernière génération de son système d’exploitation serveur, Windows server 2008.

Ce module de virtualisation sera disponible en version finale 180 jours après la sortie du système d’exploitation.

Cet article a pour but de vous fournir un aperçu des fonctionnalités d’Hyper-V, aussi connu sous le nom de Windows Server Virtualisation ou Viridian.

Toutes les notions et procédures présentées dans cet article sont basées sur la version de Windows Server 2008 RC1 avec Hyper-V bêta.

  

Un système d’exploitation dédié à la virtualisation appelé Microsoft Hyper-V Server est aussi en préparation. Ce système verra le jour par la suite mais il ne faudra pas confondre Hyper-V (fonctionnalité de Windows 2008) et Hyper-V Server (système dédié et autonome).

1.1 Pourquoi passer à la virtualisation ?

La Virtualisation présente de nombreux avantages :

  • Réduction des coûts d’acquisition du matériel. Le besoin en serveurs est moins important et l’utilisation du matériel et des ressources est optimisée.
  • Réduction de la consommation électrique et de la place occupée par les serveurs.
  • Simplification la mise en place de plateformes de test ou de production en réduisant le temps de mise à disposition d’un serveur. La gestion du parc machine est plus facile ce qui allège la charge des administrateurs.
  • Augmentation de la disponibilité des serveurs avec une reprise d’activité plus rapide que pour une machine physique…
  • Réduction du coût total de possession ou TCO (Total Cost of Ownership).

1.2 Les technologies de virtualisation actuelles

Avant de rentrer dans les spécificités de l’implémentation réalisée par Microsoft, voici un état des lieux des technologies et des différentes mises en oeuvre que l’on trouve sur le marché.

La virtualisation peut être définie comme un ensemble de technologies qui permettent de faire fonctionner simultanément plusieurs systèmes d'exploitation sur une seule machine.

Pour cela, on passe par un moniteur de machines virtuelles (aussi appelé hyperviseur ou VMM) qui aura pour charge la virtualisation et la répartition des ressources du matériel physique.

Pour atteindre cet objectif, il est nécessaire que l’exécution des instructions du processeur du système émulé ne soient pas directement réalisée par le CPU physique ce qui outrepasserait le moniteur de machines virtuelles et interférerait avec le système hôte.

Hors l’architecture x86 possède 17 instructions qui sont justement interprétées directement par le processeur ce qui nécessite la mise en place de moyen détournés pour sa virtualisation.

On dénombre trois grandes techniques pour la virtualisation d’un processeur x86 :

  • L’émulation qui a pour objectif de créer un interpréteur de toutes les instructions du processeur. Les instructions de la machine émulée ne sont donc jamais directement exécutées par le processeur physique. Cette solution est très coûteuse en ressource mais permet une indépendance totale entre l’architecture physique et l’architecture émulée (On peut notamment citer l’émulation d’un processeur x86 sur une architecture PowerPC avec Virtual PC pour Mac).
  • La virtualisation telle qu’on la connaît (avec des produits comme Virtual Server ou VMware ESX) analyse les instructions pour identifier celles qui sont sensibles et émule le fonctionnement de celles-ci. Les autres instructions sont exécutées par le processeur ce qui est moins pénalisant que de tout émuler.

            

  • La para-virtualisation met en place pour sa part une communication entre le moniteur de machine virtuelle (hyperviseur) et le système invité (émulé). Pour éviter les 17 instructions problématiques, les systèmes invités effectuent des appels au moniteur de machine virtuelle (hypercalls) afin de le prévenir. C’est le principe le plus performant mais il nécessite un système émulé modifié pour fonctionner.

Suite au déploiement rapide de la virtualisation dans les entreprises, les fabricants de processeur Intel et AMD ont intégrés de nouvelles instructions permettant entre autres de faciliter cette virtualisation. Elles permettent notamment de ne plus utiliser les 17 instructions sensibles dans les systèmes émulés et rendent donc les techniques précédentes inutiles dans la plupart des cas.

Tout ceci serait plutôt "simple" si la virtualisation ne concernait que le processeur. Hors tous les composants d’une machine doivent être virtualisés : la mémoire, les contrôleurs de disques et les contrôleurs réseaux.

Concernant la mémoire, il faut intercepter les accès des environnements émulés afin de les rediriger vers des zones mémoires dédiées.

Pour les contrôleurs de disques et réseau, il faut virtualiser les cartes contrôleurs afin d’en tirer le meilleur rendement. La plupart des produits actuels ne font qu’émuler ces périphériques, et perdent ainsi beaucoup en performance.

1.3 Présentation du rôle Hyper-V

Hyper-V se caractérise par les fonctionnalités suivantes:

  • Virtualisation des serveurs physiques 32 et 64 bits. Permet d’héberger des machines virtuelles multiprocesseurs et 64 bits ce que Virtual Server ne permet pas.
  • Support de la mise en cluster des machines virtuelles (jusqu'à 16 nœuds). Permet d’assurer la haute disponibilité des machines virtualisées. Les fonctions de géo-cluster permettant de mettre en oeuvre des PRA (plans de reprise d’activité) de grande envergure.
  • Nouvelle architecture de prise en charge matérielle. Exploite au mieux les instructions dédiées à la virtualisation des processeurs actuels. Facilite l'accès aux périphériques de base (disques, mise en réseau, vidéo, etc.) ainsi que leur utilisation avec l’architecture VSP/VSC (fournisseur et client de services virtuels).

Plus connu sous le nom de « hyperviseur » ou encore « viridian », Hyper-V s’intègre complètement dans Windows Server 2008. Il permet l’émulation de nombreuses machines virtuelles sur une seule machine physique sans qu’il soit nécessaire d’installer un logiciel tiers.

Chaque machine virtuelle tourne dans son propre environnement, ce qui permet une grande flexibilité pour faire tourner plusieurs systèmes d’exploitation et applications.

Actuellement, une multitude de couches se superposent entre le système d’exploitation principal, les pilotes de périphériques, le logiciel de virtualisation et les machines virtuelles. Ce mode de fonctionnement alourdit l’exécution des machines virtuelles qui se retrouvent éloignées du matériel.

L’architecture d’Hyper-V a pour objectif de donner aux machines virtuelles l’accès le plus direct au matériel de la machine physique en réduisant le nombre de couches. Pour cela, le système d’exploitation principal devient une machine virtuelle (appelé parent) fonctionnant au même niveau que les autres. Dans cette architecture, les pilotes s’exécutent dans chaque des machines virtuelles pour un accès rapide aux périphériques.

1.4 Pré-requis et licences

Hyper-V requiert la configuration matérielle minimum suivante pour être installé :

  • Un processeur 64 bits. En effet, l’hyperviseur ne fonctionne qu’avec des plateformes 64 bits comme Windows Server 2008 x64 Standard, Windows Server 2008 x64 Enterprise et Windows Server 2008 x64 Datacenter.
  • Une Virtualisation assistée par matériel AMD-V (AMD Virtualization, connu sous le nom de code " Pacifica") ou Intel VT (Virtualization Technologie).
  • Une protection matérielle de l'exécution des données (Cette fonctionnalité empêche le processeur d’exécuter des instructions en mémoire qui n’ont pas été chargés en tant que programme mais en tant que données).

Concernant les coûts, le prix est très attractif car la licence sera de 28$.

Cette licence intégrera non seulement les droits d’utilisation du rôle Hyper-V mais aussi des licences pour les instances virtuelles qu’il exécutera. Le nombre d’instance fourni avec la licence varie en fonction des éditions de Windows Server 2008. En l’occurrence :

  • Une instance virtuelle pour Windows Server 2008 Standard.
  • Quatre instances virtuelles pour Windows Server 2008 Enterprise.

Un nombre illimité d’instance pour Windows Server 2008 Datacenter.

                        

1.5 Installation du rôle Hyper-V

L'installation d’Hyper-V peut se faire soit sur une version complète de Windows server 2008, soit sur une version Windows Server 2008 Core Edition

Attention : Pour installer Hyper-V dans la version RC1 de Windows Server 2008, il faut que tous les paramètres lors de l’installation soient en anglais.

Une fois l’installation d’Hyper-V terminée, vous pouvez repasser en Français et en clavier AZERTY.

1.5.1 Installation d'Hyper-V sur une édition Windows Server Core

L'installation d’Hyper-V sur une version Windows Server 2008 Core Edition se fait en ligne de commande en utilisant la commande ocsetup.exe.

Pour lancer l'installation d'Hyper-V, taper les commandes suivantes :

bcdedit /set hypervisorlaunchtype auto

Start /w ocsetup Microsoft-Hyper-V

Redémarrer le serveur une fois les commandes exécutées.

La première commande permet de charger l’hyperviseur pendant le redémarrage. (Si vous n’exécutez pas cette commande, vous devrez redémarrer deux fois le serveur).

L’hyperviseur est à présent installé sur votre serveur Core.

1.5.2 Gestion d'Hyper-V sur une édition Windows Server Core

L’administration de l’hyperviseur se fait depuis une édition complète de Windows Server 2008. En effet, l’interface graphique et beaucoup de composants ne sont pas présents, ce qui a pour effet de réduire les risques de faille de sécurité. De plus, cette configuration permet d'économiser les ressources du serveur sur lequel elle est exécutée (mémoire, processeur etc.).

Pour se connecter à un serveur core distant, utilisez soit la console Hyper-V Manager, soit sélectionnez le composant logiciel enfichable Microsoft Hyper-V Servers dans une console MMC et choisissez « Se connecter à ».

1.5.3 Virtual Machine Connection

L’outil Virtual Machine Connection permet de prendre le contrôle des machines virtuelles distantes ou locales. Grâce à cet outil, vous pouvez vous connecter sur le serveur virtuel distant et utiliser votre clavier et votre souris physique. Vous contrôlez ainsi la machine virtuelle de la même façon qu’avec l’outil VMRC sous Virtual server.

Cet outil utilise le protocole RDP pour transférer le déport de l’écran, du clavier et de la souris des machines virtuelles.

1.5.4 Installation d’Hyper-V sur une édition Windows 2008 server complète

L’installation du rôle Windows Server Virtualisation s’effectue depuis la console Server Manager à partir de laquelle on installe le rôle Hyper-V sur le serveur.

La console Server Manager permet une administration simplifiée en utilisant une console centralisée pour ajouter et gérer différents rôles, cette console permet aussi de définir l'état du serveur, visualiser les évènements critiques et analyser les erreurs de configurations.

Une fois installé, le rôle Hyper-V s'ajoute dans la console Server Manager. Déroulez l'arborescence de Rôles. Aller dans Hyper-V depuis la console Server Manager.

Pour supprimer le rôle : Allez dans la console Server Manager. Dans la zone roles Summary, cliquez sur remove roles.