Red Hat Enterprise Virtualization közelebbről - I.

A tavaly szeptemberi Red Hat Summit 2009 során bejelentett újdonságok közül kétségkívül a RHEL 5.4-ben bemutatkozó KVM technológia és az eköré épülő Red Hat Enterprise Virtualization (RHEV) számított a legnagyobb szenzációnak. A Red Hat késő ősszel tette elérhetővé ügyfelei számára a RHEV infrastruktúrát, amely az elmúlt hónapokban igen sikeres terméknek bizonyult. Cikksorozatunkban ezt az igen fejlett környezetet szeretnénk bemutatni.

2007-ben a Red Hat Enterprise Linux 5 megjelenésekor lépett be a Red Hat a virtualizációs piacra. A cég több éves fejlesztés és integráció után a Fedoraban már megismert Xen technológiát vezette be termékébe az ügyfelek legnagyobb megelégedésére. A Xen, amely rendkívül stabil és megbízható infrastruktúraként szolgált hosszú éveken keresztül, a körülötte kialakult méltatlan helyzetnek köszönhetően meglehetősen negatív árnyalatot kapott, jövője bizonytalannak tűnt - teljesen logikus volt tehát, hogy a Red Hat körülnézett a virtualizációs piacon és szemét a szintén népszerű KVM-re vetette. A cég jelezte, hogy a RHEL 5 életciklusa során mind a KVM, mind a Xen támogatott virtualizációs technológia marad, a RHEL 6-ba azonban már csak a KVM fog bekerülni. Természetesen nem kerülnek hátrányba azok az ügyfelek sem, akik a Xen mellett tették le a voksukat, hiszen számos olyan eszközt kapnak majd készhez, amely a virtuális képek konverzióját egyszerűvé teszi.

A KVM egy módosított QEMU-t használó teljes virtualizációs (full virtualization) technológia, korlátozott paravirtualizációs támogatással - hétköznapi nyelven ez azt jelenti, hogy a teljes virtuális gép egy önálló virtualizált/emulált mikrokörnyezetben fut, de néhány eszközmeghajtó - pl. hálózati interface, I/O eszközök - paravirtualizált drivert kap a legnagyobb teljesítmény elérése érdekében. A QEMU ún. virtualizátorként funkcionál: a VM-ek által futtatott bináris kódot a gazdagép CPU-ján futtatja, így közel natív teljesítmény érhető el. Ebből kifolyólag rendszerkövetelményei is magasabbak a Xenéhez képest: mindenképpen olyan processzorra és BIOS-ra van szükségünk használatához, amely támogatja a teljes virtualizációt (AMD-V, illetve Intel VT). Ez a tulajdonság a mai szerverpiacon lévő ősszes kiszolgálóban megtalálható, a nevesebb gyártók (HP, Dell, IBM, Sun) már nem is szállítanak olyan CPU-t, amely ne tudná ezt a funkciót.

A KVM használata során minden virtuális gép (VM) egy-egy önálló processz a gazdarendszerben. Ez jelentős előnyökkel is szolgál: könnyen szabályozhatjuk erőforrásfelhasználásukat, menedzselésükhöz nincs szükség a hypervisorral való kommunikációra, szükség esetén pedig minden további nélkül kiswappelhetőek. Bámulatos és a gyakorlatban csodálatosan megfigyelhető a KVM-mel együttműködő KSM (Kernel Samepage Merging) funkciója is: ha több virtuális gép ugyanazt a memórialapot használja, akkor azok megoszthatók a VM-ek között, így csökkenthető az össz-memóriahasználat, illetve túlfoglalásra (memory overcommit) is lehetőség nyílik.

kvm_architecture.png

A RHEL 5-ben debütált virtualizációs menedzsment eszközök száma meglehetősen szerény volt: habár a Xen natív parancssoros eszközével (xm) is el lehetett boldogulni, valamint sokat segített a Red Hat által szállított virsh és virt-manager, még mindig nem lehetett "ráérezni" a technológia nagyvállalati voltára. A Red Hat eltökélt szándéka volt, hogy olyan nagy szereplőkkel versenyezzen, mint a VMWare, Citrix, ehhez azonban mindenképpen szükség volt egy lehetőleg központi, a teljes virtuálisgép-kezeléshez szükséges, magbízható menedzsment eszköz kiadására. Tökéletes választásnak bizonyult a KVM és a SPICE display protokoll fejlesztését végző Qumranet nevű izraeli cég felvásárlása és meglévő termékének felhasználása - ez lett a Red Hat Enterprise Virtualization Manager (RHEV-M).

Érdemes tudni, hogy a RHEL-ben lévő KVM használatához nincsen szükség a RHEV beszerzésére: maga a technológia megtalálható a standard telepítőkészleten és a csomagrepositoryban is. Ha valaki számára elegendő az "egyszerűbb" eszközök használata, akkor a virt-manager és a virsh továbbra is elérhető, telepítés után máris nekieshetünk a VM-ek telepítéséhez. Nem változott az előfizetések működése is: a RHEL Basic subscriptionnel 4, Advanced Platform használatával pedig korlátlan számú virtuális gép futtatható és természetesen ezen VM-ek előfizetését is tartalmazza a gazdagép előfizetése. Ha azonban valaki nagyobb virtuális farmot építünk, akkor mindenképpen érdemes a RHEV-re való előfizetés, ugyanis ekkor rendkívül kényelmes és egyszerű központi vezérlést kapunk.

A RHEV felépítése

A RHEV alapvetően egy kliens-szerver architektúrát jelent számunkra, amelyben egy központi alkalmazás (RHEV-M) fogja a klienseken (gazdagépek) futó virtuális gépek teljes vezérlését - indítását, leállítását, migrációját) elvégezni. A RHEV-M mindezek mellé a hostok és VM-ek hálózati eszközeinek konfigurációját, diszk alrendszerek kezelését is végzi, valamint számos egyéb szolgáltatást nyújt számunkra.

Mint a fenti képen is látható, a RHEV használatakor dönthetünk úgy, hogy a gazdagépeken teljes operációs rendszert (RHEL) használunk, de megtehetjük, hogy az ún. RHEV hypervisort (más néven bare metal hypervisor) telepítjük. Utóbbi egy kb. 100 MB méretű, kizárólag virtualizációs szolgáltatásra optimalizált mikrokörnyezet, amely kis méretéből adódóan gyakorlatilag semmilyen jelentős erőforrást nem jelent majd a fizikai gépen, a szerver szinte minden erőforrása a VM-ek számára áll majd rendelkezésre. A hypervisor a RHEV előfizetéssel együtt érhető el, hátránya, hogy használatakor minden egyes virtuális géphez külön előfizetést kell vásárolnunk, míg a teljes telepítésű környezetben - ahogy azt említettük - ezt az alapelőfizetés már tartalmazza.

(folytatjuk).