Académique Documents
Professionnel Documents
Culture Documents
Cours Xen
Cours Xen
Plan
Introduction
Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
2
dmarra#e+ arr-t+ #el+ clona#e+ sauve#arde et restauration+ sauve#arde de conte'te+ mi#ration d une machine (hysi,ue . une autre
Rseau virtuel / rseau (urement lo#iciel+ interne . la machine h%te+ entre h%te et invits
3
Isole certains as(ects ou ressources de l $S h%te &systmes de fichiers ou es(aces mmoires) Pas d em(ilement de l $S h%te et d un lo#iciel de virtualisation 5rs (erformant mais environnements virtuels sont (eu ou (as com(ltement isols
Se lance comme une a((lication dans l $S h%te U6L lance et #re ses a((lications de manire isole des autres U6L tournant sur la m-me machine Peu (erformant car les 7 noyau' sont em(ils
6achine virtuelle com(lte &!ios+ (rocesseur+ mmoire+ dis,ue+ carte rseau<<<) Interce(te ma=orit des instructions de l $S invit (our les rem(lacer (ar leur ,uivalent sur l $S h%te Avanta#es / e'cution des a((lications (rvues (our d autres architectures &ordinateurs+ consoles+ !ornes d arcade <<<) Inconvnients / (erformances mdiocres
machine virtuelle com(lte &!ios+ (rocesseur+ mmoire+ dis,ue+ carte rseau<<<) Interce(te certaines instructions (articulires de l $S invit &ne (ouvant (as -tre e'cutes sur $S h%te) Sim(le . mettre en oeuvre 9m(ilement $S h%te @ $S invit surchar#e (erformance moyenne
6
Xen Paravirtualisation
Ay(erviseur * moniteur de machines virtuelles &166 1irtual 6achine 6onitor) $S invit fonctionne directement sans interce(tion des instructions Xen B (eut h!er#er des $S invits non modifis
Ils dis(osent de la couche lo#icielle 166 &1irtual 6achine 6onitor) ddie . la #estion de machines virtuelles
16>are 9SX
6icrosoft 1irtual Server AP Inte#rity 16 6icro(artitions d I26 XenSource dvelo((e avec 6icrosoft un hy(erviseur Xen (our >indo;s Server 7CCD &Lon#horn)
6achine virtuelle se re(ose sur un noyau l#er &vm?ernel) em(ila#e des machines est l#er
Xen tait un (ro=et de recherche . l Universit de Cam!rid#e mem (ar Ian Pratt Ian Pratt a fond XenSource ,ui dvelo((e le (ro=et o(en source et vend les versions de Xen (our les entre(rises
re
E version (u!li,ue de Xen / octo!re 7CCB Xen 7<C / octo!re 7CCF Xen B<C / dcem!re 7CCG
10
Isolation com(lte entre les machines virtuelles Performances (our les machines virtuelles (roche d un systme natif 5rs !on su((ort du matriel &Xen utilise les (ilotes du noyau linu') Possi!ilit de mi#rer des machines virtuelles entre des serveurs Xen sans interru(tion de service $(en Source &license GPL)
11
Processeurs de ty(e 'DH &(rocesseur de ty(e IPHI ou Intel ou A63 des G dernires annes) 6achines multi(rocesseur et inclut le su((ort (our l hy(er0threadin# &S65)< Processeurs de ty(e 'DH"HF &de(uis Xen B<C) Processeurs de ty(e IAHF Processeurs de ty(e PPC
Xen est en cours de (orta#e sur (rocesseurs de ty(e AR6 &liste de diffusion sur 'en source)
12
Plan
Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
13
!rc#itecture de Xen
14
Ay(erviseur
ordonnance tem(s d utilisation de la machine h%te (ar cha,ue domaine &dans tem(s im(arti+ les $S invits ordonnancent leurs (rocessus) au !oot de l ordinateur+ dtecte et dmarre les (rocesseurs non initialiss (ar le 2I$S route les interru(tions+ numre les !us PCI
15
cre lors de l installation de 'en lanc automati,uement au !oot com(os d un noyau linu' modifi et des lo#iciels de contr%le de Xen le seul . (ouvoir intera#ir directement avec le matriel via les (ilotes du noyau linu' autres domaines font a((el a ces (ilotes via l utilisation des (ilotes &virtuels) de Xen assure tache d administration du systme via le dmon 'end dans es(ace utilisateur &cration+ dmarra#e+ arr-t+ restauration ou mi#ration des domaines) #re les (ilotes natifs et (ilotes virtuels des domaines
16
machines invites ou $S invits leur noyau est char# dans un mode non (rivil#i du (rocesseur &en #nral rin# E ou le rin# 7) ces machines sont contr%les (ar le domC<
17
Processeurs com(ati!les 'DH ont un modle de (rotection de F niveau' d e'cution * les rin#s Niveau' numrots de C B &C * (lus (rivil#i+ B * moins (rivil#i)
rin# C ddi . l e'cution de l $S rin# B ddi au' a((lications de l es(ace utilisateur rin#s E et 7 (rvus . l ori#ine (our virtualisation
18
hy(erviseur dans rin# C domC * domaine (rivil#i mais n est (as dans rin#C tout transite (ar l hy(erviseur $S invits dans rin# E ou 7 a((lications dans rin# B
hy(erviseur dans rin# C $S invits et a((lications dans rin# B rin# E et 7 ont t su((rims
19
20
9'em(les /
Intel 1ander(ool 'DH virtualiKation &150i) A63 Pacifica 'DH virtualiKation &A630v) Sun UltraSPARC 5E hy(ervisor I26 Advanced P$>9R virtualiKation
3e(uis 7CCG interface commune d accs au' 7 technolo#ies Intel et A63 / A16 &Aard;are 1irtual 6achine) Permettent . Xen d acce(ter des $S invits non 'enifis &e' / >indo;s)
21
Intel a a=out 7 modes d e'cution / 16X root et 16X non0root ces 7 modes su((ortent les F rin#s de C B $S et a((lications fonctionnent dans mode 16X non0 root hy(erviseur utilise mode d e'cution 16X root &niveau contr%le et (rivil#e @ im(ortant) hy(erviseur est modifi (our utiliser e'tension 1ander(ool et #rer les modes 16X root et 16X non0 root
22
fonctionne dans domC interface htt( sur (ort DCCC r(ond au' re,u-tes venant du domC
cration+ destruction+ mi#ration+ arr-t+ dmarra#e+ sauve#arde+ restauration+ surveillance des domaines+
'end cre 7 dmons &'enstored+ 'enconsoled) et une instance de la classe (ython Srv3aemon fichiers de lo# de 'end
"var"lo#"'end<lo# "var"lo#"'end0de!u#<lo#
23
machine virtuelle * entit (ermanente ,ui rside sur dis,ue &comme un (ro#ramme)< 8uand elle est char#e (our e'cution elle fonctionne dans un domaine cha,ue domaine (ossde un identificateur identi,ue * identificateur de (rocessus
24
Garantit . l hy(erviseur (rotection contre !u#s et (lanta#es des (ilotes 3char#e ,ui(e de Xen du dvelo((ement des (ilotes Assure au systme Xen un lar#e su((ort materiel via (ilotes du noyau Linu' Sim(le et l#re hautes (erformances de Xen
25
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
26
%e noyau Xen
27
ont un accs direct au' (ilotes des (ri(hri,ues et connaissance de ceu'0ci utilisent (our cha,ue (ri(hri,ue le (ilote et la confi#uration fournis (ar le domC
le domC e'(orte une version virtualise des (ri(hri,ues vers les $S invits les (ri(hri,ues sont contr%ls (ar le systme du domC et sont dis(oni!les (our tous les $S invits Le systme linu' du domC doit -tre confi#ur (our
Communication entre (ri(hri,ues d un domU et (ri(hri,ues virtuels du domC (asse (ar un canal &device channel) ,ui
est E lien (oint . (oint entre les 7 domaines (ermet envoi de messa#e asynchrone d un domaine vers un autre
6essa#es communi,us via (a#e de mmoire (arta#e alloue (ar l $S invit et ma((e dans l es(ace d adressa#e du domC Avanta#es
limite crash d un (ilote au (ilote lui0m-me sans affecter a((lication situe dans autre domaine (ermet de redmarrer domC (our retrouver un (ilote o(rationnel en (ertur!ant le moins (ossi!le les a((lications des autres domaines
29
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
30
ethC est reli . vifC<C vethE est reli . vifC<E etc<<< vethL est reli . vifC<L
31
identifiant du Eer domU est E identifiant du 7me domU est 7 m-me si le Eer domaine est arr-t
Xen cre des (aires d interfaces virtuelles ethernet (our cha,ue nouveau domU
une (artie de cha,ue (aire est dans le domU< 3ans un domU sous Linu' le nom du (ri(hri,ue rseau est ethC l autre (artie de cha,ue (aire est dans le domC et se nomme vifNidJdomaineO<C
32
9'em(le / dans domU dont l identifiant * G+ ethC sera attach . vifG<C dans le domC) Si on cre des interfaces rseau multi(les dans un domU+ ethC et ethE+ le domC a vif<idJdomaine>.C et vifNidJdomaineO<E 8uand on lance shutdo;n sur un domU+ les adresses virtuelles ethernet sont dtruites
33
Par dfaut Xen slectionne une adresse 6AC alatoire (our cha,ue interface rseau virtualise des domU Adresse 6AC est diffrente sur cha,ue domU Pour fi'er une adresse 6AC (our un domaine &e' / utilisation de dhc()+ il faut utiliser l o(tion vif dans le fichier de confi#uration de la machine virtuelle 9' / vif * P mac*aa/CC/CC/CC/CC/EE Q)<
34
le dernier !it du Eer octet doit -tre (ositionne a C l avant0dernier !it du Eer octet doit -tre (ositionne a E forme / XR/XX/XX/XX/XX/XX X * chiffre he'adcimal R * 7 ou H &EEC) ou A &ECEC) ou 9 &EEEC)<
9'em(le
35
6ode !rid#e
Par dfaut+ Xen utilise un (ont . l intrieur de domC &'en!rC) (ermet . tous les domaines d a((araitre sur le rseau comme des machines individuelles domC =oue le r%le de (asserelle (our les domU< les vifX<R ont (our IP celles des cartes des domU &e' / vifE<C dans domC a (our IP celle de la carte ethC dans domE)< r#les i(ta!les a((lica!les . ces cartes sur domC< les vifX<R ont (our IP celle des cartes dans les domU elles ne voient (as (asser les (a,uets<
36
6ode NA5
6ode route
(ethC
interface (hysi,ue &(as confi#ura!le) lien entre le systme et carte rseau interface virtualise fournie (ar Xen &confi#ura!le) conne'ion rseau (our le systme h%te cartes rseau des $S invits e' / vifE<C corres(ond . ethC du domU dont l id est E
"ode bridge # $ont entre carte $%ysique et cartes virtuelles
37
ethC
vifX<R
38
3mon 'end #re cration"su((ression des (onts et interfaces virtuelles via les scri(ts net;or?0!rid#e vif0!rid#e 8uand 'end dmarre+ il lance le scri(t net;or?0!rid#e ,ui / cre un nouveau (ont nomm 'en!rC la S vraie T interface ethernet ethC est mise . do;n les adresses IP et 6AC de ethC sont co(ies sur la nouvelle interface rseau virtuelle vethC l interface relle ethC est renomme (ethC l interface virtuelle vethC est renomme ethC (ethC et vifC<C sont attaches au (ont 'en!rC le (ont+(ethC+ ethC et vifC<C sont (ositionns . u( 8uand un domU dmarre+ 'end &tournant dans domC) lance le scri(t vif0!rid#e ,ui / attache vifNidUO<C . 'en!rC vifNidUO<C est (ositionne . u(
40
Il est (ossi!le de faire tourner (lusieurs machines virtuelles dans des vlans diffrents Il faut a=outer le su((ort DC7<E, dans domC Un (ont est confi#ur (our cha,ue 1LAN+ et les $S invits attachent leurs interfaces au (ont a((ro(ri C est au niveau de domC ,ue les trames sont ta##es< Les domU n ont (as connaissance des vlans<
41
dmon 'end ,ui #re la cration"su((ression des (onts et interfaces virtuelles via deu' nouveau' scri(ts ,ui rem(lacent net;or?0!rid#e / net;or?0multi0vlan net;or?0!rid#e0vlan ,uand 'end dmarre+ il lance le scri(t net;or?0multi0vlan ,ui a((le le scri(t net;or?0!rid#e0vlan autant de fois ,ue de vlans dsirs net;or?0!rid#e0vlan / cre un (ont nomm vlan!rnumvlan &(<e'< vlan!rECC) cre une nouvelle interface ethC<numvlan &(<e'< ethC<ECC) dans domC . l aide de la commande vconfi# cette nouvelle interface et le (ont sont (ositionns . u( ethC<ECC est attache au (ont vlan!rECC ,uand domU dmarre+ 'end &tournant dans domC) lance le scri(t vif0!rid#e ,ui attache vifNidUO<C au nouveau (ont vlan!rnumvlan et (ositionne vifNidUO<C . u(
42
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines
Avec 'm
Autres outils
43
'm list / affiche tous les domaines en fonctionnement 'm create P0cQ NConfi#fileO dmarre la machine virtuelle dfinie dans Nconfi#fileO 9'em(les /
'm create "etc"'en"vmE<cf# dmarre vmE 'm create 0c "etc"'en"vmE<cf# dmarre vmE et attache une console . vmE
44
'm shutdo;n P0aV0;Q N3omainO (rovo,ue l arr-t d un domaine 0a / arr-te tous les domaines< 0; / attend d avoir termin le shutdo;n (our redonner la main 'm console N3omainO attache une console . un domaine Pour ,uitter la console / Ctrl 0 Q 'm to( affiche monitorin# tem(s rel des domaines
45
Si ,uantit de mmoire d une machine virtuelle est insuffisante+ on (eut au#menter la taille mmoire ,ui lui est attri!ue sans interru(tion de service< Si ,uantit inutilise de mmoire+ on (eut rcu(rer cette mmoire sans interru(tion de service<
47
Attention /
Im(ossi!le de diminuer ,uantit de mmoire d une machine virtuelle en dessous de la ,uantit initialement donne 8uantit totale de mmoire attri!ue (our domaines ne (eut (as d(asser ,uantit de mmoire (rsente sur machine (hysi,ue<
48
49
'm vc(u0set N3omainO Nn1CPUsO 9'em(le / a=out d un 7eme c(u dans domaine B 'm vc(u0set B 7
6ise en (ause de la machine vmE vmE continue de consommer des ressources &mmoire+ <<<) vmE est tou=ours (rsente dans la liste des machines Statut de vmE est #el &(as li#i!le dans file d attente de ordonnanceur de Xen)
51
Sauve#arde
arr-t de la machine vmE &tat est similaire . lXhi!ernation) sauve#arde dXune machine . un instant donn
Restauration
52
S re#ular mi#ration T
S live mi#ration T
6ise en (ause du domU . transfrer Co(ie du contenu de sa mmoire Re(rise de l e'cution dans la machine de destination Idem . mi#ration offline sauf mise en (ause de domU La mi#ration n est (as visi!le (ar l utilisateur
S live mi#ration T est (rfra!le . S re#ular mi#ration T Im(ortant / Les 7 h%tes doivent avoir accs au' ima#es dis,ues et doivent avoir m-me version de 53 'en
'end fait en sorte ,ue le domaine continue de fonctionner alors ,ue la mi#ration est en cours La dure de l arr-t est de HC . BCCms< Ncessaire de se reconnecter sur la console du nouveau domaine en utilisant la commande 'm console Si un domaine mi#r . des conne'ion rseau d=. ouvertes+ elles sont conserves 54
$utils #ra(hi,ues
'enman &u!untu) virt0mana#er &redhat+ fedora) (ermet d effectuer des o(erations de !ase &create+ (ause+ destroy+ to(<<<) 'en0create0ima#e &u!untu) virsh &redhat+ fedora) e'em(les /
virsh dum('ml B O vmE<'ml (ermet d afficher le domaine &dont l identifiant est B) au format X6L sur la sortie standard virsh create vmE<'ml (ermet de creer un domaine a (artir d un fichier 'ml
$utils te'tes
55
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
56
(as de fichiers s(cifi,ues . 'en dans les 3omU confi#uration ha!ituelle d un $S Linu'
57
Stoc?a#e des 3omU ima#e dis,ue &loo() sur dis,ue local ou distant (artition d un dis,ue (artition L16 &Lo#ical 1olume 6ana#er) NWS e'(ort d un es(ace commun N23 &Net;or? 2loc? 3evice) stoc?a#e+ du(lication des machines mi#ration ISCSI !aie matrielle e'(ort via iSCSI 9nter(rise 5ar#et GWS &Glo!al Wile system) systme clusteris mi#ration avec accs concurrent
58
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
59
Le domC doit -tre scuris le (lus (ossi!le car si le domC est com(romis tous les autres domaines sont #alement vulnra!les 2onnes (rati,ues (our le domC /
ne lancer ,ue le (lus (etit nom!re de service ncessaires utiliser un fire;all (our restreindre le trafic vers le domC ne (as autoriser les utilisateurs . accder au domC domC devrait -tre inaccessi!le
60
htt(/"";;;<shore;all<net"Xen<html htt(/"";;;E<shore;all<net"Xen6y>ay<html
htt(/"";;;<KataK<com"alerte0securite"EGED7"'en0 (y#ru!0#ru!0conf0domC0vuln<html
61
Plan
Introduction Architecture de Xen Le noyau Xen Le rseau dans Xen Gestion des domaines Installation de Xen Scurisation de Xen Utilisation de Xen Rfrences
62
63
64
Listes de diffusion/
Xen0devel
Xen0announce
Xen0chan#elo# Xen0users
htt(/""lists<'ensource<com"'en0users htt(/"";;;<redhat<com"mailman"listinfo"fedora0'en
65
Wedora0'en
Uinclude Nli!virt"li!virt<hO <<< ret * vir3omainGetInfo&dom+ Zinfo)[ (rintf&ILe domaine \d a \d CPUs]nI+ id+ info<nr1irtC(u)[
htt(/""li!virt<or#"architecture<html
66
+"."rences (1)
Xensource
+"."rences (2)
Cours Xen (our les =ournes 6athrice 0 6ars 7CCL 0 4< Castan# et P< 3e(ouilly 4R9S7CCG 2enchmar?s de Xen
htt(/"";;;<cl<cam<ac<u?"netos"(a(er"7CCB0'ensos(<(df
68