Hyper-V Linux integrált komponensek nyílt forráskóddal, GPLv2 licenccel

Az első budapesti virtualizációs nap legvégén, a kerekasztal beszélgetés kezdetén, azt a kérdést kaptam nyitásképpen, milyen Linux verziók támogatottak Hyper-V alatt (vagyis: felett). Ezzel rögtön bele is futottunk a LINUX-támogatottság-IC problémakörbe. Nagyjából vázoltam a jelenlegi (akkori) helyzetet, és hamar kibukott, hogy a most (akkor) elérhető IC csak a 2.6.19-es kernel verzióig képes működni, annál újabbak esetén el sem indul. Rögtön jött a kérdés, hogy vajon a Microsoft miért nem GPL alatt fejleszti az integált komponenseket a Linuxhoz. Erre azt válaszoltam, hogy “Nem tudom, pedig logikus lenne.” majd mindjárt hoztam egy példát, nevezetesen a System Center Operations Manager 2007 R2 Cross Platform Extension fejlesztését, ahol a Microsoft aktívan beszállt az OpenPegazus projektbe.

Úgy látszik, nem csak én gondoltam, hogy van értelme egy ilyen lépésnek. A minap a Microsoft bejelentette, hogy kb. 20 000 sornyi forráskódot, a Hyper-V Linux Integrált komponensét (rövidítve: IC),  a GPLv2 licence alá helyezi, az IC eszközmeghajtók pedig a Linux kernel eszközmeghajtó ágában fognak megjelenni. Juhéjj!! A világ persze a szenzációt keresi, és az, hogy “Microsoft és GPLv2”, így együtt, szenzációsnak tűnik. Meg az is, hogy “a Microsoft részt vesz a Linux kernel írásában”, ami meg, ugye, nem egészen pontos fogalmazás.

Azt gondoltam, hogy a magam tudásával összeütök egy kis “Gyakori kérdések" listát, hátha sikerül néhány fehér foltot eltüntetni a témába.

K: Milyen szoftvert tett nyílt forráskódúvá a Microsoft?
V: A Hyper-V-n futó Linuxos virtuális gépekhez tartozó integrált komponensek forrása lett nyílt.

K: Mi az, hogy Hyper-V?
V: A Hyper-V a Microsoft nyers vason futó (angolul. bare metal, vagy type I.) hypervisora. Olyasmi, mint a Xen, vagy a KVM.

K: A teljes Hyper-V nyílt lett?
V: Nem. Távolról szemlélve a Hyper-V három részből áll: Maga a hypervisor, a szülő partíció (mint a Xen-ben a Dom0) komponensei és a gyermek partíciókba (virtuális gépekbe) telepítendő, operációs rendszer függő, integrált komponensek. E három közül az utolsó, abból is a Linuxhoz tartozó lett nyílt.

K: Pontosan mit jelent, hogy integrált komponens, és mit csinál?
V: Leegyszerűsítve olyasmi, mint a Xen-es paravirtualizált driverek.

image

K: Ok. És nem leegyszerűsítve?
V: Az Integált komponensek is három részre oszthatók:

1. Paravirtualizált driverek, jelenleg:
   – Hálózati csatoló
   – IDE csatoló
   – SCSI csatoló
   – Videó kontroller
   – Egér vezérlő
2. Integrációs szolgáltatások, jelenleg:
   – Hyper-V Heartbeat Service
   – Hyper-V Guest Shutdown Service
   – Hyper-V Data Exchange Service
   – Hyper-V Volume Shadow Copy Requestor
   – Hyper-V Time Synchronization Service
3. VMBus (Virtual Machine Bus)

Ha az IC-t telepítette a rendszergazda, akkor a szülőpartíció és a gyermek-partíciók (virtuális gépek) között egy pont-pont adatkapcsolat jön létre, ez a VMBus. A paravirtualizált driverek ismerik a VMBus-t és ezen keresztül, a Hypervisort tehermentesítve küldenek illetve fogadnak nagy mennyiségű adatot. A vituális gép I/O (és minden egyéb) teljesítménye ugrásszerűen javul, a virtualizációs többletteher pedig jelentősen csökken.

K: A most nyílttá tett Linux IC minden komponenst tartalmaz?
V: Nem. Tartalmazza az VMBus-t és a paravirtualizált drivereket a videó kontroller kivételével.

K. Tehát nincs például a virtuális gép és a gazdagép között időszinkronizáció?
V: Linux IC esetén, a virtuális gép futása során nincs, csak a VM bootolásakor.

K. És nincs Guest Shutdown Service sem?
V: Linux IC esetén nincs. A VM-ben futó operációs rendszerből kell kiadni a leállítási parancsot, a Hyper-V MMC konzoljából vagy SCVMM-ből ez nem működik.

K: A zárt forráskódban ez még megvolt?
V: Nem, ott sem volt. A most nyílttá tett kód volt régen a zárt kód.

K: Mi az, hogy “Hyper-V Volume Shadow Copy Requestor”?
V: Az egy olyan képesség, amelynek a segítségével nyitott állományokat is le lehet menteni. A Hyper-V esetén ez azt jelenti, hogy a virtuális gépek futás közben konzisztens állapotban menthetők. A Linux IC-ben ez a képesség még nincs meg.

K: És a hiányzó részekkel mi lesz? Ezek nem is kerülnek bele a nyílt kódba?
V: A Microsoft elkötelezte magát, hogy továbbfejleszti a kódot és minden, a Windowsos IC-ben megtalálható funkció elérhető lesz a Linux IC-ben is. Épp azért történt a nyílt forráskódúvá tétel, hogy ez a folyamat felgyorsuljon.

K. Tehát az IC-től jobban fog futni majd egy Linuxos gép Hyper-V felett. Van a most megjelent IC-ben vSMP támogatás?
V: Nem, a mostaniban nincs, és az RTM-ben sem lesz. De később belekerül a kódba.

K. Ha egy disztribúcióban benne lesz a Hyper-V IC, akkor azt a disztribúciót támogatja majd a Microsoft?
V: Nem. A “támogatás” kifejezést a Microsoft széles értelmezi, ezért óvatosan bánik vele. A most megjelent Linux IC-vel a következő disztribúciók támogatottak:

· Red Hat Enterprise Linux 5.2 (x86/x64)
· Red Hat Enterprise Linux 5.3 (x86/x64)
· SUSE Linux Enterprise Server 10 SP2 (x86/x64)
· SUSE Linux Enterprise Server 11 (x86/x64): (hamarosan)

Ezen disztribúciók esetén a Microsoft ügyfelek a Linuxos kérdéseiket is továbbíthatják a Microsofthoz, amelyeket az MS gyártói keresztszerződések segítségével megválaszol/megold. A többi disztribúció esetén az lesz a helyzet, hogy a Microsoft a nyílt forráskódú IC-t támogatja majd, a disztribúciókkal kapcsolatos problémákkal viszont a disztribúció gyártójához kell fordulni.

K: Ez a verzió egy végleges változat?
V: Nem, hivatalosan “Release Candidate 2” a megjelölése. A RTM kód szeptember végéig várható.

K: Kér pénzt azért a Microsoft, hogy egy virtuális Linuxos gépet Hyper-V felett futtatok?
V: Nem, nem kér. A Hyper-V ingyenes abban az értelemben, hogy letölthető és használható. Természetesen birtoklási költsége mindennek, így a Hyper-V-nek is van.

K: Én úgy tudtam, hogy a Hyper-V a Windows része, az meg pénzbe kerül.
V: Igen, a Hyper-V a Windows operációs rendszer része. A Microsoft azonban kiadott egy Hyper-V Server változatot is, az viszont nem kerül pénzbe. Ez a változat a virtualizációs képességeket tekintve teljes értékű a Windows Serverbe beépítettel összevetve.

K: Miért éri meg a Microsoftnak nyílt forráskódúvá tenni a Hyper-V IC-t? Megtérnek?
V: A Linux IC fejlesztése lassan halad és a megfelelő eredmény (értsd: sebesség, válaszidő, késleltetés stb) elérése érdekében szorosabb együttműködésre van szükség a a Linux kernel fejlesztőivel. Ebben az esetben a nyílt forráskód és a GPLv2 a megfelelő megoldás. Az várható, hogy hamarabb jelenik a Linux IC, gazdagabb funcionalitással és folyamatosan követni fogja a Linux kernel változásait.

K: Várható, hogy a Microsoft megnyitja a teljes Hyper-V forráskódot?
V: Nem, erről nincs szó.

K: A Microsoft a Linuxszal való erőlteljes verseny miatt kényszerült kinyitni a kódot?
V: Nem. A heterogén környezet támogatása elengedhetetlen követelmény egy platformként működő hypervisor esetén. A Hyper-V jól teljesít a Windows virtualizációja során, de elmarad a többi platform befogadásában, ideértve nem csak a Linux disztribúciókat, de a Unixokat is. A Lemaradás különösen a VMware-rel szemben jelentős. A nyílt forráskód nem csak a Linux adaptációt segíti, de a többi platform felé is segítség lehet. Vagyis a Microsoft ebben az esetben nem a Linuxszal vetélkedik, hanem inkább a VMware-rel.

K: Elképzelhető, hogy a Microsoft egyszer majd visszavonja a kódot?
V: Nem. Szándék sincs rá, és ezt a GPLv2 is kizárja.

K: Ez az első eset, hogy a Microsoft nyílt forráskódot fejleszt?
V: Nem. A Microsoft korábban részt vett több, nyílt forráskódú projektben, így a PHP és a Firefox Windows-on való optimalizálásában, vagy az OpenPegasus programban. Viszont most fordul elő először, hogy a Microft által írt kód a Linux kernel módú komponensei közé kerül.

K: Mi lesz a többi platformmal? Én a FreeBSD-t favorizálom.
V: Egyelőre a Linux disztribúciók integrált komponensekkel való ellátása a cél. A nyílt forráskód és a GPLv2 viszont előre vetítheti, hogy a jövőben más platformokba is bekerüljenek a Hyper-V VM oldali komponensei. Erre vonatkozóan egyelőre nem jelentett be semmit a Microsoft.

K: Tervez-e újabb nyílt forráskódú projektet a Microsoft?
V: Bizonyára, bár erről semmilyen hivatalos információ nincs. Fantáziálni azonban lehet. Ha például valódi VSS támogatást szeretnénk adni a Linuxos virtuális gépekben, akkor szükség van Linux oldalon egy VSS szolgáltatásra is. Ha esetleg ennek megalkotásában (vagy egy már elkezdődött projektben) részt vesz a Microsoft, akkor megnyílik az út például a System Center Data Protection Manager számára, hogy nem csak Windows-okat mentsen. Még egyszer: mindez csak találgatás.

K: Érdekel, hogy mit csinál a Microsoft a nyílt forráskódú világban. Van erről egy tájékoztató oldal?
V: Igen, több is:

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: