Operációs rendszerek 2
19. Virtuális gép koncepció
Az informatikai hardverek és alkalmazások fejl˝odésével egyre jobban el˝otérbe kerülnek a különböz˝o virtualizációs technikák. Gondoljunk csak arra, hogy a modern operációs rendszerek egyik funkciója is épp a virtualizáció: a bonyolult, és gépenként különböz˝o hardver közvetlen kezelése helyett egy virtuális gépet használunk, és ha programot készítünk, abban egyprintparanccsal szeretnénk nyomtatást kezdeményezni, úgy, hogy nem kell foglalkoznunk azzal, hogy a kapható sok ezernyi nyomtató közül a futtató géphez épp milyen típus van csatlakoztatva. Nem csak programozók hallottak már a Java programozási nyelvr˝ol. A Java egyik alapötlete, hogy egy egységes Java virtuális gépet biztosít a Java programok számára. Így történhet meg, hogy egy Java program könnyedén futtatható a különböz˝o hardvereken, legyen szó különböz˝o operációs rendszereket futtató személyi számítógépekr˝ol vagy különböz˝o gyártmányú mobiltelefonokról.
A virtualizáció többszint˝u is lehet, azaz egy virtuális környezetben létrehozhastunk újabb virtuális elemeket is. Ilyen eset fordul el˝o akkor, ha egy operációs rendszerben egy olyan környezetet építünk fel, amely úgy m˝uködik, mintha önmaga egy különálló számítógép lenne. Természetesen ehhez a virtuális géphez is tartozik
19.1. ábra. A virtualbox nev˝u virtuális gép kezel˝ofelülete
operációs rendszer, ami a gép használatát lehet˝ové teszi. Ennek az operációs rendszernek a felhasználója észre sem veszi, hogy a gépe virtuális, hiszen a rendszer kezel˝o felülete pontosan úgy m˝uködik, mintha valós számítógépen futna. A valós hardver operációs rendszerét gazdának (hostnak), virtuális gépét vendégnek (guestnek) nevezzük.
Megjegyzés: Most arról beszélünk, hogy egy számítógépen több operációs rendszer fusson egyid˝oben. Vegyük észre, ehhez semmi köze nincs annak, ha például az otthoni számítógépünkre több operációs rendszert telepítünk, amik közül a gép indításakor választunk. Azok közül egyszerre mindig csak az egyik futhat, az el nem indítottak nem végeznek semmilyen tevékenységet. A virtuális gépek (akár több is) egyszerre futhatnak ugyanazon a gépen, amelyen a gazda operációs rendszer is m˝uködik.
Érdekesség: Az egyetemen is sok virtuális szerver üzemel, a felhasználók természetesen nem veszik észre, hogy ezen gépekhez nem tartozik önálló hardver.
A gazdagépen vendég operációs rendszer futtatásának nagyon sok oka lehet:
• Másik operációs rendszer ideiglenes használata
El˝ofordulhat, hogy egy Linuxos notebookon egy Windows program futtatására van szükség. Erre a Linux nem, csak a Windows képes, ezért vendég-Windowst telepítve a program futtathatóvá válik.
(Természetesen más megoldás is lehetséges, erre nem térünk ki.)
• Régi operációs rendszer használata
Például, DOS, C64 GEOS, Windows 3.1 használata lehet szükséges egy valamikor kizárólag azon futó, kés˝obbi rendszereken m˝uködésképtelen program futtatásához, vagy abból történ˝o adatmentéshez.
• Hálózat kialakítása és tesztelése
Egyetlen gépen indított több virtuális gépen egyszer˝uen és olcsón tesztelhetünk például hálózati funkciókat, vagy a saját programunk hálózati m˝uködését. Nagy cégek (pl. Microsoft) a saját rendszergazdai tanfolyamaikon virtuális gépeket biztosítanak a hallgatóknak, amin a különböz˝o feladatokat gyakorolhatják.
• Felhasználói támogatás (helpdesk)
Nagyon sok cég üzemeltet telefonos ügyfélszolgálatot. Ha betelefonál valaki, hogy nem tudja a hálózatot beállítani az angol nyelv˝u és kevesek által használt Windows ME rendszerén, akkor nagy segítség lehet a technikai személyzetnek, ha egy virtuális gépen az el˝oretelepített sok-sok rendszer közül gyorsan elindítja ezt a verziót, és akkor pontos programnevekkel, menüpontokkal segítheti a gyakorlatlan felhasználót.
• Pillanatképek, visszaállítás
A virtuális gépeknek könnyen elmenthetjük különböz˝o állapotait, és ezek között könny˝uszerrel válthatunk.
Az egyes állapotokhoz rövid magyarázatot rendelve hasznosak lehetnek a következ˝o címkéj˝u gépállapotok:
1. Telepítés utáni, de a felhasználói programok nélküli, „üres” gép
2. Irodai alkalmazások telepítve 3. X program telepítése el˝otti állapot 4. Y vírus tesztelése el˝otti állapot 5. Y vírus kártétele utáni állapot
Az els˝o két állapot segítségével könnyen „újratelepíthet˝o” egy gép, Windows felhasználók nagyra értékelhetik az így megnyerhet˝o sok-sok munkaóra megspórolását. A 3. pont szerinti állapot akkor lehet hasznos, ha a problémásnak látszó X program valóban komoly zavart okozott a rendszeren és jó lenne a telepítés el˝otti utolsó állapothoz néhány kattintással visszatérni. A 4. és 5. pont vírusokkal foglalkozó szakemberek munkáját segítheti.
• Infrastruktúra konszolidáció
A virtuális gépek egyik gyakori használati területe a kiszolgálógépek üzemeltetése. Ahol komolyabban használnak számítógépeket, ott el˝obb-utóbb akár tucatnyi kisebb-nagyobb szerver is megjelenhet:
webszerver, fájlszerver, nyomtatószerver, licensz-szerver, adatbázis-szerver, alkalmazás-szerver, az el˝oz˝oek biztonsági másolatait ˝orz˝o tükörszerverek. Ezek a szerverek sokszor különböz˝o operációs rendszert használnak, eltér˝o hardverigény˝uek és egyéb (pl. licensz vagy biztonsági) okokból nem könny˝u ˝oket összevonni. Így azonban a vállalatnak komoly költség a géppark fenntartása, gondoljunk csak a szükséges géptermi kapacitásra, az áramfelvételre vagy épp a szükséges emberi er˝oforrásokra. Sok felsorolt szervert helyettesíthetjük egyetlen er˝osebb gazdagéppel, amin virtuális gépeket futtatva valósítjuk meg az egyes szerverfunkciókat. A megoldásnak nagyon sok el˝onye van:
– Hardver, elektromos és fenntartási költségek csökkentése:
Egyetlen szerver karbantartása, javítása, menedzselése, üzemelési költsége sokkal olcsóbb, mint több kisebbé
– Egy er˝osebb szerver sokkal olcsóbb, mint sok kisebbé
– Az adatmentések és visszaállítások sokkal egyszer˝ubbek és gyorsabbak
– A gazdagép hardvere úgy b˝ovíthet˝o, hogy az egyes vendég-gépek m˝uködését az nem hátráltatja