Un hyperviseur, qu'est-ce que c'est ?
Un hyperviseur est un logiciel qui regroupe des ressources informatiques (calcul, mémoire, stockage) et qui les répartit entre plusieurs machines virtuelles. Cette technologie permet de virtualiser les ressources, ce qui signifie qu'il est possible de créer et d'exécuter de nombreuses machines virtuelles à partir d'une même machine physique.
Parfois appelé moniteur de machine virtuelle, un hyperviseur s'apparente à un superviseur chargé de répartir les composants des machines virtuelles. Il trouve ces ressources dans le matériel physique et les fournit simultanément à plusieurs machines virtuelles, ce qui permet d'en créer de nouvelles et de gérer celles qui existent déjà. 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 ».
Fonctionnement d'un hyperviseur
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.
Types d'hyperviseurs
La virtualisation peut être effectuée au moyen d'hyperviseurs de type 1 ou de type 2.
Hyperviseurs de 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.
Hyperviseurs de 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.
Ils fonctionnent en dissociant les systèmes d'exploitation invités du système d'exploitation hôte. Les ressources des machines virtuelles sont ordonnancé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.
Ressources Red Hat
Conteneurs et Machines virtuelles
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.
Questions de sécurité
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é.
Pourquoi choisir Red Hat pour la virtualisation ?
Vidéo : Is OpenShift Virtualization right for your VMs? (durée : 1 min 57 s)
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.
Migration des machines virtuelles et accélération de la transformation
Avec nos produits fiables et notre écosystème de partenaires, nous proposons aux entreprises des solutions de virtualisation complètes. Basée sur KVM et KubeVirt, la plateforme d'applications moderne Red Hat® OpenShift® Virtualization représente un environnement intéressant pour les machines virtuelles, car elle intègre des charges de travail virtuelles et conteneurisées qui augmentent la flexibilité sans engendrer de complexité. Pour une solution de virtualisation spécialisée, nous proposons également Red Hat OpenShift Virtualization Engine, une offre rationalisée et rentable qui sert exclusivement à déployer, gérer et mettre à l'échelle des machines virtuelles. Avec la boîte à outils de migration pour la virtualisation, les équipes peuvent lancer la migration en quelques étapes simples.
Automatisation de la migration
La solution Red Hat Ansible® Automation Platform automatise les processus pour accélérer la distribution, de la migration à grande échelle aux opérations de maintenance et de correction. Cette approche flexible permet d'automatiser les tâches afin d'accélérer l'exploitation informatique et d'améliorer son efficacité.
Gestion et modernisation au rythme de l'entreprise
La solution Red Hat Advanced Cluster Management permet de surveiller la sécurité et les performances des machines virtuelles à partir d'une seule console. Il existe d'autres options de prise en charge et intégrations de partenaires. Toutes ces solutions doivent permettre à nos clients d'assurer le bon fonctionnement de leur infrastructure virtuelle dans le cloud hybride et de moderniser leur environnement à leur rythme.
Évaluation de la migration de la virtualisation
L'évaluation de la migration de la virtualisation de Red Hat est un framework basé sur l'expérience qui vous aide à élaborer une stratégie adaptée à la migration de votre infrastructure de machines virtuelles.