Jump to section

Un hyperviseur, qu'est-ce que c'est ?

Copier l'URL

Un hyperviseur est un logiciel qui crée et exécute des machines virtuelles. Également appelé moniteur de machine virtuelle, l'hyperviseur isole le système d'exploitation et les ressources des machines virtuelles, dont il permet la création et la gestion.

Lorsqu'il est utilisé en tant qu'hyperviseur, le matériel physique est appelé « hôte », tandis que toutes les machines virtuelles qui utilisent ses ressources sont appelées « invités ».

L'hyperviseur traite les ressources (processeur, mémoire, stockage) sous la forme d'un pool qu'il est facile de réallouer entre les invités existants et les nouvelles machines virtuelles.

Pour exécuter des machines virtuelles, tous les hyperviseurs ont besoin de certains composants au niveau du système d'exploitation : gestionnaire de mémoire, ordonnanceur, pile d'entrées/sorties (E/S), pilotes de périphériques, gestionnaire de la sécurité, pile réseau, etc.

L'hyperviseur distribue à chaque machine virtuelle les ressources qui ont été allouées et gère la planification des ressources des machines virtuelles en fonction des ressources physiques. Le matériel se charge toujours de l'exécution, de sorte que le processeur continue d'exécuter les instructions demandées par les machines virtuelles, par exemple, tandis que l'hyperviseur gère la planification.

Différents systèmes d'exploitation peuvent s'exécuter en parallèle et partager les mêmes ressources matérielles virtualisées avec un hyperviseur. Il s'agit là d'un avantage clé de la virtualisation. Sans cette technologie, un seul système d'exploitation peut s'exécuter sur le matériel. 

Il existe une multitude d'hyperviseurs, issus de la communauté Open Source ou proposés par des fournisseurs traditionnels. VMware est l'un des principaux fournisseurs de solutions de virtualisation. L'entreprise propose notamment l'hyperviseur ESXi et la plateforme de virtualisation vSphere.

KVM (Kernel-based Virtual Machine) est une technologie Open Source intégrée au noyau Linux®.Il existe d'autres options telles que Xen, un logiciel Open Source, et Microsoft Hyper-V. 

La virtualisation peut être effectuée au moyen d'hyperviseurs de type 1 ou de type 2.

Type 1

Également appelés hyperviseurs natifs ou bare metal, les hyperviseurs de type 1 s'exécutent directement sur le matériel de l'hôte pour gérer des systèmes d'exploitation invités. Ce type d'hyperviseur remplace le système d'exploitation hôte et planifie les ressources des machines virtuelles directement sur le matériel. 

Ces hyperviseurs sont les plus couramment utilisés dans les datacenters d'entreprise ou d'autres environnements basés sur un serveur.

KVM, Microsoft Hyper-V et VMware vSphere sont des hyperviseurs de type 1. La technologie KVM ayant été intégrée au noyau Linux en 2007, toutes les versions récentes de Linux y donnent normalement accès. 

Type 2

Également appelés hyperviseurs hébergés, les hyperviseurs de type 2 s'exécutent sur un système d'exploitation traditionnel en tant que couche logicielle ou application.

Ce type d'hyperviseur fonctionne en isolant les systèmes d'exploitation invités du système d'exploitation hôte. Les ressources des machines virtuelles sont planifiées sur un système d'exploitation hôte, qui est ensuite exécuté sur le matériel. 

Les hyperviseurs de type 2 sont plus adaptés pour les utilisateurs individuels qui souhaitent exécuter plusieurs systèmes d'exploitation sur un ordinateur personnel. 

VMware Workstation et Oracle VirtualBox sont des hyperviseurs de type 2. 

Les conteneurs et les machines virtuelles semblent globalement similaires. Il s'agit d'environnements informatiques en paquets qui associent divers composants et les isolent du reste du système. Ces environnements offrent toutefois différents niveaux d'évolutivité et de portabilité. 

Un conteneur est un processus ou un ensemble de processus isolés du reste du système. Le conteneur permet au processus d'accéder uniquement aux requêtes de ressources spécifiées. Ces limites permettent de s'assurer que le conteneur peut s'exécuter sur un nœud qui présente des capacités suffisantes.

Les machines virtuelles intègrent leur propre système d'exploitation et peuvent ainsi exécuter simultanément plusieurs fonctions gourmandes en ressources. Grâce aux gros volumes de ressources auxquels elles ont accès, les machines virtuelles peuvent dissocier, séparer, dupliquer et émuler des serveurs, des systèmes d'exploitation, des postes de travail, des bases de données et des réseaux entiers. 

L'hyperviseur est également capable d'exécuter plusieurs systèmes d'exploitation sur les machines virtuelles, tandis que les conteneurs ne peuvent exécuter qu'un seul type de système d'exploitation. Par exemple, un conteneur exécuté sur un serveur Linux ne pourra exécuter qu'un système d'exploitation Linux. 

Les conteneurs sont parfois considérés comme une solution de remplacement pour les hyperviseurs. Cette approche n'est pas tout à fait juste, puisque les conteneurs et la virtualisation répondent à des besoins différents.

Une machine virtuelle fournit un environnement isolé du reste du système. Ainsi, il ne peut y avoir aucune interférence entre les programmes exécutés au sein d'une machine virtuelle et sur le matériel hôte.

Parce que les machines virtuelles sont isolées, celles qui sont compromises n'affectent pas le système dans son ensemble. 

Toutefois, le piratage d'un hyperviseur peut avoir des conséquences pour toutes les machines virtuelles qu'il gère, ce qui rend les données de chaque machine virtuelle vulnérables. 

Les protocoles et les exigences de sécurité dépendent du type d'hyperviseur utilisé.

Un hyperviseur fournit la base nécessaire à toute plateforme de virtualisation. Nous soutenons le développement de solutions de virtualisation depuis longtemps, en améliorant l'hyperviseur KVM et en contribuant aux projets KVM et oVirt depuis la création de ces deux communautés.

Composant de Red Hat OpenShift, Red Hat OpenShift® Virtualization permet aux équipes informatiques d'intégrer des machines virtuelles à des workflows conteneurisés. En exécutant une machine virtuelle dans un conteneur, les équipes peuvent déployer et gérer les machines virtuelles parallèlement aux conteneurs sur une seule et même plateforme. Les entreprises peuvent ainsi tirer parti des investissements déjà réalisés en matière de virtualisation, et profiter de la simplicité et de la rapidité qu'offre cette plateforme d'applications moderne.

Les machines virtuelles existantes peuvent être migrées depuis d'autres plateformes vers la plateforme d'applications OpenShift à l'aide d'outils de migration gratuits et faciles à utiliser. Les machines virtuelles ainsi créées sont exécutées parallèlement aux conteneurs sur les mêmes nœuds Red Hat OpenShift.

Pour aller plus loin

ARTICLE

Conteneurs et machines virtuelles

Les conteneurs Linux et les machines virtuelles sont des environnements informatiques en paquets qui associent divers composants et les isolent du reste du système.

ARTICLE

Une machine virtuelle, qu'est-ce que c'est ?

Une machine virtuelle est un environnement informatique isolé créé par l'abstraction des ressources d'une machine physique.

ARTICLE

KVM, qu'est-ce que c'est ?

KVM (Kernel-based Virtual Machine) est une technologie de virtualisation Open Source qui transforme Linux en hyperviseur.

En savoir plus sur la virtualisation

Produits

Base de cloud hybride cohérente pour la création et la mise à l'échelle d'applications conteneurisées.

Plateforme de virtualisation du matériel et d'organisation des ressources dans le cloud.

Ressources

Formations

Cours gratuit

Présentation technique de la virtualisation et de la migration d'infrastructure