3. Les types de virtualisation
a. L'isolation ou « container »
Un isolateur est un logiciel permettant d'isoler
l'exécution des applications dans ce qui sont appelé des
contextes, ou bien zones d'exécution. L'isolateur permet ainsi de faire
tourner plusieurs fois la même application dans un mode multi-instance
même si elle n'était pas conçue pour ça. Cette
solution est très performante, du fait du peu de temps passé par
un système à ne rien faire d'autre que se gérer, mais les
environnements virtualisés ne sont pas complètement
isolés. La performance est donc au rendez-vous, cependant on ne peut pas
vraiment parler de virtualisation de systèmes d'exploitation si elle est
uniquement liée aux systèmes Linux. Les isolateurs sont en fait
composés de plusieurs éléments et peuvent prendre
plusieurs formes.
Figure 7 : Technique de l'isolation (source: conception
Powerpoint 2010)
Exemple : Linux-VServer; chroot ; BSD
Jail ; OpenVZ ;
(c)EPASSY Nicolas Auguste D, Rapport de stage, 2012-2013 Page
20
Migration de serveurs physiques vers une infrastructure
virtuelle
b. Noyau en espace utilisateur
Un noyau en espace utilisateur tourne comme une application en
espace utilisateur de l'OS hôte. Le noyau « user-space » a donc
son propre espace utilisateur dans lequel il contrôle ses applications.
Cette solution est très peu performante, car deux noyaux sont
empilés et l'isolation des environnements n'est pas gérée
et l'indépendance par rapport au système hôte est
inexistante.
Figure 8 : Technique du noyau en espace utilisateur
(source: conception Powerpoint 2010)
Exemples : User Mode Linux; Cooperative
Linux ou coLinux ; Adeos; L4Linux c. La virtualisation complète : «
hyperviseur de type 2 »
Un hyperviseur de type 2 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 ou/et émule le matériel pour les OS invités,
ces derniers croient dialoguer directement avec ledit matériel. Cette
solution est très comparable à un émulateur, et parfois
même confondue. Cependant l'unité centrale de calcul,
c'est-à-dire le microprocesseur, la mémoire de travail (ram)
ainsi que la mémoire de stockage (via un fichier) sont directement
accessibles aux machines virtuelles, alors que sur un émulateur
l'unité centrale est simulée, les performances en sont donc
considérablement réduites par rapport à la
virtualisation.
Cette solution isole bien les OS invités, mais elle a
un coût en performance. Ce coût peut être très
élevé si le processeur doit être émulé, comme
cela est le cas dans l'émulation. En échange cette solution
permet de faire cohabiter plusieurs OS hétérogènes sur une
même machine grâce à une isolation complète. Les
échanges entre les machines se font via les canaux standards de
communication entre systèmes d'exploitation (TCP/IP et autres
(c)EPASSY Nicolas Auguste D, Rapport de stage, 2012-2013 Page
21
Migration de serveurs physiques vers une infrastructure
virtuelle
(c)EPASSY Nicolas Auguste D, Rapport de stage, 2012-2013 Page
22
protocoles réseau), un tampon d'échange permet
d'émuler des cartes réseaux virtuelles sur une seule carte
réseau réelle.
Figure 9 : Virtualisation complète (source:
conception Powerpoint 2010)
Exemples : logiciels Microsoft, logiciels
Parallels, Oracle VM VirtualBox, logiciels
VMware (VMware Fusion, VMware Player, VMware Server, VMware
Workstation), logiciels libres (QEMU : émulateur de plateformes x86,
PPC, Sparc, et bochs
|