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

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  Szerveroldali 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 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ó 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 virtualizáció Bare-metal virtualizáció 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

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

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

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

20 20 Szerver virtualizáció  Platform virtualizáción alapuló megoldások: o VMware vSphere (ESXi) o Xen (+ Citrix XenServer, Oracle VM…) 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

21 21 VMware ESXi  VMware bare-metal megoldása o Követelmény: 64 bites CPU o (Van ingyenes verziója is)  VMware ESX utódja (új architektúra)  vSphere 5 család része o vCenter Server, vMotion, DRS, HA, FT… o lásd a következő előadást

22 22 VMware ESXi: Minimális konzol

23 23 VMware ESXi 5 architektúrája  VMkernel  World o VM world o Ágensek, shell…

24 24 VMware ESXi 5 menedzsment API Forrás: VMware ESXi 5.0 Operations Guide

25 25 ESXi system image  Aktív és alternatív verzió  In-memory fájlrendszer o Pl. log fájl elveszik rebootkor  Egyszerű frissítés  OEM kiegészítések (embedded ESXi) Forrás: VMware, The Architecture of VMware ESXi

26 26 Microsoft Hyper-V  Microsoft bare-metal virtualizációs megoldása o Jelenleg: 2. verzió (R2) / 3. verzió béta (WS 8)  Két változat: o Windows Serverben a Hyper-V szerep o MS Hyper-V Server (különálló, ingyenes, csak Hyper-V)  HW igény: o CPU: 64 bites, HW-es virtualizációs támogatás

27 27 Hyper-V architektúra (1) Hardver Hypervisor Windows Server kernel + Hyper-V modulok Virtualization stack (pl. VM kezelő szolgáltatás) Virtualization stack (pl. VM kezelő szolgáltatás) Ring 0 Ring 3 Root mode Szülő partíció Gyerek partíció 1Gyerek partíció 2 Vendég OS Vendég alkalmazások 27

28 28 Hyper-V architektúra (2) Forrás: Microsoft. Hyper-V Architecture and Feature Overview

29 29 Xen  University of Cambridge kutatási projekt  Jelenleg: o Xen.org: nyílt forráskód, sok disztribúcióban elérhető o Citrix XenServer: plusz funkciók, fizetős (is) o Xen Cloud Platform (XCP): XenServer nyílt változata o Oracle VM, HUAWEI UV…  Követelmény: o Paravirtualizációs kiegészítés része a Linux kernelnek o Windows vendéghez HW-es virtualizáció kell

30 30 XCP architektúra  Dom0: menedzsment OS  DomU: virtuális gépek Forrás:

31 31 Bare metal megoldások architektúrái ESXi Xen / Hyper-V  I/O eszközök kezelése a Dom0 / 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)

32 32 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  Szerveroldali virtualizáció o Platform virtualizációs megoldások o Erőforrás-gazdálkodás o Operációs rendszer szintű virtualizáció

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

34 34 Versengés az erőforrásokért  Erőforrás szűk keresztmetszet lesz o Kis terheléseknél ritka o De szerverkörnyezetben gyakran előfordul  Hogyan osszuk el ilyenkor az erőforrásokat?

35 35 Feladatok erőforrások kezelésénél  Tipikus igények: o Korlátozni valakinek a felhasználást o Garantálni valakinek a minimumot o Prioritás versenyhelyzet esetén  Megoldások: o Kemény korlátozások, „lágy” korlátok, részesedés o „Proportional-Share Based Scheduler”

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

37 37  Több VM-et futtató gép esetén a CPU share értékek a következők o VM1: 1000 o VM2: 1000 Példa a share használatára

38 38  Több VM-et futtató gép esetén a CPU share értékek a következők o VM1: 1000 o VM2: 1000 o VM3: 2000  Versenyhelyzet esetén mennyi a VM1 részére biztosított erőforrás-mennyiség? o 1000 / ( ) = 1/4 CPU idő Példa a share használatára

39 39 Hierarchikus erőforráskezelés  Nemcsak virtuális gépek szintjén lehet korlátozni  Pool-okba szervezhetők a VM-ek  Használati eset példák: o Egy felhasználó összes gépére egy közös korlátozás o Egy feladatot ellátó gépek csoportjára korlát o 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

40 40 Hierarchikus erőforráskezelés  Nemcsak virtuális gépek szintjén lehet korlátozni  Pool-okba szervezhetők a VM-ek  Használati eset példák: o Egy felhasználó összes gépére egy közös korlátozás o Egy feladatot ellátó gépek csoportjára korlát o 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

41 41 VMware ESXi GUI felület

42 42 Hyper-V: hasonló erőforrás-gazdálkodás

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

44 44 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  Szerveroldali virtualizáció o Platform virtualizációs megoldások o Erőforrás-gazdálkodás o Operációs rendszer szintű virtualizáció

45 45 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 telepítést 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, …

46 46 Operációs rendszer szintű virtualizáció  Megoldás: o Ne látszódjanak ki a kernel singleton erőforrásai…  Ehhez módosítani kell a kernelt o Bevezetni a konténer fogalmát o Minden rendszerhívást ellátni a konténer kontextus szerinti válogatással o Singleton erőforrásokat dinamikusan példányosíthatóvá alakítani o 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

47 47 Erőforrás-gazdálkodás  CPU – a kernel beépített ütemezője, prioritáskezelője, kiegészítve szigorú cpuidő-korlátozással  Memória – a kernel beépített memóriakezelője, kiegészítve szigorú méretkorlátozással  Háttértár – a fájlrendszer egy alkönyvtára, quota rendszerrel korlátozható foglalás  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  Egyéb perifériák – a kernelben lévő meghajtón keresztül

48 48 Operációs rendszer szintű virtualizáció 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)

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

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

51 51 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…

52 52 Ö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 Szerveroldali virtualizáció Tóth Dániel, Micskei Zoltán."

Hasonló előadás


Google Hirdetések