Microsoft fait un pas en avant important dans le monde 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).
Hyper-V, le futur de la virtualisation pour Microsoft
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 soit 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. Or, 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 ressources 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 processeurs Intel et AMD ont intégré 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.
Or, 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 fait qu’émuler ces périphériques, et perd ainsi beaucoup en performances.
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 noeuds). 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 superpose 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ée parent) fonctionnant au même niveau que les autres. Dans cette architecture, les pilotes s’exécutent dans chacune des machines virtuelles pour un accès rapide aux périphériques.
Téléchargez cette ressource
Livre blanc Sécurité et Stockage des documents
Découvrez dans ce livre blanc Kyocera les outils logiciels qui permettent une approche holistique et efficace de la collecte, du stockage, de la gestion et de la sécurisation des documents en entreprise.