A VmWare ESX 3.5 és a Microsoft Hyper-V összehasonlítása – bevezetés

Napok kérdése és megjelenik a végleges Hyper-V, ezért érdemes összevetni a VmWare ESX 3.5-tel, amely jelenleg legelterjedtebb virtualizációs megoldás. A téma meglehetősen nagy, ezért több cikkben is foglalkozom vele. Ezúttal még csak alapozunk.

A hardver virtualizációs világban való elmerülés és a termékek összehasonlítása nem végezhető el a virtualizációs technológiák alapszintű ismerete nélkül. Három fogalommal kell megismerkednünk: Kódfordítás (binary translation); paravirtualizáció; hardveresen támogatott virtualizáció.

Kódfordítás (Binary translation)
Amikor egy IBM Mainframe üzemeltetővel beszélgetünk, hamar megkapjuk a lesajnáló mosolyt, amellyel az Intel fémjelezte(1) hardver architektúrával kapcsolatos véleményüket sejtetik. Ha konkrétumokra kérdeznénk rá a mainframe felsőbbrendűségét illetően, az érvek között bizonyosan ott lenne a virtualizáció képessége is. (Legalábbis ez igaz volt egészen a közelmúltig). Az IBM nagygépek már a hetvenes években képesek voltak a mai értelemben vett virtualizációra, igaz a fejlesztéseket akkor az operációs rendszerek korlátozott képessége motiválta. Egy IBM S/370 például már használta a processzor privilégium szint elvet (bizonyos processzor utasításokat csak bizonyos processzor privilégium szinten futó programkód adhat ki) a virtualizáció pedig azt jelentette, hogy a supervisorokat (az operációs rendszerek kerneleit) egy privilégium szinttel feljebb tolták (ring deprivileging) és a helyüket egy hypervisor – a supervisorok supervisora🙂 – vette át. Mindez azért volt lehetséges, mert valamennyi processzor utasítás, amelyet a supervisorok kiadtak, elkapható és emulálható volt (trap and emulate). Ezzel szemben az x86/x64 felépítésben 17 olyan processzor utasítás is létezik, amelyekre a fenti megoldás nem működik és speciális módon kell kezelni. Az első termék, amely megoldotta a lehetetlent, a VmWare-é volt 1999-ben. A VmWare kódfordítása dinamikus jellegű. Az éppen futó kód egy blokkját fordítja, de ott is csak azokat, amelyek ún. érzékeny utasítások, vagyis amelyeket az adott prvilégium szinten nem lehetne kiadni. A későbbiekben további kódfordító megoldások jelentek meg a piacon, többek között ilyen a Microsoft Virtual Server 2005 is.

Paravirtualizáció
"Ha Mohamed nem megy a hegyhez, akkor a hegy megy Mohamedhez" tartja a mondás, és ez illik a paravirtualizációra is. Ha nem olyan a processzor-architektúránk, amely támogatná a virtualizációt, akkor módosítsuk az operációs rendszerünket, amely elkerüli a veszélyes utasításokat. Ez a paravirtualizáció lényege. Gyorsabb (sokkal gyorsabb), mint a kódfordítás, de az operációs rendszer módosítását igényli, ráadásul az így nyert operációs rendszer nem fut a valóságos processzoron. Ezen az úton járt kezdetben a Xen.

Hardveresen támogatott virtualizáció
"Mohamed mégis megy a hegyhez" – ha már ragaszkodunk az előző képhez. Mind az Intel, mind pedig az AMD elkészítette a processzor architektúráinak a módosítását úgy, hogy egy további privilégium-szintet iktattak be. Végre lehetővé vált, hogy minden operációs rendszer a megszokott privilégium szinten futtathassa a maga kódját, miközben a hypervisor az új szintre költözik. Mivel ezáltal megvalósulnak az eredeti virtualizációs követelmények, a hardveres támogatásnál nincs már szükség sem kódfordításra, sem pedig módosított operációs rendszerre. A Microsoft Hyper-V csak olyan processzoron fut, amely a hardveres virtualizációt támogatja.

Látható, termékek, cégek, megoldások eltérő technológiai alapokról indultak, a vállalatok másba és másba fektettek sok energiát. Ha nem is azonos mértékben (kifejtjük majd milyenben), de ma már mindenki (Microsoft, VmWare, Xen) használja a hardveres támogatást és a paravirtualizációt.

Innen folytatjuk

(1) – Itt végeredményben az IBM által egykor megálmodott PC-architekúráról van szó, annak mai leszármazottairól. A megfogalmazás nem pontos annyiban, hogy az Intel mellett más gyártók is (elsősorban az AMD) gyártanak ebbe a piaci szegmensbe processzorokat, a tényleges architektúra pedig leginkább senkié, habár a legnagyobb befolyással az Intel rendelkezik.

One Response to A VmWare ESX 3.5 és a Microsoft Hyper-V összehasonlítása – bevezetés

  1. János says:

    Be lehetne linkelni a további cikkeket, hogy sorba végig lehessen olvasni azokat.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: