Vous êtes sur la page 1sur 120

!" $%&'(")%*"+,- .

/* 01*'23/*
.45-6,&3"+,-*
4/8/14 1
4/8/14 2
Introduction
Virtualization is a term that refers to the abstraction of computer resources.
[...] virtualization is a framework or methodology of dividing the resources of
a computer into multiple execution environments, by applying one or more concepts
or technologies such as hardware and software partitioning, time-sharing, partial or
complete machine simulation, emulation, quality of service, and many others. *

Virtualization is the creation of a virtual (rather than actual) version of something,
such as an operating system, a server, a storage device or network resources.**

La virtualisation est un processus qui va permettre de masquer les caractristiques
physiques dune ressource informatique de manire simplifier les interactions entre cette
ressource et dautres systmes, dautres applications et les utilisateurs. Elle va permettre de
percevoir une ressource physique comme plusieurs ressources logiques et, inversement, de
percevoir plusieurs ressources physiques comme une seule ressource logique.

La virtualisation repose sur trois concepts fondamentaux:
1. Labstraction des ressources informatiques ;
2. La rpartition des ressources par lintermdiaire de diffrents outils, de manire ce
que celles-ci puissent tre utilises par plusieurs environnements virtuels ;
3. La cration denvironnements virtuels.

**Server Virtualization : Covrering todays Server Virtualization topics. searchservervirtualization.techtarget.com/.
* Amit Singh. An introduction to virtualization. www.kernelthread.com/publications/ virtualization/, Janvier 2004.

4/8/14 3
7"&+/ 5
4/8/14 4
Virtualisation : Dfinitions
4/8/14 3
La virtualisation est lensemble des techniques matrielles et logicielles permettant de:
fournir un ensemble ou sous ensemble de ressources informatiques de manire
quelles puissent tre utilises adquatement et indpendamment de la plateforme
matrielle.
faire fonctionner plusieurs systmes dexploitation et/ou applications sur une mme
machine, sparment les uns des autres, comme sils fonctionnaient sur des
machines physiques distinctes.
Elle peut tre vue comme une surcouche permettant de crer sur mesure un
environnement correspondant aux spcifications de traitements, par opposition la
ncessit dadapter les spcifications aux contraintes matrielles.
La virtualisation est une couche dabstraction qui dcouple le systme dexploitation
du matriel afin de dlivrer une meilleure utilisation et flexibilit des ressources de
traitement (Vmware).
On parle de :
Machine hte = machine excutant les diffrents systmes virtuels
Machine invite:= machine virtuelle sexcutant dans lenvironnement de virtualisation

Virtualisation : Historique
4/8/14 6
Virtualisation : Historique
4/8/14 7
4/8/14 8
4/8/14 9
4/8/14 10
4/8/14 11
4/8/14 12
4/8/14 13
4/8/14 14
4/8/14 13
4/8/14 16
7"&+/ 55
4/8/14 17
Pourquoi la virtualisation
4/8/14 18
Pourquoi la virtualisation
4/8/14 19
Pourquoi la virtualisation
4/8/14 20
Usages
4/8/14 21
Usages
4/8/14 22
Usages
4/8/14 23
Domaines de la virtualisation : Prsentation
4/8/14 24
La virtualisation de prsentation permet dexcuter une application sur un systme et
de lafficher et contrler partir dun autre.
Il sagit de sessions virtuelles dans lesquelles lapplication prsente son interface
utilisateur distance :
Les traitements seffectuent sur le serveur tandis que les affichages, le clavier, la
souris et dautres entres/sorties seffectuent via le terminal de lutilisateur.
Chaque session virtuelle excute une seule application ou prsente lutilisateur
un bureau complet dans lequel il est possible dexcuter plusieurs applications.
Exemple : Terminal Server, Citrix!
La virtualisation dapplication est une technologie logicielle qui va permettre
damliorer la portabilit et la compatibilit des applications en les isolant du systme
dexploitation sur lequel elles sont excutes.
Elle consiste encapsuler lapplication et son contexte dexcution systme dans un
environnement cloisonn. La virtualisation dapplication va ncessiter lajout dune
couche logicielle supplmentaire entre un programme donn et le systme
dexploitation ; son but est dintercepter toutes les oprations daccs ou de
modification de fichiers ou de la base de registre afin de les rediriger de manire
totalement transparente vers une localisation virtuelle (gnralement un fichier).
Puisque cette opration est transparente, lapplication na pas notion de son tat
virtuel. Le terme virtualisation dapplication est trompeur puisquil ne sagit pas de
virtualiser lapplication mais plutt le contexte au sein duquel elle sexcute (registres
du processeur, systme de fichiers,...).
Domaines de la virtualisation : Applications
4/8/14 23
La virtualisation dapplications a de nombreux avantages :
Elle permet dexcuter des applications qui ont t dveloppes pour dautres
environnements dexcution (p. ex. Wine permet dexcuter des applications
Windows sur une plateforme Linux) ;
Elle protge le systme dexploitation hte en sassurant que lapplication
virtualise ne viendra pas interagir avec les fichiers de configuration du systme;
Elle vite de faire appel une machine virtuelle qui consomme plus de ressources ;
Elle autorise lexcution de code incorrect (p. ex. une application pourrait vouloir
crire un fichier dans un rpertoire systme dont elle ne possde que les droits en
lecture).
Domaines de la virtualisation : Applications
4/8/14 26
De manire gnrale, la virtualisation des rseaux consiste partager une mme
infrastructure physique (dbit des liens, ressources CPU des routeurs,...) au profit de
plusieurs rseaux virtuels isols. Un VLAN (Virtual Local Area Network) est un rseau
local regroupant un ensemble de machines de faon logique et non physique.
Puisquun VLAN est une entit logique, sa cration et sa configuration sont ralises
de manire logicielle et non matrielle. On distingue plusieurs types de rseaux
virtuels :
Les rseaux virtuels de niveau 1, appels rseaux virtuels par port (port-based
VLAN), dfinissent un rseau virtuel en fonction des ports de raccordement sur le
commutateur (switch). Ainsi, chaque port du commutateur est associ un rseau
virtuel, indpendamment de la machine qui y est physiquement raccorde. Le
principal inconvnient dun VLAN de niveau 1 est sa rigidit : si une station se
raccorde physiquement au rseau par lintermdiaire dun autre port du commutateur,
alors il est ncessaire de reconfigurer ce commutateur afin de rintgrer la station
dans le bon rseau virtuel.
Domaines de la virtualisation : Rseaux
4/8/14 27
Les rseaux virtuels de niveau 2, appels rseaux virtuels par adresse MAC (MAC
address-based VLAN) , consistent dfinir un rseau virtuel sur base des adresses
MAC des stations. Une adresse MAC est un identifiant unique implment dans
chaque adaptateur rseau. Ce type de VLAN est beaucoup plus souple que le
prcdent car il est indpendant de la localisation de la machine.
Les rseaux virtuels de niveau 3, incluent deux types de VLAN :
Les rseaux virtuels par adresse de sous-rseau (Network address-based
VLAN) qui dterminent les rseaux virtuels sur base de ladresse IP source des
segments. Ce type de rseau virtuel est trs flexible puisque les commutateurs
adaptent automatiquement leur configuration lorsquune station est dplace. En
revanche, une lgre dgradation des performances peut se faire ressentir
puisque les segments doivent tre analyss plus minutieusement.
Les rseaux virtuels par protocole (Protocol-based VLAN). Dans ce cas, les
rseaux virtuels sont crs sur base des protocoles utiliss (TCP/IP, IPX,...) et
les stations sont regroupes en rseaux virtuels suivant le protocole quelles
utilisent.
Domaines de la virtualisation : Rseaux
4/8/14 28
Les avantages quoffrent les rseaux
virtuels sont les suivants :
une rduction du trafic de
diffusion (broadcast) puisque
celui-ci est prsent contenu au
sein de chaque rseau virtuel;
une scurit accrue puisque
linformation est encapsule dans
une couche supplmentaire ;
une meilleure flexibilit
puisquune modification de la
structure des rseaux peut tre
ralise en modifiant la
configuration du commutateur.
Domaines de la virtualisation : Rseaux
4/8/14 29
La virtualisation de stockage est un
procd qui va sparer la reprsentation
logique et la ralit physique de lespace
de stockage. Son but est de faire
abstracti on des pri phri ques de
stockage utiliss et des interfaces qui
leur sont associs (SATA, SCSI,...) afin
de limiter limpact des modifications
structurel l es de l archi tecture de
stockage.
Ce type de virtualisation fait appel
une application dadministration de
volumes logiques (Logical Volume
Manager, LVM). Il sagit dune couche
logicielle qui va permettre de regrouper
plusieurs espaces de stockage, appels
vol umes physi ques, pour ensui te
dcouper cet espace global suivant la
demande en part i t i ons vi rt uel l es
appeles volumes logiques.
Domaines de la virtualisation : Stockage
4/8/14 30
Ce processus de virtualisation peut tre vu comme une extension du modle de
partitionnement classique des disques dur.
La virtualisation de stockage permet :
dadjoindre un priphrique de stockage supplmentaire sans interruption des
services;
de regrouper des units de disques durs de diffrentes vitesses, de diffrentes
tailles et de diffrents constructeurs;
de rallouer dynamiquement de lespace de stockage. Ainsi, un serveur
ncessitant un espace de stockage supplmentaire pourra rechercher des
ressources non alloues, sur le disque logique. Inversement, un serveur
ncessitant moins despace de stockage pourra librer cet espace et le rendre
disponible pour dautres serveurs.
Domaines de la virtualisation : Stockage
4/8/14 31
Domaines de la virtualisation : Postes de travail
4/8/14 32
VDI pour virtual Desktop Infrastructure, a pour objectif de relocaliser le poste de
travail au sein du datacenter de lentreprise, sur une infrastructure virtuelle, afin de
bnficier de tous les avantages qui y sont lis savoir:
Une administration des postes centralise et considrablement simplifie
Possibilit de remplacer les postes utilisateurs traditionnels par des clients
lgers, plus fiables, moins chers et peu consommateurs en nergie.
Les postes de travail hritent de la scurisation de linfrastructure virtuelle sur
laquelle ils sont hbergs (redondance, backup!)
Une mobilit accrue, le poste utilisateur est accessible hors de lentreprise de
faon permanente et scuris, point essentiel pour la population nomade.

La virtualisation des serveurs consiste masquer les ressources du serveur, c.--d.
le nombre et les caractristiques de chaque machine physique, de chaque
processeur et de chaque systme dexploitation pour les utilisateurs de ce serveur.
Ladministrateur du serveur va utiliser un logiciel grce auquel il va diviser un serveur
physique (constitu ou non de plusieurs machines distinctes) en plusieurs
environnements virtuels isols les uns des autres.
Ces environnements isols sont parfois appels serveurs privs virtuels, htes,
instances, containeurs ou mulations.
La virtualisation de serveurs sinscrit dans une tendance globale qui tend
promouvoir la virtualisation au sein des entreprises en faisant notamment appel `a la
virtualisation de stockage et la virtualisation de rseaux. Cette tendance est une
composante dans le dveloppement de systmes autonomes. Un systme est dit
autonome si il est capable de sauto-grer sur base de lactivit quil peroit, sans
aucune intervention externe, et en conservant les dtails de son implmentation
invisibles pour lutilisateur.
Domaines de la virtualisation : Serveurs
4/8/14 33
7"&+/ 555
4/8/14 34
Principes de la virtualisation
Gerald J. Popek et Robert P. Goldberg sont deux chercheurs en informatique qui, en
1974, ont pos les bases de la virtualisation. Leur article, publi dans le
Communications of the ACM (Association for Computing Machinery) de juillet 1974,
discute les possibilits de virtualisation des architectures de troisime gnration.
Avant de poursuivre notre analyse, il est ncessaire de dfinir deux termes qui seront
largement utiliss dans la suite de ce document :

Une machine virtuelle (Virtual Machine, VM) : il sagit dune reproduction isole
et efficace dune machine physique.

Un hyperviseur ou contrleur de machine virtuelle (Virtual Machine Monitor,
VMM) : il sagit dun logiciel qui va crer et grer lexcution dun certain nombre
de machines virtuelles. Popek et Goldberg ont tabli trois contraintes que
doivent respecter les contrleurs de machines virtuelles pour pouvoir tre
considres en tant que tels.
4/8/14 33
Principes de la virtualisation: Vocabulaires
1. Critre dquivalence :

Any program run under the VMM should exhibit an effect identical with that demonstrated
if the program had been run on the original machine directly, with the possible exception of
differences caused by the availability of system resources and differences caused by
timing dependencies

Ce critre impose que tout programme doit montrer un comportement similaire, quil soit
excut au travers dun systme de virtualisation ou bien directement sur la machine
physique, lexception dune ventuelle indisponibilit des ressources ou de contraintes
temporelles. Les contraintes temporelles sont dues la couche logicielle de virtualisation qui
intervient et lexistence dautres machines virtuelles.
4/8/14 36
2. Critre defficacit :
The second characteristic of a virtual machine monitor is efficiency. It demands
that a statistically dominant subset of the virtual processors instructions be executed
directly by the real processor, with no software intervention by theVMM .
Cette contrainte exige quune majorit des instructions du processeur virtuel soient
directement excutes par le processeur physique et ce, sans intervention du systme
de virtualisation. La virtualisation matrielle permet de mieux rpondre cette contrainte.
Ce critre exclut les systmes purement logiciels (simulations) ainsi que lmulation.

3. Critre de contrle des ressources :
The VMM is said to have complete control of these resources if it is not possible for
a program running under it in the created environment to access any resource not
explicitly allocated and it is possible under certain circumstances for the VMM to
regain control of resources already allocated .
Ce critre impose au systme de virtualisation davoir un contrle total des ressources.
Un programme virtualis ne doit pas avoir la possibilit daccder une ressource
autrement quau travers du systme de virtualisation et ce dernier se rserve le droit de
reprendre le contrle dune ressource nimporte quel moment. Le terme ressource se
rfre la mmoire et aux autres priphriques, pas uniquement au processeur.
Principes de la virtualisation: Vocabulaires
4/8/14 37
Principes de la virtualisation : Prrequis
Les prrequis noncs par Popek et Goldberg sont un ensemble de conditions
ncessaires assurant une architecture matrielle de supporter efficacement le
processus de virtualisation. Le problme est de dterminer les caractristiques que doit
possder le jeu dinstructions dun processeur afin de rpondre de manire efficace aux
contraintes voques ci-dessus. Le jeu dinstructions (Instruction Set Architecture, ISA)
est lensemble des instructions quun processeur est en mesure dexcuter. Pour
noncer leurs thormes, Popek et Goldberg ont class les instructions de lISA en 3
groupes :
Les instructions privilgies : pour les excuter, le processeur doit tre dans un mode
particulier, le mode privilgi. Si le processeur ne se trouve pas dans cet tat, une
interruption est dclenche et linstruction est pige (trapped). Linterruption consiste en
un changement de contexte au cours duquel le systme (que ce soit lOS hte ou
lhyperviseur) dcide de la suite donner cette instruction.
Les instructions sensibles la configuration : ce sont les instructions qui ont la
possibilit dinterroger ou de modifier la configuration du systme comme par exemple le
mode du processeur ou la quantit de mmoire alloue un processus particulier.
Les instructions sensibles au comportement : il sagit des instructions dont le
comportement ou le rsultat va dpendre de ltat ou la disponibilit des ressources (si le
processeur se trouve en mode privilgi ou non,...).
4/8/14 38
Principes de la virtualisation : Thormes
Les rsultats de lanalyse de Popek et Golberg peuvent snoncer suivant 2 thormes :
Thorme 1:
For any conventional third generation computer, a VMM may be constructed if the set of
sensitive instructions for that computer is a subset of the set of privileged instructions
De manire intuitive, le thorme annonce que pour construire un hyperviseur pour une architecture
particulire, il est ncessaire que les instructions qui pourraient compromettre le bon fonctionnement
de cet hyperviseur (instructions sensibles la configuration) soient piges et que le contrle soit
donn lhyperviseur. Ceci garantit le critre de contrle des ressources. Les instructions non
privilgies, quant elles, doivent tre excutes sans intervention de lhyperviseur afin de garantir le
critre defficacit.
Remarquons que si les instructions sensibles la configurations ne font pas partie des instructions
privilgies, alors, en vertu du critre defficacit, elles seront excutes sans intervention de
lhyperviseur et par consquent, le critre de contrle des ressources nest pas respect.

Thorme 2
A conventional third generation computer is recursively virtualizable if 1) it is virtualizable and 2)
a VMM [...] can be constructed for it.
Le second thorme porte sur la possibilit de faire de la virtualisation rcursive, cest dire
dexcuter une ou plusieurs machines virtuelles au sein dune machine virtuelle. Ce thorme
annonce que ce processus est ralisable pour autant que larchitecture matrielle rponde au premier
thorme et quun hyperviseur puisse tre dvelopp pour cette architecture.
4/8/14 39
Principes de la virtualisation : Composants dun hyperviseur
Lhyperviseur, ou programme de contrle, est un logiciel constitu dun ensemble de modules. Les
modules dun hyperviseur peuvent tre regroups en trois catgories :

1. Le rgulateur (dispatcher) : il peut tre considr comme le module de contrle de plus haut
niveau de lhyperviseur. Son rle est de donner le contrle un des modules de la deuxime ou de
la troisime catgorie.

2. Lallocateur : son rle est de dterminer quelle(s) ressource(s) doivent tre alloues aux
applications virtualises. Il est galement du ressort de lallocateur de ne pas donner une mme
ressource simultanment deux environnements virtuels distincts. Le rgulateur fera appel
lallocateur chaque fois quun environnement virtuel tentera dexcuter une instruction privilgie qui
aurait comme rpercussion de modifier les ressources alloues cet environnement virtuel.

3. Des interprteurs : chacune des instructions privilgies ( lexception de celles qui sont prises
en charge par lallocateur), on va associer une routine dinterprtation. Le rle de ces routines est de
simuler le rsultat des instructions privilgies qui sont piges.
4/8/14 40
Les problmes lis la virtualisation
Les problmes actuels de la virtualisation sont principalement lis lomniprsence de
larchitecture x86 au sein des ordinateurs. Bien que largement rpandu, le jeu dinstructions qui la
compose nest pas exempt de dfauts. Si cette architecture se prte mal la virtualisation, cest
cause de 18 instructions dites critiques.
Ces instructions critiques sont des instructions sensibles la configuration mais qui ne font pas
partie des instructions privilgies. Dun point de vue pratique, les instructions dun processeur
sont rparties en plusieurs catgories (ou niveaux dabstraction) appeles anneaux.
Un processeur qui implmente larchitecture x86 dispose de quatre anneaux o chaque anneau
correspond un certain niveau de privilges. Si nous appelons D(i) le niveau de privilge
accord aux applications qui sexcutent sur lanneau i, nous pouvons dfinir la relation suivante
sur les anneaux :
4/8/14 41
Les instructions critiques ncessitent en thorie de sexcuter au niveau de privilge
le plus lev, c.- -d. lanneau 0. Le problme de 18 de ces instructions critiques,
listes dans lannexe A, est quelles peuvent galement sexcuter aux anneaux 1, 2
et 3. Cela constitue un rel problme pour les logiciels de virtualisation. En effet, il ne
faut en aucun cas quun systme virtuel ait la possibilit de modifier les ressources
physiques de la machine. Il est donc du ressort de lhyperviseur dintercepter ces
instructions critiques de manire simuler leur comportement.
Du point de vue des instructions privilgies, aucun problme ne se pose : ces
instructions vont tre piges (puisque le systme virtuel est excut lanneau 3) et
lhyperviseur pourra les traiter. Mais pour ces 18 instructions critiques, la situation est
plus complexe. Comme elles ne seront pas piges (puisquelles ne ncessitent pas
un niveau de privilge trs lev), lhyperviseur doit tre en mesure de les dtecter
de manire pouvoir les interprter. Il en rsulte videmment une surcharge de
calcul importante ainsi quune grande complexit de lhyperviseur.
Dautre part, les systmes dexploitation sont conus pour tre excuts au niveau de
privilges 0, puisquils sont senss disposer dun contrle total des ressources. Or,
lorsquils sont virtualiss les systmes dexploitation ne sont plus excuts sur
lanneau 0, mais sur lanneau 3.
Les problmes lis la virtualisation
4/8/14 42
Les problmes lis la virtualisation
Lhyperviseur doit donc tre en mesure de leurrer le systme dexploitation virtualis
afin que celui-ci ne se rende pas compte quil sexcute avec un faible niveau de
privilges . Au-del des problmes lis larchitecture du processeur, la virtualisation
se heurte galement des problmes dadressage mmoire. En effet, le systme
virtualis suppose quil a accs toute la mmoire, ce qui est faux puisquil la
partage avec dautres environnements virtuels et avec lhyperviseur. Celui-ci doit
donc galement sassurer que chaque environnement virtuel naccde pas un
espace dadressage mmoire qui ne lui appartient pas et effectuer la traduction
dynamique dadresses virtuelles en adresses physiques.
Enfin, les dispositifs dentres/sorties constituent lheure actuelle un problme
majeur dans la plupart des logiciels de virtualisation. Sil est plutt facile dajouter des
units de calcul sur un serveur physique afin damliorer les performances des
environnements virtuels, il nest pas possible daugmenter le dbit daccs aux
disques par exemple.
De plus, contrairement au CPU, une grande partie des priphriques sont muls, ce
qui signifie que chaque instruction daccs au pilote dun priphrique virtuel doit tre
traduite en une instruction daccs un priphrique physique, ce qui fait lourdement
chuter les performances.
4/8/14 43
7"&+/ 58
4/8/14 44
Les diffrents types de virtualisation
On distingue 3 types de virtualisation :

La virtualisation complte
La para virtualisation
La virtualisation au niveau OS
4/8/14 43
Virtualisation matrielle
Introduite pour la premire fois par IBM sur ses systmes 370, la virtualisation
matrielle est une approche de la virtualisation qui vise amliorer les
performances des environnements virtuels en faisant appel aux capacits
matrielles des composants de la machine physique, et plus particulirement du
processeur. Ce chapitre mettra donc laccent sur les technologies matrielles de
virtualisation implmentes au sein des processeurs.
La ncessit de dvelopper des solutions de virtualisation assistes par le
processeur a fait son apparition avec la prolifration des systmes base
darchitecture x86. Cette architecture se prte trs mal la virtualisation et celle-ci
ncessite un travail considrable de la part de lhyperviseur. A laide de la
virtualisation matrielle, lhyperviseur est en mesure de virtualiser correctement
lensemble des instructions de larchitecture x86, y compris les 18 instructions
critiques qui posent problme.
Les deux principaux fabricants de processeurs sur le march, Intel et AMD, ont
rapidement compris lintrt de ces solutions et, en 2006, ils ont chacun inaugurs
une nouvelle gamme de processeurs incluant une technologie daide matrielle la
virtualisation. Cette technologie est connue sous le nom de Intel VT-x
(anciennement Vanderpool) et AMD-V (anciennement Pacifia). Globalement, les
technologies des deux concurrents sont semblables et nous ne les diffrencierons
pas.
4/8/14 46
Virtualisation matrielle
Dun point de vue pratique, ces processeurs incluent un nouveau mode dexcution
appel, Extension de Machine Virtuelle (Virtual Machine Extension, VMX). Puisque
lhyperviseur et lenvironnement virtuel ne peuvent pas se trouver au mme niveau de
privilges, ce nouveau mode dexcution va ajouter cinq anneaux supplmentaires
regroups en deux niveaux. Le premier, appel niveau racine correspond un
anneau qui se trouverait sous lanneau 03 (le niveau racine a donc un contrle absolu
des ressources). Le second, appel niveau normal, correspond aux quatre anciens
anneaux (ils sont donc regroups au sein dun niveau de privilge unique). Puisque
lhyperviseur doit grer la rpartition des ressources, il sexcute au niveau racine
tandis que les environnements virtuels sexcutent au niveau normal.
Pour entrer dans le mode dexcution virtuel, le processus excute une instruction
particulire (VMXON chez Intel) et, symtriquement, pour quitter le mode virtuel, le
processus excute linstruction inverse (VMXOFF chez Intel). Lorsque lhyperviseur
est lanc , il peut passer du mode racine au mode normal (et donc, donner le contrle
un environnement virtuel laide dune autre instruction (appele VMLAUNCH chez
Intel) et, symtriquement, lhyperviseur reprendra le contrle et passera au niveau
racine au moyen de linstruction inverse (VMRESUME chez Intel).
4/8/14 47
Les technologies de virtualisation matrielle dIntel et AMD implmentent galement
des instructions qui permettent dacclrer les sauvegardes et restaurations de
contexte. En effet, lorsquun hyperviseur veut donner le contrle un autre
environnement virtuel, il doit dune part sauvegarder le contexte dexcution de
lenvironnement virtuel actuellement actif et, dautre part, restaurer le contexte
dexcution de lenvironnement virtuel qui il sapprte donner le contrle .
Ainsi, chaque environnement virtuel est associ un segment en mmoire de
quelques KBytes qui contient les donnes importantes du contexte dexcution de
cet environnement. Il est lu chaque activation dun environnement virtuel et rcrit
chaque sortie de celui-ci. Chez AMD, ce segment sappelle Bloc de Contrle de la
Machine Virtuelle (Virtual Machine Control Block, VMCB) ; chez Intel, ce segment
sappelle Structure de Contrle de la Machine Virtuelle, (Virtual Machine Control
Structure, VMCS).
Virtualisation matrielle
4/8/14 48
Virtualisation matrielle
4/8/14 49
Virtualisation complte (hyperviseur type 1)

La virtualisation complte utilise un systme d'exploitation hte classique (Linux,
Windows dont les noyaux ne sont pas modifis) et un logiciel de virtualisation qui
mule un matriel virtuel. Les machines virtuelles installent des systmes
d'exploitation invits qui utilisent des pilotes pour grer le matriel virtuel.
Exemples:
VirtualBox
VMWare Server, VMWare Workstation
MS VirtualPC, Virtual Server (arrt)

4/8/14 30
virtualisation complte (hyperviseur type 1)

Egalement connue sous le nom de machine virtuelle, cette stratgie de virtualisation
consiste crer des environnements virtuels qui sont une copie dune machine
physique (mmoire, disques,...). Les machines virtuelles se basent sur deux
principes :

1. la traduction binaire des instructions que le noyau du systme virtualis
souhaite excuter;
2. lexcution directe des instructions relatives aux applications utilisateurs.
La traduction binaire ne consiste pas traduire les instructions dun jeu dinstructions
particulier vers un autre (p. ex. x86 ! RISC), mais plutt de traduire les instructions
dun jeu dinstructions vers ce mme jeu dinstructions (p. ex. x86 ! x86). Le code
traduit est plac dans le cache de traduction. La traduction binaire dune instruction
issue dun environnement virtuel pourrait par exemple consister remplacer une
instruction de manipulation du matriel physique en une instruction de manipulation
du matriel virtuel associ cet environnement, ou remplacer une instruction
privilgie par une instruction non privilgie (de manire ce quelle soit pige par
lOS hte). La traduction binaire repose donc sur un travail danalyse des instructions
excutes par le noyau du systme invit. Cette traduction peut savrer
indispensable pour assurer le maintien de la stabilit du systme dans sa globalit.
4/8/14 31
Les instructions utilisateurs sont quant elles excutes directement car
lhyperviseur fait la supposition quelles ne sont pas dangereuses pour le systme.
Elle sexcutent donc comme sil nexistait aucune couche de virtualisation.

Avantages :
permet de faire fonctionner plusieurs systmes diffrents sur la mme machine
physique ;
bonnes performances et stabilit.

Inconvnients :
consommation importantes des ressources (la consommation est fonction du nombre
de machines virtuelles). Exemples : Microsoft Virtual PC, Microsoft Virtual Server,
VirtualBox, VMware Workstation.
Selon VMware, la virtualisation complte est actuellement la stratgie de
virtualisation la plus largement rpandue et la plus fiable.
Virtualisation complte (hyperviseur type 1)

4/8/14 32
Virtualisation assiste par matriel (Hyperviseur type 1)


Il s'agit toujours d'un systme de virtualisation complte mais une amlioration
importante est ajoute : Le VMM est capable d'utiliser les fonctionnalits avances
des processeurs grant la virtualisation (voir chapitre sur la virtualisation
matrielle): Intel-VT et AMD-V.
Les logiciels cits au paragraphe prcdent sont aujourd'hui capable de faire de la
virtualisation assiste par matriel
4/8/14 33
Para-virtualisation (Hyperviseur type 2)

La para-virtualisation vite d'utiliser un systme hte complet pour faire la
virtualisation.
A la place, un noyau trs lger de systme d'exploitation hte est utilis. Les
performances sont bien meilleures en para-virtualisation qu'en virtualisation
complte.
Exemples de systmes de para-virtualisation:
VMWare ESX
Hyper-V
Oracle VM
Xen
KVM
4/8/14 34
La para-virtualisation consiste pour le systme dexploitation virtualis
communiquer plus efficacement avec lhyperviseur de manire accrotre les
performances du systme.
La para-virtualisation implique une modification du noyau du systme dexploitation
virtualis afin de remplacer les instructions non virtualisables par des hyper-appels
(hypercalls) qui vont communiquer directement avec la couche virtuelle de
lhyperviseur.
Lhyperviseur fournit galement un ensemble dinterfaces dhyper-appels pour
dautres oprations critiques du noyau telles que les oprations de gestion de la
mmoire, des interruptions,...
La para-virtualisation est diffrente de la virtualisation complte o le systme
virtualis nest pas conscient de son tat et les instructions critiques sont piges et
traduites. Le principal atout de la para-virtualisation rside dans ses faibles cots de
virtualisation, mais ses performances par rapport la virtualisation complte
dpendent fortement de la charge de travail de la machine physique.
Para-virtualisation (Hyperviseur type 2)

4/8/14 33
Puisque la para-virtualisation ne supporte pas les systmes non modifis (et, par
consquent, les systmes propritaires tels que Microsoft Windows), sa portabilit et
sa compatibilit sont rduites. La para-virtualisation introduit galement des
problmes de maintenance et de support au sein denvironnements de
dveloppement puisquelle ncessite des modifications du noyau du systme.

Avantages :
performances accrues et stabilit.
Inconvnients :
Ncessite une adaptation du noyau des systmes invits ;
Usage limit aux systmes libres (consquence du point prcdent)..
Para-virtualisation (Hyperviseur type 2)

4/8/14 36
Virtualisation d'environnement (ou processus )

La virtualisation d'environnement concerne uniquement la partie applicative. Il n'y a
qu'un systme d'exploitation utilis mais l'application ou l'environnement utilisateur ou
logiciel est cloisonn de sorte que les processus soient indpendants.
Au niveau de l'environnement, on utilise des logiciels comme :
Jail BSD
OpenVZ
Chroot
Au niveau applicatif, de nombreux logiciels sont capables de crer des processus
virtuels comme :
les htes virtuels d'Apache
les htes virtuels de Postfix
4/8/14 37
La virtualisation au niveau du systme dexploitation est une stratgie qui consiste
raliser le processus de virtualisation au niveau du noyau du systme hte (ce
modle ne fait donc pas intervenir de couche virtuelle supplmentaire). Cette forme
de virtualisation consiste crer des environnements virtuels (appels conteneurs)
qui vont chacun dupliquer certains composants du systme dexploitation hte. Les
capacits de virtualisation font ds lors partie intgrante du systme hte et non plus
de lhyperviseur. La principale contrainte de ce modle de virtualisation rside dans le
fait que les systmes invits doivent imprativement tre du mme type que le
systme hte.
Dans le modle des machines virtuelles, chaque systme virtualis communique
avec le matriel au travers dune couche de virtualisation. Plus le nombre de
machines virtuelles est important et plus le systme est ralentit (il faut en effet
traduire un grand nombre doprations virtuelles). Par contre, la virtualisation au
niveau du systme dexploitation autorise les environnements virtuels communiquer
directement avec le systme dexploitation hte, comme sil nexistait aucune couche
de virtualisation, ce qui amliore les performances. Comme les partitions de
virtualisation au niveau du systme dexploitation sont gnralement bien plus petites
que les partitions des machines virtuelles, il est possible dexcuter un grand nombre
denvironnements virtuels en parallle.

4/8/14 38
Virtualisation d'environnement (ou processus )

Avantages :
permet de faire fonctionner plusieurs instances du mme systme de faon tanche.
performances proches du mode natif.

Inconvnients :
ne permet de faire fonctionner quun seul type de systme.
4/8/14 39
Virtualisation d'environnement (ou processus )

7"&+/ 8
4/8/14 60
Au cours des dernires annes, la
virtualisation semble stre impose
comme un lment incontournable au sein
des entreprises et ce sont principalement
les serveurs qui sont au centre de toutes
les attentions. La virtualisation prsente les
avantages suivants :
1. Une optimisation de linfrastructure. La
virtualisation permet doptimiser la charge
de travail des serveurs physiques. En effet,
il y a quelques annes, la relation une
application-un serveur tait encore
largement rpandue. Cependant, comme
le montre le schma, cette relation introduit
un gaspillage important des ressources
puisquon estime que la charge moyenne
dun serveur se situe entre 5% et 15% [4].
Avantages de la virtualisation
4/8/14 61
Lide et alors de rcuprer ces ressources
disponibles afin den faire bnficier dautres
applications.

La virtualisation va apporter une solution
efficace: plutt que de faire tourner une seule
application sur le serveur physique, on va
installer sur celui-ci plusieurs serveurs virtuels
excutant chacun une application bien
prcise, et cest le logiciel de virtualisation qui
se charge de rpartir quitablement les
ressources entre les diffrentes instances. De
cette manire, comme le montre le schma 5,
on optimise le rendement de chacun des
serveurs physiques.
Avantages de la virtualisation
4/8/14 62
2. Une rduction de linfrastructure physique et des conomies dnergies. Les
centres de donnes sont dimportants consommateurs de ressources. VMware
affirme quun serveur au repos consomme jusqu`a 30% du pic de consommation
lectrique et selon Intel, 36,4% de lnergie est utilise par les composants physiques
des serveurs (processeurs, mmoire,...) tandis que les 63,6% restants sont
consomms par les quipements de climatisation. Ces chiffres sont interpelant et la
virtualisation de linfrastructure dune entreprise doit devenir un de ses projets
prioritaires. Puisque plusieurs applications peuvent prsent cohabiter de manire
efficace sur un mme systme, les entreprises vont pouvoir rduire le nombre de
machines de leur centre de donnes en investissant nouveau dans dimportants
mainframes avec lesquels rapparat le modle de centralisation de la puissance de
calcul. Par consquent, les entreprises font des conomies en terme despace mais
aussi en terme de frais de ventilation et dalimentation. La rduction des cots
dalimentation et de refroidissement sinscrit galement dans une tendance gnrale
la promotion du respect de lenvironnement. Selon Gartner, une entreprise
amricaine de conseil et de recherche dans le domaine des techniques avances,
lindustrie informatique serait responsable de 2% des missions mondiales de CO2.
La virtualisation aurait permis dconomiser 5 milliards de kWh dnergie lectrique
(source :VMware).
Avantages de la virtualisation
4/8/14 63
3. Une reprise automatique lors des incidents. La virtualisation permet damliorer
la prvention et la gestion des pannes ainsi que le plan de reprise de lactivit du
systme. En effet , les quipements virtuels tant constitus dun ensemble de
fichiers, il est trs simple de les sauvegarder. Si un problme survient sur une
machine physique, les fichiers qui ont t sauvegards auparavant pourront
rapidement tre restaurs sur une autre machine physique, en attendant que la
machine virtuelle initiale soit redmarre.
4. Une optimisation de la scurit des donnes. Par la centralisation des
ressources applicatives au sein du centre de donnes, la virtualisation contribue
scuriser laccs et lusage des donnes de lentreprise. Il est en effet beaucoup
plus simple de contrler laccs aux donnes lorsquelles sont regroupes en un
lieu que lorsquelles sont rparties sur lensemble des sites de lentreprise, comme
cest le cas dans un modle dinformatique distribu. Il est nanmoins
indispensable de disposer dun systme de synchronisation qui permettra de
sauvegarder lensemble des informations sur un site extrieur. De cette manire, on
limite les risques lis la destruction du centre de donne initial.
Avantages de la virtualisation
4/8/14 64
5. Une facilit de migration. La virtualisation apporte la possibilit de migrer facilement
un environnement virtuel dune machine physique vers une autre, facilitant ainsi la
mise jour du centre de donne ou le remplacement de matriel dfectueux. De
nombreux outils daide la migration ont t dvelopps . Ils peuvent tre regroups
en 3 grandes catgories : P2V (Physical toVirtual), V2P (Virtual to Physical) et V2V
(Virtual to Virtual). Les outils P2V sont gnralement utiliss dans les projets de
virtualisation dune infrastructure informatique. Ils consistent convertir les serveurs
physiques en serveurs virtuels. Les outils V2P, qui permettent de convertir des
serveurs virtuels en serveurs physiques, sont peu demands mais une telle
fonctionnalit rassure les entreprises qui souhaitent utiliser de la virtualisation ; elle
leur permet, si elles le dsirent, de faire marche arrire. Enfin, les outils V2V, qui
permettent de convertir des serveurs virtuels dun format dans un autre, sont
principalement utiliss au sein dentreprises qui utilisent des gestionnaires de
systmes virtuels diffrents
6. Flexibilit et compatibilit. La virtualisation est un outil efficace en terme de
flexibilit et de compatibilit En effet, elle supprime toute dpendance entre une
application donne et laspect matriel de la machine sur laquelle elle est excute.
Il devient alors possible dexcuter sur un systme une application qui a t
dvelopp destination dun autre systme.
Avantages de la virtualisation
4/8/14 63
7. Un cloisonnement. Le dveloppement dune application saccompagne
ncessairement de phases de tests au cours desquelles le programmeur sassure du
bon fonctionnement et de la stabilit de son logiciel. Nanmoins, il est parfois risqu
dexcuter une application lorsque lon nest pas certain du rsultat qui sera produit.
Pour rduire les risques lis des applications peu fiables, la virtualisation peut tre
utilise pour crer des environnements isols et scuriss qui vont servir de
plateformes dessai. Il devient ds lors possible ditrer un grand nombre de fois un
processus de test sans craindre de dstabiliser la machine physique sur laquelle
sexcute lapplication.
Avantages de la virtualisation
4/8/14 66
1. Un point de dfaillance unique (SPOF) Il sagit probablement du plus gros dsavantage de la
virtualisation. Puisque plusieurs environnements virtuels sexcutent sur une unique machine
physique, si cette machine tombe en panne, alors les services fournis par les environnements
virtuels sont interrompus.
2. Un recours des machines puissantes. La virtualisation permet de raliser des conomies
puisque moins de machines physiques sont ncessaires. Nanmoins, les outils de virtualisations
sont des applications trs gourmandes en ressources et ncessitent des machines puissantes. Il
est videmment possible dutiliser la virtualisation sur des machines plus modestes, mais un
manque de mmoire ou de capacit CPU peut faire chuter les performances de manire
dramatique.
3. Une dgradation des performances. Bien quelle soit implmente sur des machines
puissantes, la virtualisation peut rduire les performances des applications. Suivant le type de
virtualisation envisag, cette perte de performances peut ou non tre significative. Ce problme
est dautant plus embarrassant quil est difficile destimer lavance limpact quaura la
virtualisation sur une application donne. Dans certains cas, la dgradation des performances est
telle quil est prfrable de conserver lapplication dans un environnement physique.
Inconvnients de la virtualisation
4/8/14 67
4. Une complexit accrue de lanalyse derreurs. La virtualisation dun serveur implique des
changements importants dans linfrastructure du systme. La couche de virtualisation vient
sajouter aux autres et apporte potentiellement avec elle un ensemble de nouveaux problmes.
La difficult de cette couche additionnelle rside dans le fait que, si quelque chose ne fonctionne
pas correctement, la localisation du problme peut demander des efforts considrables.
5. Une impossibilit de virtualisation. Bien que, dans la plupart des cas, il nest pas possible de
prdire si une application se comportera normalement une fois virtualise, il existe des
applications qui sont connues pour rencontrer des difficults lors de leur virtualisation. Les bases
de donnes sont un exemple de telles applications. En effet, les bases de donnes ont recours
de nombreux accs disques et le dlai daccs supplmentaire introduit par la virtualisation peut
dans certain cas rendre lapplication inutilisable.
6. Un dploiement massif de serveurs. Il ne sagit pas rellement dun dsavantage de la
virtualisation en tant que tel, mais dun dsavantage de la facilit de mise en place dun nouvel
environnement virtuel. En effet, certains administrateurs estiment quil est plus scurisant de
dployer un serveur dans un nouvel environnement virtuel, isol des autres, plutt quau sein dun
systme dexploitation qui excute simultanment dautres applications. Cependant,
ladministration et les cots dune telle opration ajoutent une charge supplmentaire quil est
difficile destimer `a lavance.
7. Un problme de standardisation. La virtualisation est une technologie largement rpandue mais
elle ne fait lobjet daucun protocole de normalisation. Il nexiste par consquent aucun outil
standard aux diffrentes formes de virtualisation.
Inconvnients de la virtualisation
4/8/14 68
4/8/14 69
4/8/14 70
4/8/14 71
4/8/14 72
4/8/14 73
4/8/14 74
4/8/14 73
4/8/14 76
4/8/14 77
7"&+/ 85
4/8/14 78
4/8/14 79
4/8/14 80
4/8/14 81
4/8/14 82
4/8/14 83
4/8/14 84
4/8/14 83
4/8/14 86
4/8/14 87
4/8/14 88
Les solutions
4/8/14 89
4/8/14 90
4/8/14 91
4/8/14 92
4/8/14 93
4/8/14 94
4/8/14 93
4/8/14 96
4/8/14 97
4/8/14 98
4/8/14 99
4/8/14 100
4/8/14 101
4/8/14 102
4/8/14 103
4/8/14 104
4/8/14 103
4/8/14 106
4/8/14 107
4/8/14 108
4/8/14 109
4/8/14 110
4/8/14 111
4/8/14 112
4/8/14 113
4/8/14 114
4/8/14 113
Conclusion
Nous avons vu que la virtualisation est une technologie aujourdhui largement rpandue au
sein des entreprises. Elle peut prendre de nombreuses formes et est prsente tous les
niveaux. Bien que ces solutions prsentent un certain nombre dinconvnients, les
avantages quelles apportent peuvent savrer dterminants dans la politique dacquisition,
de structuration et de gestion des ressources informatiques.
Aujourdhui, mme sil existe beaucoup de logiciels de virtualisation, ceux-ci peuvent tre
regroups en trois grandes classes : la virtualisation complte, la para-virtualisation et la
virtualisation au niveau du systme dexploitation.
Pour terminer, quel est lavenir de la virtualisation ? Lavenir de la virtualisation dpend dun
grand nombre de facteurs. Tout dabord, il est ncessaire de reconsidrer notre vision de la
technologie afin de profiter pleinement des avantages lis la virtualisation. Linformatique
est une science en constante volution et il est impratif de remettre en question un grand
nombre de principes qui sont aujourdhui largement rpandus. Intel et AMD, bien quils
soient sur la bonne voie, ont encore des efforts faire pour amliorer le support matriel
de la virtualisation incluse dans leur processeurs, de manire supporter plus
efficacement les diffrentes technologies prsentes sur le march. Les constructeurs de
priphriques dentres/sorties doivent tablir de nouvelles formes pour permettre une
simplification des interactions entre les environnements virtuels et les fichiers. Enfin, les
dveloppeurs sont tenus de standardiser les diffrentes technologies de virtualisation
utilises lheure actuelle afin de garantir des solutions plus accessibles dans le futur.
4/8/14 116
Les 18 instructions problmatiques de x86

SGDT
SIDT
SLDT
SMSW
PUSHF
POPF
LAR
LSL
VERR
VERW
POP
PUSH
CALL
JMP
INT n
RET
STR
MOVE
ANNEXE A-
4/8/14 117
4/8/14 118
4/8/14 119
Webographie/Bibliographie
9($&":/* ;*(%'/<

Server vlrLuallzauon : Covrerlng Loday's Server vlrLuallzauon Loplcs. searchservervlrLuallzauon.LechLargeL.com/.
AllLxperLs. Serveurs eL SLockage. www.zdneL.fr/acLuallLes/lL-managemenL/0, 3800003311,39711923,00.hLm.
Anand1ech. Pardware vlrLuallzauon : Lhe nuLs and 8olLs. www.anandLech.com/l1/ showdoc.aspx?l=3263&p=1.
ArumLec. ourquol vlrLuallser esL C8LLn. www.arumLec.neL/fr/ laboraLolre-arumLec/faq/q3-pourquol-vlrLuallser-esL-green.
AMu Company. AMu nesLed aglng. !ullleL 2008.
Alaln uevarleux. vlrLuallsauon de serveurs, Soluuons Cpen Source.
Cagnalre Laure eL Lahoudere lablen. La vlrLuallsauon. uecembre 2007.
8ernard Colden. vlrLuallzauon for uummles.
CynLhla L. lrvlne !ohn Scou 8obln. Analysls of Lhe lnLel enuum's AblllLy Lo SupporL a Secure vlrLual Machlne MonlLor. AoL 2000.
na[ml. Cenerauons of CompuLer. Ao uL 2004.
opek and Coldberg. lormal 8equlremenLs for vlrLuallzable 1hlrd Cenerauon ArchlLecLures. !ullleL 1974.
lnc. 8ed PaL. vlrLuallzauon Culde : 8ed PaL vlrLuallzauon. 2007.
Pardware SecreLs. lnLelvlrLuallzauon 1echnology (v1) Lxplalned. www.hardwaresecreLs. com/arucle/263/1.
AmlL Slngh. An lnLroducuon Lo vlrLuallzauon. www.kernelLhread.com/publlcauons/ vlrLuallzauon/, !anvler 2004.
Cenesls Mulumedla Soluuons. vlrLuallzauon 1echnologles. !uln 2009.
ascal verschaeve. 1rasys - Servlce resenLauon - vlrLuallzauon Servlce C erlngs.
vlrLuallzauondefrag. 1he 8lse of vlrLual SysLems and vlrLuallzauon. vlrLuallzauondefrag.com/arucles/hlsLory-of-vlrLuallzauon/
lndex.php, 2009.
vMware. undersLandlng lull vlrLuallzauon, aravlrLuallzauon, and Pardware AsslsL. 2007.
vMware. PlsLorlque de la vlrLuallsauon. www.vmware.com/fr/overvlew/hlsLory.hLml, 2008.
ZuneL. Serveurs eL SLockage. www.zdneL.fr/acLuallLes/lL-managemenL/0, 3800003311,39711923,00.hLm.
4/8/14 120