Jump to section

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

Copier l'URL

Une machine virtuelle est un environnement de calcul qui fonctionne comme un système isolé, avec son propre processeur, sa mémoire, son interface réseau et son espace de stockage, créé à partir d'un pool de ressources matérielles. L'hyperviseur est le logiciel qui isole les ressources de calcul nécessaires et qui permet la création et la gestion des machines virtuelles.

La machine physique qui exécute les machines virtuelles est appelée machine hôte, ordinateur hôte, système d'exploitation hôte, ou simplement hôte. Les nombreuses machines virtuelles qui utilisent les ressources sont des machines invitées, des ordinateurs invités, des systèmes d'exploitation invités ou simplement des invités. L'hyperviseur traite les ressources de calcul (processeur, mémoire, stockage) sous la forme d'un pool de ressources qui peut être déplacé sans difficulté entre les invités existants ou vers de nouvelles machines virtuelles.

Les machines virtuelles permettent d'exécuter simultanément plusieurs systèmes d'exploitation sur un seul ordinateur, comme une  distribution Linux® sur un système MacOS ou Windows. Chacun des systèmes d'exploitation s'exécute sur le matériel hôte comme le ferait n'importe quel autre système d'exploitation ou application. L'expérience de l'utilisateur final émulée au sein de la machine virtuelle est donc quasiment identique à celle qu'offre un système d'exploitation exécuté en temps réel sur une machine physique. 

La virtualisation est une technologie qui utilise des ressources généralement liées au matériel. Elle permet d'exploiter toute la capacité d'une machine physique en la répartissant entre de nombreux utilisateurs ou environnements différents.

Il existe différents types de virtualisation :

  • La virtualisation de données, qui permet aux entreprises de regrouper des sources de données pour créer un stock dynamique

  • La virtualisation des postes de travail, qui permet à l'administrateur principal de déployer et contrôler plusieurs environnements de postes de travail simulés

  • La virtualisation des serveurs, qui permet aux administrateurs de partitionner des serveurs en plusieurs configurations associées à des fonctions spécifiques

  • La virtualisation des systèmes d'exploitation, qui permet l'exécution de plusieurs systèmes d'exploitation sur un même ordinateur

  • La virtualisation des fonctions réseau, qui sépare les fonctions d'un réseau (telles que les services d'annuaire, le partage de fichiers et la configuration des adresses IP) afin de les répartir entre les différents environnements

Une machine virtuelle peut être définie par un fichier numérique que l'on peut transférer d'un ordinateur à un autre, ouvrir sur l'un ou l'autre et utiliser de la même manière. L'hyperviseur se charge de gérer le matériel et de séparer les ressources physiques des environnements virtuels. Ces ressources sont partitionnées selon les besoins à partir de l'environnement physique et distribuées aux machines virtuelles. 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 l'ordonnancement.

Lors de l'exécution d'une machine virtuelle, si un utilisateur ou un programme lance une instruction qui sollicite des ressources supplémentaires de la part de l'environnement physique, l'hyperviseur ordonnance la demande auprès des ressources du système physique afin que le système d'exploitation et les applications de la machine virtuelle puissent accéder au pool partagé de ressources physiques.

Dans les environnements Linux®, l'hyperviseur intégré est KVM (Kernel-based Virtual Machine). Il existe d'autres options telles que Xen, un logiciel Open Source, et Microsoft Hyper-V.

Deux types d'hyperviseurs peuvent être utilisés pour virtualiser des ressources.

Type 1

Un hyperviseur de type 1 s'installe sur un système bare metal. L'hyperviseur ordonnance directement les ressources des machines virtuelles sur le matériel. La solution KVM est un hyperviseur de type 1.

Type 2

Un hyperviseur de type 2 est hébergé. 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. VMware Workstation et Oracle VirtualBox sont des exemples d'hyperviseurs de type 2. 

Avec la virtualisation, différents systèmes d'exploitation peuvent s'exécuter en parallèle et partager les mêmes ressources matérielles virtualisées. Sans cette technologie, un seul système d'exploitation peut s'exécuter sur le matériel.

La consolidation des serveurs est l'une des principales raisons qui justifient l'utilisation de machines virtuelles. La plupart des systèmes d'exploitation et des applications n'utilisent qu'une petite partie des ressources physiques disponibles lorsqu'ils sont déployés sur un système bare metal. La virtualisation des serveurs permet de disposer de nombreux serveurs virtuels sur chaque serveur physique, avec à la clé une optimisation de l'utilisation du matériel.

Il devient inutile d'acheter des ressources physiques supplémentaires, notamment des disques durs, et les besoins en matière d'alimentation, d'espace et de refroidissement dans le datacenter sont réduits. Les machines virtuelles offrent des fonctions de récupération après sinistre supplémentaires, car elles disposent de capacités de basculement et de redondance qu'il n'était auparavant possible d'obtenir qu'avec du matériel supplémentaire.

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.

Comme les machines virtuelles sont isolées, elles peuvent être utilisées pour tester de nouvelles applications ou mettre en place un environnement de production. Il est également possible d'exécuter une machine virtuelle réservée à un processus spécifique.

La virtualisation est l'une des technologies à la base du cloud computing. Les environnements de cloud privé et public virtualisent des ressources dans des pools partagés avec un plus haut niveau de contrôle administratif et les distribuent au moyen de fonctions automatisées en libre-service.

Les logiciels de virtualisation, de gestion et d'automatisation qui permettent de créer les environnements cloud s'appuient sur le système d'exploitation, qui assure la connexion entre les ressources physiques, les pools de données virtuels, les logiciels de gestion, les scripts d'automatisation et les clients.

Chez Red Hat, nous contribuons depuis de nombreuses années au développement de logiciels de virtualisation Open Source. Aujourd'hui, nous proposons à nos clients Red Hat® OpenShift® Virtualization, un composant de Red Hat OpenShift, qui 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 s'exécutent 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