A virtualizáció technológiai alapja

A hagyományos x86 architektúra

A fizikai erőforrásokat az operációs rendszer fogja össze, és teremt megfelelő környezetet az

alkalmazások számára, melyek az operációs rendszer által meghatározott keretek között használják a fizikai erőforrásokat (CPU, RAM, tároló, hálózat). Egy fizikai rendszeren egy operációs rendszer fut.

Virtuális architektúra

Az architektúra lényege, hogy a fizikai erőforrások és az operációs rendszer közé bekerül egy virtuálizációs réteg. Ez a réteg képes a fizikai erőforrások megosztására, lehetővé téve több operációs rendszer egyidejű futtatását egy fizikai hardveren, úgy nevezett virtuális gépekben. A vituális gépek viselkedése megegyezik a fizikai gépekével: a virtualizációs réteg minden egyes virtuális gép számára biztosít virtuális processzort, memóriát, tárterületet, és hálózati interfészt.

A virtuális architektúra előnye abban rejlik, hogy a hagyományos architektúrával ellentétben az egy hardveren futó alkalmazások sokkal jobban elkülöníthetők egymástól, ezzel csökkentve az egymásra hatásokat, erőforrás szinten élesebb elkülönítést tesz lehetővé, vagy akár különböző operációs rendszer környezetet lehet biztosítani az alkalmazások számára ugyanazon az eszközön. Például:

  • egy cégnek két üzleti alkalmazásra van szüksége, az egyik Service Pack 2-t alatt támogatott gyártója által, de egy másik csak Service Pack 1 alatt
  • a vállalatirányítási rendszer Windows operációs rendszert igényel, de az adatbázis Linux alatt fut
  • tesztrendszer futtatására is van igény, de egy hibásan megírt kód miatt futó végtelen ciklus ne vegye el az erőforrásokat az üzleti folyamatokat biztosító rendszerek elől
  • előfordulhat, hogy valamely alkalmazás miatt újra kell indítani az operációs rendszer környezetet: emiatt ne kelljen egy másiknak is leállnia...

A fenti igények természetesen nem újak, azonban az elmúlt években a hardverek teljesítménye olyan mértékben megnőtt, hogy az alkalmazások nagy része közel sem használja ki a rendelkezésre álló teljesítményt, ez teszi lehetővé azt, hogy több operációs rendszer környezetet össze lehessen vonni egyetlen eszközre.

A virtuális gépek sajátosságai

A virtuális gépek kompatibilisek minden standard x86-os operációs rendszerrel, valamint ezen operációs rendszerekre fejlesztett alkalmazással. Következésképp minden Windows, Linux, Netware, vagy Solaris alapú alkalmazás futtatható virtuális gépeken, nincs szükség ezen alkalmazások virtualizációra való specializálására, megfelelő előkészítés esetén a fizikai gépek virtuális gépre valómigrálásával kompromisszumok nélkül lehet javítani a hardvererőforrások kihasználtságát.

A virtuális gépek nem tudják „magukról”, hogy nem fizikai gépek. Egyazon fizikai gépen futó virtuális gépek pontosan olyan elszigetelten futnak egymástól, mint ha külön fizikai gépen futnának. 

A virtuális gépeknek sajátosságából adódóan alkalmazásukkal nem csak az erőforrások kihasználtsága javítható, hanem az üzleti igényeket jobban kielégítő infrastruktúra építhető.

A virtuális rétegnek köszönhetően egy virtuális gép tulajdonképpen szoftverek gyűjteménye, amelyet fájlok reprezentálnak. Ezek a fájlok tartalmazzák az operációs rendszert, az alkalmazásokat, adatokat, eszközöket és a rendszer állapotát is. A virtuális gépek ennek megfelelően fájlként másolhatóak, megoszthatóak, és kerülhetnek különböző médiákra.

A virtuális gépek tökéletesen hardverfüggetlenek. Virtuális erőforrásokat használnak, amelyek elfedik a fizikai hardverek tulajdonságait. Így a virtuális gépek ugyanazt a hardverbeállítást érzékelik még akkor is, ha közben megváltozott a fizikai hardverek összetétele. 

E két tulajdonságának köszönhetően a teljes virtuális gép elmenthető, egyszerű fájlművelettel áthelyezhető egy másik fizikai gépre, majd ott pontosan ugyanabban az állapotban újra elindítható. 

A virtuális gépek fájlként való áthelyezhetősége széles spektrumban nyit távlatokat az infrastruktúra menedzselése, skálázhatósága, üzembiztossága és megbízhatósága terén.

Alkalmazási lehetőségek

A Virtuális gépek kompatibilitásából, és elszigeteltségéből adódóan magától értetődő lehetőség, hogy a meglévő fizikai kiszolgálókra virtuális réteget telepítünk, és a tényleges kiszolgálókat virtuális gépként működtessük. Így az alkalmazások teljesítményigényéhez igazodó módon kevesebb számú fizikai szerver jobb kihasználását érhetjük el. Ezt az irányt elsősorban azoknak ajánljuk, akiknek meglévő szerverparkjuk részben avulóban van, illetve éppen további kiszolgálók vásárlása előtt állnak. A megtakarított hardverberuházáson túl csökken a szerverek helyigénye, és energiaszükséglete is. Mindezeken felül a virtuális gépek specialitásaiból adódóan ráadásként rugalmasabb rendszert, és fejlettebb felügyeleti lehetőségekhez jutunk. 

A virtuális gépek állapota menthető, archiválható, áthelyezhető másik kiszolgálóra. Hardver meghibásodás esetén a hardver javítása vagy cseréje esetén csak a virtuális réteget kell újratelepíteni, a virtuális gépeket ezen műveletek nem érintik: a javítást követően már egyszerűen indíthatóak.

Önmagában a fizikai alkalmazások virtuális gépekre való migrálása nem támaszt extra követelményeket a fizikai architektúrával szemben, ennek ellenére a viruális gépek speciális tulajdonságaiból adódódó előnyök kihasználhatósága nagy hatást gyakorolt a kiszolgálók fejlődére.
Az egy szerveren belüli különböző erőforrások összetartozása (CPU, memória, tároló, hálózat) komoly korlát. Az előnyök kihasználtsága akkor válik lehetségessé, ha nem különálló fizikai szervereket használunk, hanem virtuális infrastruktúrát építünk. A virtuális infrastruktúra „lelke” egy olyan operációs rendszer, mely a fizikai erőforrásokat logikai erőforrás készletekké alakítja, a „teste” pedig az a hardver környezet, amely kellőképpen támogatja az egyes erőforrások közös használatát.

A virtuális gépek sajátosságait kihasználva számos olyan új lehetőség nyílik az infrastruktúra üzemeltetésében, melyre korábban csak nagyon költséges és bonyolult eljárásokkal volt lehetőség: többek között (de nem kizárólag) az üzletmenet-folytonosság növelése, katasztrófa elhárító környezet létesítése.