article

En informatique, on appelle virtualisation l'ensemble des technologies matérielles et/ou logicielles qui permettent de faire fonctionner sur une seule machine plusieurs systèmes d'exploitation et/ou plusieurs applications, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes. Les outils de virtualisation servent à faire fonctionner ce qu'on appelle communément des serveurs privés virtuels (« Virtual Private Servers » ou VPS) ou encore environnements virtuels (« Virtual Environments » ou VE).

Notions


Chaque outil de virtualisation implémente une à plusieurs de ces notions :

  • Couche d'abstraction matérielle et/ou logicielle
  • OS hôte (installé directement sur le matériel)
  • OS (ou applications, ou encore ensemble d'applications) « virtualisé(s) » ou « invité(s) »
  • Partitionnement, isolation et/ou partage des ressources physiques et/ou logicielles
  • Images manipulables : démarrage, arrêt, gel, clonage, sauvegarde et restauration, sauvegarde de contexte, migration d'une machine physique à une autre
  • Réseau virtuel : réseau purement logiciel, interne à la machine hôte, entre hôte et invités

Intérêts de la virtualisation


Les intérêts sont :

  • d'utiliser de manière optimale les ressources d'un parc de machines
  • de migrer facilement une machine virtuelle (son image) d'une machine physique (hôte) à une autre
  • d'économiser sur le matériel par mutualisation
  • d'installer/tester/développer/casser... et pouvoir recommencer sans casser l'OS hôte
  • de sécuriser et/ou isoler un réseau (cassage des OS virtuels, mais pas des OS hôtes qui sont invisibles pour l'attaquant)
  • de pouvoir tester une architecture réseau virtuelle
  • de pouvoir rapidement répondre à la demande
  • de se soustraire aux problèmes de compatibilité matérielle : chaque machine virtuelle ne voit qu'un et un seul type de matériel sous forme de drivers génériques
  • de réduire les soucis liés au matériel (la consommation électrique, les entretiens, le monitoring des pannes,...)

Comparaison visuelle de différentes technologies de virtualisation


Légende :
  • En caractères gras : les couches lourdes et consommatrices en ressources.
  • En caractères italique : les couches légères et peu consommatrices en ressources.

Afin d'avoir une idée théorique des performances des applications au sommet, il faut comparer verticalement l'empilage de couches. Il faut garder à l'esprit qu'il est possible d'élargir les schémas en rajoutant des environnements virtualisés consommant également des ressources de l'hôte.

Isolateur

Un isolateur est un logiciel permettant d'isoler l'exécution des applications dans des contextes ou zones d'exécution. L'isolateur permet ainsi de faire tourner plusieurs fois la même application (à base d'un ou plusieurs logiciels) prévue pour ne tourner qu'à une seule instance par machine.

Architecture d'un isolateur
Logiciels

de

contrôle

User-space
isolateur

User-space
isolateur OS hôte Matériel

Exemples :

  • Linux-VServer : isolation des processus en user-space
  • chroot : isolation changement de racine
  • BSD Jail : isolation en user-space
  • OpenVZ : libre, partionnement au niveau noyau sous Linux et Windows 2003

Noyau en espace utilisateur

Un noyau en espace utilisateur « user-space » tourne comme une application en espace utilisateur de l'OS hôte (qui a un noyau qui tourne directement sur la machine hôte en espace privilégié). Le noyau user-space a donc son propre espace utilisateur dans lequel il contrôle ses applications.

Architecture d'un noyau en user-space
User-space
noyau user-space
User-space
noyau user-space
OS hôte Matériel

Exemples :

  • User Mode Linux : noyau tournant en user-space
  • Cooperative Linux ou coLinux : noyau coopératif avec un hôte Windows
  • Adeos : micro noyau RT faisant tourner Linux en kernel-space non-RT
  • L4Linux : micro noyau RT faisant tourner Linux en kernel-space non-RT

Machine virtuelle

Une machine virtuelle est un logiciel (généralement assez lourd) qui tourne sur l'OS hôte. Ce logiciel permet de lancer un ou plusieurs OS invités. La machine virtualise le matériel pour les OS invités ; les OS invités croient dialoguer directement avec le matériel. Cette solution est très comparable à un émulateur, et parfois même confondue.

Architecture d'une machine virtuelle
Logiciels

de

contrôle

User-space
OS invité
Drivers
User-space
OS invité
Drivers
Machine virtuelle OS hôte Matériel

Exemples :

  • QEMU : émulateur de plateformes x86, PPC, Sparc
  • Plex86 : émulateur de plateforme x86
  • bochs : émulateur de plateforme x86
  • PearPC : émulateur de plateforme PPC sur matériel x86
  • VMWare : propriétaire, émulateur de plateforme x86
  • Microsoft VirtualPC : propriétaire, émulateur de plateforme x86
  • Lismoresystems Guest PC : propriétaire, émulateur de plateforme x86 sur matériel PPC
  • MacOnLinux : émulateur de plateforme Mac OS sur Linux PPC

Para virtualisation

Xen est un noyau hôte allégé et optimisé pour ne faire tourner que des noyaux d'OS invités adaptés et optimisés pour tourner sur l'architecture Xen. Les applications en espace utilisateur des OS invités tournent ainsi sur une pile de deux noyaux optimisés, les OS invités ayant conscience d'être virtualisés. Xen est un Hyperviseur et fonctionne comme ESX Server de VMware.

Architecture Xen
Logiciels

de

contrôle

User-space
OS invité
Drivers Xen
User-space
OS invité
Drivers Xen
Xen Matériel

Exemples :

  • Xen : noyau léger supportant des noyaux Linux, Plan9, NetBSD, etc.

Matérielle

Des exemples de virtualisation matérielle :
  • Mainframes
  • Sun E10k/E15k
  • HP Superdome
  • AMD Pacifica

Voir aussi


Liens externes


Émulation | Sécurité informatique | Virtualisation

Virtualizace | Virtualisierung (Informatik) | Virtualization | Wirtualizacja | Виртуализация

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Virtualisation (informatique)".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld