Ici il est ques+on non pas d’augmenter...

Preview:

Citation preview

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

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

�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

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

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

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

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

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

15 16

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

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

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

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

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

25 26

27 28

Recommended