You are on page 1of 12

VIRTUALISATION

Solution de virtualisation sous Linux


Partie 2
Mathias HOUNGBO
mathias+esgis@houngbo.net
Master 2 IIR Avril 2014

Virtuaisation sous Linu!
Virtuaisation sous Linu!
Les principales solutions.

QEM

!E"

#$M

"#MU
"#MU

Pr%sentation
QEM est le pro&et de virtualisation co'pl(te li)re le plus a)outi
actuelle'ent. Il a %t% *ond% par +a)rice ,ELLAR- et di**us% . la
co''unaut% en 200/.
0ec1ni2ue'ent3 QEM utilise la virtualisation co'pl(te et il
supporte de no')reuses arc1itectures ci)les3 par'i les2uelles les
processeurs x45 et l6arc1itecture P7. Il *onctionne sur les plates8
*or'es les plus courantes 9Microso*t :indo;s3 <"=Linux3 Mac
>S !? et est tr(s si'ple d6utilisation.

"#MU
"#MU

+onctionnalit%s
7e 2ui distin@ue QEM de solutions plus intrusives
9co''e Linux8$Server ou !en? est sa @rande si'plicit%
d6usa@e. En e**et3 co''e c6est un pro&et utilisant la
virtualisation co'pl(te3 il A a un si'ple pro@ra''e .
ex%cuter sur le sAst('e 1Bte pour o)tenir une nouvelle
'ac1ine virtuelle contenant un sAst('e invit%. n des @ros
points *orts de QEM est la *lexi)ilit% 2u6il o**re au niveau
des options pour la con*i@uration de la 'ac1ine virtuelle.

"#MU
"#MU

Inconv%nients
Les per*or'ances de la 'ac1ine virtuelle sont un *acteur
li'itati*. 7o''e toutes les solutions de virtualisation
co'pl(te3 QEM pCc1e au niveau de la rapidit% des
Entr%es=Sorties. Le 'odule d6acc%l%ration D2e'u a'%liore
certes les per*or'ances3 'ais on reste loin des
per*or'ances E natives F. Il *aut toute*ois si@naler 2ue
'C'e si les per*or'ances sont %loi@n%es de celles d6une
v%rita)le 'ac1ine3 QEM se place par'i les solutions de
virtualisation co'pl(te les plus per*or'antes.

$#N
$#N

Pr%sentation
!en 9dont le no' vient du @rec xenos3 %tran@er? est un pro&et de virtualisation par
1Aperviseur @%r% par la soci%t% !enSource. Le pro&et %tait . l6ori@ine 'en% au sein de
l6niversit% de 7a')rid@e3 sous le no' de !enoserver. Le )ut %tait alors d61%)er@er
100 sAst('es invit%s sur une seule 'ac1ine p1Asi2ue3 avec les 'eilleurs per*or'ances
possi)les. En 200/3 les initiateurs du pro&et ont *ond% la soci%t% !enSource et ont lanc%
le pro&et !en en se )asant sur le code source de !enoserver.
!en est un 1Aperviseur de tApe 13 c6est . dire 2u6il vient s6ins%rer entre le 'at%riel et le
noAau. 76est donc !en 2ui a l6acc(s exclusi* au 'at%riel3 et les sAst('es d6exploitation
*onctionnant par dessus doivent o)li@atoire'ent passer par l61Aperviseur pour A
acc%der. Il peut ainsi r%partir pr%cis%'ent les ressources entre les sAst('es invit%s.

$#N
$#N

+onctionnalit%s
Au niveau des *onctionnalit%s3 !en est tr(s
certaine'ent un des plus co'plets3 il n6a
pas . rou@ir de la co'paraison avec des
tec1nolo@ies propri%taires plus anciennes
et 'ieux %ta)lies3 telles 2ue les solutions
de la soci%t% $M;are.

$#N
$#N

Inconv%nients
!en n6est toute*ois pas d%pourvu de d%*auts. n des reproc1es
'a&eurs *ait . !en est sa @rande co'plexit%. En e**et3 pour
i'pl%'enter un 1Aperviseur per*or'ant3 !en 'odi*ie les couc1es
)asses de tous les sAst('es d6exploitation3 a*in 2u6ils puissent
colla)orer avec l61Aperviseur. Les 'odi*ications apport%es au
noAau Linux sont de l6ordre de plusieurs 'illiers de li@nes de code.
Elles portent essentielle'ent sur la cr%ation d6une inter*ace avec
l61Aperviseur et sur la @estion de l6acc(s au 'at%riel . travers ce
dernier. 7es 'odi*ications sont asseG intrusives3 et alt(rent
pro*ond%'ent la *aHon dont le noAau travaille en interne.

%VM
%VM

Pr%sentation
Le pro&et #$M 9#ernel8)ased $irtual Mac1ine 'ac1ine virtuelle dans le noAau? a %t% cr%% en
2005 par la soci%t% Qu'ranet. #$M a su tr(s vite attirer les contri)utions externes et le code source
du pro&et a %t% int%@r% au noAau Linux d(s *%vrier 200I. I,M participe aussi au d%veloppe'ent en
salariant des d%veloppeurs pour travailler sur #$M. n des *ondateurs de la soci%t% Qu'ranet3
Mos1e ,AR3 est aussi un des *ondateurs de la soci%t% !enSource3 la soci%t% . l6ori@ine de !en.
#$M est un pro&et de virtualisation co'pl(te 2ui utilise les instructions de virtualisation des
processeurs x45 r%cents. 0ec1ni2ue'ent3 #$M se co'pose J

d6un 'odule noAau 2ui utilise les instructions de virtualisation et co''uni2ue avec

le processeur K

d6un pro@ra''e utilisateur3 2ui utilise le 'odule noAau pour toutes les op%rations

privil%@i%es.

dLune )i)liot1(2ue de paravirtualisation virtio

La partie utilisateur de #$M est une version l%@(re'ent 'odi*i%e de QEM3 si'ple'ent adapt%e
pour 2ue les op%rations pouvant )%n%*icier des instructions de virtualisation du processeur *assent
appel au 'odule noAau

%VM
%VM

+onctionnalit%s
#$M %tant )as% sur QEM3 il reprend naturelle'ent toutes les
*onctionnalit%s de ce dernier.
Il A a toute*ois une di**%rence nota)le J @rMce . l6utilisation des
instructions de virtualisation des processeurs r%cents3 les
per*or'ances des sAst('es invit%s sont )ien plus %lev%es
2u6avec QEM.
ne autre *onctionnalit% 2ui se d%'ar2ue de QEM est la
'i@ration des sAst('es invit%s. #$M propose en e**et la
'i@ration E . c1aud F des 1Btes.

%VM
%VM

Inconv%nients
Ntant )as% sur QEM3 #$M sou**re des 'C'es inconv%nients
sur la co'plexit% du code et la di**icult% de 'anipuler les i'a@es
dis2ues. 7ependant il est possi)le dLutiliser le 'odule de
paravirtualisation et la )i)liot1(2ue virtio a*in de 'onter de
v%rita)les dis2ues ou partitions3 rendant ce pro)l('e
n%@li@ea)le.
n certain no')re dLentreprises se 'ettent . utiliser #$M A
co'pris en production3 du *ait de lLint%@ration . Linux. Les
divers retours dLexp%riences contri)uent . lLa'%lioration
constante du produit.

Utiisation &e "#MU'%VM
Utiisation &e "#MU'%VM
LLavanta@e de QEM est de pouvoir d%'arrer en espace
utilisateur3 sans avoir )esoin des droits root. 7Lest id%al
pour tester la virtualisation et le *onctionne'ent de
2e'u=Dv' A co'pris sur une 'ac1ine )asi2ue J il nLA a pas
)esoin des extensions Intel8$0 ou AM-8$.
Le )ut est ici de d%crire les principales options de 2e'u3
2ui pourront Ctre reprises telles 2uelles avec #$M. Les
i'a@es cr%%es avec 2e'u pourront Ctre ex%cut%es avec
#$M.

You might also like