Mi is a virtualizáció?
Az IT iparágon belül a virtualizációt napjaink interfészei közt arra használják fel, hogy „kivonatokat” készítsenek azok különböző rétegeiből. A túlságosan átfogó és behatárolt interfészek miatt az egyes IT „rétegek” (pl.: a szerver hardver , valamint a csatlakozó hálózati infrastruktúra) egymásra utaltsága gyakran rugalmatlanságot és alacsony kihasználtságot eredményez.
Például: Amikor egy réteget frissítenek, a többinél is frissítés szükséges. Vagy ha egy réteg csak egy, jól meghatározott szerepet tölt be, akkor a többi rétegeket másra már nem nagyon lehet felhasználni.
Ahhoz, hogy felül tudjunk emelkedni ezeken a rétegeken, egy kiegészítő rétegre – a virtualizációs rétegre – van szükségünk. Mivel a mai IT területén rengeteg túlszabályozott réteget találunk, a további elválasztó rétegek beékelésének lehetőségei szintén változatosak. Csupán pár virtualizációs technológiát kiemelve:
- I/O virtualizáció
- Szerver virtualizáció
- Hálózat virtualizáció
- Applikáció virtualizáció
- Tárhely virtualizáció
- Kliens virtualizáció
- Operációs rendszer virtualizáció
- …
Az utóbbi években több IT installációnál is felhasználták a fenti technológiák valamelyikét, hogy egyesítsék azok előnyeit, és hogy korszerű, dinamikus IT infrastruktúrát érjenek el velük.
Mit jelent az x86 szerver virtualizáció?
Ahogy azt a cím is elárulja, az x86 szerver virtualizáció az x86 architektúra alapú szerver hardver és a hozzá tartozó operációs rendszer közti virtualizációs réteget jelzi. A virtualizációs réteget hypervisornak hívják. Ez a hypervisor elválasztja az x86 szerver hardvert a különböző operációs rendszerektől. A szerver hardver úgy érzékeli, mintha az a saját operációs rendszere lenne, a valós operációs rendszerek felé pedig felosztja a hardver erőforrásait. A felosztott szeleteket virtuális gépeknek (Virtual Machine – VM) hívjuk. Ezek a szeletek teljesen el vannak szeparálva egymástól. Így lehetőség nyílik a szerver hardver teljesítményének megosztására a különböző operációs rendszerek és alkalmazások között.
A hypervisor főbb feladatai:
- A VM-ek működtetésének alapjai
- A VM-ek egymástól való szétválasztása
- Az erőforrások hatékony felosztása a VM-ek között az adminisztrációs specifikációnak megfelelően
- Gépinstrukciók leképezése a VM-ekben
- I/O feladatok leképezése
A virtualizációs réteg közvetett előnyei
Azzal, hogy közbeiktatunk egy további réteget mint interfészt, a szerver hardvere és az operációs rendszer közé, további fontos előnyre tehetünk szert: lehetőségünk lesz ráhatással lennünk a köztük lévő kommunikációra. Ez a ráhatás nem azt jelenti, hogy módosítanánk bármit is, de ezzel lehetővé válik az úgynevezett time-shifting, és – ami még fontosabb – az információk megosztása. A szerver virtualizációra lefordítva ez azt jelenti, hogy adott VM CPU és memória állapotai átmásolhatóak egy másik szerverre. Ez pedig a hypervisor-ok használatának egyik legfontosabb tulajdonságát eredményezi:
- A virtuális gépek (az operációs rendszereket és az alkalmazásokat is beleértve) élő migrációját (VMotion, XenMotion,…) az egyik szerverről a másikra, megszakítás nélkül.
Ezt az alapvető technológiát használják a hypervisor által szolgáltatott további automatizálással kapcsolatos tulajdonságok is.
A szervervirtualizáció hatékony felhasználásának előfeltételei
A virtualizált infrastruktúrához szükséges, egyértelmű összetevőkön kívül a már említett hypervisor, a megfelelő x86 szerver hardver felépítés (optimalizált szervervirtualizációs támogatás, hozzáillő I/O csatlakozások), valamint egy központilag elérhető storage is elengedhetetlen része a szervervirtualizációnak. Ahhoz, hogy ezeknek a rendszereknek a magas szintű elérhetőséget ki tudjuk használni – pl.: egy virtuális gép újraindítása egy hardver egység meghibásodása esetén – a szerverünknek elkerülhetetlenül szükséges hozzáférnie azokhoz az adatokhoz, amelyek alapján meghatározható, hogy melyik virtuális gépet kell újraindítani. Ezért a munkát tipikusan a tárhely konszolidációval kell kezdenünk, még mielőtt az x86 szervervirtualizációt bevezetnénk/kiterjesztenénk. Ezzel kihasználhatjuk a technológia által nyújtható összes előnyt és képességet.
Hogyan menedzseljük a hypervisorokat?
A funkciójából eredően a hypervisornak meglehetősen jól illeszkedő és hatékony szoftvernek kell lennie. Emiatt ahhoz, hogy a lehető legkevesebb biztonsági rés legyen rajta, a hypervisort úgy optimalizálták, hogy csak a saját alapfunkcióit támogassa. A komolyabb erőforrásokat igénylő feladatokat (pl.: kezelés a GUI-n keresztül, automatizáció, szabályok, stb…) egy külső kezelő szoftver végzi. Ez a management szoftver kezeli teljes egészében a hypervisort ÉS a virtuális gépeket. Széleskörű kezelhetőséget biztosít mind a hypervisor, mind a virtuális gépek kapacitásait illetően. A hypervisor gyártók és forgalmazók mindegyike saját management szoftverrel szállítja a termékeit, amelyek nagyjából kompatibilisek a többi gyártó hypervisoraival is. Általában akkor tudjuk a legtöbbet kihozni a rendszerünkből, ha az adott hypervisor gyártójától rendeljük a kezelő szoftvert is. A hypervisorok méretét tekintve akkor kapjuk a legjobb átlagszámot, ha a piacvezető gyártó, a VMware vSphere ESXi termékét vesszük alapul, melynek mérete nagyjából 50 MB.