Un article de Wikipedia.y-project.com.
En informatique, on appelle virtualisation l'ensemble des technologies matérielles et/ou logicielles qui permettent de faire fonctionner plusieurs systèmes d'exploitation et/ou plusieurs applications sur une même machine, séparément les uns des autres, comme s'ils fonctionnaient sur des machines physiques distinctes.
[] 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 « virtualisé(s) » ou « invité(s) »
- Partitionnement, isolation et/ou partage des ressources physiques et/ou logicielles
- Images des machines virtuelles manipulables à souhait ( démarrage, arrêt, gel, clonage, sauvegarde de contexte, migration d'une machine physique à une autre )
- Réseau virtuel ( interne à la machine hôte, entre hôte et invité )
[] Intérêt de la virtualisation
L'intérêt est :
- d'utiliser de manière optimale les ressources d'une machine
- de migrer facilement une machine virtuelle ( son image ) d'une machine physique ( hôte ) à une autre
- d'économiser de l'argent 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
[] 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.
Une machine virtuelle est un logiciel ( généralement assez lourd ) qui tourne sur l'OS hôte. Ce logiciel permet de lancer un OS invité.
Architecture d'une machine virtuelle
|
|
| User-space
|
| OS invité
|
| Drivers
|
|
| User-space
|
| OS invité
|
| Drivers
|
|
| Machine virtuelle
|
| OS hôte
|
| Matériel
|
Un isolateur est un logiciel permettant d'isoler l'exécution des applications. L'isolateur permet ainsi de faire tourner plusieurs fois la même application prévue pour ne tourner qu'à une seule instance par machine.
Architecture d'un isolateur
|
|
|
|
| OS hôte
|
| Matériel
|
Un noyau 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
|
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 tournent ainsi sur une pile de deux noyaux optimisés, c'est sans doute l'architecture la plus optimale des outils de virtualisation.
Architecture Xen
|
|
| User-space
|
| OS invité
|
| Drivers Xen
|
|
| User-space
|
| OS invité
|
| Drivers Xen
|
|
| Xen
|
| Matériel
|
[] Exemples
Des exemples de virtualisation logicielle :
- Linux-VServer (isolation des processus en user-space)
- User Mode Linux (noyau tournant en user-space)
- Xen (noyau léger supportant des noyaux Linux, Plan9, NetBSD, etc.)
- 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)
- 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)
- chroot (isolation changement de racine)
- BSD Jail (isolation en user-space)
- 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)
- Virtuozzo (propriétaire) (partionnement au niveau noyau sous Linux et Windows 2003)
- MacOnLinux (émulateur de plateforme Mac OS sur Linux PPC)
- TRANGO (sur en.wikipedia.org) - Hyperviseur temps-réel embarqué de la société TRANGO Systems, Grenoble, France
Des exemples de virtualisation matérielle :
- Mainframes
- Sun E10k/E15k
- HP Superdome
[] Voir aussi
DernierMirror
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/virtualisation (informatique)