Qu'est-ce qu'une machine virtuelle ?

Une machine virtuelle (VM) est une émulation logicielle d'un ordinateur physique. Elle exécute un système d'exploitation et des applications comme une machine physique. La machine virtuelle fonctionne sur un serveur physique, appelé hôte, via une couche de logiciel de virtualisation. Cette technologie permet à plusieurs machine virtuelle de partager le même matériel. Chaque machine virtuelle fonctionne de manière indépendante, avec des ressources virtuelles dédiées. La virtualisation est le fondement de l'infrastructure en tant que service (IaaS) dans le cloud computing. Elle permet une utilisation efficace du matériel, une gestion simplifiée et un déploiement rapide. Les machine virtuelle offrent isolation, évolutivité et portabilité entre les environnements. Elles sont essentielles pour les centres de données et les plateformes cloud modernes. En abstraisant le matériel, elles permettent des infrastructures informatiques flexibles et résilientes.

Définition technique d'une machine virtuelle

Une machine virtuelle est un environnement d'exploitation autonome. Elle simule un ordinateur physique à l'aide d'un logiciel. La machine virtuelle s'exécute sur un système hôte physique. Elle est isolée des autres machines virtuelles et de l'hôte. Cette isolation s'applique aux processus, à la mémoire, au stockage et au réseau. Aucune machine virtuelle ne peut accéder directement aux ressources d'une autre. L'hyperviseur assure cette séparation.

Chaque machine virtuelle exécute son propre système d'exploitation invité. Ce système d'exploitation est indépendant du système d'exploitation de l'hôte. Le système d'exploitation invité peut être d'une version ou d'un type différent. Par exemple, une machine virtuelle Linux peut fonctionner sur un hôte Windows. Les applications à l'intérieur d'elle interagissent uniquement avec le système d'exploitation invité. Le système d'exploitation invité communique avec le matériel via l'hyperviseur.

Une machine virtuelle est souvent décrite comme un « ordinateur dans un ordinateur ». Elle dispose d'équivalents virtuels des composants matériels. Il s'agit notamment d'un processeur virtuel (vCPU), d'une mémoire vive virtuelle (vRAM), de disques virtuels et d'interfaces réseau virtuelles (vNIC). Du point de vue de l'utilisateur, elle se comporte comme une machine autonome. Cependant, elle partage des ressources physiques avec d'autres machines virtuelles. Ce modèle permet une utilisation efficace des ressources et une grande flexibilité opérationnelle.

Explication de l'hyperviseur

L'hyperviseur est le composant central qui permet la virtualisation. Il crée et gère les machines virtuelles sur un hôte physique. Il alloue des ressources physiques (CPU, mémoire, stockage et réseau) à chaque instance de machine virtuelle. L'hyperviseur planifie l'accès à ces ressources. Il garantit un partage équitable et empêche les interférences entre les machines virtuelles. Il maintient également une forte isolation entre les machines virtuelles.

Considérez l'hyperviseur comme le « chef d'orchestre » d'un orchestre. Chaque machine virtuelle est un instrument. Le chef d'orchestre veille à ce que chacun joue au bon moment et au bon volume. Sans coordination, le résultat serait chaotique. De la même manière, l'hyperviseur orchestre les machines virtuelles pour qu'elles fonctionnent sans heurts sur du matériel partagé.

Il existe deux principaux types d'hyperviseurs : de type 1 et de type 2.
Les hyperviseurs de type 1 sont la norme dans les environnements d'entreprise et cloud. Ils offrent de meilleures performances et une sécurité accrue. Les hyperviseurs de type 2 sont couramment utilisés pour le développement et la formation en local.

Composants d'une machine virtuelle

Une machine virtuelle est constituée de composants matériels virtualisés. Ceux-ci sont mappés à des ressources physiques par l'hyperviseur.

Le vCPU représente une partie du CPU physique. Il peut correspondre à un cœur, un thread ou une tranche de temps. Plusieurs vCPU peuvent être attribués à une machine virtuelle. Une surallocation est possible, mais doit être gérée avec précaution.

La vRAM est la mémoire allouée à la machine virtuelle. Elle provient de la RAM physique de l'hôte. Le surengagement de mémoire est pris en charge, mais peut entraîner un swap en cas d'utilisation excessive.

Les disques virtuels stockent le système d'exploitation invité, les applications et les données. Ils utilisent des formats tels que VMDK, VHD, VHDX ou QCOW2. Il existe deux modèles de provisionnement : le provisionnement épais (espace complet alloué lors de la création) et le provisionnement fin (l'espace augmente selon les besoins). Les instantanés capturent l'état du disque à un moment donné. Ils permettent de revenir en arrière après des mises à jour ou des pannes.

La vNIC connecte la machine virtuelle à un réseau virtuel. Elle est reliée à un commutateur virtuel géré par l'hyperviseur. Plusieurs vNIC peuvent être ajoutées pour la segmentation du réseau.

Les images Gold ou modèles sont des images de machine virtuelle préconfigurées. Elles comprennent un système d'exploitation, des pilotes et des logiciels courants. Les modèles accélèrent le déploiement et garantissent la cohérence. Ils prennent en charge l'automatisation et la conformité.

Principaux avantages des machines virtuelles

Isolation et sécurité

Chaque machine virtuelle fonctionne dans un environnement distinct. Une défaillance ou une faille dans une machine virtuelle n'affecte pas les autres. Cette isolation renforce la sécurité et la stabilité. Elle permet la coexistence d'applications non fiables ou héritées.

Consolidation et efficacité des ressources

Les machines virtuelles permettent la consolidation des serveurs. Plusieurs charges de travail sont exécutées sur un seul serveur physique. Cela réduit les besoins en matériel, en énergie et en espace. L'utilisation des ressources s'en trouve considérablement améliorée. La capacité inutilisée est minimisée grâce à l'allocation dynamique.

Flexibilité et agilité opérationnelle

Les machines virtuelles prennent en charge la migration en direct, qui permet de déplacer des machines virtuelles en cours d'exécution entre des hôtes sans temps d'arrêt. Cette fonctionnalité est utile pour la maintenance ou l'équilibrage de charge. Les instantanés permettent une restauration rapide après des modifications de configuration. Les formats OVF et OVA normalisent le conditionnement des machines virtuelles. Ils facilitent l'importation/exportation entre les plateformes. Les machines virtuelles peuvent être clonées, sauvegardées et restaurées rapidement.

Cas d'utilisation courants des machines virtuelles

  1. Consolidation des serveurs : exécutez plusieurs applications sur un nombre réduit de serveurs physiques.
  2. Développement et tests : créez rapidement des environnements isolés pour tester du code.
  3. Prise en charge des applications héritées : exécutez des logiciels obsolètes sur du matériel moderne.
  4. Reprise après sinistre (DR) : répliquez les machines virtuelles vers des sites de sauvegarde pour un basculement rapide.
  5. Infrastructure de bureau virtuel (VDI) : fournissez des bureaux en tant que service aux utilisateurs.
  6. Migration vers le cloud : transférez les serveurs sur site vers le cloud.
  7. Sandboxing de sécurité : analysez les logiciels malveillants dans des machines virtuelles isolées.
  8. Environnements multi-OS : exécutez Linux, Windows et BSD sur le même matériel.