Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaMarika Barnané Megváltozta több, mint 10 éve
1
© Neeraj Suri EU-NSF ICT March 2006 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék V IRTUALIZÁCIÓ Micskei Zoltán Elődások: http://www.mit.bme.hu/~micskeiz/opre Blog: http://micskeiz.spaces.live.com Operációs rendszerek (vimia219)
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
Operációs rendszerek (vimia219) 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 mainframe termé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
Operációs rendszerek (vimia219) Virtualizáció összkép Kiforratlan terminológia! Teljes számítógép virtualizálása Alkalmazás becsomagolása Vékony kliensek Egygépes termékek Tárolórendszer felépítésének elfedése + OS szintű virtulizáció: elkülönített futási környezet kialakítása Egyre fontosabb: - dinamikus adatközpont - életciklus kezelés - konvertálás, telepítés - …
5
Operációs rendszerek (vimia219) Platform virtualizáció Továbbiakban platform virtualizációról lesz szó Elnevezés még: szerver / hardver / számítógép virtualizáció Elemek: Gazda gép (host machine) = fizikai gép Vendég gép (guest machine) = virtuális gép Virtual Machine Monitor (VMM): a virtuális gépeket kezelő program
6
Operációs rendszerek (vimia219) Platform virtualizáció fajtái Type II Type I (VMM elnevezése: hypervisor)
7
Operációs rendszerek (vimia219) Miért jó a HW virtualizáció? Tesztrendszer kiépítése HW konszolidáció Régi rendszerek (legacy systems) On-demand architektúra Rendelkezésre állás, katasztrófa védelem Hordozható alkalmazások …
8
Operációs rendszerek (vimia219) DEMO Ú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 Virtuális gépek - Virtual PC
9
Operációs rendszerek (vimia219) E LMÉLETI A LAPOK
10
Operációs rendszerek (vimia219) 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
Operációs rendszerek (vimia219) 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
Operációs rendszerek (vimia219) Alapvető módszerek – Tiszta emuláció HW Emulátor Virtuális gép Virtuális HW Alkalmazás Virtuális HW állapota Előny: • Más CPU is emulálható Hátrány: • Lassú Teljes virtuális HW állapot eltárolása az emulátorban (regiszterek, flag-ek) Minden utasítást megvizsgál a VMM Alkalmazza a hatását az emulátorban, átalakítja a hívást, végrehajtja
13
Operációs rendszerek (vimia219) Alapvető módszerek – Trap and emulate Trap: hardveres kivételkezelő rutin ami után a végrehajtás folytatódhat HW Emulátor Virtuális gép Virtuális HW Alkalmazás Virtuális HW állapota A nem privilegizált utasítások közvetlenül a valós CPU-n hajtódnak végre A privilegizált vagy érzékeny műveletek trap-et váltanak ki, és a VMM veszi át a végrehajtást 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
14
Operációs rendszerek (vimia219) 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
Operációs rendszerek (vimia219) Megoldások az x86 CPU virtualizációra Binary translation Paravirtualizáció Hardveres virtualizáció
16
Operációs rendszerek (vimia219) Binary translation 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
Operációs rendszerek (vimia219) 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
Operációs rendszerek (vimia219) Hardveres támogatás - CPU ~2005: Intel Virtualization Technology (VT-x) és AMD AMD-V HW-es támogatás: root mode, VMCS Utasítások, pl.: VMCALL, VMLAUNCH
19
Operációs rendszerek (vimia219) Példa: HW-es virtualizá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
Operációs rendszerek (vimia219) 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 2008. 04. KVM: MMU paravirtualization is deadMMU paravirtualization is dead 2008. VMware: Paravirtalization + BT is better than pure BTVMware: Paravirtalization + BT is better than pure BT 2006. VMware: BT is better than HW assisted virtualizationBT is better than HW assisted virtualization
21
Operációs rendszerek (vimia219) Következő generációs HW támogatás Memória AMD Nested Page Tables,Intel Extended Page Tables I/O Intel VT-d, AMD IOMMU Közvetlen I/O elérés a virtuális gépeknek
22
Operációs rendszerek (vimia219) Eszközmeghajtók paravirtualizációja Speciális drivercsomag telepítése a vendégben VMware Tools, Virtual PC Additions Mindig telepítsük a vendég gépen! VMM Virtuális gép Normál driver Emulált virtuális HW A teljes, valós kommunikáció emulálása Vendég OS HW kezelő VMM Virtuális gép Paravirt. driver Vendég OS HW kezelő Egyszerűsített hívások, adatstruktúrák megosztása
23
Operációs rendszerek (vimia219) M EGOLDÁSOK, C ÉGEK, T ERMÉKEK
24
Operációs rendszerek (vimia219) Játékosok http://www.virtualization.info/radar/
25
Operációs rendszerek (vimia219) Játékosok - 2 Workstation, ESX, Virtual Center nyílt forrású hypervisor Presentation Server, XenSource-t megvette Virtual PC, Hyper-V, VM Manager Solaris Containers, xVM Server (Xen alapú), Ops Center Kernel based Virtual Machine mainframe, powerVM
26
Operációs rendszerek (vimia219) VMware ESX
27
Operációs rendszerek (vimia219) Xen
28
Operációs rendszerek (vimia219) Microsoft Hyper-V
29
Operációs rendszerek (vimia219) DEMO 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 VMware Virtual Center
30
Operációs rendszerek (vimia219) Virtual Appliance Appliance: célhardver (pl. tűzfal) Virtual Appliance: 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 Just enough Operating System Operációs rendszerek szerepe?
31
Operációs rendszerek (vimia219) Blog Wars Tények a virtualizáció világában?? VMware blog, Cheap Hypervisors: A Fine Idea - if you can afford itCheap Hypervisors: A Fine Idea - if you can afford it MS blog, Expensive Hypervisors: A Bad IdeaExpensive Hypervisors: A Bad Idea ~ nem reálisak a fenti számok Citrix blog, Memory LapseMemory Lapse ~ nem reálisak a fenti számok VMware blog, Memory Overcommitment in the Real WorldMemory Overcommitment in the Real World ~ de, reálisak azok a számok
32
Operációs rendszerek (vimia219) Ö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 ?
33
Operációs rendszerek (vimia219) További olvasnivaló VMware: A Comparison of Software and Hardware Techniques for x86 Virtualization VMware: A Comparison of Software and Hardware Techniques for x86 Virtualization Solaris Operating System Hardware Virtualization Product Architecture Solaris Operating System Hardware Virtualization Product Architecture Xen and the Art of Virtualization Xen and the Art of Virtualization A brief architecture overview of VMware ESX, XEN and MS Viridian A brief architecture overview of VMware ESX, XEN and MS Viridian
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.