Hyper-v

Un article de Wikipédia, l'encyclopédie libre.

Hyper-V, dont le nom de code est Viridian, est plus connu sous le nom de Windows Server Virtualization. Il s’agit d’un système de virtualisation basé sur un hyperviseur 64 bits de la version de Windows Serveur 2008. La disponibilité de Hyper-V est prévue 180 jours après la sortie de Windows Serveur 2008. Hyper-V sera aussi disponible sous une offre autonome sans les fonctionnalités de Windows Serveur 2008. Cette version sera commercialisée sous le nom de Microsoft Hyper-V Serveur. La Release Candidate de Windows Serveur 2008 inclus une version béta de Hyper-V.

Sommaire

[modifier] Architecture

Hyper-V utilise le concept des partitions pour isoler les machines virtuelles. Une partition est une unité logique d’isolation, supportée par l’hyperviseur, dans laquelle s’exécute un système d’exploitation. L’instance de l’hyperviseur requiert la présence d’au moins une partition parent qui exécute Windows Serveur 2008. La couche de virtualisation s’exécute dans la partition parent et dispose d’un accès direct aux périphériques matériels. La partition parent crée ensuite des partitions enfants dans lesquelles s’exécutent les systèmes d’exploitation. La partition parent crée les partitions enfants en faisant appel a l’API Hypercall, qui est l’interface de programmation exposée par Hyper-V.

Une partition virtuelle n’a pas accès au microprocesseur. En fait elle a une vue virtuelle du microprocesseur et s’exécute dans le Guest Virtual Address, qui en fonction de la configuration de l’hyperviseur, peut ou pas être la totalité de l’espace d’adressage virtuel. Un hyperviseur peut choisir de n’exposer qu’un sous ensemble des processeurs a chaque partition. L’hyperviseur intercepte les interruptions du processeur et les redirige vers les partitions respectives en utilisant la logique de Synthetic Interrupt Controller (SynIC). Hyper-V utilise les accélérations matérielles pour translater les adresses entre les différents espaces d’adressage virtuels des partitions enfants en utilisant IOMMU (I/O Memory Management Unit) qui fonctionne indépendamment du gestionnaire de la mémoire physique utilisé par le processeur.

Les partitions enfants n’ont pas accès directement aux ressources matérielles, bien qu’elles aient une vue virtuelle de celles-ci en terme de périphériques virtuels. Chaque appel a un périphérique virtuel est redirigé via le VMBus vers son périphérique correspondant dans la partition parent qui prendra en charge la requête. Le VMBus est un canal logique qui permet la communication entre les partitions. La réponse est aussi redirigée par le VMBus. Si les périphériques de la partition parent sont aussi des périphériques virtuels, ils seront redirigés jusqu’a ce qu’ils atteignent la partition parent ou ils pourront accéder aux périphériques physiques. La partition parent exécute un Virtualization Service Provider (VSP) qui est connecté au VMBus et intercepte les requêtes des périphériques des partitions enfants. Les périphériques virtuels des partitions enfants exécutent un Virtualization Service Consumer (VSC) qui redirige les requêtes vers les VSP de la partition parent via le VMBus. Ce processus est complètement transparent pour le système d’exploitation de la partition enfant.

Les périphériques virtuels peuvent aussi tirer parti d’une fonctionnalité de Windows Server Virtualization, appelée Enlightened I/O, pour le stockage, le réseau et le sous-système graphique. Enlightened I/O permet à des protocoles de haut niveau, comme SCSI, de bénéficier directement des avantages du VMBus en détournant tout accès à la couche émulée d’un périphérique. Cela rend les communications plus efficaces mais nécessite que le système d’exploitation de la partition enfant supporte les fonctions Enlightened I/O.

[modifier] Voir aussi

[modifier] Articles connexes

[modifier] Liens et documents externes