Fullplatform virtualizálás Linuxon desktop célra 2: Spice on KVM

Korábbi, desktop virtualizációs megoldásokat vizsgáló bejegyzésemben nem volt érkezésem kipróbálni a Spice -t KVM fölött, ami hiba volt: ez a jelenlegi legesleggyorsabb GUI Windows guest -el!

A Spice egy platformfüggetlen távoli asztal megoldás a több tucat mellett, viszont ez az egyetlen multiplatform FOSS, amelyk nem csak bitmap -ként viszi át a képet. A kliensen próbál minél több dolgot renderelni, felhasználva annak hardveres gyorsító funkcióit.

A tesztben Windows XP -t futtattam 32 biten (host: Fedora 12 64 bit), mivel a Spice -t erre a legegyszerűbb felvarázsolni. A teszt közel sem tudományos: csináltam egy listát, ami általában problémát okoz távoli/virtualizált desktopon:

  1. ablak mozgatása
  2. ablak mozgatása ablakok fölött (többszörös redraw)
  3. scroll szövegszerkesztőben, browserben
  4. scroll fájlkezelőben, ftp kliensben
  5. flash és videólejátszás
  6. képek zoomolása/panningja
  7. menük, legördülő listák pörgetése

majd váltogattam a VirtualBox -ot és a KVM/Spice -t, közben jegyzeteltem, hogy az adott pontban melyk hogy teljesített.

A videólejátszás, a flash, a képek zoomolása kb forma-forma, viszont minden másban ellépett a Spice, egyértelműen gyorsabban rendereli és scroll -ozza a szöveget, weboldalakat, gyorsabb a redraw és a mozgatás/átméretezés. A különbség nem nagy, kb csak akkora mint a VirtualBox és a VMWare között: észrevehető, de nem szembetűnő. Néhány feladatban már fel se tűnik, hogy nem natívan fut.

A Spice -hoz természetesen guest driver kell, ami az Xorg mellett jelenleg csak 32 bites Windowsra van (készül 64 -re), elvileg Windows 7 -re is felmegy, de a driver aláírásába (test signing) már a KVM virtio driverekkel is belebuktam, meg se próbáltam, majd ha aláírja a Microsoft megnézem.. XP -re sima ügy feltenni.

A Spice -ról nincs jó friss leírás, mivel igen aktívan fejlesztik, pár hónap alatt elavul mind. Aki MOST ki akarja próbálni Fedora 12 -n XP guest -el, annak tudok segíteni, nem bonyolult:

1. Tedd fel a kísérleti qemu-spice csomagokat e szerint. Ami a leírásból kimaradt, kell egy yum upgrade pixman* is.
2. Indítsd el vele a már felinstallált XP -d valahogy így:

qemu-spice -enable-kvm -m 1024 -drive file=~/kvm/MYXPIMAGE_CHANGEME.img,if=ide,index=0,format=qcow2,cache=writeback -net nic,model=rtl8139,macaddr=11:22:33:44:55:66,vlan=0,name=nic.0 -net tap,vlan=0,name=tap.0,script=no,downscript=no -spice port=1234,disable-ticketing -vga qxl -device vdi_port

3. Tedd fel a Windows drivereket e szerint. Abban a leírásban a qemu indítása már elavult, ahelyett úgy kell ahogy fentebb írtam. A -net rtl8139 azért kell, mert már nem ez az alapértelmezett emulált hálókártya az új qemu -ban (0.12.50) és az XP nem ismerné másképp. Ehhez a qemu -hoz már csak az unstable videó driver jó, ezt próbáld installálni, ne a 0.4 -et!

Hogy ezután a KVM -nek hogy adsz netet, rádbízom, ahhoz már vannak jó leírások. :)

Nekem ezennel a KVM lett a kedvenc megoldásom "otthoni" virtualizálásra: Spice, KSM (memória deduplikácó), automatikus paravirtualizáció Linux guest -el (0-1% idle cpu). Ezek egyedülálló, geek-szívet melengető KVM fícsörök. A használata persze egyelőre gáz, de biztos vagyok benne, hogy 1 év múlva már minden megy libvirt -ből, hekkelés nélkül.

Nagyon kíváncsi lennék egyébként, hogy a nagyvállalati távoli asztal (VDI) megoldások mit tudnak, van aki használja pl a Vmware View -t vagy a Citrix XenDesktop -ot? A Redhat a Spice -t ezek mellé próbálja felnöveszteni, én nagyon remélem, hogy sikerrel, mert ebből sokat profitálhatunk mi is, SOHO felhasználók.

Hozzászólások

Mióta a Rhel dobta a Xen-t, és highlightolta a Qemu-t, egy elég sajnálatos fázis indult el, méghozza hogy szerény jóslásom szerint (és más nálam sokkal érdekeltebb, hozzáértőbb emberek szerint) a Xen (legalábbis az opensource vonal) erős szarban van, amit nem biztos hogy megtud oldani.

Témához vágva: A két általad említett "enterspájz" rendszer között, abszolút kiélezett a harc, jelentősen egyik sem jobb a másiknál, maximum bizonyos vonalakban.
A Citrixtől mindig jönnek meglepetések elég gondolni a XenServer 5.5-re ami ingyenes és fényévekkel többet tud az ESXi-nél, nyilván VMware-nél sem hülyék ülnek, és amiben nem ők a jobbak, törekszenek rá hogy azok legyenek.

Pontosan mik érdekelnek?

A Xen most állítólag érdemben dolgozik azon, hogy a dom0 -át beolvasszák a kernelbe, talán érzik a veszélyt. Én még nem használtam Xen -t, személy szerint nem tetszett az arrogancia amivel be akarták nyomni a dom0 patchet a kernelbe, ettől persze jó a technológia, de a trend az, hogy ami nincs beolvasztva, annak idővel leáldozik, igyekezzenek bármennyire, nem érdemes építeni rá.

Konkrétan az érdekel, hogy a remote desktop mennyire "gördülékeny" a Vmware View/Citrix XenDesktop -on. Olvastam, hogy előbbi a PCoIP zárt protokollal, utóbbi az ICA -val oldja meg. Soha nem láttam meg ezeket működés közben, kíváncsi lennek, hogy mennyire vannak elmaradva a natív teljesítménytől.

A Citrix XenDesktop ilyen jellegű teljesítményben szerintem jobb (igaz, a view-t utoljára 1-2 hónapja láttam "élőben", a XenDesktopot meg pár hete, nyilván más infrastruktúrán voltak üzemeltetve, így nem lehet 100%-os tény ez.

Elég megnézni azt, hogy a Citrix tudatosan állt rá hogy úgynevezett High Definition User Exprerience On Any Network (szándékosan nem akartam lefordítani)-re, ami nem véletlen.

Neztam par tesztet. Ugy latom spice legfobb elonye(/hatranya), hogy cliens CPU idejet hasznalja a server helyett,ill. multimedias tartalmaknal sokkal jobbank tunik, mint barmi.

Amit nem lehet megirni assemblyben, azt nem lehet megirni.