14
1 La virtualisa,on recouvre l'ensemble des techniques matérielles et/ou logicielles qui perme;ent de faire fonc,onner sur une seule machine plusieurs systèmes d'exploita,on, plusieurs instances différentes et cloisonnées d'un même système ou plusieurs applica,ons, séparément les uns des autres, comme s'ils fonc,onnaient sur des machines physiques dis,nctes. Chaque ou,l de virtualisa,on implémente une ou plusieurs de ces no,ons : o couche d'abstrac,on matérielle et/ou logicielle, o système d'exploita,on hôte (installé directement sur le matériel), o systèmes d'exploita,ons (ou applica,ons, ou encore ensemble d'applica,ons) « virtualisé(s) » ou « invité(s) », o par,,onnement, isola,on et/ou partage des ressources physiques et/ou logicielles, o images manipulables : démarrage, arrêt, gel, clonage, sauvegarde et restaura,on, sauvegarde de contexte, migra,on d'une machine physique à une autre O réseau virtuel : réseau purement logiciel, interne à la machine hôte, entre hôte et invités. 2

Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

1

Lavirtualisa,onrecouvrel'ensembledestechniquesmatérielleset/oulogiciellesquiperme;entdefairefonc,onnersuruneseulemachineplusieurssystèmesd'exploita,on,plusieursinstancesdifférentesetcloisonnéesd'unmêmesystèmeouplusieursapplica,ons,séparémentlesunsdesautres,commes'ilsfonc,onnaientsurdesmachinesphysiquesdis,nctes.Chaqueou,ldevirtualisa,onimplémenteuneouplusieursdecesno,ons:ocouched'abstrac,onmatérielleet/oulogicielle,osystèmed'exploita,onhôte(installédirectementsurlematériel),osystèmesd'exploita,ons(ouapplica,ons,ouencoreensembled'applica,ons)«virtualise(s)»ou«invité(s)»,opar,,onnement,isola,onet/oupartagedesressourcesphysiqueset/oulogicielles,oimagesmanipulables:démarrage,arrêt,gel,clonage,sauvegardeetrestaura,on,sauvegardedecontexte,migra,ond'unemachinephysiqueàuneautreOréseauvirtuel:réseaupurementlogiciel,interneàlamachinehôte,entrehôteetinvités.

2

Page 2: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Prenonsl’exempled’unprocesseur,unefoisquelacadencedecelui-ciaa;eintsalimitephysiquedefabrica,onetd’u,lisa,on,comprenezlàenvirons3,6Ghz,lesfondeurs(Intel&AMD)ontélaboréunnouveausystème:lemul,-cœurs.Àl’origineunprocesseurnecon,entqu’unseulcœurcadencéàunecertainevitesse,maisdufaitdel’améliora,ondesfinessesdegravureilestpossiblededisposerdeplusieurscœursphysiquessurunmêmeprocesseur.Iciilestques+onnonpasd’augmenterlenombredeprocesseursdansunemachinemaisd’augmenterlenombredecœursdansunprocesseur,ce;eno,ondemiseenabîmevaencoreplusloinavecleconceptdel’hyper-threadingquipouruncœurd’unprocesseurcrée2cœurslogiques.Exemple:unprocesseurIntelCorei7apourcaractéris,que1processeur,4cœursphysiqueshyper-threadés,soit2×4=8coeurslogiques.h;p://www.sebas,en-han.fr/blog/2011/04/12/introduc,on-a-la-virtualisa,on/Danslalogique,lavirtualisa+onfonc+onnesurlemêmeprincipe,aulieudemul+plierlesmachinesphysiquesavecunseulsystèmed’exploita+on,onu+liseunemachinephysiquepourvirtualiserplusieurssystèmesd’exploita+ons.

3 4

Page 3: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

�u,lisa,onop,maledesressourcesd'unparcdemachines(répar,,ondesmachinesvirtuellessurlesmachinesphysiquesenfonc,ondeschargesrespec,ves),�installa,on,déploiementetmigra,onfaciledesmachinesvirtuellesd'unemachinephysiqueàuneautre,notammentdanslecontexted'unemiseenproduc,onàpar,rd'unenvironnementdequalifica,onoudepre-produc,on,livraisonfacilitée,�économiesurlematérielparmutualisa,on(consomma,onélectrique,entre,enphysique,monitoring,support,compa,bilitematérielle,etc.),�installa,on,tests,développements,réu,lisa,onavecpossibilitederecommencerarrêtdusystèmehôte,�sécurisa,onet/ouisola,ond'unréseau(arrêtdessystèmesd'exploita,onvirtuels,maispasdessystèmesd'exploita,onhôtesquisontinvisiblespourl'a;aquant,testsd'architecturesapplica,vesetréseau),�isola,ondesdifférentsu,lisateurssimultanésd'unemêmemachine(u,lisa,ondetypesitecentral),�alloca,ondynamiquedelapuissancedecalculenfonc,ondesbesoinsdechaqueapplica,onàuninstantdonné,�diminu,ondesrisquesliésaudimensionnementdesserveurslorsdeladéfini,ondel'architectured'uneapplica,on,l'ajoutdepuissance(nouveauserveuretc.)étantalorstransparent.

5

Unebonnepartdestravauxsurlavirtualisa,onfutdéveloppéeaucentrederechercheIBMFrancedeGrenoble(aujourd'huidisparu),quidéveloppalesystèmeexpérimentalCP/CMS,devenantensuiteleproduit(alorsnomméhyperviseur)VM/CMS,proposéaucataloguedès1972.Parlasuite,lesmainframesontétecapablesdevirtualiserleursOSavecdestechnologiesspécifiquesetpropriétaires,àlafoislogiciellesetmatérielles.LesgrandsUnixontsuiviaveclesarchitecturesNUMAdesSuperdomed'HP(PA-RISCetIA64)etdesE10000/E15000deSun(UltraSparc).Danslasecondemoi,édesannées1990,lesémulateurssurx86desvieillesmachinesdesannées1980ontconnuunénormesuccès,notammentlesordinateursAtari,Amiga,AmstradetlesconsolesNES,SNES,NeoGeo.LasociéteVMwaredéveloppaetpopularisaaudébutdesannées2000unsystèmepropriétairedevirtualisa,onlogiciellepourlesarchitecturesdetypex86.LeslogicielslibresXen,Qemu,Bochs,Linux-VServeretleslogicielspropriétairesmaisgratuitsVirtualPCetVirtualServerontachevelapopularisa,ondelavirtualisa,ondanslemondex86.h;ps://aconit.inria.fr/omeka/exhibits/show/informa,que-grenoble/consolida,on/ibm

6

Page 4: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Lavirtualisa,ondestockage:Lavirtualisa,ondestockageestunprocédéquivaséparerlareprésenta,onlogiqueetlaréalitéphysiquedel'espacedestockage.Sonbutestdefaireabstrac,ondespériphériquedestockageu,lisésetdesinterfacequileursontassociés(SATA,SCSI,...)afindelimiterl'impactdesmodifica,onsstructurellesdel'architecturedestockage.Cetypedevirtualisa,onfaitappelàuneapplica,ond’administra,ondevolumeslogiques(LogicalVolumeManager,LVM).Ils’agitd’unecouchelogiciellequivaperme;rederegrouperplusieursespacesdestockage,appelésvolumesphysiques,pourensuitedécoupercetespaceglobalsuivantlademandeenpar,,onsvirtuellesappeléesvolumeslogiques.Ceprocessusdevirtualisa,onpeutêtrevucommeuneextensiondumodèledepar,,onnementclassiquedesdisquesdur.Lavirtualisa,ondestockagepermet:-d’adjoindreunpériphériquedestockagesupplémentairesansinterrup,ondesservices;-deregrouperdesunitésdedisquesdursdedifférentesvitesses,dedifférentestaillesetdedifférentsconstructeurs;-  deréallouerdynamiquementdel’espacedestockage.Ainsi,unserveurnécessitantun

espacedestockagesupplémentairepourrarechercherdesressourcesnonallouéessurledisquelogique.Inversement,unserveurnécessitantmoinsd’espacedestockagepourralibérercetespaceetlerendredisponiblepourd’autresserveurs.

7

Trèspeudesystèmesdémarrentdirectement,etsurplateformePCtouslessystèmesdémarrentselonunprocessus(boot)entroistemps:leBIOS,lechargeurdedémarrage(bootloader)etlesystème.Pourlessystèmesembarquésetlesancienscalculateurs,cesphasesétaientaussiunchoixàprendreencompte.Desmoniteurs,OSminimauxemportantdesfonc,onnalitésdedébug,ontvulejour.L'idéeini,aleétaitdeseconcentrersurce;ephase,puisensuited'engénéraliserlesconcepts:unsystèmed'exploita,onreposantsurl'APId'unnoyauréduit.Lessystèmesdevirtualisa,onpartentdoncduprincipedel'u,lisa,ondecoucheslogiciellesintermédiaires.Afind'avoiruneidéethéoriquedesperformancesdesapplica,onsausommet,ilfautcomparerver,calementl'empilagedecouches.Ilfautgarderàl'espritqu'ilestpossibled'élargirlesschémasenrajoutantdesenvironnementsvirtualisésconsommantégalementdesressourcesdel'hôte,enmémoirepuisendisque.Fondamentalement,ontrouveradeuxidéesprincipales:isola,onparempilementouparjuxtaposi,on,dontlesvaria,ons,dansdesbutsd'op,misa,on,donnerontprincipalementquatretypesdetechnologies:

8

Page 5: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Unemachinevirtuelleestunlogicielquitournesurl'OShôte,celogicielperme;antdelancerunouplusieursOSinvités,c'estl'archétypedelasolu,ondevirtualisa,onparempilementdesystèmes.Lamachinevirtualiselematériel(cequipassegénéralementparunémula,onpar,elle)pourlessystèmesd'exploita,oninvités:lessystèmesd'exploita,oninvitéscroientdialoguerdirectementaveclematériel.Enpra,queonarecoursàuneémula,onlogicielledespériphériques,etparfoisaussidetoutoupar,edelamachine.Ce;esolu,onisolebienlessystèmesd'exploita,oninvités,maiselleauncoût,enpremierlieuenperformance,dontlesprincipalesvic,messerontlesentrées-sor,es.Cecoût,assezimportantdéjas'ilsuffitdeprotégerlesinstruc,onsprivilégiées,peutêtretrèsélevesileprocesseurdoitêtreintégralementémule.Ce;esolu,onn'estpasnonpluséconomeenmémoire,puisqueaucuneéconomied'échellenepeutêtreréaliséeencequiconcernelesOS(kernels)chargés.Exemple:�Qemu:émulateurdeplateformesx86,PPC,Sparc,�VMWare:propriétaire,émulateurdeplateformex86,�Microso{VirtualPCetVirtualServer:propriétaire,émulateurdeplateformex86,�VirtualBox:émulateurdeplateformex86.Letalond'Achilledece;esolu,onestdoncl'importanteconsomma,onenperformances.Certainsprojetsminimisentl'impactdececoûtenressourcesenperme;antdescourts-circuitsop,onnels(KVM,KQemu,VirtualBox),disponiblesuniquementhorsducontexted'émula,onbiensûr.Lesdeuxtechnologiessuivantescons,tuentellesaussilerésultatdeconsidéra,onsd'op,misa,ondece;esolu,on,leprincipeétantdediminueraumieuxl'épaisseurdescouchesdevirtualisa,ontoutenconservantlemêmedegred'isola,on.L’hyperviseurdetype2ouarchitecturehébergéeestuneapplica,oninstalléesurunsystèmed’exploita,on,elleestdoncdépendantedecelui-ci.Lesperformancessontréduitesencomparaisondeshyperviseursdetype1carl’accèsaumatériel(CPU,RAM…)sefaitviaunecoucheintermédiaire.Néanmoinsilproposeuneparfaiteétanchéitéentrelessystèmesd’exploita,onsinstallés.

9

Unisolateurestunlogicielperme;antd'isolerl'exécu,ondesapplica,onsdansdescontextesouzonesd'exécu,on,c'estl'archétypedelasolu,ondevirtualisa,onpar"juxtaposi,on".L'isolateurpermetainsidefairetournerplusieursfoislamêmeapplica,on(àbased'unouplusieurslogiciels)prévuepournetournerqu'àuneseuleinstanceparmachine.Notonsquece;etechnologieconsisteenquelquesorteàgénéraliserlano,onde"contexte"Unix:cedernierisolelesprocessus(mémoire,accèsauxressources),onajoutealors:uneisola,ondespériphériques(c'estlerôledel'isolateur),voireleurpartage,lessystèmesdefichiersdonclesfichierseux-mêmesetleursaccès.Ce;esolu,onesttrèsperformante,dufaitdupeud'overhead(chutedeperformanceconséquentedel'ajoutdescouchesdevirtualisa,on),maislesenvironnementsvirtualisésnesontpascomplètementisolés,ilspartagentenpar,culierlecodedunoyau.Ce;esolu,onestaussiremarquablementéconomiqueenmémoireparconséquencedeladernièreremarque.Cesenvironnementssontdoncbienadaptésaudéploiementdenombreuxserveursvirtuelsdetestoudéveloppementbaséssurunmêmesystème.Quelquesisolateurs:�Linux-VServer:isola,ondesprocessusenuser-space,�BSDJail:isola,onenuser-space,�OpenVZ:libre,par,,onnementauniveaunoyausousLinuxetWindows2003.C'estlaversionopen-sourcedulogicielVirtuozzo.Lesisolateurstendentàisoleràunniveaudeplusenplusprochedusystème,voiredanslesystèmedanslecasdeOpenVZ,quipeutêtrevucommeunLinuxavecplusieurstablesde

10

Page 6: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Partantduprincipe,exposéprécédemment,qu'uneapprochepourunevirtualisa,onefficaceconsisteàaffinerlescouches,unepremièreapprocheconsisteàproposerunnoyauléger(detypemicro-noyauparexemple),lequelestaccompagnéd'ou,lsdesupervision,etadaptépourfairetournerdessystèmesd'exploita,onna,fs.Pourréussirce;eapproche,soitonémulelematériel(etonrevientauxperformancesdelamachinevirtuellepourlesI/O),soitondisposedesinstruc,onsdédiéesàlavirtualisa,on.Danscederniercas,leslogicielslibresconcernésselimiterontaumondex86oux86-64,munisdesinstruc,onsad-hoc.Lesprincipauxexemplesdeceprincipesont:�KVM:IntégréaunoyauGNU/Linuxàpar,rdelaversion2.6.20.�Xensurunemachineoffrantlesupportdesinstruc,onsAMD-V(version3.03ouultérieure)ouVTx(version3.0ouultérieure).L’hyperviseurdetype1oubare-metalestunou,lquis’interposeentrelacouchematérielleetlogicielle.Celui-ciaaccèsauxcomposantsdelamachineetpossèdesonproprenoyau.C’estdoncpardessuscenoyauquelesOSserontinstallés.IlpilotedonclesOSàpar,rdelacouchematérielle,ils’administreviauneinterfacedeges,ondesmachinesvirtuelles.Ilestbeaucouppluspuissantqueleshyperviseursde

11

Unparavirtualiseurestunnoyauhôteallégeetop,misépournefairetournerquedesnoyauxdesystèmesd'exploita,oninvités,adaptésetop+misés.Lesapplica,onsenespaceu,lisateurdessystèmesd'exploita,oninvitéstournentainsisurunepilededeuxnoyauxop,misés,lessystèmesd'exploita,oninvitésayantconscienced'êtrevirtualisés.Ce;eapprocheoffrel'avantaged'êtreu,lisableenl'absencedesinstruc,onsspécifiques,maiselleestimpra,cablepourdessystèmesnonlibrespourlesquelsl'éditeurneferapasl'effortd'adapta,on.Exemple:Xen:noyaulégersupportantdesnoyauxLinux,Plan9,NetBSD,etc,Unhyperviseurdetype1estcommeunnoyausystèmetrèslégeretop,misépourgérerlesaccèsdesnoyauxd'OSinvitésàl'architecturematériellesous-jacente.SilesOSinvitésfonc,onnentenayantconscienced'êtrevirtualisésetsontop,miséspourcefait,onparlealorsdepara-virtualisa,on(méthodeindispensablesurHyper-VdeMicroso{etquiaugmentelesperformancessurESXdeVMwareparexemple).Actuellementl’hyperviseurestlaméthodedevirtualisa,ond'infrastructurelaplusperformantemaiselleapourinconvénientd’êtrecontraignanteetonéreuse,bienqueperme;antplusdeflexibilitédanslecasdelavirtualisa,ond'uncentredetraitementdedonnées.

12

Page 7: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Unnoyauenespaceu,lisateur(user-space)tournecommeuneapplica,onenespaceu,lisateurdel'OShôte.Lenoyauuser-spaceadoncsonpropreespaceu,lisateurdanslequelilcontrôlesesapplica,ons.Ce;esolu,onesttrèspeuperformante,cardeuxnoyauxsontempilésetl’isola,ondesenvironnementsn’estpasgéréeetl’indépendanceparrapportausystèmehôteestinexistante.Ellesertsurtoutaudéveloppementdunoyau.

13

Cependant,lessolu,onsenvisageablessurarchitecturex86sontlongtempsrestésbridésparlesspécificitésdel'architecturex86etsurtoutparsonu,lisa,on.Eneffet,ce;efamilledeprocesseurs(depuisle80386)offre,pourl'écrituredesystèmes,4niveauxdeprivilèges,maisàprioritouslessystèmesd'exploita,onontprislepar,deplacerlesystèmeauniveauleplusprivilégie(ring0),etlesapplica,onsauniveauleplusfaible(ring3),sanspenseràserendreplusindépendantdesniveauxd'exécu,on.Parconséquent,2niveauxdeprivilègessontperdus,etécrireunecouchedevirtualisa,onpourembarquerdessystèmesd'exploita,oncomplets,nécessitantdesprivilègessupérieursàceuxduring0,nepeutplussefairequeparémula,on.C'estpourquoilesfabricantsdeprocesseursx86AMDetIntelontajoutédansleursgammesdesinstruc,onsdédiéesafindeproposerdessolu,onsdevirtualisa,onmatérielledanslasecondemoi,édesannées2000.Cesinstruc,onsperme;entlacoexistencedeplusieurs"ring0"simultanée,onparleparfoisparextensionàleursujetde"ring-1".

14

Page 8: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Lesupportdelavirtualisa,onpeutêtreintégréauprocesseurouassistéparcelui-ci,lematérielsechargeant,parexemple,devirtualiserlesaccèsmémoireoudeprotégerleprocesseurphysiquedesaccèslesplusbasniveaux.Celapermetdesimplifierlavirtualisa,onlogicielleetderéduireladégrada,ondeperformances.

15 16

Page 9: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

17

h;p://www.lemagit.fr/conseil/CPU-et-Virtualisa,on-les-caracteris,ques-fondamentales-a-verifierSLATSecondlevelAddressTransla,on(INTEL)/RVIRapidVirtualiza,onIndexing(AMD)EPTExtendedPageTableTLBTransla,onLookasidebuffer

18

Page 10: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

h;ps://fr.wikipedia.org/wiki/CgroupsL'undesbutsdelaconcep,ondecgroupsaétédefourniruneinterfaceunifiéeàdifférentscasd'u,lisa,on,enallantducontrôledesimplesprocessus(commenice)àlavirtualisa,onauniveaudusystèmed'exploita,on(commeOpenVZ,Linux-VServer,LXC).Cgroupsfournit:Limita,ondesressources:desgroupespeuventêtremisenplaceafindenepasdépasserunelimitedemémoire—celainclutaussilecachedusystèmedefichier.L'ar,cleoriginalaétéprésentéauLinuxSymposiumets'in,tuleContainers:ChallengeswiththememoryresourcecontrolleranditsperformancePriorisa,on:certainsgroupespeuventobteniruneplusgrandepartderessourcesprocesseuroudebandepassanted'entrée-sor,e.Comptabilité:permetdemesurerlaquan,téderessourcesconsomméesparcertainssystèmesenvuedeleurfactura,onparexemple.Isola,on:sépara,onparespacedenommagepourlesgroupes,afinqu'ilsnepuissentpasvoirlesprocessusdesautres,leursconnexionsréseauxouleursfichiers.Contrôle:figerlesgroupesoucréerunpointdesauvegardeetredémarrer.

19 20

Page 11: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Qemunenécessitepasdeprocesseurspécifique,n'imposepasdemodifierlesystèmeinvitéetmarchesurunsystèmehôtenonmodifié.Cependant,kQemu,approched'accéléra,ondédiée,permetd'accélérernotablementlesperformances(toujourssanscontraintesurlagénéra,ondeprocesseur).

21 22

Page 12: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

h;p://blog.octo.com/presenta,on-des-hyperviseurs-xen-et-kvm/h;ps://www.antoinebenkemoun.fr/2010/01/les-domaines-xen-les-domaines-non-privilegies/Xenestcapabledefairedelaparavirtualisa,onmaisaussidelavirtualisa,onmatérielleassistée.Achacundecestypesdevirtualisa,oncorresponduntypededomainenonprivilégié.LesdomUdeparavirtualisa,onsontappelés«domUstandards»etlesdomUdevirtualisa,onmatérielleassistéesontappelés«domUHVM».L’acronymeHVMsignifie«Hardware-AssistedVirtualMachine».

23

h;p://blog.octo.com/presenta,on-des-hyperviseurs-xen-et-kvm/

24

Page 13: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

Lesisolateurstendentàisoleràunniveaudeplusenplusprochedusystème,voiredanslesystèmedanslecasdeOpenVZ,quipeutêtrevucommeunLinuxavecplusieurstablesdeprocessus,chacunedanslecontexted'unedistribu,onpropre.

25 26

Page 14: Ici il est ques+on non pas d’augmenter leperso.univ-lyon1.fr/fabien.rico/site/_media/cloud:2016:virtualisation... · Très peu de systèmes démarrent directement, et sur plateforme

27 28