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

32
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

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 (IB414, http://mit.bme.hu/~micskeiz/) Tóth Dániel (Nokia Siemens Networks , https://www.inf.mit.bme.hu/members/dtoth) . - PowerPoint PPT Presentation

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

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

Bemutatkozás – előadók

Micskei Zoltán (IB414, http://mit.bme.hu/~micskeiz/)

Tóth Dániel (Nokia Siemens Networks, https://www.inf.mit.bme.hu/members/dtoth)

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

Bemutatkozás – kutatócsoport Méréstechnika és Információs Rendszerek Tanszék Hibatűrő Rendszerek Kutatócsoport

(Fault-Tolerant Systems Research Group, FTSRG)o http://www.inf.mit.bme.huo BSc - Informatikai technológiák szakirány, Rendszertervezés ágazato MSc - 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, • Rendszeroptimalizálás, projektmenedzsment optimalizálása, • Informatikai eszközök szolgáltatás alapú integrációja, • Modelltranszformációk

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

Bemutatkozás – virtualizácó Intel Virtualizációs és Platformmenedzsment

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

VMware Academic Program tagságo legújabb VMware szoftverek

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

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

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 IE224 labor Előadás és gyakorlat vegyesen

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

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• Elméleti jellegű, 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 félév 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

Követelmények Fontos dátumok:

o HF témakiírások: 2010. 09. 13-tól (2. hét hétfő)o HF téma választás: 2010. 09. 24-ig (3. hét vége)(a megadott témákon kívül természetesen saját ötletet is szívesen fogadunk)

o Szóbeli beszámoló a témáról: 2010. 11. 11. (10. hét)o Elkészült anyagok feltöltése: 2010. 12. 10. (szorgalmi időszak

vége)

o Pótlás: • 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!• Anyagok feltöltése: 2010. 12. 17. (pótlási hét vége)

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

Tartalom

Adminisztrációs tudnivalók

A félév menete

A virtualizáció fajtái

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

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.• Hardver támogatás• Perifériák, I/O rendszerek virtualizációja

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

HDD====

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

A félév menete

5. hét - Schönherz QPA

6. hét - Desktop virtualizáció II.• Szabályozás házirendekkel, funkciók fejlesztőknek• Gyakorlat: fejlettebb lehetőségek (virtuális gépek debuggolása)

7. hét - Kiszolgáló oldali virtualizáció I.• Architektúrák (hosted, bare-metal) összehasonlítása• VMware ESX és MS Hyper-V ismertetése

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

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

A félév menete9. hét - Operációs rendszer szintű virtualizáció• Konténer-alapú virtualizáció, Solaris Containers• Gyakorlat: OpenVZ

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

11. 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

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

A félév menete13. 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 13: Bevezető,  Virtualizációs technológiák áttekintése

Tartalom

Adminisztrációs tudnivalók

A félév menete

A virtualizáció fajtái

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

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 15: Bevezető,  Virtualizációs technológiák áttekintése

Mi micsoda a virtualizáció világában?

ParavirtualizációEmuláció

Alkalmazás virtualizáció

BinaryTranslation

Hypervisor

KonszolidációMikrokernel

BackendSeamless window

managementErő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!

Virtual DesktopInfrastructure

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

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 17: Bevezető,  Virtualizációs technológiák áttekintése

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 18: Bevezető,  Virtualizációs technológiák áttekintése

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 19: Bevezető,  Virtualizációs technológiák áttekintése

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 20: Bevezető,  Virtualizációs technológiák áttekintése

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 21: Bevezető,  Virtualizációs technológiák áttekintése

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

„Alkalmazás futtatókörnyezetek”

(Runtime environments)

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

„Desktop virtualizáció”

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

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 23: Bevezető,  Virtualizációs technológiák áttekintése

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 24: Bevezető,  Virtualizációs technológiák áttekintése

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 25: Bevezető,  Virtualizációs technológiák áttekintése

Allow me to demonstrate! 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 26: Bevezető,  Virtualizációs technológiák áttekintése

Mire lesz ez jó nekünk? „Now for something completely different…”

(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 27: Bevezető,  Virtualizációs technológiák áttekintése

Mire lesz ez jó nekünk – alkalmazási területekSzoftver-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)

Desktop alkalmazások

különböző környezetet igénylő alkalmazások együtt futtatása

biztonsági szempontból jó (vagy legalábbis jobb) szétválasztás

sandbox – alkalmazások telepítés, kipróbálása éles munkakörnyezet

veszélyeztetése nélkül

Nehezen/kényelmetlenül telepíthető környezetek egyszerű, gyors cserélése

(pl.: mérés laborok, tanfolyamok)

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

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)

Beágyazott rendszerek

Kritikus feladatok szétválasztása, üzembiztosság, biztonság

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

Történeti áttekintés

~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) •Kihívás: az x86 architektúra nem teljesíti a Popek és Goldberg féle kritériumokat (köv.előadás)

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

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

DEMO

Desktop virtualizációs szoftvercsomag Virtuális gép hardver konfigurációja Virtuális gép „csomag” a hoszt gép

fájlrendszerében

VMware workstation

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

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

RSS feedek:

Hírek, független véleményeko http://www.virtualization.info

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

xml Ben Armstrong (Virtual PC Guy), Microsoft

o http://blogs.msdn.com/virtual_pc_guy/rss.xml

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

Ö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