Személyes eszközök

VirtualizationTechnologies

A SzervertársBÓL

Tartalomjegyzék

[szerkesztés] Virtualizációs technológiák

[szerkesztés] Bevezetés

Írásunkban a különböző virtualizációs technológiákat hasonlítjuk össze. Először is természetesen felmerül a kérdés:

Mi az a virtualizáció?

Ahhoz, hogy erre a kérdésre választ adhassunk nagy vonalakban át kell tekintenünk, hogy hogyan működnek a számítógépek.

Minden számítógépnek van legalább egy processzora, memóriája és különböző perifériák: merevlemezek, videókártya, USB eszközök, billentyűzet, ...

A számítógépek működéséből következik, hogy egyszerre egy program futhat a processzoron, és használhatja a különböző eszközöket (merevlemez, videokártya ...). Azonban minden modern számítógépen egyszerre több programot (akár több ezret) is elindíthatunk. Ezt az operációs rendszer, egy speciális program teszi lehetővé. Az operációs rendszert úgy képzelhetjük el, mint ami létrehoz egy fizikailag nem létező, virtuális gépet, amely képes egyszerre több programot futtatni , és a programok egymás zavarása nélkül használhatják a perifériákat. Ezt az operációs rendszer időosztással éri el: minden program csak néhány milliszekundumig fut egy másodpercen belül, azonban a számítógépek egy másodperc alatt olyan sok műveletet tudnak végrehajtani, hogy úgy tűnik számunkra mintha az összes program egyszerre futna.

Az operációs rendszereken kívül sok különböző típusú virtuális gép létezik, például:

  • A .NET illetve a Java platformokra írt programok olyan virtuális gépeken belül futnak, amelyek kiterjesztik az operációs rendszerek szolgáltatásait, és lehetővé teszik, hogy az egyszer megírt és lefordított programok több különböző operációs rendszeren futhassanak módosítás nélkül -- amennyiben az adott operációs rendszerre készült ilyen virtuális gép.
  • A különböző szövegszerkesztőkben írt makrók olyan virtuális gépeken futnak, amelyek hozzáférést adnak az adott program belső működéséhez, így a makrók módosíthatják az ilyen "gazdaprogramok" működését.
  • A virtuális gépek egy másik családja a következő gondolaton alapul: hozzunk létre olyan programot, amely egy valódi számítógép processzorát és perifériáit szimulálja, így az ezzel a programmal létrehozott környezetbe telepíthetünk megszokott operációs rendszereket (pl. Linux vagy Windows) és azokon futtathatunk alkalmazásokat. A mai számítógépek teljesítménye már lehetővé teszi, hogy ilyen virtuális környezeteket alkalmazzunk.

Két fő alkalmazási területe van az utóbbi, valódi számítógépeket szimuláló virtualizálási megoldásoknak:

  • Szoftver- és hardverfejlesztőknek sokszor egyszerűbb és hatékonyabb a fejlesztés egyes fázisait ilyen virtuális környezetben végezniük és nem a valódi harverkörnyezetben. Az ilyen rendszerek lehetővé teszik például, hogy egy mobiltelefonra írt alkalmazást a hagyományos asztali számítógépünkön futtassunk.
  • A másik esetben egy nagyteljesítményű számítógép erőforrásait osztjuk fel azért, hogy több feladatcsoportot tudjon elkülönítetten és biztonságosan kezelni, amelyek nem igénylik a rendelkezésre álló összes erőforrást. Ezeket nevezzük virtuális szervereknek.

Virtuális szerverek létrehozására több különböző technológia áll rendelkezésünkre.

[szerkesztés] Operációs rendszer szintű virtualizáció

Operációs rendszer szintű virtualizációnál maga az operációs rendszer hoz létre több, egymástól független környezetet. Ezek a környezetek a felhasználói programok számára valódinak tűnnek. Minden egyes környezetnek saját rendszergazdája illetve felhasználói lehetnek.

Példák:

[szerkesztés] Processz szintű virtualizáció

Ebben az esetben a teljes virtuális gépet egy hagyományos felhasználói program (processz) valósítja meg. Amennyiben a gazdarendszerrel megegyező architektúrájú számítógépet emulálunk, lehetőség van a virtualizált rendszer gyorsítására a gazda operációs rendszerbe beépülő modul segítségével, amely lehetővé teszi, hogy a virtuális gépen futó program a valódi processzoron fusson egy lassabb, szoftveresen emulált megoldás helyett.

Példák:

[szerkesztés] Hipervisor alapú virtualizáció

A hipervisor alapú megoldásoknál közvetlenül a hardveren egy speciális mikro-rendszer a hipervisor (hypervisor) fut. Ennek a rendszernek az a feladata, hogy szabályozza a hardverhez történő hozzáférést. A hipervisor felett egymástól független operációs rendszerek futnak.

Példák:

[szerkesztés] A Szervertárs által alkalmazott technológiáról

A Xen technológia a hypervisor alapú virtualizációs megoldások közé tartozik. A Xen esetében megkülönböztetünk egy kitüntetett Dom0 elnevezésű virtuális gépet. Ennek a virtuális gépnek közvetlen hozzáférése van a fizikai hardverhez, míg a többi virtuális gép csak a Dom0-án keresztül, annak engedélyével érheti el a hardvert. Ez utóbbiakat DomU-nak nevezzük.

A Xen technológia 2 módon teszi lehetővé operációs rendszerek futtatását:

  • Paravirtualizált módban a virtuális gépen futó operációs rendszer tud arról, hogy egy Xen hypervisor felett fut. Ebben az esetben az operációs rendszert fel kell készíteni a Xen rendszer támogatására.
  • Teljesen virtualizált módban az operációs rendszer számára a Xen hypervisor láthatatlan marad, így nincs szükség az operációs rendszer módosítására. Teljesen virtualizált módú futtatás csak virtualizációt támogató hardveren lehetséges.

A Xen, bár elsődlegesen Linux rendszerekhez fejlesztették ki, mára alkalmas BSD, OpenSolaris, GNU Hurd/Mach, Plan 9, és Minix rendszerek futtatására is paravirtualizált módban.

A Szervertárs VSZ-512 és VSZ-1024 szolgáltatásai egy-egy különböző méretű DomU virtuális gépet tesznek elérhetővé.

További információ a Xen technológiáról: http://www.xensource.com

Amennyiben többet szeretne tudni a Szervertárs technológiai hátteréről, bármilyen kérdésére szívesen válaszolunk.