Aller au contenu principal

Machine virtuelle

1. Explication

C’est un logiciel qui simule un environnement matériel complet.

Le logiciel peut émuler un environnement matériel précis ou une architecture générale.

En anglais, on utilise le terme Virtual Machine ou VM.

Selon le logiciel utilisé, il est possible de simuler la quantité de mémoire, le nombre de processeurs et de coeurs...

Beaucoup de personnes ont déjà utilisé un émulateur de console pour être en mesure de jouer à des jeux d'une console sur son ordinateur.

L'émulateur est en réalité une machine virtuelle qui simule la console physique.

L'ordinateur physique qui a le logiciel de virtualisation se nomme l'hôte.

2. Les avantages

2.1. Partage des ressources

Il est possible d’avoir plusieurs machines virtuelles dans le même ordinateur physique.

Ceci permet d'exploiter au maximum les ressources matérielles entre plusieurs environnements.

Dans les environnements de production, l’utilisation de la virtualisation permet de partager les ressources matérielles entre plusieurs environnements virtuels. Ceci évite d'acheter un ordinateur pour un système d'exploitation.

Les machines virtuelles peuvent fonctionner simultanément sur le même ordinateur physique.

Par exemple, dans l'ordinateur de l'enseignant, il y a une machine virtuelle pour présenter Windows 11, Ubuntu et MacOSx.

2.2. Abstraction des composantes matérielles

Une machine virtuelle se dissocie de la couche matérielle physique. Le système d’exploitation voit les périphériques virtuels.

Il est donc facile de transférer une machine virtuelle vers un autre ordinateur, car celui-ci ne verra pas de changement dans sa configuration matérielle. Le système d'exploitation détectera toujours les mêmes composantes virtuelles.

2.3. Duplication facile

Une machine virtuelle est également une combinaison de fichiers.

Il y a généralement un fichier pour la configuration du matériel virtuel et un fichier pour le disque dur.

Il est donc facile de dupliquer rapidement un environnement, car il suffit d'uniquement copier les fichiers qui forment la machine virtuelle.

2.4. Sauvegarde facile

Il est très facile de faire des sauvegardes de sécurité (backup) de la machine virtuelle, car il suffit uniquement de conserver une copie des fichiers qui définissent la machine virtuelle.

2.5. La gestion des instantanés

En anglais, on utilise le terme snapshot.

Un instantané consiste à mettre un point de référence dans le temps pour une machine virtuelle.

Toutes les actions qui sont faites après la création de l’instantané sont enregistrées dans un espace de travail temporaire.

En cas de problème, il est possible de retourner au point initial et l'ordinateur virtuel ne sera même pas au courant des modifications.

Si le travail est approuvé, il faut détruire l’instantané pour l’intégrer dans le disque dur principal.

Les instantanés sont utilisés pour faire des retours en arrière lorsqu’on installe de nouveaux logiciels ou une mise à jour dans un environnement.

Si un problème est détecté, il est possible de revenir très rapidement à l’état stable de la machine virtuelle.

Une désinstallation d’un logiciel ne permet pas au système d’exploitation de revenir à un état identique avant l’installation.

Pour faire un parallèle entre un émulateur de jeux vidéo, l'instantané consiste à prendre sauvegarder la partie avant de faire une section difficile d'un niveau. Si le joueur ne parvient pas à franchir l'obstacle, il perd une vie. En restaurant l'instantané, il revient au début de l'obstacle. Le nombre de vies reste identique, le pointage et le temps restant au tableau. Pour le jeu, vous n'avez jamais essayé de franchir l'obstacle.

3. Les désavantages

3.1. Diminution des performances

Le désavantage principal de la virtualisation est que le système d'exploitation ne parle pas directement aux ressources matérielles de l'ordinateur.

Le système d'exploitation parle au moteur de virtualisation (hyperviseur) et c'est le moteur de virtualisation qui parle aux ressources matérielles.

Cette couche intermédiaire entre le système d'exploitation et les ressources matérielles crée une latence supplémentaire.

Il y a donc une perte de performance en comparaison si le système d'exploitation était installé directement dans l'ordinateur physique.

3.2. Surexploitation des ressources

Lorsqu'il y a trop de machines virtuelles sur un même ordinateur physique, il peut avoir une énorme baisse des performances.

Le moteur de virtualisation ne sera plus en mesure d'accorder un accès aux ressources de façon suffisante pour chacune des machines virtuelles si plusieurs d'entre elles fonctionnent à haut régime.

Par exemple, 3 machines virtuelles nécessitent simultanément beaucoup d'accès au processeur pour effectuer d'énormes calculs. Les machines virtuelles deviendront très lentes, car elles devront se partager le processeur entre elles. Il est possible de réserver un coeur ou un pourcentage d'utilisation du processeur pour une machine virtuelle dans les environnements professionnels.

Il est important de ne pas trop en mettre de machine virtuelle pour sur un même ordinateur physique afin de s'assurer que le partage des ressources est adéquat, même lorsque les machines virtuelles travaillent à haut régime.

4. Contextes d'utilisations

4.1. Les environnements serveur

De nos jours, les serveurs sont de plus en plus virtualisés. Il est plus économique d'acheter un très gros serveur qui peut supporter 3 serveurs virtuels que d'acheter 3 petits serveurs.

Il est plus économique d’acheter un plus gros serveur et d’en partager les ressources entre plusieurs systèmes d’exploitation.

Le serveur physique a un petit système d’exploitation qui consiste à héberger les machines virtuelles. Ce système d'exploitation consiste au moteur de virtualisation. Ce système d’exploitation est conçu uniquement pour la gestion des machines virtuelles.

Il est très facile de dupliquer un environnement pour avoir un environnement test ou de dupliquer l’environnement de production vers un nouveau serveur physique.

Avant de faire une mise à jour du système, un instantané est créé. Il est donc possible de revenir à l'état avant la mise à jour en quelques clics si un problème est détecté.

4.2. Environnement de test - carré de sable (sandbox)

L'informaticien a souvent besoin de tester des logiciels dans des environnements précis.

Avoir plusieurs ordinateurs physiques pour faire les tests peut devenir très dispendieux et en cas d'erreur, il n'est pas facile de revenir rapidement en arrière.

Également, l'informaticien qui désire explorer une nouvelle technologie peut le faire dans un environnement virtuel.

5. Logiciels

Voici une liste de quelques logiciels qui permettent la virtualisation.

  • VirtualBox par Oracle

    Il est destiné pour une utilisation personnelle.

    Il est gratuit.

    Il doit être installé dans un système d'exploitation complet.

    Il est parfait pour évaluer et tester des produits.

    Par contre, il n'est pas très performant, car une très grande partie des ressources matérielles est utilisée par le système d'exploitation réel de l'ordinateur. Il n'est donc pas utilisé dans un environnement de production.

    C'est le logiciel qui sera utilisé

  • Hyper-V par Microsoft

    C'est le moteur de virtualisation de Microsoft.

    Il est utilisé dans les environnements serveur.

  • ESX, ESXi, Workstation par VMWare

    ESX et ESXi sont utilisables dans un environnement serveur.

    Workstation est destiné pour une utilisation personnelle.