Tartalmi kivonat
Intel virtualizációs technológia Az 1990-es években az Intel elkezdte tanúbizonyságát adni abbéli elkötelezettségének, hogy a végfelhasználók számára olyan előnyöket biztosítson termékei révén, amelyek túlmutatnak a teljesítmény hagyományos mértékegységén, a megahertzen. 2001-ben az Intel elnöke és üzemeltetési vezérigazgatója, Paul Otellini még nagyobb ilyen irányú erőfeszítéseket jelentett be. Arról beszélt, hogy “túllépnek a gigahertzen (GHz)”, és a társaság már nemcsak az alapvető technológiákra és tulajdonságokra fog összpontosítani, hanem arra is, hogy nagyobb értéket és funkcionalitást közvetítsen. Azóta a cég ennek az elkötelezettségnek a jegyében kifejlesztett olyan termékeket vezetett be, mint például a Hyper-Threading technológia, az Intel® Centrino® mobiltechnológia és az Intel® 915 G/P és 925X Express lapkakészletek. Napjainkban az Intel tovább halad a teljesítmény ezen újfajta
meghatározása terén, és ez a sebességen túl a biztonságos számítástechnikát bármikor és bárhol lehetővé tévő új tulajdonságok biztosítását is magában foglalja. Az olyan technológiacsoportot, amelyet arra terveztek, hogy a felhasználó-központú tulajdonságoknak a platformon történő kibővítésével nagyobb teljesítményt lehessen elérni, az Intel T-knek (technológiáknak) nevezi. A mikroprocesszorok és platformok szilíciumába ágyazott technológiák magas színvonalon összegyűjtött csoportja, azaz a T-k, a számítógépes platformok tervezésének és felhasználásának módja terén fejlődést hozott. Azonban egyik technológia sem engedte meg azonban azt, hogy a CPU erőforrásait virtuálisan particionáljuk. Azóta az Intel bemutatta a Vanderpool technológiát, mely már ezt is lehetővé teszi. A virtuális particionálás azt jelenti, hogy a gépet úgy használjuk, mintha több külön gép lenne. Az Intel bemutatóján egy
Vanderpool technológián alapuló egyetlen CPU-t használó PC-hez két kijelző csatlakozott. Az egyiken a Simpsons család egyik epizódjának lejátszása folyt, míg a másikon éppen újraindult az operációs rendszer! Az Intel az első, Vanderpool technológiát használó processzorokat nagyjából 5 év múlva kívánja bevezetni a piacra. Természetesen a technológiát a többi hardverelem gyártójának is támogatnia kell, és speciális operációs rendszert is igényel. Ha viszont mindez rendelkezésre áll majd, s a processzorok is elég erősek lesznek – mondjuk 5-6 év múlva, akkor egyetlen processzor képes lehet Intel® Virtualization Technology Csala Péter – Sonkoly Ferenc kielégíteni otthoni digitális igényeinket. Vagyis Apu dolgozik rajta, míg Anyu kedvenc filmjét nézi, a gyerkőc pedig játszik Hogy működik? Az Intel a 2004 őszén megrendezett Indel Developer Forumon (IDF) mutatta be először a nagyközönségnek, mire képes a
Vanderpool. A kiállított számítógépben egy Vanderpool technológiával felvértezett processzor kapott helyet, a rendszeren egy időben, párhuzamosan összesen négy operációs rendszer -- három Windows XP és egy Red Hat Linux -- futott, amelyek összesen mintegy 10 alkalmazást szolgáltak ki, köztük egyszerű szövegszerkesztőt, menedzsment-szoftvert, zenelejátszót, illetve egy Cadence mérnöki alkamazást. A Vanderpool segítségével a processzorok több, egymástól teljesen független virtuális processzorként használhatók, amelyeken akár eltérő operációs rendszerek is futhatnak egyszerre. Ezek a virtuális processzorok egymástól teljesen elszigetelten működnek, vagyis például az egyiknek az újraindítása nem érinti a többi virtuális processzort. Jelenleg is léteznek különféle virtualizációs eljárások IA-32 platformon, azonban ezek szigorúan szoftveresek. Az Intel Vanderpool egy hardveres megoldás, amely a vállalat szerint
robosztusabb, megbízhatóbb, mint a meglevő szoftverek eljárások. Mire használható? Az Intel szerint a Vanderpoolnak elsősorban vállalati környezetben lehet hasznát venni. Az egyik tipikus alkalmazási terület, hogy a felhasználók többféle alkalmazása többféle operációs rendszeren futhat, például egy mérnöki munkaállomáson a tervezőszoftverek Linuxon, a webböngésző és a dokumentációt kezelő irodai szoftver pedig Windowson. A virtualizáció megkönnyíti az informatikai vezetők dolgát is, hiszen segítségével minden számítógép "kettéosztható" és anélkül elvégezhetők rajta távolról a különféle szoftverkarbantartási feladatok, hogy a felhasználónak meg kellene szakítania a munkáját. A virtualizáció természetesen az otthoni gépeken is hasznos lehet, a fogyasztók például külön virtuális rendszert hozhatnak létre a játékok futtatására, egy másikat pedig a fotószerkesztésre, videózásra. A
lehetőségek szinte határtalanok Multitasking: Intel® Virtualization Technology -1- Csala Péter – Sonkoly Ferenc Multitasking. A szó sokak számára ismert, a gyakorlatban azt jelenti, hogy számítógépünk (sokszor csak látszólag) egyszerre több dologgal (szakszerűbben programmal, programszállal) képes foglalkozni. A PC-s világban nagyjából 10 éve került be a köztudatba ez a fogalom, a Windows ígérte nekünk ezt a csodát elsőként, s minden egyes újabb változat megjelenésekor azt sulykolják belénk a Microsoft marketingesei, hogy még fejlettebb a többfeladatos működés megvalósítása. A Windowst lehet szidni és dicsérni, de abban azért megegyezhetünk, hogy mára elég hatékony multitasking működést képes biztosítani – szoftveroldalról. Lássuk, mi a helyzet a hardverrel! Egészen a legutóbbi időkig egy PC-s processzor egyszerre egy programszálat tudott egyszerre futtatni, vagyis az operációs rendszernek kellett időben
gyorsan váltogatni a programszálakat, hogy a felhasználónak úgy tűnjön, egyszerre több program fut (legtöbb esetben ez ma is így van). Hardver oldalról ez az ún "task switching", azaz taszkkapcsolás támogatva volt és van mind a mai napig, azonban itt meg is állt a "tudomány". Aki hardverből is támogatott többfeladatúságra vágyott, az kénytelen volt drága kétprocesszoros rendszerbe fektetni a pénzét. Ez a lehetőség ma is fennáll, de kezdenek más megoldások is feltűnni a horizonton Hyper-Threading technológia Ez a 2002-ben bevezetett technológia lehetővé teszi, hogy egyetlen fizikai processzor úgy jelenjen meg és működjön, mintha két virtuális processzor lenne az operációs rendszerben. A fogyasztóknak és minden méretű vállalkozásnak a Hyper-Threading technológia (HT technológia) hatékonyabb párhuzamos feladatmegoldást és rendszerrugalmasságot kínál. A felhasználók jobb teljesítményt élvezhetnek több
alkalmazás párhuzamos futtatása mellett; például, ha egy játékprogram közben a háttérben víruskeresést folytatnak, vagy videókódolást végeznek. A HT legfőbb előnye, hogy az alkalmazásoknak az erőszükségleteknek megfelelően osztja ki újra meg újra a processzorok erőforrásait. Azáltal, hogy a többszálas szoftveralkalmazások számára párhuzamos feladatmegoldást tesz lehetővé, a HT technológia adott időben több feladat végrehajtása lehetőségének biztosításával maximalizálja a processzor hatékonyságát. A HT technológia az azóta bevezetésre került kétmagos és többmagos processzorok előfutára volt. Intel® Virtualization Technology -2- Csala Péter – Sonkoly Ferenc Vanderpool technológiák A virtualizálás lehetővé teszi, hogy egy rendszer egyazon gépen ugyanabban az időben különböző programokat, sőt, teljes operációs rendszereket futtasson. A Vanderpool technológiák (VT) a virtualizálás terén eggyel
továbblépnek olyan hardver- és platformtámogatás biztosításával, amely a virtualizálást még gördülékenyebbé és biztonságosabbá teszi. Egy rendszer többcélú felhasználásra történő felosztásával a VT lehetővé teszi, hogy egy hardverplatform több "virtuális" platformként működjön (lásd a 2. ábrát). Az otthonokban, például, a VT segítségével az egyik családtag játszhat az egyik szobában egy PC-n, míg ezzel egy időben egy másik családtag egy másik szobában valamilyen mobil eszközt használhat arra, hogy ugyanazzal a PC-vel fényképet szerkesszen. 2. ábra A VT egy sor hardverfejlesztést biztosít a platform részére annak érdekében, hogy egy platform úgy működhessen, mint több "virtuális" platform. A VT számos előnyt kínál a vállalkozásoknak, többek között a jobb kezelhetőséget, az állásidő korlátozását és a dolgozói termelékenység fenntartását. Például, egy informatikai
személyzet számos távoli műveletet képes elvégezni a hálózatba kötött ügyfelekre vonatkozóan anélkül, hogy egyetlen munkavállalót is megzavarna a munkájában. A platform rugalmasságának és megbízhatóságának a virtualizálás útján történő javításával a VT nagyobb Intel® Virtualization Technology -3- Csala Péter – Sonkoly Ferenc megbízhatóságot, hatékonyságot és rugalmasságot kínál a kiszolgáló-konszolidáció, a meglévő adatok migrációja és a biztonság terén. A megfelelő szoftverrel kombinált VT mind vállalati, mind pedig fogyasztói felhasználás szempontjából nagyobb megbízhatóságot és teljesítményt tesz lehetővé. Egyetlen rendszeren belül több, egymástól független szoftverkörnyezettel (partícióval) az egyik partícióban zajló műveletek nem befolyásolják a többi partíció műveleteit. Mi több, néhány arbitrációnak a hardverbe történő átvitelével a VT számos kulcsfontosságú előnyt
kínál a pusztán szoftveralapú virtualizációs megoldásokkal szemben. A virtualizált partícióknak a rendszerhardverhez való hatékonyabb hozzáférésének lehetővé tételével csökkenti a szoftverekkel kapcsolatos állandó kiadásokat, valamint növeli a teljes megoldás teljesítményét és erőteljességét. Virtuális infrastruktúra Az x86-os processzorarchitektúrára épülő szerverek számának robbanásszerű növekedése számos, korábban nem látott nehézséggel szembesítette a szakértőket. Ezek egy igen jelentős része abból fakadt, hogy eme kiszolgálók kénytelenek voltak "nagyobb testvéreik" (a mainframek, majd a RISC-szerverek) robusztusságát és fejlett funkcionalitását nélkülözni - esetükben inkább a minél kedvezőbb ár/teljesítmény arány elérése került előtérbe (gyakran akár a megbízhatóság kárára is). Az elmúlt évtizedben mindazonáltal tanúi lehettünk egyfajta kiegyenlítődési folyamatnak, a
felsőkategóriás kiszolgálók előnye lassan olvadni kezdett, számos területen pedig egyenesen fordulat következett be. Az ilyen területek egyike a virtualizáció, amely eredetileg a RISCszerverek particionálás terén élvezett fölényét volt hivatott kiegyenlíteni, azonban ma már különböző szerverkonszolidációs, fejlesztési és tesztelési, valamint üzletfolytonossági problémákra is megoldást jelent. Rész és egész Ahhoz, hogy pontosan megértsük a virtualizációs technológia mibenlétét, előbb a particionálás fogalmával kell tisztában lennünk. Nos, ez azt a képességet jelöli, amelynek Intel® Virtualization Technology -4- Csala Péter – Sonkoly Ferenc segítségével a nagy rendszereket több kisebb rendszerré lehet tagolni - ezeket közmegegyezés szerint partíciónak nevezzük. Ezt mind hardveres, mind szoftveres úton el lehet érni, ám a kétfajta particionálási eljárás között számos alapvető különbség áll fenn. A
hardverpartíciók egymástól teljes mértékben izoláltak, vagyis tulajdonságaikban a különálló rendszereket idézik. Valamelyik hardverpartícióban bekövetkező meghibásodás (legyen az akár az alkalmazásra, az operációs rendszerre vagy a hardverre visszavezethető) nem befolyásolja a többi partíció működését. Tehát olyan esetekben, ahol a felhasználó teljes mértékben el kívánja különíteni egymástól a futtatott alkalmazásokat, a hardverpartíciók rendkívül hasznosnak bizonyulhatnak. Hátrányuk viszont, hogy meglehetősen nagy szeletet hasítanak ki a rendszer erőforrásaiból: valamennyi "minirendszernek" saját processzorra, memória- és I/Oalrendszerre van szüksége a működéshez. Vagyis a hardveres particionálás képessége egy meglehetősen drága funkció - nem kell tehát csodálkoznunk, hogy szinte kizárólag felsőkategóriás szerverekben található meg. Ezzel ellentétben a szoftverpartíciók - mivel egyazon
közös, fizikai értelemben "osztatlan" hardvert használják - nyilvánvalóan nem képesek a hardverpartícióknál elérhető teljes izoláció megvalósítására, cserébe viszont jóval nagyobb rugalmasságot kínálnak; vagyis pontosan azt, amire az árérzékenyebb iparági szabvány szervereknek szükségük van. Itt lép képbe a cikkünk fő témáját adó virtualizáció is, amely lényegében nem más, mint a szoftveres particionálást lehetővé tevő technológia, amely egy olyan addicionális absztrakciós réteget képes létrehozni, amely a hardver és az azon futó szoftver közé "ékelődve", egyfajta "köztes intelligenciaként" funkcionál. Hol történjen A kérdés ezek után már csak az, hogy hol történjen a virtualizáció, pontosan hol is legyen ez a bizonyos köztes réteg, hiszen a hardveren futó szoftver is több hierarchikus szintre tagolódik. Közvetlenül a hardver és az operációs rendszer között? Netalán
az operációs rendszer és az alkalmazás között? A megoldások sokféleségéből adódóan mindkét megközelítésre találhatunk példát - vizsgáljuk meg most közelebbről ezeket! A legegyszerűbb esetben a virtualizációs "motorra" úgy kell gondolnunk, mint egy szimpla alkalmazásra, amely azonban a hardveren futó operációs rendszer és az alkalmazások közé ékelődik be. Segítségével lehetővé válik az erőforrások "elemi szinten" történő felügyelete és csoportosítása - például garantálható, hogy egy szerveren belül az alkalmazások adott Intel® Virtualization Technology -5- Csala Péter – Sonkoly Ferenc processzor- és memória-erőforrások előzetesen meghatározott hányadához férhessenek hozzá, s hogy azok volumene a szükségletek változásával párhuzamosan, rugalmasan változtatható legyen. Előnyként említhető még, hogy a rendszer továbbra is egyetlen egészként felügyelhető, tehát nem
jelentkeznek a több rendszer párhuzamos menedzselésekor fellépő gondok. Az ilyesfajta megközelítés jó példája a HP fejlesztette Workload Management Pack, amely a Windows Microsoft Job Objects funkcionalitására építve éri el a kívánt hatást. Egy fokkal komplexebb megközelítést képvisel a virtualizáció terén piacvezetőnek számító VMWare GSX Server elnevezésű terméke. A virtualizációs motor ugyan itt is az operációs rendszer "felett" fut, ám a hasonlóságok ezzel véget is értek, a GSX Server segítségével ugyanis nemcsak az erőforrásokat csoportosíthatjuk, hanem komplett virtuális gépeket (a szakterminológiában VM, azaz Virtual Machine, esetleg logikai szerver) is létrehozhatunk egy szerveren belül akár több tucatnyit is! A VM-ek hűen másolják a fizikai gépek tulajdonságait, vagyis mindegyiknek megvan a saját operációsrendszer-környezete, és persze ugyanúgy képesek különböző alkalmazások futtatására is - a
lehetőségeknek csak a VM-eket tartalmazó kiszolgáló erőforrásainak (és persze a "keret" operációs rendszer képességeinek) véges volta szab határt. A virtualizációs megoldások jelenlegi "non plus ultrájának" a VMWare ESX Server számít, amely kisebbik testvérétől eltérően közvetlenül a hardveren fut, vagyis a működéséhez nincs szüksége "keret" operációs rendszerre. Ennek megfelelően az általa létrehozott VM-ek egymástól jobban izoláltak, nagyobb teljesítményűek és hatékonyabban skálázhatók. Az ESX Server funkcionalitás terén is előrelépést jelent: a segítségével akár fürtözött konfigurációkat (clustereket) is létrehozhatunk a VM-ek között, tovább növelve a rendszer rendelkezésre állását. Intel® Virtualization Technology -6- Csala Péter – Sonkoly Ferenc