L’hyperviseur : intermédiaire pour la virtualisation

La virtualisation crée des possibilités techniques totalement nouvelles. Au lieu de construire un système complet (y compris le matériel et le système d’exploitation basé sur celui-ci), il est possible d’en créer simplement une version virtuelle - l’illusion d’un environnement PC, pour ainsi dire. Cette technique est utilisée, par exemple, dans le développement de logiciels pour créer un environnement de test sécurisé. Mais pour que cela fonctionne, une machine virtuelle doit être mise en place sur un système physique réel. Entre ces deux niveaux, il doit y avoir une instance qui se connecte sans être trop influencée par les niveaux physique ou virtuel. Par conséquent, une couche abstraite sert de médiateur : l’hyperviseur.

Qu’est-ce qu’un hyperviseur ?

Lorsque vous créez une machine virtuelle (VM), cette dernière va fonctionner sur la base d’une machine réelle non virtuelle - par exemple, sur un PC. La VM est donc dépendante du matériel physique. Il existe par conséquent une couche entre les deux couches qui est responsable de la gestion : l’hyperviseur. L’hyperviseur est un logiciel qui gère les ressources nécessaires. Également connu sous le nom de moniteur de machine virtuelle (ou Virtual Machine Monitor, VMM), il alloue de la mémoire, de l’espace disque, des composants réseau ou de la puissance de traitement au sein du système. Ainsi, plusieurs machines virtuelles différentes peuvent fonctionner sur un seul système hôte, puisque l’hyperviseur veille à ce qu’elles n’interfèrent pas entre elles et à ce que toutes disposent des capacités requises.

En principe, le système invité (c’est-à-dire la virtualisation) ne remarque pas les étapes d’organisation du VMM. Étant donné que les besoins changent constamment en fonction des programmes en cours, même pour les machines virtuelles, l’un des principaux avantages de l’hyperviseur est qu’il peut fournir des ressources en fonction de la demande. Le système est fait de telle sorte que la machine virtuelle n’a aucun moyen de détecter l’existence des autres machines fonctionnant sur le même matériel physique.

Remarque

La séparation stricte entre les différentes machines virtuelles assure non seulement une bonne répartition des ressources, mais renforce également la sécurité. L’hyperviseur garantit qu’un système invité ne peut pas accéder aux fichiers de l’autre système invité. Ceci est particulièrement important pour les tests, afin qu’un programme défectueux ne puisse pas endommager d’autres environnements de test.

Comme l’hyperviseur ne forme qu’une couche abstraite et représente un environnement matériel pour la machine virtuelle, le système invité n’est pas lié à un hyperviseur ou à un système hôte particulier. Cela rend la virtualisation de l’hyperviseur très intéressante pour les services Cloud : les fournisseurs de serveurs peuvent simplement déplacer l’environnement de test virtualisé vers une autre machine physique sans causer de problèmes pour les programmes s’exécutant dans la VM.

Le moniteur de machine virtuelle permet également aux utilisateurs de gérer des paramètres. Ainsi, les différents systèmes invités sont faciles à organiser et configurer. Dans la plupart des cas, les VM peuvent être créées, configurées, exécutées et même supprimées à l’aide d’une interface utilisateur graphique.

Les différents types de moniteurs de machines virtuelles

Il existe deux types différents de moniteurs de machines virtuelles, chacun ayant ses avantages spécifiques. La première variante que nous avons mentionnée est également la plus ancienne. Déjà dans les années 1960, des tentatives de virtualisation ont été faites avec cette technologie.

Hyperviseur de type 1

Le premier type est appelé hyperviseur bare metal ou hyperviseur natif. Cette forme de VMM est installée directement sur le matériel physique et n’est pas connectée au système d’exploitation hôte. Par conséquent, un tel hyperviseur doit inclure tout pilote périphérique lui-même. La consommation de ressources d’un hyperviseur de type 1 est relativement faible car la puissance de calcul ne doit pas passer par le système d’exploitation hôte. Ce type d’hyperviseur est principalement destiné aux utilisateurs qui veulent ainsi créer un serveur de virtualisation. Un hyperviseur de type 1 est trop complexe pour les petits projets destinés aux particuliers.

Hyperviseur de type 2

La deuxième variante (également appelée Hosted Hypervisor) nécessite un système d’exploitation existant, qui à son tour est basé sur le matériel physique. Un hyperviseur de type 2 est donc installé comme tout autre programme. La VMM gère ensuite la virtualisation. Les pilotes de périphériques ne doivent pas être installés dans l’hyperviseur, puisque le système d’exploitation réel peut simplement les transmettre au logiciel. Toutefois, cette commodité se fait au détriment de la performance. Une grande partie des ressources est déjà perdue pour le système d’exploitation hôte. En raison de leur installation et configuration simples, les hyperviseurs de type 2 sont parfaitement adaptés aux projets de moindre envergure.