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

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

  • Upload
    candie

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

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