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ó dr. Micskei Zoltán

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ó dr. Micskei Zoltán"— 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ó dr. Micskei Zoltán http://mit.bme.hu/~micskeiz 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. 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 Forrás: http://www.microsoft.com/virtualization/default.mspx 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 Életciklus, telepítés, automatizálás… (private cloud) 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. 32-38. 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 Forrás: Scope Alliance, Virtualization: State of the Art, 2008.

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  ~1960 - 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 2000- További megoldások  Jelenleg: külön iparág alakult már 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ó architektúrái  Kétféle megközelítés: Hardver Oprendszer Virt. szoftver App. OS App. Hardver Virt. szoftver Menedzsment OS Menedzsment App. OS App. Hosted Bare-metal Jellemzően desktop megoldások: VMware Workstation, Player, Sun/Oracle VirtualBox, MS VirtualPC, KVM Jellemzően szerver megoldások: VMware ESXi, Xen, MS Hyper-V HOST GUEST 9

10 További alkalmazás: mobil virtualizáció 10 Bring Your Own Device (BYOD) Funkciók elkülönítése

11 Elméleti alapok

12 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) 12

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

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

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

16 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 műveletek trap-et váltanak ki, és a VMM veszi át a végrehajtást 16 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

17 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 megtudhatja, hogy virtualizált 17 Következmény: nem használható a trap & emulate módszer a klasszikus x86 esetében

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

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

20 Binary translation – példa 20 vEPC mov ebx, eax cli and ebx, ~0xfff mov ebx, cr3 sti ret mov ebx, eax mov [VIF], 0 and ebx, ~0xfff mov [CO_ARG], ebx call HANDLE_CR3 mov [VIF], 1 test [INT_PEND], 1 jne call HANDLE_INTS jmp HANDLE_RET start Guest CodeTranslation Cache Forrás: Carl Waldspurger, Introduction to Virtual Machines

21 Paravirtualizáció  Fejlesztők módosítják a vendég OS forrását  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  Megoldások több módszert használnak vegyesen 23 VMware ESX/ESXi Microsoft Hyper-V Xen Szoftveres (BT)+-- Paravirtualizáció- (már nem)+ (részben)+ Hardveres (Intel VT-x, AMD-V) +++

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 használata itt is  Vendég OS forrását módosítják  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 2008. 04., 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

31 I/O eszközök kezelése (paravirt.)  Speciális csomag telepítése szükséges 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

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 http://www.virtualization.info/radar/ 34

35 Játékosok – 2 ESXi, vSphere… nyílt forrású hypervisor XenServer, XenApp Hyper-V, System Center Solaris Containers, Oracle VM, VirtualBox Kernel based Virtual Machine (KVM) mainframe, powerVM … 35

36 DEMO  Erőforráskészlet – korlátozások, garanciák  VM térkép  Teljesítmény mérése  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

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 Kitekintés: Mirage OS 40

41 További információ  Szakirány:  Informatikai technológiák szakirány, Rendszertervezés ágazat, (pl. Intelligens rendszerfelügyelet tantárgy)Intelligens rendszerfelügyelet  Választható tárgy (ősz):  Virtualizációs technológiák és alkalmazásaik Virtualizációs technológiák és alkalmazásaik  Cikk: o Ole Agesen et al.: The evolution of an x86 virtual machine monitor, SIGOPS Oper. Syst. Rev. 44, 4 (December 2010)The evolution of an x86 virtual machine monitor 41

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


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

Hasonló előadás


Google Hirdetések