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

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualizáció Micskei Zoltán Előadások:

Hasonló előadás


Az előadások a következő témára: "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualizáció Micskei Zoltán Előadások:"— Előadás másolata:

1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualizáció Micskei Zoltán Előadások: dr. Kovácsházy Tamás kiegészítéseivel az Operációs Rendszerek (vimia219) tárgy fóliái alapján Operációs rendszerek alapjai (vimia024)

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. o egy erőforrást több logikaiként felajánlani, o több fizikai erőforrást összefogni egybe…  Virtuális memória, virtuális fájlrendszerek… 2

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

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

5 Virtuális gép taxonómia (részletesebb) 5 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 o Elnevezés még: szerver, számítógép, hardver virtualizáció..  Elemek: o Gazda gép (host machine) = fizikai gép o Vendég gép (guest machine) = virtuális gép o Virtual Machine Monitor (VMM): a virtuális gépeket kezelő program 6

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

8 Miért jó a platform 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

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

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

11 DEMO  Seamless window mód o A guest alkalmazások direkt módon a hoszt egy ablakában jelennek meg, „nem lehet a guest OS-t látni”.  Állapot elmentése o 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ó. o A futó gép akár másik host gépre migrálható így.  P2V/V2P konverzió o Fizikai gép virtuális gépbe mozgatása (a régi gép az újon belül pl.). o 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) Virtualizáció érdekességek 11

12 Elméleti alapok

13 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): (1974) 13

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

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

16 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ú 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) 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 Alkalmazza a hatását az emulátorban, átalakítja a hívást, végrehajtja 16 Kiegészítő anyag

17 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 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 17 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 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 Kiegészítő anyag

18 x86 virtualizáció korlátai  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 o Ha nem ring 0-n adjuk ki, akkor nem ír felül bizonyos biteket, és nem is dob kivételt  Privilegizált állapot kiolvasható o Virtuális gép a CS szegmens regisztert olvasva megtudhatja, hogy virtualizált 18 Következmény: nem használható a trap & emulate módszer a klasszikus x86-on

19 Megoldások az x86 CPU virtualizációra  Binary translation (szoftveres)  Paravirtualizáció  Hardveres virtualizáció 19

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

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 21

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

23 Melyik a legjobb/leggyorsabb módszer?  Folyamatosan változik a válasz o környezettől, terheléstől is függ o HW virtualizáció kezdetben kiforratlanabb, mint a BT  Összemosódnak a határok o Megoldások több módszert használnak vegyesen Comparing Hardware Virtualization Performance Utilizing VMmark v1.1Comparing Hardware Virtualization Performance Utilizing VMmark v VMware: Paravirtalization + BT is better than pure BTVMware: Paravirtalization + BT is better than pure BT VMware: BT is better than HW assisted virtualizationBT is better than HW assisted virtualization 23 Kiegészítő anyag

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? 25

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

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 27

28 Memória virtualizálása - hardveres  HW támogatás az újabb CPU-kban o AMD Rapid Virtualization Indexing, Intel Extended Page Tables  Beágyazott laptábla (Nested page table) o vendég fizikai -> gazda fizikai leképezés eltárolása o 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: o , KVM: MMU paravirtualization is deadMMU paravirtualization is dead o 2009., VMware: Performance Evaluation of AMD RVI Hardware Assist, akár 42%-os növekedés isPerformance Evaluation of AMD RVI Hardware Assist 28

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

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

31 I/O eszközök kezelése (paravirt.)  Speciális csomag telepítése a vendégben o VMware Tools, Virtual PC Additions o Mindig telepítsük a vendég gépen! VMM Virtuális gép Normál driver Emulált virtuális HW 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 Egyszerűsített hívások, adatstruktúrák megosztása I/O eszköz 31 Kiegészítő anyag

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

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

34 Játékosok 34

35 Játékosok – 2 ESX, Virtual Infrastructure… nyílt forrású hypervisor Presentation Server, XenServer Virtual PC, Hyper-V, VM Manager Solaris Containers, Oracle VM, VirtualBox Kernel based Virtual Machine mainframe, powerVM … 35

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

37 Cloud computing 37 ???

38 Cloud computing 38 Cloud Kiegészítő anyag

39 Számítási felhők rétegei Virtuális gépet kapunk Amazon EC2, RackSpace… IaaS Futtatókörnyezetet kapunk Java konténer,.NET, adatbázis… MS Azure, Google AppEngine… PaaS Szolgáltatást érünk el Google Docs, SalesForce CRM… SaaS 39

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

41 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 41

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

43 Ö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 o Funkciók megvalósítása a hypervisor-ban o Kisebb jelentőség ? 43


Letölteni ppt "Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualizáció Micskei Zoltán Előadások:"

Hasonló előadás


Google Hirdetések