Un hy­per­vi­seur est un logiciel ou un mi­cro­lo­gi­ciel qui crée et gère des machines vir­tuelles en faisant abs­trac­tion des res­sources ma­té­rielles d’un or­di­na­teur physique et en les rendant ac­ces­sibles à plusieurs systèmes d’ex­ploi­ta­tion si­mul­ta­né­ment. Au lieu de cons­truire un système complet (y compris le matériel et le système d’ex­ploi­ta­tion basé sur celui-ci), vous créez sim­ple­ment une version virtuelle de celui-ci, soit l’illusion d’un en­vi­ron­ne­ment PC.

Comment fonc­tionne un hy­per­vi­seur ?

Lorsque vous créez une machine virtuelle (VM), celle-ci s’exécute sur la base d’une machine réelle, comme un PC. La VM est donc dé­pen­dante du matériel physique. C’est pourquoi il existe une couche chargée de la gestion entre les deux niveaux : l’hy­per­vi­seur. L’hy­per­vi­seur est un logiciel qui se charge de l’al­lo­ca­tion des res­sources. Également connu sous le nom de Virtual Machine Monitor (VMM) ou moniteur de machine virtuelle, il alloue des res­sources au sein du système. De cette manière, plusieurs machines vir­tuelles dif­fé­rentes peuvent fonc­tion­ner sur un système hôte, car l’hy­per­vi­seur veille à ce qu’elles ne se per­turbent pas mu­tuel­le­ment et à ce que toutes disposent des capacités né­ces­saires.

L’hy­per­vi­seur crée donc une couche d’abs­trac­tion entre le matériel et les systèmes d’ex­ploi­ta­tion qui s’y exécutent. Pour ce faire, il divise les res­sources ma­té­rielles en unités logiques et fait croire à chaque VM qu’elle dispose de son propre en­vi­ron­ne­ment. Les VM se com­por­tent ainsi comme si elles s’exé­cu­taient di­rec­te­ment sur du matériel réel, même si elles partagent leurs res­sources avec d’autres VM.

Note

La sé­pa­ra­tion stricte entre les dif­fé­rentes machines vir­tuelles assure non seulement une bonne ré­par­ti­tion des res­sources, mais renforce également la sécurité. Grâce à l’hy­per­vi­seur, il est garanti qu’un système invité ne peut pas accéder aux fichiers d’un autre système invité. Cela est par­ti­cu­liè­re­ment important lors de tests : ainsi, un programme dé­fec­tueux ne peut pas en­dom­ma­ger d’autres en­vi­ron­ne­ments de test.

Gestion de la mémoire

Lors de la vir­tua­li­sa­tion CPU, l’hy­per­vi­seur utilise des tech­niques telles que le time-slicing pour répartir équi­ta­ble­ment la puissance de calcul entre les VM. Les pro­ces­seurs modernes disposent de fonctions de vir­tua­li­sa­tion spéciales (par exemple Intel VT-x ou AMD-V) qui prennent en charge l’hy­per­vi­seur et réduisent les frais généraux.

En revanche, la mémoire vive (RAM) est gérée par des tech­niques de pa­gi­na­tion et de mappage. L’hy­per­vi­seur attribue des adresses mémoire vir­tuelles aux blocs de mémoire physiques, de sorte que chaque VM ne voit que sa propre zone de mémoire. Lorsque la mémoire se fait rare, il peut utiliser des mé­ca­nismes tels que l’over­com­mit­ment de la mémoire ou le bal­loo­ning pour répartir ef­fi­ca­ce­ment la mémoire entre les VM.

Gestion des E/S et des pé­ri­phé­riques

Les machines vir­tuelles accèdent aux pé­ri­phé­riques matériels tels que les disques durs, les cartes réseau ou les cartes gra­phiques via des in­ter­faces vir­tuelles. L’hy­per­vi­seur émule ces pé­ri­phé­riques ou transmet les requêtes di­rec­te­ment au matériel physique (tech­niques d’E/S directes ou de pass-through). Cela permet d’assurer un équilibre entre com­pa­ti­bi­lité et per­for­mances.

Isolation et sécurité

L’un des prin­ci­paux avantages de la vir­tua­li­sa­tion est l’isolation entre les VM. Chaque VM fonc­tionne dans son propre en­vi­ron­ne­ment, de sorte que les erreurs ou les attaques dans une VM n’ont pas d’impact direct sur les autres machines vir­tuelles ou le système hôte. L’hy­per­vi­seur utilise dif­fé­rents mé­ca­nismes de sécurité pour assurer une sé­pa­ra­tion stricte, notamment la pro­tec­tion de la mémoire, les contrôles d’accès et les tech­niques de sand­boxing.

Conseil

Si vous souhaitez également utiliser une machine virtuelle, vous avez le choix entre dif­fé­rents logiciels de vir­tua­li­sa­tion. Pour les uti­li­sa­teurs finaux, Vir­tual­Box ou Hyper-V la solution de vir­tua­li­sa­tion de Microsoft, sont par exemple un choix approprié. Pour les grandes en­tre­prises, la suite de vir­tua­li­sa­tion de VMware Broadcom est l’un des choix possibles.

Les dif­fé­rents types d’hy­per­vi­seurs

Il existe deux types dif­fé­rents de moniteurs de machine virtuelle : les hy­per­vi­seurs de type 1 et de type 2. Chacun possède des avantages spé­ci­fiques. La première variante est également la plus ancienne. Déjà dans les années 1960, des ten­ta­tives de vir­tua­li­sa­tion ont été faites avec cette tech­no­lo­gie.

Hy­per­vi­seur de type 1

Le premier type est appelé bare metal hy­per­vi­sor ou hy­per­vi­seur natif. Cette forme de VMM est installée di­rec­te­ment sur le matériel physique et n’est pas connectée au système d’ex­ploi­ta­tion hôte. Par con­sé­quent, il doit inclure tout pilote pé­ri­phé­rique lui-même. La con­som­ma­tion de res­sources d’un hy­per­vi­seur de type 1 est re­la­ti­ve­ment faible car la puissance de calcul ne doit pas passer par le système d’ex­ploi­ta­tion hôte. Ce type d’hy­per­vi­seur est prin­ci­pa­le­ment destiné aux uti­li­sa­teurs qui veulent créer un serveur de vir­tua­li­sa­tion. Un hy­per­vi­seur de type 1 est trop complexe pour les petits projets destinés aux par­ti­cu­liers.

Image: Représentation de la fonctionnalité de l’hyperviseur de type 1
Un hy­per­vi­seur de type 1 se trouve di­rec­te­ment sur le hardware.

Hy­per­vi­seur de type 2

La deuxième variante (également appelée hosted hy­per­vi­sor)* nécessite un système d’ex­ploi­ta­tion existant*, qui à son tour est basé sur le matériel physique. Un hy­per­vi­seur de type 2 est donc installé comme tout autre programme. La VMM gère ensuite la vir­tua­li­sa­tion. Les pilotes de pé­ri­phé­riques ne doivent pas être installés dans l’hy­per­vi­seur, puisque le système d’ex­ploi­ta­tion réel peut sim­ple­ment les trans­mettre au logiciel. Toutefois, cette commodité se fait au détriment de la per­for­mance. Une grande partie des res­sources est déjà consommée par le système d’ex­ploi­ta­tion hôte. En raison de leur ins­tal­la­tion et con­fi­gu­ra­tion simples, les hy­per­vi­seurs de type 2 sont par­fai­te­ment adaptés aux projets de moindre envergure.

Image: Représentation de la fonctionnalité de l’hyperviseur de type 2
L’hy­per­vi­seur de type 2 est installé sur un système d’ex­ploi­ta­tion existant.
Compute Engine
La solution IaaS idéale pour gérer vos charges de travail
  • vCPU aux coûts avan­ta­geux et cœurs dédiés per­for­mants
  • Sans en­ga­ge­ment pour plus de flexi­bi­lité
  • As­sis­tance par des experts 24h/24 et 7j/7 incluse
Aller au menu principal