Académique Documents
Professionnel Documents
Culture Documents
La virtualisation
I) Gnralits :
La virtualisation cest l'ensemble des techniques matrielles ou logicielles qui permettent de faire
fonctionner sur une seule machine plusieurs systmes d'exploitation ou plusieurs applications.
L'isolation (aussi appel cloisonnement) est une technique qui intervient au sein dun mme
systme d'exploitation.
Elle permet de sparer un systme en plusieurs contextes ou environnements. Chacun d'entre eux
est rgi par l'OS hte, mais les programmes de chaque contexte ne sont capables de communiquer
qu'avec les processus et les ressources associes leur propre contexte.
Il est ainsi possible de partitionner un serveur en plusieurs dizaines de contextes, presque sans
ralentissement.
L'isolation est utilise sous Unix pour protger les systmes. Via des mcanismes comme chroot ou
jail il est possible d'excuter des applications dans un environnement qui n'est pas celui du systme
hte, mais un mini systme ne contenant que ce dont l'application a besoin, et nayant que des accs
limits aux ressources.
Il est possible galement de lancer des programmes dans une autre distribution que celle du systme
principal.
Avec lisolation, lespace noyau nest pas diffrenci, il est unique, partag entre les diffrents
contextes. Mais on dfinit de multiples espaces utilisateurs cloisonns. Cest ainsi que lon peut
faire cohabiter diffrentes distributions de systme dexploitation, condition quelles partagent le
mme noyau.
Lisolation des contextes est une solution lgre, tout particulirement dans les environnements
Linux.
Mais pour les besoins les plus courants de la virtualisation, la simplicit de mise en oeuvre et le
faible overhead sont dexcellents arguments.
La principale solution pour lisolation est Linux-VServer, la plus mature et la plus avance.
OpenVZ est une alternative, qui se prsente de la mme faon et propose quasiment les mmes
fonctionnalits. Elle est la base du produit commercial Virtuozzo.
2.2) La paravirtualisation :
La paravirtualisation et la virtualisation complte sont assez proches. Elles sappuient sur une
couche hyperviseur, qui gre totalement linterface avec les ressources matrielles, et sur laquelle
on peut installer diffrents systmes dexploitations.
La paravirtualisation est une technique de virtualisation de plus bas niveau que l'isolation. Elle
partage avec cette dernire la ncessit d'utiliser un OS modifi. Plus prcisment, en
paravirtualisation ce n'est plus seulement l'OS hte qui doit tre modifi mais galement les OS
appels s'excuter sur les environnements virtuels.
Chaque systme virtuel doit tre modifi de faon utiliser cette interface pour accder au matriel.
Contrairement l'isolation, plusieurs OS de familles diffrentes peuvent fonctionner sur un mme
serveur physique. Il est ainsi possible de faire fonctionner Linux, NetWare, Solaris (et d'autres)
simultanment sur une mme machine.
Chaque OS aura alors accs ses propres priphriques de stockage, sa propre mmoire, sa ou ses
propres interfaces rseau, son ou ses propres processeurs, chaque ressource matrielle virtualise
tant partage avec les autres environnements.
III) Lhyperviseur :
Lhyperviseur est la couche logicielle qui sinsre entre le matriel et les diffrents systmes
dexploitation. Cest un composant cl, que l'on retrouve dans la plupart des technologies de
virtualisation de bas niveau.
Ainsi, par rapport au schma de base dun serveur distinguant le matriel, le systme dexploitation,
et ses applications. Lhyperviseur peut soit grer lui-mme toutes les ressources matrielles du
serveur, soit sappuyer pour cela sur un systme dexploitation existant.
IV) Lmulation :
Lmulation consiste simuler lexcution dun programme en interprtant chacune des instructions
destines au micro-processeur.
Il est possible dmuler ainsi nimporte quel processeur et lenvironnement complet dun serveur.
Lmulation est la technique qui offre le plus haut niveau dabstraction de la plateforme. Pour les
autres techniques de virtualisation tous les excutables doivent tre compils pour le processeur
physiquement disponible sur le serveur.
Lmulation lve cette contrainte car les instructions ne sont jamais excutes par le processeur,
elles sont interprtes en simulant le processeur. Cette interprtation est coteuse en performances,
de sorte que lmulation est rarement utilise en dehors dapplications ludiques ou de recherche.
Dans le cas de lmulation des vieux Atari, le diffrentiel de puissance des processeurs sur 10 ans
comble largement la perte rsultant de lmulation.
Le projet QEMU est une solution open source de virtualisation par mulation.
V) Domaines dapplication :
La virtualisation permet de mettre en place des serveurs virtuels ddis (VDS) afin doffrir un
hbergement permettant le partage de ressource, lautonomie et le contrle totale du serveur
contrairement aux offres traditionnelles qui sont lhbergement ddi (serveur disposition
configurs selon les besoins) et lhbergement mutualis (le mme serveur sert pour plusieurs
clients, pas de contrle de ressource, pouvoir limit).
La virtualisation intervient aussi pour amliorer la disponibilit des serveurs ou des services.
On parle de rpartition de charge et de reprise automatique.
La virtualisation a permis de dmocratiser les appliances. Les appliances se sont des botiers
(routeurs, parefeu, solutions scurits) prts lemploi qui ncessitent peu de configuration. Ces
solutions allgent le travail des administrateurs.
La virtualisation complte permet dallger les cots (matriels et dexploitations) pour les
dveloppements et les tests. Sur une seule machine physique, on peut installer plusieurs systmes
dexploitations afin de tester les diffrents scnarii.
Lmulation est utilise afin deffectuer des tests sur des architectures processeur diffrentes.