1 / 42

Virtualizáció

Operációs rendszerek alapjai (vimia024). Virtualizáció. Micskei Zoltán Előadások: http://www.mit.bme.hu/~micskeiz d r . Kovácsházy Tamás kiegészítéseivel az Operációs Rendszerek (vimia219) tárgy fóliái alapján. Virtualizáció. Számítástechnika központi fogalma

knox
Télécharger la présentation

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 alapjai (vimia024) Virtualizáció MicskeiZoltán Előadások: http://www.mit.bme.hu/~micskeiz dr. Kovácsházy Tamás kiegészítéseivel az Operációs Rendszerek (vimia219) tárgy fóliái alapján

  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. A virtualizációbuzzword alkalmazásai Alkalmazás becsomagolása Teljes számítógép virtualizálása Egyre fontosabb: dinamikus Adatközpont, életciklus kezelés, konvertálás, telepítés … Vékony kliensek Tárolórendszer felépítésének elfedése + OS szintű virtualizáció: elkülönített futási környezet kialakítása Egygépes termékek Kiforratlan terminológia!

  4. Virtuális gép taxonómia* A VM egy ABI-t lát A VM csak egy hardvert lát Java, .NET… Multiprog-ramozott OS Forrás: J. Smith and Ravi Nair, “The architecture of virtual machines,” IEEEComputer, vol. 38, 2005, pp. 32-38. * taxonómia: tágabb ~ osztályozás tudománya. Szűkebb ~ fogalmak közötti kapcsolatot megadó struktúra

  5. Virtuális gép taxonómia (részletesebb) Kiegészítő anyag

  6. Platform virtualizáció • Platform virtualizáció: teljes számítógép virtualizálása, egy gépen több OS futtatása • Elnevezés még: szerver, számítógép, hardver 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

  7. Platform virtualizáció története • ~1960 - IBM CP-40 rendszere • virtualizáció a mainframetermékvonal része • x86 virtualizáció • Sokáig lehetetlennek tűnt • 1997: Stanford, Disco projekt • 1998: VMware megoldás • 2000- További megoldások • Jelenleg: külön iparág alakul

  8. Miértjó a platformvirtualizá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 …

  9. Platform virtualizáció GUEST App. App. Menedzsment App. App. App. App. OS OS Menedzsment OS OS OS Oprendszer Virt. szoftver Virt. szoftver Hardver Hardver Fő komponens: VMM – VirtualMachine Monitor Neve: VMM – VirtualMachine Monitor Hypervisor HOST Bare-metalvirtualizáció Hostedvirtualizáció Jellemzően desktop megoldások: VMware Workstation, Server, Player, Sun VirtualBox,MS VirtualPC, KVM, UML (Jellemzően) szerver megoldások: VMware ESX Server, XenEnterprise, MS Hyper-V Kétféle megközelítés:

  10. Új terület: mobil virtualizáció

  11. Virtualizáció érdekességek • Seamlesswindow mód • A guest alkalmazások direkt módon a hoszt egy ablakában jelennek meg, „nem lehet a guestOS-t látni”. • Állapot elmentése • A futó gép állapota elmenthető, lényegében a virtuális gép a hibernáláshoz hasonló módon inaktív állapotba helyezhető, és az elmentett állapot másolható. • A futó gép akár másik host gépre migrálható így. • P2V/V2P konverzió • Fizikai gép virtuális gépbe mozgatása (a régi gép az újon belül pl.). • Virtuális gép fizikai gépbe mozgatása (tesztrendszerből végleges HW-én futó gép, ha ez pl. teljesítmény okokból szükséges)

  12. Elméleti alapok

  13. Elméleti alapok - Követelmények Gerald J. Popek, Robert P. Goldberg: Formal Requirements for Virtualizable Third Generation Architectures. Commun. ACM 17(7): 412-421 (1974) 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

  14. 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

  15. Kiegészítő anyag Elméleti alapok CPU virtualizáció Memória virtulizáció I/O virtualizáció

  16. Alapvető módszerek – Tiszta emuláció Kiegészítő anyag 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

  17. Alapvető módszerek – Trap and emulate Kiegészítő anyag 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 • A privilegizált vagy érzékeny műveletek trap-et váltanak ki, és a VMM veszi át a végrehajtást Emulátor Virtuális HW állapota • HW támogatás szükséges: • védelmi szintek (pl. x86-on ring) • virtuális gép alacsony védelmi szinten • privilegizált utasítások nem megfelelő • szinten kiadva trap-et okoznak HW Trap: hardveres kivételkezelő rutin ami után a végrehajtás folytatódhat

  18. x86 virtualizáció korlátai Következmény: nem használható a trap & emulate módszer a klasszikus x86-on • Egyes architektúrák könnyen virtualizálhatóak, az x86 nem ilyen volt • ~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

  19. Megoldások az x86 CPU virtualizációra Binarytranslation (szoftveres) Paravirtualizáció Hardveres virtualizáció

  20. 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

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

  22. Hardveres virtualizáció • ~2005: Intel Virtualization Technology (VT-x) és AMD AMD-V • HW-es támogatás: rootmode, VMCS • Utasítások, pl.: VMCALL, VMLAUNCH • Működik a trap &emulate módszer

  23. Melyik a legjobb/leggyorsabb módszer? Kiegészítő anyag 2006. VMware: BT is betterthan HW assistedvirtualization 2008. VMware: Paravirtalization + BT is betterthanpure BT 2009. Comparing Hardware Virtualization Performance Utilizing VMmark v1.1 • Folyamatosan változik a válasz • környezettől, terheléstől is függ • HW virtualizáció kezdetben kiforratlanabb, mint a BT • Összemosódnak a határok • Megoldások több módszert használnak vegyesen

  24. Elméleti alapok CPU virtualizáció Memória virtulizáció I/O virtualizáció

  25. Ismétlés Hogy néz ki a virtuális memória -> fizikai memória leképezés lapszervezés esetén?

  26. Memória virtualizálása - szoftveres Vendég laptáblák VM1 VM2 Vendég: virtuális memória Vendég: „fizikai” memória Gazda: fizikai memória Kétszeres címfordítás helyett: árnyék laptáblák GOND: szinkronizálás VM allokációs laptáblák

  27. Memória virtualizálása - paravirtualizáció Árnyék laptáblák Vendég OS forrásának módosítása Ha a vendég módosítja a laptábláit, akkor értesítse a VMM-et is erről

  28. Memória virtualizálása - hardveres • HW támogatás az újabb CPU-kban • AMD Rapid Virtualization Indexing , Intel ExtendedPageTables • Beágyazott laptábla (Nestedpagetable) • vendég fizikai -> gazda fizikai leképezés eltárolása • cím leképezési rutin ezt is bejárja • TLB bejegyzések azonosítóval ellátása • Nagy teljesítménynövekedés: • 2008. 04., KVM: MMU paravirtualization is dead • 2009., VMware: Performance Evaluation of AMD RVI Hardware Assist, akár 42%-os növekedés is

  29. Elméleti alapok CPU virtualizáció Memória virtulizáció I/O virtualizáció

  30. I/O eszközök kezelése (szoftveres) Kiegészítő anyag Virtuális gép • A teljes, valós kommunikáció • emulálása Vendég OS Normál driver VMM Emulált virtuális HW HW kezelő I/O eszköz

  31. I/O eszközök kezelése (paravirt.) Kiegészítő anyag Virtuális gép 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ő I/O eszköz I/O eszköz • Speciális csomag telepítése a vendégben • VMwareTools, Virtual PC Additions • Mindig telepítsük a vendég gépen!

  32. I/O eszközök kezelése (hardveres) • Hardveres támogatás • Intel VT-d, AMD IOMMU • PCI szabvány kiegészítése: I/O Virtualization (IOV) • I/O eszközök • megosztása virtuális gépek között • közvetlen hozzárendelése egy virtuális géphez

  33. Megoldások, cégek, termékek

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

  35. Játékosok – 2

  36. Központi menedzsment • Erőforráskészlet – korlátozások, garanciák • VM térkép • Teljesítmény mérés • LiveMigration – virtuális gépet futás közben átrakjuk másik gépre

  37. Cloudcomputing ???

  38. Cloudcomputing Kiegészítő anyag Cloud

  39. Számítási felhők rétegei

  40. 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?

  41. További információ • Tantárgyak: • Informatikai technológiák szakirány, Rendszertervezés ágazat, Intelligens rendszerfelügyelet • Választható ősszel: Virtualizációs technológiák és alkalmazásaik • Cikkek: • VMware: A Comparison of Software and Hardware Techniques for x86 Virtualization • Xen and the Art of Virtualization • A brief architecture overview of VMware ESX, XEN and MS Viridian

  42. Ö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 ?

More Related