{"partition": "head_middle", "source_domain": "blogs.technet.com", "digest": "sha1:XVJHGPRRZ3THNS6GDTVHT3G72DISSFN5", "path": "/lustre/fsn1/projects/rech/qgz/uzq54wg/processed_redpajama/base_processing/output/fr/2014-15/000_00036.parquet"}
Faites le bon choix pour votre plateforme de virtualisation - Introduction - C:\>Windows Internals - L'équipe Française de Support Windows - Site Home - TechNet Blogs
Sign in C:\>Windows Internals - L'équipe Française de Support Windows
déploiement
La vie de l'équipe
NT Debugging
philipped
Volume Activation
Windows 7/2008 R2
WinPE
Faites le bon choix pour votre plateforme de virtualisation - Introduction
» C:\>Windows Internals - L'équipe Française de Support Windows
» Faites le bon choix pour votre plateforme de virtualisation - Introduction
GuillaumeD
Par curiosité personnelle et un peu professionnelle, je me suis intéressé depuis quelques temps à tout ce sur quoi repose Hyper-V pour fonctionner et fournir une plateforme de virtualisation performante.
Au fil de mes recherches et au vu du nombre de sujets à aborder, il m’a paru intéressant de reporter ce que j’ai pu comprendre dans une série de bulletins visant à démontrer que l’implémentation d’une plateforme de virtualisation ne reposait pas uniquement sur le choix du logiciel mais également sur le choix du matériel. En l’occurrence, le processeur, le chipset et les adaptateurs réseau.
La question amenée par cette série de bulletins ne se porte surtout pas sur le choix d’un fondeur particulier, AMD ou Intel®, mais plutôt sur le choix de l’anticipation.
Anticipation quant à la sélection des composants embarqués dans les serveurs que vous dédierez à la virtualisation avec les génération d’hypervisors à venir (bon… Hyper-V v2, on est d’accord ?).
Jusqu’à présent le choix des serveurs se limitait aux notions évidentes de performance et de capacité de leurs composants :
Fréquence du processeur, éventuellement la capacité des différents niveaux de cache, le nombre de cores, … Capacité de la mémoire physique, fréquence, … Capacité des cartes réseau (100MB/1GB/…) Etc… Tous ces critères restent valables pour la majorité des rôles endossés par la plupart des serveurs mais la virtualisation amène des nuances non négligeables qui peuvent faire la différence en terme de performances.
Il se peut cependant que j’enfonce des portes ouvertes étant donné que beaucoup de constructeurs de serveurs proposent déjà largement les technologies d’Intel® et d’AMD dans leurs plateformes. L’intérêt de ce bulletin et de ceux à venir consistera donc à mieux comprendre la forte adhérence du matériel avec les solutions de virtualisation.
Je tenterais de décrire dans cette série les produits et technologies d’AMD et d’Intel® listés ci-après et en expliquer les intérêts pour Hyper-V :
Intel® Processeurs de la série Intel® Xeon® 5500
Intel® VT Extended Page Table
Intel® VT FlexMigration
Intel® VT FlexPriority
Intel® VT-d et Intel® VT-c
AMD Processeurs de la série AMD Opteron™ Quad-Core
AMD Rapid Virtualization Indexing
AMD-V™ Extended Migration
AMD Direct Connect Architecture
Mais, tout d’abord, en guise d’introduction et pour bien comprendre l’intérêt de considérer différemment les plateformes de virtualisation des autres systèmes, une petite explication sur ce que représente le matériel pour les hypervisors que nous connaissons.
Le terme “hypervisor” étant barbare, je pourrais également utiliser le terme “VMM” (Virtual Machine Monitor) tout au long de ces bulletins.
Hardware-Assisted Virtualization (la virtualisation assistée par le matériel)
La virtualisation n’est pas un concept nouveau… loin de là. Ce n’est que ces dernières années que le sujet est revenu à l’ordre du jour avec l’accroissement massif du nombre de serveurs et le besoin de revenir vers des prétentions plus réalistes.
En effet, le principe de la virtualisation a déjà été abordé par IBM au début des années 1980 avec l’IBM VM/370 puis le System/370-XA qui tentaient de répondre (ou répondaient) aux besoins amenés par l’hébergement de plusieurs systèmes sur un seul hôte physique : la gestion des I/Os et la gestion de la mémoire.
Ensuite, après le large déferlement du processeur x86 sur le monde, ce fut au tour d’AMD et d’Intel® d’implémenter dans leurs processeurs des fonctions permettant aux acteurs actuels du logiciel de proposer leur hypervisor.
Mais en quoi cela consiste ? Rien de bien compliqué… Juste l’ajout d’instructions spécifiques dans les processeurs permettant la mise en oeuvre d’un VMM sur une plateforme matérielle.
Ce VMM a alors pour tâches de gérer l’exécution des machines virtuelles, de leur allouer un espace mémoire et de leur permettre l’accès aux périphériques matériels. Je reviendrais plus tard sur chacun de ces aspects.
Ca ne paraît rien comme ça mais ces quelques instructions ont permis (dans le monde des processeurs AMD et Intel®) de faire basculer notre conception des plateformes systèmes.
Plateforme serveur classique
Plateforme virtualisée
Les deux schémas ci-dessus permettent d’illustrer la différence entre une plateforme serveur classique et une plateforme virtualisée.
Je n’ai repris qu’un seul modèle d’hypervisor (qui cible les environnements de production) sur lequel s’appuie Hyper-V. Ce modèle, qui s’appelle Type 1 ou Bare-Metal, s’appuie pour sa part sur les technologies de virtualisation des deux fabricants pour fonctionner : Intel® VT (Intel® Virtualization Technology) pour l’un, AMD-V™ (AMD-Virtualization™) pour l’autre.
Virtualization for dummies – AMD Special Edition - PDF en anglais, pour les débutants !
Hardware Support for Efficient Virtualization - John Fisher-Ogden (University of California, San Diego) – Document en anglais donnant un aperçu assez global de la virtualisation.
Intel® 64 and IA-32 Architectures Software Developer's Manual Volume 2B: Instruction Set Reference, N-Z – Document en anglais plus pointu où l’on peut retrouver le détail des instructions implémentées pour la virtualisation (chapitre 5).
Windows Core Support Escalation Engineer