Informatikai technológiák laboratórium 1 - MIT 2. mérés: Virtualizációs technológiák

A VIK Wikiből
A lap korábbi változatát látod, amilyen Harapeti (vitalap | szerkesztései) 2014. március 25., 13:07-kor történt szerkesztése után volt. (typo)
(eltér) ← Régebbi változat | Aktuális változat (eltér) | Újabb változat→ (eltér)


Tippek a méréssel kapcsolatban.

Érdemes rendesen megtanulni a segédletet, sokat segít a mérés során a haladásban is, mivel a jegyzőkönyvben nem lesz minden benne és csak akkor tudsz jól haladni ha ezeket már TÉNYLEG tudod. Nálunk elég sok embert kivágtak. Beugrónál kérdeztek az elméletibb részből is és a ESXi-ből is.

Azaz hogy pontosabban fogalmazzunk, a beugrónak kb köze nem volt a wikin kidolgozott kérdéseknek 2013-ban. :D - Milyen fő komponensekből áll az ESXi, milyen architektúrát használ, rajzoljuk le ezek elhelyezkedését - Milyen 3 indokból fontos a nagyvállalatokban az IT? Írja le 1-1 mondatban - Mire szolgál a VM Server Center?


Ellenőrző kérdések

Figyelem! Fel lett hívva a figyelmünk, hogy ne csak betanuljuk az ellenőrző kérdéseket, hanem a segédletet is tanulmányozzuk át rendesen, mert szükséges az órai munkához. Annyit hozzátennék, hogy a labor során tulajdonképpen a segédlet 7. oldalától (ESX Szerver bemutatása) kezdődő részeiből folyik a munka, ezt nagyon érdemes tudni - ellenkező esetben nehezen érthető lesz a mérés menete.

1. Mi a különbség a platform-, alkalmazás- és operációs rendszer szintű virtualizáció között? Az ESX Server melyikbe tartozik?

 
  • platformszintű virtualizáció: teljes számítógépet virtualizálunk, a gépen több operációs rendszer is futhat.
  • oprendszerszintű virtualizáció: egyazon operációs rendszeren belül elkülönített végrehajtási környezeteket (jail) alakítunk ki, amik nem tudnak egymás létezéséről, elkülönített erőforráskészlettel (pl. fájlrendszer, hálózati portok) rendelkeznek és úgy viselkednek, mintha külön operációs rendszereken futnának, ám a kernel valójában közös. Ilyen megoldások például, az OpenVZ, Linux VServer, Solaris Containers. Operációs rendszer szintű virtualizációt leginkább az különbözteti meg a platform virtualizációtól, hogy az előbbi az operációs rendszer erőforrásainak virtualizálását jelenti, míg az utóbbi hardver erőforrásokét. Természetesen vannak a kettőt kombináló megoldások is.
  • alkalmazásszintű virtualizáció: így nevezik az olyan operációs rendszer szintű virtualizációt megvalósító termékeket, amik kifejezetten azt a célt szolgálják, hogy nagy és komplex alkalmazásokat telepítés nélkül lehessen futtatni egy operációs rendszer felett. Az izolált környezetek közösen használják az operációs rendszer kerneljét, ám elkülönített programkönyvtárakat és konfigurációs fájlokat (Windows esetén Registry-t) kapnak, ami egy önhordó, egyszerűen elindítható csomagban terjeszthető. Ilyen termékek például a VMware Thinstall vagy a Microsoft Softgrid.

Az ESX Server platformszintű virtualizációt nyújt.

2. Mi a három fő gyakorlati haszna a virtualizációnak? (Elég címszavakban megadni.)

  • Erőforrás-konszolidáció
  • Szeparáció (hibatűrés és biztonság)
  • Flexibilitás (Távoli menedzselhetőség)

3. Mi a két fő platform virtualizációs architektúra? (Egy-egy példával.)

  • 1. Hosted. A hardverre telepítve van egy operációs rendszer (host OS) és efelett fut egy virtualizációs szoftver, ami futtatja a virtuális gépeket (guest gépek) és a virtuális hardver környezetet biztosítja. Pl. VMware Workstation, VMware Player, VirtualBox, MS Virtual PC.
  • 2. Bare Metal. A hardverre közvetlenül van telepítve a virtualizációs környezet, amit Hypervisor-nak hívnak. Ezt egy speciális operációs rendszer kernel, ami virtuális hardverkörnyezetet biztosít. Minden operációs rendszer (még a hypervisort menedzselő is) e felett fut egy-egy virtuális gépen. A guest OS közvetlenül vagy a hypervisor driverein keresztül is tud perifériákhoz csatlakozni. Pl. Xen, VMware ESX Server.

4. Ismertesse egy-egy mondatban a három fő virtualizációs technika lényegét!

  • 1. Emuláció: egy interpreter szoftver értelmezi a guest OS által végrehajtott utasításokat és fordítja a host számára futtatható utasításokká. Ő maga tart karban egy page táblát memóriakezelésre. Pl. QEMU
  • 2. Paravirtualizáció: a guest OS-t módosítjuk, hogy a problémás utasítások helyett egy-egy speciális rendszerhívást tegyen. (Így pl. képes együttműködni a host OS ütemezőjével.) Memória page táblák kezelésére is speciális rendszerhívásokat használ. Pl. Linux alapú rendszereknél tisztán megoldható, Windows alatt kombinált emuláció-paravirtualizáció.
  • 3. Hardveres virtualizáció: a CPU utasításkészletet gyárilag kiegészítik (Intel VT, AMD-V), így a guest OS utasításai átfordítás nélkül futhatnak. Jelenleg aránylag lassú, de a processzorok fejlődésével javul a teljesítmény.

5. Mik a legfontosabb virtuális hardverelemek? (Nem kell teljes felsorolás, elég a legfontosabbakat említeni.)

  • CPU
  • Memória
  • Merevlemez
  • Hálózati interfész
  • Grafikus megjelenítő
  • (Opcionálisan lehet még soros/párhuzamos/USB port, hangkártya, grafikus gyorsító, CD meghajtó)

6. Milyen fő komponensekből áll a VMware ESX Server?

Ezek helyett:

  • Virtuális tár: virtuális gép állapotát és merevlemezeinek tartalmát tároló fájlok.
  • Virtuális hálózat: a virtuális gépek hálózati kapcsolatát virtuális switchek (szoftveres Ethernet-hidak) biztosítják.
  • CPU ütemező: a host CPU idejét osztja szét a guest gépek, a Service Console és a VM kernel belső szolgáltatásai között. Lehetséges benne prioritásokat és minimálisan garantált, illeve maximális kiosztható CPU időt definiálni. Felismeri a processzorok topológiáját, a többmagos processzorokat, a Hyperthreading technológiát.
  • Memóriakezelő: a host memóriát osztja szét a guest gépek között. Meg lehet benne adni minimális és maximális foglalási beállításokat és prioritásokat. Dinamikus memóriakiosztást használ. Ha host OS-en nincs elég memória a guest OS számára, lapozófájlba tudja írni a memóriatartalmat.

Ezt várták volna el:

  • VMKernel
  • Service Console
  • guest virtuális gépek
  • konfig felületek: Virtual Infrastructure Client, Virtual Center Server

7. Az ESX Server hogyan tárolja a virtuális gépek merevlemez tartalmát? (Röviden foglalja össze 1-2 mondatban.)

Az ESX Server virtuális tár alrendszere tárolja .vmdk kiterjesztésű fájlokban. Egy speciális fájlrendszert (VMFS3) használ erre a célra, amelyet kifejezetten nagy fájlok tárolására optimalizáltak. Valójában alacsony szinten a logikai kötetkezelőkhöz hasonló elven működik, de egy szabályos fájlrendszer elérési felületet biztosít.

8. Az ESX Serverben hogyan épülnek fel a virtuális hálózatok? (Röviden foglalja össze 1-2 mondatban.)

A virtuális gépek hálózati kapcsolatát virtuális switch-ek (gyakorlatilag szoftveres Ethernet hidak) biztosítják. A virtuális switch-ek egy közbenső réteget jelentenek a fizikai interfészek és virtuális gépek hálózati interfészei között, használatukkal flexibilis hozzárendelést lehet kialakítani. A Service Console és a VMkernel hálózati hozzáférését is virtuális switch-eken konfigurálhatjuk.

9. Miért fontos a kooperáció a virtuális gép operációs rendszere és a virtualizációs környezet között a memóriakezelésben? (Elég az alapötlet, nem kell részletes magyarázat.)

Ha a host gép memóriája nem elég a virtuális gép memóriahasználatának kiszolgálására (ez előfordulhat, mivel lehetőség van túlfoglalásra), akkor a host kiswappolhatja a virtuális gép memóriatartalmát (külső swap). Kifejezetten káros lehet, ha a virtuális gép operációs rendszere lapoz (belső swap), miközben a virtualizációs keretrendszer is lapozza memóriáját (külső swap), mert a guest operációs rendszer nem tudja, hogy az ő általa gyors memóriának gondolt címtartomány egy része is diszken van, így előfordulhat, hogy a két swap terület között ide-oda másolgatják a memórialapokat ami vergődést (thrashing) okoz.

10. Mi a szerepe a VMware Tools csomagnak? Hogyan lehet a virtuális gépre feltelepíteni?

Paravirtualizációs meghajtóprogramokat tartalmaz a guest operációs rendszer számára (ezzekkel teljesítménynövekedés ill. gördülékenyebb kezelés érhető el). A vmimages könyvtár alatt elérhető képfájlokból lehet telepíteni.

11. Mire kell ügyelni a Service Console hálózatával kapcsolatban? (Ez a klasszikus buktató, csodálkozunk, hogy miért nem tudunk csatlakozni egy szolgáltatáshoz...)

A Service Console tűzfalának beállításainál ellenőrizzük, hogy engedélyezve van-e az adott szolgáltatáshoz (pl iSCSI kliens) kapcsolódó forgalom.

12. Mire kell ügyelni, ha VMWare Workstationnel létrehozott virtuális gépet akarunk ESX Serverre átrakni? (A segédlet nem említi részletesen az összes felételt, elég azt az egyet írni, amit említ.)

A Workstationnel létrehozott diszkeknél figyelni kell arra, hogy a virtuális diszkek egy fájlban, fixen lefoglalt formátumban (-flat ) legyenek, mert az ESX szerver csak ezt támogatja, ne pedig 2GB-os, dinamikusan lefoglalt egységekben (2GB sparse).

13. Virtuális gép teljesítményének mérésekor mire kell figyelni? Mi hamisíthatja meg az eredményt nagyon?

A virtuális gépen belüli óra és a host gép valós idejű órája sok esetben nem szinkronizált (óraszinkron szolgáltatást a VMware Tools biztosít), jelentős elcsúszás lehet közöttük, ami ráadásul nem konstans, függ a terheléstől. Ezáltal a virtuális gépen belüli teljesítményméréseknél nem szabad a belső órára hagyatkozni.

-- Velias - 2009.03.09. -- SzijPeter - 2009.03.09.

Ellenőrző kérdések (2011), csak kb-ra

1. Írja le mi az a paravirtualizáció és hasonlítsa össze a többi lehetséges alternatívával!

2. Milyen platformszintű architektúrát használ az ESX szerver? Rajzolja le!

A VMware termékei szoftveres virtualizációra alapulnak, ami kiegészülhet paravirtualizációval (VMI paravirtualization), és speciális esetekben (64 bites guest futtatása) hardveres virtualizációt is igénybe vesz. Más szoftverek (pl. Xen) tisztán paravirtualizációt használnak, ha a guest operációs rendszer ezt lehetővé teszi, egyébként hardveres virtualizációra hagyatkoznak. Ha processzorból hiányzik az ehhez szükséges kiegészítés, teljes emulációra lépnek vissza.

3. Mire jó a vSphere Server és a vSphere Client? Írja le a vSphere Server legalább 2 felhasználási területét!

A vSphere Client egy Windows-on (tehát külön gépen) futó vastagkliens alkalmazás, mellyel az ESX szerverekhez kapcsolódhatunk a webszolgáltatásos felületen. Ennek segítségével konfigurálhatjuk a host rendszert illetve kezelhetjük a virtuális gépeket. Ez kiegészülhet még a vCenter Serverrel, ami egy Windows Serveren futó komponens, ami számos ESX Servert futtató host kezelését képes központosítottan megoldani és számos fejlettebb menedzsment képességgel terjeszti ki azokat. Ehhez is vSphere Client alkalmazással kapcsolódhatunk.

Megjegyzés: Van egyáltalán olyan hogy vSphere Server? A doksiban csak vCenter Server volt...

4. Milyen módokon lehet csatlakozni az ESX szerverekhez? (ábrát is lehet)