Les machines virtuelles en détails

Qu’est-ce qu’une machine virtuelle ?

machine virtuelle
machine virtuelle

Une machine virtuelle souvent abrégé VM est un conteneur logiciel qui consiste a émuler une machine physique au travers de différentes technologies de virtualisation.

  • L’émulation complète
  • La para-virtualisation
  • La virtualisation assisté par le  matériel Intel VT et AMD-SVM

Une machine virtuelle est donc une « boite » qui contient son propre matériel physique.

Machine Virtuelle

Le gestionnaire de cette « boite »,  doit également émuler les accès aux périphériques, accès mémoire, interruptions, …

A l’instar d’une machine physique, une VM a ses limitations matériels.  On ne peut pas installer 50 contrôleur USB !

Comment est représenté ce conteneur ?

Une VM de type VMware Wokstation/ESXI est un répertoire contenant des fichiers qui représente

Fichier de machine virtuelle

  • La configuration de la VM : .VMX
  • Le disque :  .VMDK ,   flat.VMDK : Thin provisionning
  • Le Bios de la machine : .NVRAM

On trouve également d’autres fichiers :

  • Les snapshot (clichés) : .VMSN
  • Les métadonnées des snapshot : .VMSD
  • Les journaux d’activités : .LOG

Plusieurs types de machines virtuelles

  • Complètement virtualisé

La totalité du matériel est traduit logiciellement, les cartes réseaux, les ports série, .., mais aussi les interruptions, l’accès a la mémoire et les changement de contexte par exemple.

La machine virtuelle est vu comme tout logiciel qui s’exécute sur le système d’exploitation.

  • Para-virtualisé

Le système d’exploitation contenue dans la machine virtuelle est modifié. Des pilotes sont installés pour améliorer les performances de la vm. Les VMware Tools pour VMware Workstation/ESXI

  • La virtualisation assisté par le matériel

Le CPU possède des instructions dédiés a la virtualisation, INTEL VT, AMD-SVM.

Ces instructions crée un nouvel  anneau de protection (cf. Mode User/noyau). L’anneau -1 ou « monitor mode » , puisque les CPU ajoute une structure de contrôle  a la virtualisation.

Ces instructions font basculer le processeur dans un mode invité et la vm s’exécute en mode privilégié, les CPU et les accès mémoire (Extended Page Tables :EPT et Rapid Virtualization Indexing RVI) par exemple ne sont pas émulés par l’hyperviseur (VMware Workstation)

Conclusion

Une machine virtuelle est un conteneur qui émule du matériel pour un système d’exploitation, dit OS invité.  La machine est un contenue dans un répertoire sur le disque local de la machine hôte (VMware Workstation), peut être un stockage distant (NAS, SAN).

Des technologies permettent d’accélérer grandement la virtualisation des VMs.

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *