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

Slides:



Advertisements
Hasonló előadás
Tamás Kincső, OSZK, Analitikus Feldolgozó Osztály, osztályvezető A részdokumentumok szolgáltatása az ELDORADO-ban ELDORADO konferencia a partnerkönyvtárakkal.
Advertisements

Első tapasztalatok az NIIFI-nél üzemelő infrastruktúra cloud szolgáltatással kapcsolatban Stefán Péter NIIFI RICOMNET Miskolc.
Nagy rendelkezésre-állású szolgáltatások virtuális környezetben Stefán Péter, Szalai Ferenc, Vitéz Gábor NIIF Intézet.
Virtualizációs technikák
Bevezető, Virtualizációs technológiák áttekintése
Bevezető, Virtualizációs technológiák áttekintése
Virtualizált Biztonságos BOINC Németh Dénes Deák Szabolcs Szeberényi Imre.
© 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.
1 Számítógépek felépítése 9. előadás I/O rendszerek.
SZOFTVER MINT SZOLGÁLTATÁS: ÜZLETI HATÉKONYSÁG A FELHŐBEN Nagy Levente Üzletágvezető Microsoft Office.
Erőállóképesség mérése Találjanak teszteket az irodalomban
I. Informatikai alapismeretek Dabas, november 18.
IT-DEV-CON – IT-DEV-CON Kollár László Fejlesztési platform üzletág igazgató - Microsoft.
1 GTS Szerver Virtualizáció – Ügyvitel a felhőben.
Kőnig Tibor főmérnök Microsoft Magyarország. Ma a vállalatok elsősorban olyan szoftvereket használnak, amelyeket maguk futtatnak ez a helyben telepített.
Hálózati architektúrák
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Villamosmérnöki és Informatikai Kar VET Villamos Művek és Környezet Csoport Budapest Egry József.
Windows Azure Infrastruktúra és platform a felhőben
Műveletek logaritmussal
Operációs rendszerek 1. Takács Béla
Virtualizáció Micskei Zoltán Operációs rendszerek alapjai (vimia024)
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szolgáltatásbiztonsági kérdések virtualizált környezetben.
Szerver oldali virtualizáció
1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szerveroldali virtualizáció Tóth Dániel, Micskei Zoltán.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék CPU virtualizációs technológiák Micskei Zoltán, Tóth Dániel.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Bevezető, Virtualizációs technológiák áttekintése Micskei.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék CPU és memória virtualizáció Tóth Dániel Virtualizációs.
Kiszolgáló oldali virtualizáció
Kiszolgáló oldali virtualizáció
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Kiszolgáló oldali virtualizáció Tóth Dániel, Micskei Zoltán,
Kliens oldali virtualizáció 1
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Memória és perifériák virtualizációja Micskei Zoltán, Tóth.
Memória és perifériák virtualizációja
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Alkalmazás és megjelenítés virtualizáció Micskei Zoltán.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Kliens oldali virtualizáció Micskei Zoltán
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Memória és perifériák virtualizációja Tóth Dániel Virtualizációs.
Csala Péter – Sonkoly Ferenc
Virtualizáció Korszerű Adatbázisok Ferenci László
4. Gyires Béla Informatikai Nap május 6.1 Márton Ágnes Debreceni Egyetem Informatikai Kar Informatikai Rendszerek és Hálózatok Tanszék A Virtual.
Windows Server Virtualization
Storage Virtualization Presentation Virtualization Server Virtualization Desktop Virtualization Application Virtualization SYSTEM CENTER.
Virtualizáció Számítógép architektúrák I. Gyakorlat Radó János.
Virtualizáció Számítógép architektúrák I. Gyakorlat Radó János.
1 Operációs rendszerek Az NT folyamatok kezelése.
1 Operációs rendszerek Az ütemezés megvalósítása.
Hibrid felhő Privát-, publikus és hoster felhők összekapcsolása
Private Cloud Academy Laborgyakorlat Budai Péter Termékmenedzser – Windows Server, System Center, virtualizáció és Forefront
Windows Server 2012 Kiadások, licencelés, lehetőségek
Demo/teszt környezetek Szerver konszolidáció Adatközpontok alapja.
CommunityCloud Private Cloud Public Cloud Hybrid Clouds Megvalósítás módja Szolgáltatás modell Alapvető jellemzők Közös jellemzők Software as a Service.
szakmérnök hallgatók számára
1 C | © 2010 Cisco | EMC | VMware. All rights reserved. Úton a cloud computing (felhő modell) felé Slamovits Tibor, EMC üzletág-vezető, kormányzat.
Kereskényi Róbert MSDN Kompetencia Központ Budapesti Műszaki és Gazdaságtudományi Egyetem Automatizálási és Alkalmazott Informatikai.
A pneumatika alapjai A pneumatikában alkalmazott építőelemek és működésük vezérlő elemek (szelepek)
Web Architecture. Development of Computing Architectures Monolithic mainframe programming Client Server Real Client Server Web Programming.
Nagy teherbírású rendszerüzemeltetés a felhőben. Miről lesz szó? Cloud áttekintő Terheléstípusok és kezelésük CDN Loadbalancing Nézzük a gyakorlatban.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szondázás alapú diagnosztika 1. Autonóm és hibatűrő információs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék CPU virtualizáció Micskei Zoltán, Tóth Dániel Virtualizációs.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Alkalmazás és megjelenítés virtualizáció Micskei Zoltán.
Magas rendelkezésre állású Hyper-V rendszer építése
Óravázlat Készítette: Toldi Miklós
Miért jó nekünk kutatóknak a felhő?
Egy év napórapercmásodperc %99,9%99,99%99,999% Megengedhető kiesés / év 3 nap 15 óra 36 perc8 óra 45 perc 36 mp.52 perc.
Írja fel a tizes számrendszerbeli
Iskolai számítógépes hálózat bővítése Készítette Tóth László Ferenc.
2. Operációs rendszerek.
Desktop virtualizáció Microsoft VDI használatával Háló Gyula.
Újdonságok a FreeBSD 8.0 verzióban Ádám Szilveszter
IT ALAPFOGALMAK OPERÁCIÓS RENDSZEREK.
OPERÁCIÓS RENDSZEREK II.
Előadás másolata:

Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Virtualizáció dr. Micskei Zoltán Operációs rendszerek (vimia219)

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

Forrás: 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

* 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

Virtuális gép taxonómia (részletesebb) 5 Forrás: Scope Alliance, Virtualization: State of the Art, 2008.

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

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 alakult már 7

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

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

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

Elméleti alapok

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Megoldások, cégek, termékek

Játékosok 34

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

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

Cloud computing 37 ???

Cloud computing 38 Cloud

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

Kitekintés: Mirage OS 40

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

Ö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