|
Un hyperviseur joue un rôle crucial en tant que gestionnaire central des machines virtuelles (VM) dans un environnement de système d'exploitation (OS). Il agit comme intermédiaire entre le matériel physique et les VM, en extrayant les ressources matérielles et en les allouant à chaque VM selon les besoins. Voici un aperçu de ses fonctions clés :
1. Allocation et gestion des ressources :
* Virtualisation du processeur : L'hyperviseur planifie et alloue du temps CPU à chaque VM. Il garantit un partage équitable des ressources CPU et empêche une VM de monopoliser le CPU.
* Gestion de la mémoire : L'hyperviseur alloue et gère la RAM physique disponible sur la machine hôte. Il attribue une partie de la mémoire à chaque VM, isole les espaces mémoire pour éviter les interférences entre les VM et implémente des techniques de gestion de la mémoire telles que l'échange ou le ballonnement.
* Virtualisation des E/S : L'hyperviseur intercepte les requêtes d'E/S des machines virtuelles et les traduit en commandes compréhensibles par le matériel physique. Il virtualise les interfaces réseau, les contrôleurs de stockage et autres périphériques d'E/S, permettant à chaque VM d'accéder à ces ressources comme si elles étaient directement connectées.
* Virtualisation du stockage : L'hyperviseur présente des disques virtuels aux machines virtuelles, qui sont généralement stockés sous forme de fichiers sur le système de stockage de l'hôte. Il gère l'espace de stockage et fournit des fonctionnalités telles que le provisionnement dynamique (allocation de stockage à la demande) et les instantanés.
2. Isolement et sécurité :
* Isolement des processus : L'hyperviseur garantit que chaque VM s'exécute dans un environnement distinct et isolé. Cela empêche une VM d'accéder à la mémoire ou à d'autres ressources d'une autre VM, améliorant ainsi la sécurité et la stabilité. Si une VM plante, cela n’affecte pas les autres.
* Limites des ressources : L'hyperviseur peut imposer des limites de ressources sur chaque machine virtuelle, par exemple en limitant la quantité de processeur, de mémoire ou d'espace disque qu'elle peut utiliser. Cela permet d'éviter les conflits de ressources et garantit que toutes les machines virtuelles ont accès aux ressources dont elles ont besoin.
* Fonctionnalités de sécurité : De nombreux hyperviseurs incluent des fonctionnalités de sécurité intégrées, telles que des listes de contrôle d'accès (ACL) et le chiffrement, pour protéger les machines virtuelles et le système hôte contre tout accès non autorisé.
3. Abstraction et indépendance matérielle :
* Abstraction matérielle : L'hyperviseur masque le matériel sous-jacent aux machines virtuelles. Cela permet aux machines virtuelles de s'exécuter indépendamment de la configuration matérielle spécifique de la machine hôte. Ceci est crucial pour la portabilité :une VM peut être déplacée entre différents serveurs physiques sans modification à condition qu'ils disposent d'hyperviseurs compatibles.
* Émulation (pour les hyperviseurs de type 2) : Certains hyperviseurs (type 2, décrit ci-dessous) peuvent devoir émuler certains composants matériels si le système d'exploitation invité attend une architecture matérielle différente de celle de l'hôte. Cette émulation introduit une surcharge, elle est donc moins performante que la virtualisation.
4. Migration en direct :
* De nombreux hyperviseurs prennent en charge la migration en direct, ce qui permet de déplacer une VM d'un serveur physique à un autre sans aucun temps d'arrêt. Ceci est essentiel pour l’équilibrage de charge, la maintenance et la reprise après sinistre.
Types d'hyperviseurs :
* Type 1 (hyperviseurs Bare Metal) : Ceux-ci s'exécutent directement sur le matériel, sans système d'exploitation hôte. Ils sont très efficaces et sécurisés car ils ont un accès direct aux ressources matérielles. Les exemples incluent VMware ESXi, Microsoft Hyper-V (dans les configurations de serveur principal) et Xen.
* Type 2 (hyperviseurs hébergés) : Ceux-ci fonctionnent sur un système d’exploitation existant. Ils sont plus faciles à installer et à gérer, mais ils sont généralement moins efficaces que les hyperviseurs de type 1 car ils doivent partager les ressources matérielles avec le système d'exploitation hôte. Les exemples incluent VMware Workstation, Oracle VirtualBox et Parallels Desktop.
En résumé, l'hyperviseur est un composant essentiel dans tout environnement virtualisé. Il constitue la base de l'exécution de plusieurs systèmes d'exploitation sur une seule machine physique, permettant une utilisation, une isolation, une sécurité et une portabilité efficaces des ressources.
|