1 / 30

Virtualizáció

Operációs rendszerek (vimia219). Virtualizáció. Micskei Zoltán Elődások : http://www.mit.bme.hu/~micskeiz/opre Blog : http://micskeiz.spaces.live.com. Virtualizáció. Számítástechnika központi fogalma

xenon
Download Presentation

Virtualizáció

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Operációs rendszerek (vimia219) Virtualizáció Micskei Zoltán Elődások: http://www.mit.bme.hu/~micskeiz/opre Blog: http://micskeiz.spaces.live.com

  2. Virtualizáció • Számítástechnika központi fogalma • Virtualizáció: erőforrás tényleges fizikai tulajdonságainak elrejtése a felhasználója elől, pl. • egy erőforrást több logikaiként felajánlani, • több fizikai erőforrást összefogni egybe… • Virtuális memória, virtuális fájlrendszerek…

  3. Platform virtualizáció története • Platform virtualizáció: teljes számítógép virtualizálása, egy gépen több OS futtatása • ~1960 - IBM CP-40 rendszere • virtualizáció a mainframetermékvonal része • x86 virtualizáció • Sokáig lehetetlen • 1998: VMware megoldotta • 2000- További megoldások • Jelenleg: külön iparág alakul

  4. Virtualizáció összkép Teljes számítógép virtualizálása • Kiforratlan terminológia! Egyre fontosabb: • dinamikus • adatközpont • életciklus kezelés • konvertálás, • telepítés • - … Alkalmazás becsomagolása Tárolórendszer felépítésének elfedése Vékony kliensek + OS szintű virtulizáció: elkülönített futási környezet kialakítása Egygépes termékek

  5. Platform virtualizáció • Továbbiakban platform virtualizációróllesz szó • Elnevezés még: szerver / hardver / számítógép virtualizáció • Elemek: • Gazda gép (hostmachine) = fizikai gép • Vendég gép (guestmachine) = virtuális gép • VirtualMachine Monitor (VMM): a virtuális gépeket kezelő program

  6. Platform virtualizáció fajtái Type I (VMM elnevezése: hypervisor) Type II

  7. Miértjó a HW virtualizáció? • Tesztrendszer kiépítése • HW konszolidáció • Régi rendszerek (legacysystems) • On-demand architektúra • Rendelkezésre állás, katasztrófa védelem • Hordozható alkalmazások • …

  8. DEMO Virtuális gépek - Virtual PC • Új virtuális gép létrehozása • Virtuális hardver • Létrejövő fájlok • Meglévő virtuális gép használata • Állapot elmentése • Integráció a gazda géppel

  9. Elméleti Alapok

  10. Elméleti alapok - Követelmények Követelmények egy virtualizációs megoldástól: • Azonosság: a virtuális gépen futtatott programok ugyanazt az eredményt adják • Biztonságosság: a VMM kezeli az összes hardver erőforrást • Hatékonyság: a vendég gép utasításainak nagy része beavatkozás nélkül fut Gerald J. Popek, Robert P. Goldberg: Formal Requirements for Virtualizable Third Generation Architectures. Commun. ACM 17(7): 412-421 (1974)

  11. Alapvető probléma • Vendég gépektől védeni kell a rendszert • Pl.: HLT (Halt) utasítás kiadása • Elvárt: csak a vendég álljon le • Ha végrehajtanánk: mindenki leáll • Megoldás: VMM felügyelje a vendég utasításait • Privilegizált utasítások kezelése

  12. Alapvető módszerek – Tiszta emuláció Teljes virtuális HW állapot eltárolása az emulátorban (regiszterek, flag-ek) Virtuális gép Alkalmazás • Minden utasítást megvizsgál a VMM Virtuális HW Emulátor Virtuális HW állapota • Alkalmazza a hatását az emulátorban, • átalakítja a hívást, végrehajtja • Előny: • Más CPU is emulálható • Hátrány: • Lassú HW

  13. Alapvető módszerek – Trap and emulate Trap: hardveres kivételkezelő rutin ami után a végrehajtás folytatódhat Virtuális gép Alkalmazás • A nem privilegizált utasítások közvetlenül • a valós CPU-n hajtódnak végre Virtuális HW Emulátor • A privilegizált vagy érzékeny műveletek trap-et • váltanak ki, és a VMM veszi át a végrehajtást Virtuális HW állapota • HW támogatás: • védelmi szintek (az x86-on ring a neve, 4 db.) • virtuális gép alacsony védelmi szinten fut • privilegizált utasítások nem megfelelő • szinten kiadva trap-et okoznak HW

  14. x86 virtualizáció korlátai • Egyes architektúrák könnyen virtualizálhatóak, az x86 nem ilyen • ~250 utasításból 17 megsérti a klasszikus feltételeket, pl. • POPF utasítás: EFLAGS regisztert módosítja • Ha nem ring 0-n adjuk ki, akkor nem ír felül bizonyos biteket, és nem is dob kivételt • Privilegizált állapot kiolvasható • Virtuális gép a CS szegmens regisztert olvasva megtudhatja, hogy virtualizált

  15. Megoldások az x86 CPU virtualizációra • Binarytranslation • Paravirtualizáció • Hardveres virtualizáció

  16. Binarytranslation • utasítások nagy része közvetlenül fut • privilegizált utasítások átírása futás közben • nem igényel forráskódot • átírt változatot eltárolja • vendég OS nem tud arról, hogy virtualizált

  17. Paravirtualizáció • Vendég OS forrásának módosítása • Problémás utasítások lecserélése • Hypercall: hypervisort hívja közvetlen

  18. Hardveres támogatás - CPU • ~2005: Intel Virtualization Technology (VT-x) és AMD AMD-V • HW-es támogatás: rootmode, VMCS • Utasítások, pl.: VMCALL, VMLAUNCH

  19. Példa: HW-esvirtualizáció használata • Xen: xen-3.2.0\xen\arch\x86\hvm\vmx\x86_32 #define VMLAUNCH .byte 0x0f,0x01,0xc2 vmx_launch: movb $1,VCPU_vmx_launched(%ebx) HVM_RESTORE_ALL_NOSEGREGS VMLAUNCH pushf

  20. Melyik a legjobb/leggyorsabb módszer? • Bizonytalan, folyamatosan változik a válasz • környezettől, terheléstől is függ • HW virtualizáció még kiforratlanabb, mint a BT • Összemosódnak a határok • Megoldások több módszert használnak vegyesen 2006. VMware: BT is betterthan HW assistedvirtualization 2008. VMware: Paravirtalization + BT is betterthanpure BT 2008. 04. KVM: MMU paravirtualization is dead

  21. Következő generációs HW támogatás • Memória • AMD NestedPageTables ,Intel ExtendedPageTables • I/O • Intel VT-d, AMD IOMMU • Közvetlen I/O elérés a virtuális gépeknek

  22. Eszközmeghajtók paravirtualizációja • Speciális drivercsomag telepítése a vendégben • VMwareTools, Virtual PC Additions • Mindig telepítsük a vendég gépen! Virtuális gép • A teljes, valós kommunikáció • emulálása Virtuális gép Vendég OS Vendég OS Normál driver Paravirt. driver • Egyszerűsített hívások, • adatstruktúrák megosztása VMM VMM Emulált virtuális HW HW kezelő HW kezelő

  23. Megoldások, Cégek, Termékek

  24. Játékosok http://www.virtualization.info/radar/

  25. Játékosok - 2 • Workstation, ESX, Virtual Center • nyílt forrású hypervisor • Presentation Server, XenSource-t megvette • Virtual PC, Hyper-V, VM Manager • SolarisContainers, xVM Server (Xen alapú), Ops Center • Kernel basedVirtualMachine • mainframe, powerVM

  26. DEMO VMwareVirtual Center • Erőforráskészlet – korlátozások, garanciák • Teljesítmény mérés • VMotion – virtuális gépet futás közben átrakjuk másik gépre

  27. VirtualAppliance • Appliance: célhardver (pl. tűzfal) • VirtualAppliance: • adott célra összeállított virtuális gép • Előny: • nincs telepítés, függőség • csak a feltétlen szükséges komponensek vannak telepítve • JeOS • JustenoughOperating System • Operációs rendszerek szerepe?

  28. BlogWars • Tények a virtualizáció világában?? VMwareblog, CheapHypervisors: A Fine Idea - ifyoucanaffordit MS blog, ExpensiveHypervisors: A Bad Idea ~ nem reálisak a fenti számok Citrixblog, MemoryLapse ~ nem reálisak a fenti számok VMwareblog, MemoryOvercommitmentinthe Real World ~ de, reálisak azok a számok

  29. Összefoglalás • Virtualizáció: növekvő jelentőségű • Ellentmondásos terminológiák • Versengő technológiák, rengeteg gyártó • Operációs rendszerek • Funkciók megvalósítása a hypervisor-ban • Kisebb jelentőség ?

  30. További olvasnivaló • VMware: A Comparison of Software and Hardware Techniques for x86 Virtualization • Solaris Operating System Hardware Virtualization Product Architecture • Xen and the Art of Virtualization • A brief architecture overview of VMware ESX, XEN and MS Viridian

More Related