34
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Bevezető, Virtualizációs technológiák áttekintése Micskei Zoltán, Tóth Dániel Virtualizációs technológiák és alkalmazásaik

Bevezető, Virtualizációs technológiák áttekintése

  • Upload
    khoi

  • View
    44

  • Download
    0

Embed Size (px)

DESCRIPTION

Virtualizációs technológiák és alkalmazásaik. Bevezető, Virtualizációs technológiák áttekintése. Micskei Zoltán, Tóth Dániel. Bemutatkozás – előadók. Micskei Zoltán (IB417, http://mit.bme.hu/~micskeiz/ ) Kövi András ( http://mit.bme.hu/~kovi / ) Szatmári Zoltán - PowerPoint PPT Presentation

Citation preview

Page 1: Bevezető,  Virtualizációs technológiák áttekintése

Budapesti Műszaki és Gazdaságtudományi EgyetemMéréstechnika és Információs Rendszerek Tanszék

Bevezető, Virtualizációs technológiák áttekintése

Micskei Zoltán, Tóth Dániel

Virtualizációs technológiák és alkalmazásaik

Page 2: Bevezető,  Virtualizációs technológiák áttekintése

2

Bemutatkozás – előadók Micskei Zoltán

(IB417, http://mit.bme.hu/~micskeiz/)

Kövi András (http://mit.bme.hu/~kovi/)

Szatmári Zoltán (http://mit.bme.hu/~szatmari/)

Tóth Dániel (Nokia Siemens Networks)

Page 3: Bevezető,  Virtualizációs technológiák áttekintése

3

Bemutatkozás – kutatócsoport

(Fault-Tolerant Systems Research Group, FTSRG)http://www.inf.mit.bme.hu

o BSc - Informatikai technológiák szakirány, Rendszertervezés ágazat

oMSc - Szolgáltatásbiztos rendszertervezés szakirányo Főbb témák:

• Modell alapú szoftverfejlesztés • Informatikai rendszerek verifikációja és validációja, • Informatikai infrastruktúra elemzése és tervezése, • Alkalmazás: beágyazott rendszerek, SOA, IT rendszerek…

Page 4: Bevezető,  Virtualizációs technológiák áttekintése

4

Bemutatkozás – virtualizácó (2007) Intel Virtualizációs és

Platformmenedzsment Laboratóriumo IB413, az itteni gépek egy része

(2009) VMware Academic Program tagságo legújabb VMware szoftverek

Saját infrastruktúraomérések és gyakorlatok mind virtuális gépekeno 6-8 ESXi szerver szakirányos hallgatóknak és kutatáshoz

Kutatási és ipari projektek (virtualizáció, cloud…)

Page 5: Bevezető,  Virtualizációs technológiák áttekintése

5

Virtualizációs technológiák és alkalmazásaik Tárgy honlapja:

o http://www.inf.mit.bme.hu/edu/courses/virttech Időpont

ominden héten csütörtök 12:15-14:00 Helyszín

o IB413 labor Előadás és gyakorlat vegyesen

Page 6: Bevezető,  Virtualizációs technológiák áttekintése

6

Követelmények Egy félévközi önálló munka

o Házi feladat lehetőségek:• Valamely technológia telepítése, egyszerű feladatok kipróbálása• Egyszerű programozási, scriptelési feladat valamelyik

virtualizációs technológiával• Tudományos cikkek feldolgozása, ~5-10 oldalas tanulmányban

összefoglalásao Egy rövid (~5 perc) szóbeli beszámoló a házi feladatban

megismert technológiárólo Elkészült tanulmányok, dokumentációk, programok, scriptek

feltöltése a 13. hét végéig Vizsga

o Nincs Félév végi jegy a házi feladat és előadás alapján

Page 7: Bevezető,  Virtualizációs technológiák áttekintése

7

Követelmények (dátumok) HF téma választás: 2012. 09. 14-ig (2. hét vége)(a megadott témákon kívül természetesen saját ötletet is szívesen fogadunk) Szóbeli beszámoló a témáról: 2012. 10. 25. (8. hét) Elkészült anyagok feltöltése: 2012. 12. 02. (13. hét) Javítás:

o Beadott dolgozatok megbeszélése a pótlási hét elejéno Javított verzió leadása pótlási hét végéig

Pótlás: o Szóbeli beszámoló: csak különleges esetben, aki a tárgyat

tényleg el szeretné végezni mindenképpen jöjjön el a beszámolóra!

o Anyagok feltöltése: 2012. 12. 16. (pótlási hét vége)

Page 8: Bevezető,  Virtualizációs technológiák áttekintése

8

Korábbi dolgozatok Válogatás a korábbi HF-ekből elérhető a weben

(https://www.inf.mit.bme.hu/edu/courses/virttech/homework/public)

Cél: érdekes dolgozatok ne vesszenek el

Érdemes jó HF-et készíteni, jó referencia később

Page 9: Bevezető,  Virtualizációs technológiák áttekintése

9

Tartalom

Adminisztrációs tudnivalók

A virtualizáció fajtái

A félév menete

Page 10: Bevezető,  Virtualizációs technológiák áttekintése

10

Gartner Hype Cycle for Virtualization 2010

Page 11: Bevezető,  Virtualizációs technológiák áttekintése

11

Mi is 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őlo 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…

Page 12: Bevezető,  Virtualizációs technológiák áttekintése

12

Mit csinál az operációs rendszer?

HDD====

Processzor Memória HáttértárHardver

Alkalmazások

Hálózat

Szolgáltatások

Operációs rendszer

CPU idő Virtuális memória

Fájlrendszer Socketek

Page 13: Bevezető,  Virtualizációs technológiák áttekintése

13

Mit csinál az operációs rendszer?

HDD====

Processzor Memória HáttértárHardver

Alkalmazások

Hálózat

Szolgáltatások

Operációs rendszer

CPU idő Virtuális memória

Fájlrendszer Socketek

A CPU-t időosztásos rendszerben osztja az alkalmazások között.

„Kibővíti az utasításkészletet”

rendszerhívásokkal.

A virtuális memóriával minden alkalmazás saját

lineáris címtartományt kap. Extra képességek:

megosztott memória, memóriába leképzett fájlok

A háttértáron a fájlrendszerrel tetszőleges,

változtatható méretű, névtérbe szervezett

adattömböket lehet tárolni

Az oprendszer a fizikai hálózati kapcsolatból egy szoftveres socketet hoz

létre, amiből több is mehet egyidejűleg, életciklussal,

hibakezeléssel… Tanulság:Az operációs rendszer kétféle módon vonatkoztat el a fizikai erőforrásoktól:- Erőforrás megosztással- Erőforrás finomítással, saját logikai erőforrásfajták bevezetésével

Page 14: Bevezető,  Virtualizációs technológiák áttekintése

14

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)

HDD====

Perifériák: I/O vagy memória-

tartományban regiszterek,

megszakítás, DMA

Page 15: Bevezető,  Virtualizációs technológiák áttekintése

15

Rétegek közötti interfészek

Hardver

Operációs rendszer

Alkalmazások

Szolgáltatások

Interfész az alkalmazások ésa rendszermag között

Rendszerhívások(System calls)

Interfész Adatszerkezetek

IPC mechanizmusok

Page 16: Bevezető,  Virtualizációs technológiák áttekintése

16

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 magasszintű szolgáltatásai között

Könyvtár hívások(call)

FuttatókörnyezetekAlkalmazások

Konfig fájlok, Registry, stb…

Page 17: Bevezető,  Virtualizációs technológiák áttekintése

17

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

Page 18: Bevezető,  Virtualizációs technológiák áttekintése

18

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

(container, jail)

„Alkalmazás futtatókörnyezetek”

(runtime environments)

„Alkalmazás virtualizáció”(packaged applications…)

„Desktop virtualizáció”

Page 19: Bevezető,  Virtualizációs technológiák áttekintése

19

A virtualizáció különböző fajtái

Tehát minden lehet „virtuális”

„De eddig virtuális gép az OS volt meg a Java...”

Azok hogyan kapcsolódnak ide?

Page 20: Bevezető,  Virtualizációs technológiák áttekintése

20

Virtuális gépek összefoglalása

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átA VM csak egy

hardvert lát

Multiprog-ramozott OS

Java, .NET…

Page 21: Bevezető,  Virtualizációs technológiák áttekintése

21

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 fogalmako 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őeko 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

Page 22: Bevezető,  Virtualizációs technológiák áttekintése

22

Mire lesz ez jó nekünk?

Új üzleti szolgáltatást akarok beindítaniVegyünk több vasat!

Biztos, hogy ez segít?

Biztos, hogy ez a költséghatékony

megoldás?

Allow me to demonstrate!

Page 23: Bevezető,  Virtualizációs technológiák áttekintése

23

Allow me to demonstrate! Mire lesz ez jó nekünk?

Hát… 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…

Page 24: Bevezető,  Virtualizációs technológiák áttekintése

24

Mire lesz ez jó nekünk?

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!

Page 25: Bevezető,  Virtualizációs technológiák áttekintése

25

Mire lesz ez jó nekünk?

(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 oprendszeremetEgyiknek Linux

kell a másiknak Windows…

ráadásul különböző verziók…

Ooop, ezt már mondtam…

Szóval nekem is mindenféle sokgépes bonyolult

tesztkörnyezetet kell csinálnom a ti cuccaitokhoz

Page 26: Bevezető,  Virtualizációs technológiák áttekintése

26

Mire lesz ez jó nekünk – alkalmazási területek

Szoftver-fejlesztés

fejlesztés, tesztelés sok különböző környezetben, könnyen

„homokozó” aka sandbox – a tesztelés nem veszélyezteti az éles munkakörnyezetet

különleges hibakeresési lehetőségek (debugging)

Page 27: Bevezető,  Virtualizációs technológiák áttekintése

27

Mire lesz ez jó nekünk – alkalmazási területekSzerverek

Erőforrás megosztás, hardverköltség csökkentés

Energiatakarékosság, terhelésfüggő átcsoportosítás

Könnyű erőforrás átrendezés („kéne nekem most gyorsan még 4GB RAM és még 2 processzormag a gépembe…”

Ideiglenes tesztkörnyezetek gyors kiépítése („…és még két ugyanilyen gép is kéne, de csak a jövő hétig”)

Életciklus kezelés - szerverek könnyű létrehozása, kezelése, mentése, üzembiztos működtetése,

nyilvántartása

Desktop gépek kiváltása szerveren futó virtuális gépekkel – nem kell desktop gépeket menedzselni (VDI)

Page 28: Bevezető,  Virtualizációs technológiák áttekintése

28

Történeti áttekintés (részlet) ~1960 • IBM CP-40 rendszere, első kísérletek a virtualizációval

1972• CP-67 a virtualizáció a mainframe termékvonal (S/370)

része lett• Paravirtualizációt is tartalmazott (bár senki nem nevezte

még így)

1974 • Popek és Goldberg publikációja

1998 • az első x86 alapú platform virtualizáció megoldás (VMware)

1999 • User Mode Linux • első praktikus paravirtualizáció x86-on

~2002• kezdve számos más megoldás (Xen, Parallels, Sun,

Microsoft…)• második felétől kezdve a szerver virtualizáció felfutóban

~2005 • beágyazott rendszerek virtualizációja

~2010 • virtualizáció alap építő elem lett mindenhol• Cloud computing buzzword felfut

Page 29: Bevezető,  Virtualizációs technológiák áttekintése

29

Tartalom

Adminisztrációs tudnivalók

A virtualizáció fajtái

A félév menete

Page 30: Bevezető,  Virtualizációs technológiák áttekintése

30

A félév menete1. hét - Bevezetés•A virtualizáció kialakulása•Megközelítések áttekintése

2. hét - A virtualizáció alapjai I.•CPU virtualizációs megoldások

3. hét - A virtualizáció alapjai II.•Memória virtualizálása•Perifériák, I/O rendszerek virtualizációja

4. hét – Kliens oldali virtualizáció •Alkalmazási lehetőségek, virtuális hardver•Gyakorlat: alapfunkciók, pillanatképek, klónozás

5. hét - Schönherz QPA

Page 31: Bevezető,  Virtualizációs technológiák áttekintése

31

A félév menete6. hét - Kiszolgáló oldali virtualizáció I.•Architektúrák összehasonlítása•VMware ESXi és MS Hyper-V ismertetése

7. hét - Kiszolgáló oldali virtualizáció II.•Gyakorlat: ESXi telepítése, konfigurálása•Jellegzetes alapfeladatok

8. hét - Házi feladat szóbeli beszámoló•5-5 perc előadás a választott házi feladat témában

9. hét: SZÜNET

10. hét - Operációs rendszer szintű virtualizáció•Konténer-alapú virtualizáció•Gyakorlat: OpenVZ

Page 32: Bevezető,  Virtualizációs technológiák áttekintése

32

A félév menete11. hét - Alkalmazás és megjelenítés virtualizáció•Alkalmazás csomagolás, távoli elérés, vékonykliensek, VDI•Gyakorlat: VMware ThinApp, MS Remote Desktop Services

12. hét - Menedzsment feladatok I.•Virtuális gép sablonok, életciklus kezelés, felügyelet•Katasztrófavédelem, hibatűrés

13. hét – Menedzsment feladatok II.•Gyakorlat: VMware vCenter•Virtuális gépek működés közbeni mozgatása, hibatűrés

14. hét – Cloud computing•Számítási felhők fajtái, céljai, előnyei és hátrányai•Amazon EC2, Rackspace Cloud, MS Azure…

Page 33: Bevezető,  Virtualizációs technológiák áttekintése

33

További információNéhány fontosabb blog, hír aggregátor oldalak:

Hírek, független(ebb) véleményeko http://www.virtualization.infoo http://www.cloudcomputing.info

Planet VMware, összes VMware blogo http://www.vmware.com/vmtn/planet/vmware/

Microsofto Ben Armstrong (Virtual PC Guy),

http://blogs.msdn.com/virtual_pc_guy/rss.xmlo Windows Virtualization Team Blog,

http://blogs.technet.com/b/virtualization/

Page 34: Bevezető,  Virtualizációs technológiák áttekintése

34

Összefoglalás A virtualizáció általános definíciója A főbb virtualizációs lehetőségek áttekintése Történeti áttekintés Platform virtualizációs demo

A következő rész tartalmábólo Platform virtualizáció részletes áttekintéseo CPU virtualizáció megoldási lehetőségei, nehézségeioMemória virtualizáció lehetőségei, nehézségei