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

1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szerver oldali virtualizáció Tóth Dániel, Micskei Zoltán.

Hasonló előadás


Az előadások a következő témára: "1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szerver oldali virtualizáció Tóth Dániel, Micskei Zoltán."— Előadás másolata:

1 1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szerver oldali virtualizáció Tóth Dániel, Micskei Zoltán Intelligens rendszerfelügyelet

2 2 Motivációs példa Új üzleti szolgáltatást akarok beindítani Vegyünk több vasat! Biztos, hogy ez segít? Biztos, hogy ez a költséghatékony megoldás? Biztos, hogy ez segít? Biztos, hogy ez a költséghatékony megoldás?  Emlékszünk még?

3 3 Motivációs példa Hát… Idáig a monitorozással foglalkoztunk és feltűnt valami… Sok gépen nagyon kicsi a CPU kihasználtság Nem lehetne akkor valahogy egy gépre felrakni több szolgáltatást? Egyiknek Linux kell a másiknak Windows… ráadásul különböző verziók…

4 4  Emlékszünk még? Motivációs példa Nem lehetne akkor valahogy egy gépre felrakni több szolgáltatást? Egyiknek Linux kell a másiknak Windows… ráadásul különböző verziók… (Ő a biztonsági felelős a cégnél) Biztonsági okokból nem szabad egy gépre rakni őket!

5 5 Motivációs példa  „Now for something completely different…” (Az első előadásban ő volt a szoftverfejlesztő avatarja) Több platformon kell fejlesztenem, tesztelnem… az időm nagy része az ide-oda váltogatással megy el. Ráadásul folyton széthomokozom az oprendszeremet Egyiknek Linux kell a másiknak Windows… ráadásul különböző verziók… Ooop, ez már volt… Szóval nekem is mindenféle sokgépes bonyolult tesztkörnyezetet kell csinálnom a ti cuccaitokhoz

6 6 Virtualizáció  Mi az a virtualizáció?  „Az erőforrások elvonatkoztatása az erőforrást nyújtó elemektől” - kellemesen sejtelmes általános definíció  Jellemzően: o fizikai erőforrásokból logikai erőforrások képzése, amik függetlenek a tényleges fizikai elemektől o korlátos erőforrások szétosztása több részre  Ez egy új ötlet? o Korántsem – az oprendszerek is ezt csinálják…

7 7 Tartalom  Ismétlés (lásd Operációs rendszerek) o Virtualizáció fajtái o Platform virtualizációs megoldások o Kliens oldali virtualizációs igények  Szerver oldali virtualizáció

8 8 Mi micsoda a virtualizáció világában?Paravirtualizáció Emuláció Alkalmazás virtualizáció Binary Translation Hypervisor Konszolidáció Mikrokernel Backend Seamless window management Erőforrás-menedzsment Live migráció Hardveresvirtualizáció Exokernel Tárhely virtualizáció Desktop virtualizáció Jail Container Figyelem! Gyakran nincs egyértelmű terminológia, a gyártók is néha következetlen elnevezéseket használnak!

9 9 Rétegek közötti interfészek Hardver Operációs rendszer Alkalmazások Szolgáltatások Interfész a hardverhez: CPU, Memória: ISA (Instruction Set Architecture) Perifériák: I/O vagy memória- tartományban regiszterek, megszakítás, DMA

10 10 Rétegek közötti interfészek Hardver Operációs rendszer Alkalmazások Szolgáltatások Interfész az alkalmazások és a rendszermag között Rendszerhívások (System calls) Rendszerhívások (System calls) Interfész Adatszerkezetek IPC mechanizmusok

11 11 Rétegek közötti interfészek Hardver Operációs rendszer Szolgáltatások Interfész az alkalmazások szintjén, illetve az OS magas szintű szolgáltatásai között Könyvtár hívások (call) Könyvtár hívások (call) Futtatókörnyezetek Alkalmazások Konfig fájlok, Registry, stb…

12 12 Rétegek közötti interfészek Hardver Operációs rendszer Szolgáltatások Interfész a nyújtott szolgáltatások felé Hálózati protokollok Felhasználói felület stb… Alkalmazások

13 13 A virtualizáció különböző fajtái Hardver Operációs rendszer Alkalmazások Szolgáltatások „Platform Virtualizáció” „Operációs rendszer szintű virtualizáció” - Containerek, Jailek „Operációs rendszer szintű virtualizáció” - Containerek, Jailek „Alkalmazás futtatókörnyezetek” (Runtime environments) Alkalmazás virtualizáció (packaged applications…) „Desktop virtualizáció”

14 14 Platform virtualizáció  Amikor a „virtualizáció” buzzword elhangzik leggyakrabban erről van szó o „Szerver virtualizáció”, „Hardver virtualizáció”, „Számítógép virtualizáció” szinonim fogalmak o De nem összekeverendő a „hardveres” virtualizációval!  Cél: megosztani a hardver erőforrásokat: o Nem végzünk finomítást, az eredeti(hez hasonló) interfészen maradnak elérhetőek (exokernelnek hívják azt, ami ilyet csinál) o Izolált környezeteket („sandbox”) biztosítunk  Célok gyakorlatiasabban megfogalmazva: o Több operációs rendszer példányt futtatni egyazon gépen

15 15 Platform virtualizáció  Miért lesz ez jó nekünk? o Tesztrendszer kiépítése o HW konszolidáció o Régi rendszerek (legacy systems) o On-demand architektúra o Rendelkezésre állás, katasztrófa védelem o Hordozható alkalmazások o …

16 16 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 (Type2) virtualizáció Bare-metal (Type1) 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ő komponense: VMM – Virtual Machine Monitor vagy Hypervisor Fő komponense: VMM – Virtual Machine Monitor vagy Hypervisor

17 17 Platform virtualizáció  Operációs rendszerekből érdemes átismételni o Hogy is működik? Elfogás és emuláció elve o Tiszta emuláció Miben különbözik a virtualizációtól, hol kerül elő a virtualizáción belül o Virtualizáció (Popek & Goldberg értelmezése szerint) Szoftveres virtualizáció (Trap and Emulate + bináris fordítás) Paravirtualizáció Hardveres virtualizáció (Trap and Emulate, teljesen hardveres támogatással)

18 18 Platform virtualizáció desktopon  HF kapcsán már találkoztunk vele  Tipikus követelmények o Egyszerűen telepíthető legyen meglévő operációs rendszerre o Egyszerűen kezelhetőek legyenek a virtuális gépek (fájl szinten) o Egyszerre jellemzően kevés virtuális gép fut o Jó legyen az erőforrás-kiosztás (dinamikusan foglaljon CPU-t, memóriát, merevlemezt) o Multimédia: jó grafikus teljesítmény, legyen hang stb. o Könnyen lehessen adatot/perifériát megosztani a host és guest gép között

19 19 Speciális grafikus periféria igények  Egérrel ki tudjunk lépni a virtuális gép ablakának szélén o Az egér egyenletes sebességgel mozogjon a hoszt és a vendég gép képernyőjén is o Paravirtualizált egérmeghajtó (vagy tablet emuláció) kell hozzá, ami a hoszt abszolút x-y koordinátáit adja át, nem a relatív mozgást  A grafikus kép legyen gyors, és kövesse az ablak méretét o A grafikus megjelenítést célszerű hoszt-guest között osztott memóriaterülettel megoldani o Kívülről érkező esemény az ablak átméreteződése o Ez is paravirtualizált meghajtót kíván

20 20 Speciális grafikus periféria igények…  A grafikus kép legyen gyors, és kövesse az ablak méretét… o A VMware SVGA II de facto szabvány paravirtualizált grafikus meghajtó lett (VirtualBox, QEMU is ezt támogatja) o Desktopon ritkán kell: távoli elérés támogatása (tipikusan VNC felett) o Az ablakok „jöjjenek ki” a keretből (Seamless windowing) Nem triviális megoldani a VMware Unity pl. VNC-vel csinálja, lassú Bele kell nyúlni kívülről a vendég OS alkalmazási szintű adatszerkezeteibe is, külön ágenst kíván. o 3D gyorsítás…

21 21 Speciális háttértár periféria igények  Háttértárak o Ne kelljen lefoglalni az összes háttértárat előre, csak annyit amennyit éppen ki is használunk o Hogy lehet megoldani? o A diszk tartalom képfájlokban valahogy követni kell, hogy melyik blokk használt, melyik nem… o Első ötlet: allocate on write o a fájlrendszerek elhagyogatnak szemetet maguk után… o Kicsit szofisztikáltabb: ha csupa 0x00 vagy 0xff byte-tal van feltöltve egy blokk, akkor ne tároljuk el a tartalmát Közelebb visz minket? Ha van secure erase (ami nem random adattal tölti fel a helyet), akkor igen Új lehetőség az SSD-knél bevezetett TRIM művelet o Egyébként kell egy… wait for it… ágens a vendég gépbe, ami a fájlrendszer alacsonyszintű adatszerkezeteiből lekérdezi az üres helyeket és jelenti a virtualizációs szoftvernek o A VMware Tools Shrink opciója így működik

22 22 Speciális háttértár periféria igények  Pillanatkép funkcionalitás (snapshot) o Egy konzisztens állapot lementése (diszk, memória) o Ne kelljen teljes másolatot csinálni… hogy lehet? o A diszk képfájlban csak a legutóbbi snapshot óta változott blokkok tárolása (copy-on-write) o Fa hierarchia építhető belőlünk  Másolatkészítés - „A klónok támadása” o Néha jól jön, ha kis költséggel klónozhatók a gépek o A másolatkészítés után „külön életet kezdenek élni” o Segítségül hívjuk a snapshot funkcionalitást o Csak VMware Workstation támogatja, még az ESX Server sem!

23 23 DEMO  talán kevésbé ismert funkciói o Unity o Beépített VNC szerver o Videó rögzítés o CPU virtualizációs üzemmód átállítása o Virtuális perifériák rejtettebb opciói  Szoftverfejlesztést támogató funkciók o Virtuális gép lefutásának rögzítése/visszajátszása o Most nem mutatjuk be: virtuális gépen belül futó alkalmazás debugolása kívülről VMware Workstation

24 24 Tartalom  Ismétlés (lásd Operációs rendszerek tantárgy) o Virtualizáció fajtái o Platform virtualizációs megoldások o Kliens oldali virtualizációs igények  Szerver oldali virtualizáció o Platform virtualizációs megoldások o Erőforrás-gazdálkodás o Operációs rendszer szintű virtualizáció

25 25 Szerver virtualizáció  Jellegzetességek o Távoli elérés központi szerepe o Cél.: Hálózaton nyújtott szolgáltatások ellátása (ez akár távoli asztal is lehet! -> Desktop virtualizáció) o Erőforrás gazdálkodás o Központi menedzsment fontossága (következő előadás…)  Kétféle megoldás (t tárgyalunk most) o Platform virtualizáción alapuló o Operációs rendszer szintű virtualizáción alapuló

26 26 Szerver virtualizáció  Platform virtualizáción alapuló megoldások: o VMware ESX Server, ESXi o Xen Enterprise o Microsoft Hyper-V o IBM LPAR, DLPAR  Operációs rendszer szintű virtualizáción alapul: o Linux OpenVZ o Linux VServer o Parallels Virtuozzo Containers (Linux, Windows) o Solaris Containers, Zones o FreeBSD jail o AIX WPAR

27 27 Bare metal megoldások architektúrái ESXi Xen / Hyper-V  I/O eszközök kezelése a szülő partícióban  Meghajtókat a HW gyártók szállítják  I/O eszközöket is a hypervisor kezeli  Meghajtókat a VMware szállítja  Extra kis méret: ESXi (32 MB)

28 28 Alkalmazások Guest OS Service Console worlds Guest OS VMware ESXi Server architektúrája Hardver (x86 CPU, SCSI, Ethernet, SATA ) VMkernel Service Console worlds Driver Worlds Helper Worlds Alkalmazások

29 29 ESXi system image  Aktív és alternatív verzió  In-memory fájlrendszer o Pl. log fájl elveszik rebootkor  OEM kiegészítések (embedded ESXi)

30 30 Tartalom  Ismétlés (lásd Operációs rendszerek) o Virtualizáció fajtái o Platform virtualizációs megoldások o Kliens oldali virtualizációs igények  Szerver oldali virtualizáció o Platform virtualizációs megoldások o Erőforrás-gazdálkodás o Operációs rendszer szintű virtualizáció

31 31 Erőforrás gazdálkodás  A virtuális gépek közös erőforráson osztoznak  Jellemző példák: o CPU: gyakran (összesen több vCPU, mint fizikai) o Memória: ritkábban (memory overcommit) o Háttértár I/O műveletek: itt jellegzetesen osztozás van! o Hálózati áteresztőképesség: itt is osztozás van

32 32 Erőforrás gazdálkodás  Versengés az erőforrásokért: o Kis terheléseknél ritka, hogy egyszerre több guest ugyanazt az erőforrást terhelné… o De szerverkörnyezetben gyakran előfordul, hogy valamelyik erőforrás szűk keresztmetszet lesz o A megfelelő ütemező elosztja a hozzáférést, de nem mindig megfelelően  Cél: o A megosztott erőforrásokból való részesedést virtuális gépekre lebontva szabályozni tudjuk Kemény korlátozások, „lágy” korlátok, prioritások „Proportional-Share Based Scheduler”

33 33 Erőforrás gazdálkodás  VMware ESX/ESXi esetén 3 beállítási lehetőség: o Resource Limit – kemény felső korlát az erőforrás igénybevételére Akkor is érvényes, ha egyébként van szabad erőforrás o Resource Reservation – garantált rendelkezésre álló erőforrás mennyiség Nem feltétlenül használja ki, csak verseny esetén érvényesül, egyébként a keretet más használhatja o Resource Shares – prioritás Verseny esetén az alapértelmezett „igazságos” elosztás módosítható ezzel

34 34 Erőforrás gazdálkodás  Hierarchikus erőforráskezelés o Nemcsak virtuális gépek szintjén lehet korlátozni o Pool-okba szervezhetők a VM-ek o Használati eset példák: Egy felhasználó összes gépére egy közös korlátozás Egy feladatot ellátó gépek csoportjára korlát Kritikus/nem kritikus alkalmazások csoportosítása Host - korlát: fizikai CPU, Memória Resource Pool -Korlát -Garantált részesedés Guest -Korlát -Garantált részesedés További Resource Pool

35 35 Erőforrás gazdálkodás  Hierarchikus erőforráskezelés o Nemcsak virtuális gépek szintjén lehet korlátozni o Pool-okba szervezhetők a VM-ek o Használati eset példák: Egy felhasználó összes gépére egy közös korlátozás Egy feladatot ellátó gépek csoportjára korlát Kritikus/nem kritikus alkalmazások csoportosítása Host - korlát: fizikai CPU, Memória Resource Pool -Korlát -Garantált részesedés Guest -Korlát -Garantált részesedés További Resource Pool Korlátokat szab: -Host -Resource Pool -Guest Korlátokat szab: -Host -Resource Pool -Guest Egymásba ágyazott korlátoknál szűkítés, konfliktusnál prioritás szerinti feloldás Egymásba ágyazott korlátoknál szűkítés, konfliktusnál prioritás szerinti feloldás

36 36 DEMO  Teljesen távoli elérésen alapul  „Nagyjából” kompatibilis a Workstation/Player/Server virtuális gépeivel (VMware Converter… most nem demózzuk)  Fejlett erőforrás-gazdálkodás  Távoli menedzsment PowerShell segítségével o Get-VM, Get-Stat…  Inftech laboron mindenki kipróbálhatja VMware ESXi

37 37 Tartalom  Ismétlés (lásd Operációs rendszerek) o Virtualizáció fajtái o Platform virtualizációs megoldások o Kliens oldali virtualizációs igények  Szerver oldali virtualizáció o Platform virtualizációs megoldások o Erőforrás-gazdálkodás o Operációs rendszer szintű virtualizáció

38 38 Operációs rendszer szintű virtualizáció  Kezdetben volt a chroot… o A fájlrendszer gyökerét átirányíthatjuk egy alkönyvtárra (egy folyamatra vonatkozik!) o Ez nem teljes körű izoláció, de sok esetben működik Kernel minden adatszerkezete közös (folyamatlista, hálózati interfész, IP, routing, sysctl beállítások…) A chrootból ráadásul ki is lehet navigálni a VFS adatszerkezeten keresztül… o Hogy is néz ki: egy teljes alap OS installációt készítünk egy alkönyvtárba, ami kicsit eltérő is lehet az eredetitől o Problémás könyvtárak: /proc, /sys, /dev, /tmp, /var, …

39 39 Operációs rendszer szintű virtualizáció  Megoldás: o Ne látszódjanak ki a kernel singleton erőforrásai… o Ehhez módosítani kell a kernelt Bevezetni a konténer fogalmát Minden rendszerhívást ellátni a konténer kontextus szerinti válogatással Singleton erőforrásokat dinamikusan példányosíthatóvá alakítani A konténerből kifele mutató referenciák mostantól biztonsági réseknek számítanak! o A módosítások ára: 1-2% teljesítményveszteség

40 40 Operációs rendszer szintű virtualizáció  Erőforrás-gazdálkodás o CPU – a kernel beépített ütemezője, prioritáskezelője, kiegészítve szigorú cpuidő-korlátozással o Memória – a kernel beépített memóriakezelője, kiegészítve szigorú méretkorlátozással o Háttértár – a fájlrendszer egy alkönyvtára, quota rendszerrel korlátozható foglalás o Hálózat – a kernel beépített Ethernet hídja vagy routing táblája, pl. IPtables QoS paraméterekkel korlátozható áteresztőképesség o Egyéb perifériák – a kernelben lévő meghajtón keresztül

41 41 Operációs rendszer szintű virtualizáció  Erőforrás-gazdálkodás o CPU – a kernel beépített ütemezője, prioritáskezelője, kiegészítve szigorú cpuidő-korlátozással o Memória – a kernel beépített memóriakezelője, kiegészítve szigorú méretkorlátozással o Háttértár – a fájlrendszer egy alkönyvtára, quota rendszerrel korlátozható foglalás o Hálózat – a kernel beépített ethernet hídja vagy routing táblája, pl. IPtables QoS paraméterekkel korlátozható áteresztőképesség o Egyéb perifériák – a kernelben lévő meghajtón keresztül Tanulság: +Az OS szintű virtualizáció nagyon kis költségű, +erőforrás virtualizációs és +erőforrás gazdálkodási szempontból problémamentes. - Biztonsági szempontból kevésbé jó izoláció - Közös kernellel kell élni (azonos verzió, fordítási paraméterek) Tanulság: +Az OS szintű virtualizáció nagyon kis költségű, +erőforrás virtualizációs és +erőforrás gazdálkodási szempontból problémamentes. - Biztonsági szempontból kevésbé jó izoláció - Közös kernellel kell élni (azonos verzió, fordítási paraméterek)

42 42 OpenVZ architektúrája Hardver Linux kernel (+OpenVZ patch) OpenVZ izolációs réteg (vzctl) alkalmazások Virtual Private Server

43 43 OpenVZ  Képességek o A VPS belsejében „komplett” telepített OS található o Egy VPS indításakor a kernel teljesen inicializálatlan állapotban mutatja magát -> saját init scripteket futtat minden VPS o A VPS-be telepített OS környezet sablonokból (templates) telepíthető le még a VPS indítása előtt o A VPS-ben lévő fájlok akár meg is oszthatóak több VPS között (hard link!)

44 44 A következő rész tartalmából  Szerver virtualizációs megoldások központi menedzsmentje – avagy hogyan építsünk egy teljes infrastruktúrát virtuális gépekre  Finom funkciók o Live migration o Hibatűrés o Terheléselosztás o Sablonkezelés o …és a már megszokottak: monitorozás, hozzáférés- kezelés…

45 45 Összefoglalás  Virtualizáció alap funkció lett o Kliens és kiszolgáló oldalon is  Fejlett megoldások o Hypervisor egyre inkább alap komponens  További információ: o Virtualizációs technológiák és alkalmazásaik választható tárgy (VIMIAV89)VIMIAV89


Letölteni ppt "1 Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Szerver oldali virtualizáció Tóth Dániel, Micskei Zoltán."

Hasonló előadás


Google Hirdetések