Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

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

Hasonló előadás


Az előadások a következő témára: "© 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."— Előadás másolata:

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


Letölteni ppt "© 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."

Hasonló előadás


Google Hirdetések