XEN-es rendszer otthoni környezetben - tapasztalatok ( Debian alatt )

Nos.. Eljutottam ara a pontra, hogy úgy érzem erről is ideje lesz beszámolni, ha esetleg valaki XEN-es irányban szeretne mozgolódni, de még döntés elött áll, és szeretné tudni, hogy mire számítson.

Azt most nem tisztáznám, hogy mire is jó a XEN, aki ilyesmire vágyik az az alábbi honlapon rengeteg információt gyüjthet össze erről a kérdésről.

2 tesztet folytattam a XEN képességeinek vizsgálatára:

* Debian Testing (lenny) rendszer alatt a legfrisebb XEN verziót ( mercurial repository-ból forgatva ) mértem teljesen házi használat melett ( filmnézés, böngészés, zene halgatás, FTP/WEB/torrent letöltés, videó kódolás, IRC, illetve némileg játékok )

* Debian Stable (etch) rendszer alatt a stable 3.1-es XEN verziót szerver szerű használat esetén ( ez esetben a samba, bind9, postfix, pure-ftpd volt a fő irányvonal )

Előszőr nézzük a home használat meletti tapasztalatokat:

Kezdésképp le is szögezném miért is nem a Stable XEN verziót használtam ez alatt: A testing fában lévő hald, KDE library-k és sok más dolog hajlamos volt a stable alatt segmentaion fault-ot adni, így csomó minden nem is működött ( többek között a bejelentkezés se, ugyan is a gdm se bírt ezzel a problémával megbírkózni ), ezért kelett a legfrisebb verzióra váltani, ott ugyan is a jelek szerint ezt a hibát már orvosolták.

Miután a rendszer a legfrisebb XEN verzióval felállt a tapasztalatok azt mutatták, hogy a használhatóság tekintetében kb ugyan az, mintha egy normál rendszerünk lenne, csupán megvan az a lehetőség, hogy melette más OS-eket is futassunk :) Ezt persze enm is hagytam ki, és a sokak által (még sajnos) igényelt XP-t fel is tettem 2. virtuális gépként, hogy aztán megnézhessem mennyire lassítja egyik a másikat.
A tapasztalat kb azt mutatta, hogy az alap rendszert az XP csak erős CPU terhelés melett volt képes lassítani, illetve komoly I/O írás/olvasás melett: Ilyenkor ugyan is tényleg az alap rendszer ( Dom0) rovására tudott csak működni, ám mivel külön memória területett kapott ( 512 MB-ot adtam mind a Dom0-nak, mind a Dom1 alatt futó XP-nek ), így ezzel nem volt különösebb gond.

Ami az XP használhatóságát illeti: Sok szempontból azt kelett lássam, hogy elég gyengén muzsikál:

-a qemu által nyújtott videókártya nem épp a legütősebbek közé sorolható, így ha olyan programot szeretnénk futtatni, ami komolyabb videókártya támogatást is igényel akkor erről el is feledkezhetünk ( 3D támogatás meg még a felszenvedhető Nvidia driver után se volt meg, csak a Dom0-án ), így ha esetleg windowsos játékokkal akarnánk játszani, akkor Dom0 alatt wine/cedega és feltelepített videókártya driverrel lehet még esélyünk: Itt nem. Így csupán a 1-2 program esetén láttam értelmét a virtuális gép használatának ( leginkább a Subtitle WorkShop esetén )

-Ahoz képest, hogy Natív virtualizációról beszélünk sajna túl nagy jelen esetben a qemu függőség, ami viszont nagyon sok mindent szoftveresen kezel le, így ahoz, hogy türhető sebeséggel fusson az XP rendesen le kelett butítsam

Mindemelett 1-2 dolog miatt még home környezetben nem tartom ajánlhatónak a XEN-t:

-A 2.6.18-as kernel sajnos már (szerintem) réginek tekinthető, és sok minden nem képes normálisa működni alatta ( legnagyobb hiány számomra az ntfs-3g volt, ami ugyan hajlandó működni, de helyenként elég megbízhatatlanul )

-Nem tudtam eldönteni, hogy a torrentet nem szereti a gép, vagy a torrent által használt hálózati igénybevételt, ugyan is a legfrisebb verzió alatt ( az elötte teszteltnél még nem) olyan durvaságokat tudott produkálni a XEN ( normál kernel esetén nem ), hogy programtól függetlenül ( rtorrent / ktorrent / wine+utorrent ) véletlenszerű időközönként újraindította a gépet, ami azért feletébb idegesítő tudott lenni ( főleg, hogy a Dom1 alatt működő OS logjaiba semmiféle bejegyzés nem került, csupán, hogy a számítógép újraindul ).

Ezen okok miatt úgy érzem, hogy home környezetben nem igazán ajánlható a XEN jelen állapotban ( késöbb ez még természetesen változhat, hisz olyan sok hibát személy szerint nem találtam, és ezek közül is a legtöbb valószínű annak tudható be, hogy testing fázis alatt lévő XEN-el kísérleteztem ), ám késöbb még használható virtualizációs megoldás válhat belőle, főleg ha sikerülne a qemu-s függőséget megszakítani.

Nézzük akkor a szerver környezetben mit is tapasztaltam:

Itt (mint fentebb is írtam) csak stabílnak kikiáltott programokkal dolgoztam, aminek azért meg is volt a gyümölcse: 3 virtuális gépet futattam, mind1iken etch-et, külön-külön szerver funkciókkal, mindegyiknek 512MB RAM-ot kiajánlva X és bármifére felesleges program nélkül.

Az eredmény: szinte hibátlan működés..

-Az Etch alatt lévő programok egyike se szált el segmentation fault-al, mint a fentebb említett esetekben, ami azért kifejezetten jó érzés volt.

-A szimultán egymás melett futtatott rendszerek közel hozták azt a teljesítményt amit egy natív virtualizáció melett várni lehet: gyorsan reagáltak, nem kelett rájuk várni:

Téynleg élmény volt.

-A 2.6.18-as kernel itt inkább előnynek számított, ugyan is sok security patch-et fel lehetett alá pakolni, amik közül 1-2 akadt csak a XEN-el, de ezt kis tesztelgetés után viszonylag könnyen ki lehetett szűrni.

Végeredményképp: szerver funkciók esetén nem találtam hibát ( legalább is olyat nem, amire nem találtam volna javítási javaslatot ), így egy komolyabb XEON-os gépen vállalati környezetben némi tesztelés és finomítás után teljesen használhatóvá válik szerintem ( főként, hogy a külön-külön kiosztott virutális NIC-ek itt egyáltalán nem akadtak komolyabb használat esetén, hanem szépen végezték a dolgukat (ezt samba + pure-ftpd + wget +scp együttes folyamatos probléma mentes munkálya után merem kijelenteni )

Öszességében: Otthoni környezetben még nem tartom elég kiforrottnak a fentebb sorolt problémák miatt, szerver környezetben viszont kifejezetten használhatónak bizonyult, főleg ha még erre rászámolom, hogy egy komolyabb szervergép olyan 6-8 virtuális gépet szerintem el tud kezelni, amik viszont így csak 1 gépet terhelnek fizikailag, tehát nem kis áram megtakarítást lehet vele elérni, nameg sok-sok felszabadult helyet/unitot.

Akinek esetleg még vannak hasonló tapasztalatai annak szivesen meghalgatnám a véleményét a témával kapcsolatban.
Én személy szerint mot ezt a project-et kicsit jegelem mondjuk fél-1 évig, aztán esetleg visszanézek rá.. Mindenesetre a virtualizációs igényeimről nem mondok le, így most azt hiszem a virtualbox jön soron :)

Hozzászólások

Grafikailag melyik virtualizációs eszköz tud hardveres gyorsítást? VmWare? Virtualbox? Mert szerintem egyik sem, de azért még lehet, hogy mégis. :)

Az egyetlen dolog, amit nem értek, hogy több, teljesen azonos rendszert (2.6.18-as kernellel szerelt etch 3x) mi értelme egymás mellett futtatni? Ezeket a feladatokat egy rendszer ugyan azon a hardveren nem tudta volna ilyen jól ellátni?

Hát Dom0 alatt van lehetőséged mint írtam az Nvidia drivert felszenvedni ( AMD ATI-n nem néztem, bár nem tartom lehetetlennek ), szóval így so-so elérhető a hardweres goyrsítás.. Amúgy valóban én se tudok másfajtáról..
Viszont Win alatt még az SDL library haszálata ( amennyiben nem VNC-n akarjuk elérni ) szintén eléggé lefele húzta a sebességet.

A több gép kapcsán: Az elképzelés kb annyi volt, hogy hozunk össze, egyfajta szerverparkot minimális szerver számmal, ahol a különböző szerver funkciót nyujtó gépek működnek. ( szerver biztonság szempontjából amúgy is előnyösebb, ha a funkciók külön vannak lehetőség szerint szeparálva ), ezért is volt szétosztva több felé, illetve amint írták: hogy tesztelhessem hogy a több virtuális gép esetén hogy reagál a gép, és milyen hatásfokkal képes elkülönítenia gépek erőforrás igényeit többszörös terhelés esetén ( tehát egyszerre futattam scp-t 2 gép között, samba kéréseket az 1ik szimulált kliens gép és a szerver között, a másik szerveren éppen egy teszt file-t töltöttem wgettel, illetve megint egy másikon a pure-ftp által megosztott tartalmat töltöttem le ( még mondjuk bonyolíthattam volna úgy, hogy felrakok egy mysql szervert is, és mondjuk onnan autholom a pure-ftpd-t meg esetleg valamilyen apache szerver weblapjait, vagy hasonlót LDAP-al, de ilyesmire nem vetemedtem :))
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..

Nem értek különösebben hozzá, de hogyan jön a XEN -hez a QEmu?

-----
"Egy jó kapcsolatban a társunkat az ő dolgában kell támogatni, nem a miénkben."

A XEN sajna a mai napig elég sok mindenben támaszkodik a qemu-ra, ezért is van benne.. Ahogy néztem főleg a disc kezelés, illetve a videókártya kezelés az amit még nem oldottak meg a XEN-esek egymaguk, és ezért a qemu-t építették inkább bele a XEN-be ( többek között amúgy ha megnézed az előző blog bejegyzésemet ott is írom, hogy a qemu-t fel kell telepíteni ahoz, hogy telepíteni tudd forrásból a xen-t.
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..

"The world doesn't need another virtual hard disk format, so with Fabrice Bellard's blessing (QEMU author) we're strongly advocating that the Xen project adopt it."

"QEMU has proved to be very helpful for providing Xen HVM guests with emulated IO devices. However, Xen's current "qemu-dm" code has diverged quite heavily from mainline qemu, which means that we can't as easily capitalise on enhancements made to mainline qemu, and also makes it harder for us to contribute enhancements back to Fabrice. Fixing this is a priority. We are developing a re-implementation of qemu-dm that is maintained as a patch queue against an unmodified snapshot of mainline qemu, and hope to have this ready for testing soon. Like the shadow pagetable code, this is going to require extensive testing even prior to inclusion in -unstable."

forrás: http://wiki.xensource.com/xenwiki/XenRoadMap

Mesélnél esetleg nekem arról a qemu mentes XEN-ről bővebben is ( azon kívül, hogy "worksforme" )??
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..

attol meg qemu nem kell hozza, mert van benne qemu kod :)
maximum ajanlott, ha tomoritett/titkositott image-ekre akarsz vm-et huzni

den me tudom mit ertetlenkedsz, most mert hasznaltam qemu nelkul azert szemet vagyok?

replaced$ pwd
/usr/pkgsrc/sysutils/xentools3-hvm

replaced$ make show-depends-dirs
devel/SDL
devel/dev86
devel/gmake
lang/perl5
lang/python24
pkgtools/digest
sysutils/checkperms
sysutils/xentools3
x11/kbproto
x11/xproto

replaced$ cd ../xentools3

replaced$ make show-depends-dirs
devel/gmake
devel/py-readline
lang/perl5
lang/python24
pkgtools/digest
sysutils/checkperms
textproc/py-xml

-. . - -... ... -..

"den me tudom mit ertetlenkedsz, most mert hasznaltam qemu nelkul azert szemet vagyok?"

Semmi ilyet nem mondtam... Mondjuk az igaz, hogy meglepett, hogy az eddigi XEN-es tapasztalataim és utánajárásaim alkalmával qemu mindig szembejött, ezért is volt nehéz elhinnem hogy NetBSD-nél nem így van.. De hát istenem. Ezek szerint van ahol szimplán beleemelték a kódot a qemu-ból és nem külön függőségként kezelik.

Mindenesetre azért thx az infót. Mondjuk ettől mnég debian alatt dependency, de hát így jártunk :)
____________________________________
Az embert 2 éven át arra tanítják hogyan álljon meg a 2 lábán, és hogyan beszéljen... Aztán azt mondják neki: -"Üllj le és kuss legyen!"..