Qu'est-ce qu'une machine virtuelle et comment ça marche

30 octobre 2021

Une machine virtuelle, abrégée en VM, est similaire à tout autre périphérique physique, tel qu'un ordinateur de bureau, un smartphone ou un serveur. Il dispose d'un processeur, d'une mémoire et de disques pour stocker vos fichiers, ainsi que de la possibilité de se connecter à Internet si nécessaire.

Les machines virtuelles sont également considérées comme des machines virtuelles ou des ordinateurs définis par logiciel à l'intérieur de serveurs physiques, n'existant que sous forme de code. En revanche, les pièces qui composent votre machine (appelées matériel) sont physiques et tangibles.

Table des matières



Comment fonctionnent les machines virtuelles ?

Virtualisation est la pratique consistant à développer une version logicielle ou virtuelle d'un ordinateur avec un processeur, une mémoire et un stockage dédiés empruntés à un ordinateur hôte physique (tel que votre ordinateur personnel) et à un serveur distant (tel qu'un serveur dans un nuage centre de données du fournisseur).

Une machine virtuelle est un fichier informatique, communément appelé image, qui imite le comportement d'un ordinateur réel. Il peut fonctionner comme un environnement informatique séparé dans une fenêtre, parfois pour exécuter un système d'exploitation particulier, ou même servir d'interface informatique complète pour l'utilisateur, comme cela est habituel sur les ordinateurs de travail de nombreuses personnes.

Étant donné que la machine virtuelle est partitionnée du reste du système, le programme ne peut pas interagir avec le système d'exploitation principal sur l'ordinateur hôte.

A quoi servent les machines virtuelles ?

Les machines virtuelles (VM) permettent à une entreprise d'exécuter un système d'exploitation dans une fenêtre d'application sur un ordinateur de bureau qui agit comme un appareil complètement différent. Les machines virtuelles (VM) peuvent être utilisées pour répondre à diverses exigences de puissance de calcul, exécuter des logiciels nécessitant un autre système d'exploitation ou tester des applications dans un environnement sécurisé et en bac à sable.

La virtualisation des serveurs, qui permet aux équipes informatiques de consolider les ressources informatiques et d'augmenter les performances, a traditionnellement utilisé des machines virtuelles. Les machines numériques peuvent également effectuer des tâches trop dangereuses pour agir dans un environnement hôte, comme accéder à des données infectées par des virus ou vérifier des systèmes d'exploitation.

Étant donné que la machine virtuelle est isolée du reste du système, le programme de la machine virtuelle ne peut pas interférer avec l'ordinateur hôte.

Voici quelques exemples de la façon dont machines virtuelles sont utilisés:

  • Création et installation d'applications basées sur le cloud.
  • Essayer un nouveau système d'exploitation (OS), qui pourrait inclure des versions bêta.
  • Créer un écosystème moderne pour faciliter et accélérer l'exécution des scénarios de test de développement pour les développeurs.
  • Création d'une sauvegarde du système d'exploitation actuel.
  • L'installation d'un système d'exploitation plus ancien vous permet d'accéder à des données infectées par un virus ou d'exécuter un programme obsolète.
  • Exécution d'applications ou d'applications sur des systèmes d'exploitation pour lesquels elles n'ont pas été conçues.

Avantages des machines virtuelles

Les machines numériques, bien qu'elles fonctionnent comme de véritables ordinateurs avec leurs propres programmes d'exploitation, ont l'avantage d'être entièrement indépendantes les unes des autres et de la machine hôte physique. Un hyperviseur, ou gestionnaire de machines virtuelles, est un logiciel qui vous permet d'exécuter plusieurs systèmes d'exploitation sur différentes machines virtuelles en même temps.

Il vous permettra d'exécuter des machines virtuelles Linux sur un système d'exploitation Windows, par exemple en exécutant une ancienne version de Windows sur un système d'exploitation Windows plus récent.

Étant donné que les machines virtuelles sont autonomes, elles sont hautement portables. Une machine virtuelle sur un hyperviseur peut être déplacée presque instantanément vers un autre hyperviseur sur un autre ordinateur.

Les machines numériques offrent plusieurs avantages en raison de leur simplicité et de leur portabilité, notamment :

    Réduction des coûts:Vous pouvez réduire considérablement l'encombrement de l'infrastructure physique en exécutant plusieurs mondes virtuels à partir d'une seule infrastructure. Il améliore les résultats en réduisant le nombre de serveurs dont vous avez besoin pour exécuter et en économisant de l'argent sur la maintenance et l'énergie.Évolutivité :En ajoutant davantage de serveurs physiques ou virtuels pour répartir la charge de travail sur plusieurs machines virtuelles, vous pouvez rapidement faire évoluer vos applications. En conséquence, la disponibilité et l'efficacité des applications s'amélioreront.Bénéficie d'une protection :Étant donné que les machines virtuelles peuvent exécuter plusieurs systèmes d'exploitation, l'exécution d'un système d'exploitation invité sur une machine virtuelle vous permet d'exécuter des applications potentiellement dangereuses tout en protégeant votre système d'exploitation hôte. Les machines virtuelles améliorent également l'analyse de la sécurité et sont souvent utilisées pour rechercher en toute sécurité des virus informatiques en les isolant de leur ordinateur hôte.Temps d'arrêt réduit :Étant donné que les machines virtuelles sont si compactes et rapides à passer d'un hyperviseur à un autre sur un autre ordinateur, elles font d'excellentes sauvegardes si l'hôte tombe en panne soudainement.Agilité et rapidité :Il est beaucoup plus facile et rapide de faire tourner une machine virtuelle que de configurer un environnement entièrement nouveau pour vos développeurs. La virtualisation accélère le processus d'exécution des scénarios de développement.
Voir également 20 meilleurs logiciels de gestion de flux de travail

Inconvénients des machines virtuelles

Bien que les machines virtuelles présentent plusieurs avantages par rapport aux périphériques physiques, elles présentent également plusieurs inconvénients :

Si les exigences d'infrastructure ne sont pas satisfaites, l'exécution de plusieurs machines virtuelles sur une seule machine physique entraînera des résultats incohérents.

Les ordinateurs virtuels sont inefficaces et lents par rapport à un appareil à part entière. Il équilibre les avantages et les inconvénients des infrastructures physiques et virtuelles. La plupart des entreprises utilisent un hybride des deux.

Deux types de base de machines virtuelles

Les machines virtuelles de processus et les machines de périphériques virtuels sont les deux types de machines virtuelles disponibles pour les utilisateurs :

En masquant les détails du matériel ou du système d'exploitation sous-jacent, une machine virtuelle de processus permet à un seul processus de fonctionner comme une application sur une machine hôte, offrant un environnement de programmation indépendant de la plate-forme.

La machine virtuelle Java est un exemple de machine virtuelle de processus car elle permet à n'importe quel système d'exploitation d'exécuter des applications Java comme si elles étaient natives de ce système.

Il peut remplacer un ordinateur physique ; une machine virtuelle périphérique est entièrement virtualisée. Une plate-forme de périphérique permet à plusieurs machines virtuelles de partager les ressources physiques d'un ordinateur hôte pendant que chacune exécute sa copie du système d'exploitation.

Ce processus de virtualisation repose sur un hyperviseur, qui peut s'exécuter sur du matériel nu ou sur le dessus d'un système d'exploitation, tel que VMware ESXi.

Quels sont les différents types de machines virtuelles ?

    Machines virtuelles pour Windows

La plupart des hyperviseurs prennent en charge les machines virtuelles exécutant le système d'exploitation Windows en tant qu'invité. L'hyperviseur Hyper-V de Microsoft est inclus avec le système d'exploitation Windows. Il génère une partition parent qui contient à la fois lui-même et le système d'exploitation Windows principal, chacun ayant un accès privilégié au matériel une fois installé. D'autres systèmes d'exploitation, tels que les visiteurs Windows, sont installés dans des partitions enfants qui communiquent avec le matériel via la partition parent.

    Machines virtuelles pour Mac

Le système d'exploitation macOS d'Apple ne peut fonctionner que sur du matériel Apple. Son contrat de licence d'utilisateur final empêche les utilisateurs de l'exécuter sur du matériel non Apple en tant que machine virtuelle ou autrement. Les hyperviseurs de type 2 peuvent être utilisés pour créer des machines virtuelles avec des invités macOS sur du matériel Mac.

    Machines virtuelles pour iOS

Étant donné qu'Apple gère étroitement son système d'exploitation iOS et ne lui permet pas de fonctionner sur autre chose que des machines iOS, il est actuellement impossible de l'exécuter dans une machine virtuelle.

Le simulateur iPhone qui se produit avec l'environnement de développement intégré Xcode est le plus proche d'une machine virtuelle iOS. Il simule l'ensemble de l'appareil iPhone dans le logiciel.

    Machines virtuelles pour Python

La machine virtuelle Python, comme la JVM, ne s'exécute pas sur un hyperviseur et n'a pas de système d'exploitation invité. C'est un programme qui permet aux programmes Python de s'exécuter sur une large gamme de processeurs.

Python , comme Java, convertit les programmes en bytecode, stockés dans un fichier et prêts à être exécutés. Lorsque le programme est exécuté, la machine virtuelle Python (VM) convertit le bytecode en code machine pour une exécution rapide.

    Machines virtuelles basées sur Linux

Linux est un système d'exploitation invité standard utilisé dans de nombreuses machines virtuelles. C'est également un système d'exploitation hôte familier pour les machines virtuelles, avec son hyperviseur appelé machine virtuelle basée sur le noyau (KVM). Depuis 2007, le KVM fait partie du noyau Linux standard. Red Hat a créé le KVM, même s'il s'agit d'un projet open source.

    Machines virtuelles de VMware

VMware a été un pionnier des logiciels de virtualisation et est aujourd'hui un fournisseur bien connu d'hyperviseurs de type 1 et de type 2 et de logiciels de machines virtuelles pour les clients professionnels.

    Machines virtuelles pour Java

La plate-forme Java est un environnement permettant d'exécuter des programmes écrits dans le langage de programmation Java. Java a promis qu'il pourrait être écrit une fois et exécuté n'importe où. Cela signifiait que n'importe quel programme Java pouvait s'exécuter sur n'importe quel appareil compatible avec la plate-forme Java. Le framework Java nécessite une machine virtuelle Java pour accomplir cela (JVM).

La JVM convertit ce bytecode en code machine, qui est le langage de plus bas niveau de l'ordinateur hôte. En fonction du code machine attendu par le processeur, la JVM de la plate-forme Java d'une plate-forme informatique peut générer un ensemble d'instructions de code machine différent de celui de la JVM d'une autre.

    Machines virtuelles pour Android

Sur les appareils mobiles et les appareils domestiques filaires tels que les systèmes de divertissement à domicile, le système d'exploitation Android open source de Google est largement utilisé. Le système d'exploitation Android n'est compatible qu'avec l'architecture de processeur ARM utilisée dans ces unités, mais il peut être exécuté sur des PC par des joueurs Android ou des développeurs de logiciels.

Étant donné que les PC utilisent une architecture de processeur x86 différente et qu'un hyperviseur de virtualisation matérielle transfère uniquement les instructions entre la machine virtuelle et le processeur, il s'agit d'un problème. Pour les processeurs avec différents ensembles d'instructions, il ne les traduit pas. Plusieurs projets sont en cours pour résoudre ce problème.

Voir également 9 correctifs pour 'Spotify continue de faire une pause'

Autres formes de virtualisation

Les performances des machines virtuelles dans la virtualisation des serveurs ont conduit à leur utilisation dans d'autres domaines tels que le stockage, le réseau et les ordinateurs de bureau. Il y a de fortes chances que si un élément matériel est utilisé dans le centre de données, l'idée de le virtualiser soit envisagée.

Les entreprises ont examiné les options de réseau en tant que service et la virtualisation des fonctions réseau (NFV), qui remplace les appliances réseau spécialisées par des serveurs de base pour permettre des réseaux plus polyvalents et évolutifs.

Il est différent de la mise en réseau définie par logiciel, qui distingue le plan de contrôle du réseau du plan de transfert pour permettre une allocation plus automatique des ressources et une planification des ressources réseau basée sur des politiques.

Les fonctions de réseau numérique, une troisième technologie, sont des applications logicielles qui peuvent être exécutées dans un environnement NFV et incluent le routage, le pare-feu, l'équilibrage de charge, l'accélération WAN et la cryptographie.

Quels sont les avantages de l'utilisation de machines virtuelles sur le lieu de travail ?

La virtualisation, ou l'utilisation de machines virtuelles au sein d'une entreprise, n'est pas un concept nouveau. Heureusement, de nombreuses petites et moyennes entreprises reconnaissent les nombreux avantages que la virtualisation peut offrir, en particulier lorsqu'elle est associée à un fournisseur de services cloud hébergés.

    Coûts matériels réduits :D'après notre expérience, de nombreux serveurs de petites entreprises n'utilisent que 40 à 60 % de leurs ressources matérielles. Ainsi, au lieu d'acheter un nouveau serveur, l'entreprise peut créer un serveur virtuel.Économies d'énergie et faible encombrement :La virtualisation réduit la quantité d'espace de bureau nécessaire pour conserver et développer vos capacités informatiques tout en libérant de l'espace de bureau pour que votre entreprise en expansion puisse prendre en charge davantage d'employés.Accroître l'efficacité des opérations informatiques :Vous pouvez installer, exécuter et administrer plusieurs systèmes d'exploitation à partir d'un seul serveur physique lorsqu'il est partitionné en plusieurs machines virtuelles.Déploiement et approvisionnement plus rapides du serveur :Passez moins de temps dans votre entreprise et plus de temps à la faire avancer. L'installation de la base de données, la résolution des dépendances, la sécurisation et l'optimisation des ressources, ainsi que l'installation des logiciels et des services requis sont des étapes chronophages pour déployer un nouveau serveur.Migration et portabilité :Avec peu d'effort de votre part, vous pouvez rapidement transférer des VM entre des mondes virtuels et même d'un serveur physique à un autre. Les machines virtuelles sont indépendantes du matériel car elles sont séparées les unes des autres et ont leur matériel virtuel.La sécurité des données et la reprise après sinistre ont été améliorées :En répliquant les serveurs hors site dans le cloud, la virtualisation a simplifié la reprise après sinistre. Vous n'avez pas besoin des mêmes serveurs physiques hors site pour faciliter un site de récupération secondaire, car les machines virtuelles sont indépendantes du matériel sous-jacent.

Cloud computing et machines virtuelles

La virtualisation est une technologie qui cherche à contrôler le matériel, et le cloud computing est un service qui émerge de cette manipulation. La virtualisation est nécessaire pour le cloud computing.

La virtualisation est un élément essentiel de l'informatique en nuage, et elle aide à offrir les avantages de la technologie. Le cloud computing est la distribution à la demande de services informatiques, d'applications ou de données regroupés sur Internet.

Reconnaître une partie importante du malentendu provient du fait que la virtualisation et le cloud computing reconnaissent divers services. Les produits de virtualisation peuvent être utilisés dans le cloud pour fournir des services de calcul, et ils sont souvent utilisés.

Contrairement à la virtualisation, un véritable cloud offre des capacités autogérées, de l'élasticité, une gestion automatisée, une évolutivité et un service de paiement à l'utilisation.

Différence entre les serveurs Bare Metal et les machines virtuelles

Il s'agit moins de capacités contrastées que de comprendre ce dont vous avez besoin et quand vous en avez besoin lorsque vous choisissez une machine virtuelle plutôt qu'une vraie, également connue sous le nom de serveur bare-metal.

Le matériel brut, la solidité et l'isolation sont tous des facteurs critiques dans les serveurs bare metal. Ce sont des serveurs physiques à locataire unique sans cycles d'hyperviseur (logiciel de virtualisation), et ils sont uniquement dédiés à un client - vous.

Les applications gourmandes en données et les exigences réglementaires, par exemple, sont généralement mieux adaptées aux serveurs bare metal, principalement lorsqu'ils sont déployés sur de longues périodes.

ERP, CRM, e-commerce, services financiers, SCM et frameworks ne sont que quelques-unes des charges de travail pour lesquelles les serveurs bare metal sont bien adaptés.

Alors, quand utiliserez-vous un hyperviseur pour construire une machine virtuelle sur du matériel bare metal ? Lorsque les charges de travail nécessitent le plus de polyvalence et d'évolutivité.

Les machines virtuelles conviennent au transfert de données d'une machine virtuelle à une autre, au redimensionnement des ensembles de données et à la répartition des charges de travail complexes, car elles améliorent de manière transparente la capacité et l'efficacité du serveur.

Conteneurs Vs. Machines virtuelles

Au cours de la dernière décennie, la virtualisation du système d'exploitation (OS) a gagné en popularité pour garantir que les logiciels fonctionnent de manière fiable et efficace lorsqu'ils sont transférés d'un environnement de serveur à un autre. D'autre part, les conteneurs permettent à ces systèmes isolés de s'exécuter sur un seul serveur ou système d'exploitation hôte.

Voir également 15 meilleurs logiciels de modélisation 3D CAO

Les conteneurs s'exécutent au-dessus du système d'exploitation hôte d'un serveur physique, tel que Linux ou Windows. Le noyau du système d'exploitation hôte, ainsi que les fichiers binaires et les bibliothèques, sont partagés par chaque conteneur.

Les composants partagés sont en lecture seule. Par conséquent, les conteneurs sont extrêmement petits, ne nécessitant que quelques mégaoctets et secondes pour démarrer, par rapport aux gigaoctets et minutes pour une machine virtuelle.

Les conteneurs réduisent souvent les coûts de gestion. Puisqu'ils utilisent tous le même système d'exploitation, un seul doit être pris en charge et alimenté en termes de corrections de bogues, de mises à jour, etc.

Cette définition est proche de celle des hôtes hyperviseurs, qui ont moins de points de gestion mais un domaine de pannes nettement plus grand. En bref, les conteneurs sont plus petits et plus compacts que les machines virtuelles.

Virtualisation et hyperviseurs

Un hyperviseur est une forme de logiciel qui se trouve au cœur d'une machine virtuelle. Dans l'espace cloud, un hyperviseur sert à isoler un seul machine virtuelle . Un hyperviseur est bien plus qu'un simple séparateur pour vos machines virtuelles.

Votre hyperviseur peut émuler les composants matériels d'un système d'exploitation standard en plus d'offrir une frontière virtuelle impénétrable entre plusieurs systèmes d'exploitation. Dans votre hyperviseur, des versions virtualisées des ressources matérielles telles que le processeur, les E/S, la mémoire et autres seront disponibles.

Les hyperviseurs ont l'avantage de ne nécessiter aucun matériel particulier pour fonctionner. Je ne fais pas seulement référence au fait que vous n'avez pas besoin de plus de matériel pour exécuter plus de machines virtuelles - votre console de base exécutera plusieurs machines virtuelles.

Les hyperviseurs ont l'avantage de ne nécessiter aucun matériel particulier pour fonctionner. Je ne fais pas seulement référence au fait que vous n'avez pas besoin de plus de matériel pour exécuter plus de machines virtuelles ; votre console de base exécutera un hyperviseur sans avoir besoin de matériel spécifique à la machine virtuelle.

En conséquence, les machines virtuelles portent bien leur nom en tant que solution polyvalente pour les systèmes multi-OS. Un environnement virtuel peut contenir plusieurs hyperviseurs pour un nombre toujours croissant de machines virtuelles puisque l'hyperviseur peut séparer chaque appareil simulé des autres.

Les hyperviseurs se présentent sous différentes formes et tailles.

La virtualisation peut être réalisée à l'aide de deux formes distinctes d'hyperviseurs.

    Type 1

Un hyperviseur bare metal est un hyperviseur de catégorie 1. L'hyperviseur planifie les services VM directement sur le matériel. Un hyperviseur de type 1, par exemple, est KVM. KVM a été intégré au noyau Linux en 2007, vous l'avez donc toujours si vous utilisez une version récente de Linux.

    Type 2

Un hyperviseur de type 2 est monté. Le système d'exploitation hôte planifie les services VM, qui sont ensuite exécutés sur le matériel. Les hyperviseurs Form 2 incluent VMware Workstation et Oracle VirtualBox.

Virtualisation complète Vs. Paravirtualisation

    Paravirtualisation

La paravirtualisation est une forme de virtualisation du processeur qui utilise des hyper-appels pour les opérations au moment de la compilation pour gérer les instructions. L'OS invité n'est pas entièrement isolé de la couche de virtualisation et du matériel en paravirtualisation, mais la machine virtuelle le sépare en partie. Les exemples incluent VMware et Xen.

    Virtualisation complète

En 1966, IBM a mis en place une virtualisation complète. C'est le premier serveur solution logicielle de virtualisation qui emploie des techniques de traduction binaire et d'approche directe. La machine virtuelle isole complètement le système d'exploitation invité de la couche de virtualisation et du matériel en pleine virtualisation. La virtualisation totale est démontrée par les systèmes Microsoft et Parallels.

Conclusion

La virtualisation ne peut jamais être considérée comme une solution rapide à un problème particulier. C'est un concept et une technologie qui peuvent être utilisés dans une grande variété d'applications. En lisant cet article, vous apprendrez les bases des machines virtuelles, leur fonctionnement, leurs types et les différences critiques entre les autres méthodes.

Questions fréquemment posées

Qu'est-ce qu'une machine virtuelle exactement ?

Une machine virtuelle est une ressource informatique qui exécute des programmes et établit des applications à l'aide d'un logiciel informatique plutôt que d'un support physique. Sur un périphérique hôte physique, un ou plusieurs périphériques invités virtuels fonctionnent. Cela signifie qu'une machine virtuelle macOS virtuelle, par exemple, fonctionnera sur un vrai PC.

A quoi sert une machine virtuelle ?

Les machines virtuelles vous permettent d'exécuter un système d'exploitation (système d'exploitation) dans une fenêtre d'application de bureau qui agit comme un périphérique distinct. Vous pouvez les utiliser pour expérimenter différents systèmes d'exploitation, exécuter des applications avec lesquelles votre système d'exploitation principal n'est pas compatible et tester des applications dans un environnement de bac à sable protégé et sécurisé.

Les pirates utilisent-ils des machines virtuelles ?

Les pirates sont ceux qui ont inventé le concept de machines virtuelles. Ils les utilisent sans aucun doute. Ils utilisent également les machines virtuelles d'autres personnes à l'occasion. En effet, il serait difficile de trouver quelqu'un sur le réseau internet qui n'utilise pas de machines virtuelles.

Les virus peuvent-ils infecter les machines virtuelles ?

Bien que certains virus puissent cibler des vulnérabilités dans les logiciels de machines virtuelles, la gravité de ces menaces est considérablement accrue lorsque la virtualisation informatique ou matérielle est utilisée, en particulier lorsqu'une émulation supplémentaire côté hôte est requise.