A hardveres és a szoftveres virtualizáció sebessége

Címkék

Az elmúlt hónapok legnépszerűbb szava mindenképpen a "virtualizáció". Ismét erről hallhatunk. A legnagyobb processzorgyártók (AMD, Intel) mindegyike előáll(t) a saját hardveres virtualizációjával (Pacifica, Vanderpool). Az ember fia azt hinné, hogy ami hardverből, izomból van megoldva, az biztos gyorsabb, mint a szoftveres megoldás.

Azonban úgy tűnik, hogy ez nem minden esetben igaz. A VMware készített egy tanulmányt, amelyben meglepően arra jutottak, hogy a hardveresen segített x86 virtualizáció gyakran alulmarad a szoftveresen segített virtualizációval szemben. Az egyik példa a Linux kernel fordítása volt virtualizált Linux operációs rendszer alatt. A művelet natívan 265 sec-et, szoftveresen segített virtualizációval 393 sec-et, hardverrel támogatott virtualizációval 484 sec-et vett igénybe. Ebből arra a következtetésre jutottak egyesek, hogy a hibrid megközelítés lesz valószínűleg a helyes válasz a virtualizációs kérdésre.

Hozzászólások

a hardver "buta" csak annyit tud, amennyit eppen annak a processzorciklus kozvetlen kornyezeteben lat, a szoftver latja a teljes multat, meg meg a jovobol is ami kiszamolhato.
ott gyorsabb a hardveres megoldas, ahol a mult/jovo lenyegtelen, ahol szamit, ott a hardver altalaban sokkal tobbet dolgozik, nagyreszet feleslegesen.

az olyan hibridek, ahol a szoftver mondja meg, hogy mit csinaljon a hardver azok lenyegesen gyorsabbak mindket elozo megoldasnal.

Anr - http://andrej.initon.hu

OFF

szervereknel pl miert van ertelme a virtualzacionak, ha ennyivel lassabb virt.os?

azt ertem hogy pl feljlesztoknek, teszteloknek, felhasznaloknak miert jo, de egyebkent mi ertelme van?

ON

::powered by Archlinux

Jogos a kerdes. Te mint tarhely szolgaltato ki tudsz adni egy egesz (virtualis) gepet a usernek, amire olyan OS-t es szoftvereket telepit, amilyet csak akar. :-)

Van egy masik jotekony hatasa is, ezaltal ugy fertozheti kartevokkel a sajat gepet ahogy jonak latja. ;-)

---------------------
Minél korszakalkotóbb ötlettel állsz elő, annál több hülyén kell átverekedned magadat.

Szerintem a skálázhatóság(1) és menedzselhetőség(2) szempontjából hasznos lehet.
(1) Egy rendszer külömböző funkcionalitású részei egy gépen vannak, mégis elkülönítve (olcsó & biztos). Ha az erőforrások megtelnek, egy virtuális gép átpakolható egy másik gépre.
(2) Nincs sok gép, nincs annyi kábel. Kevesebb gépet kell karbantartani, szervízelni, stb.

najo de ez a 265 sec vs. 393 sec kernelforgatas kulonbseg akkora mint egy occso celero vs csucskategorias pentium nem?

nagyon nagy teljesitmenybeli romlast eredmenyez. tehat draga vason occso vas teljesitmenyet nyujtja. a biztonsagosra meg mivan ha elromlik a gep, ilyenkor megy az osszes virtualis is a halalba, egyebkent ha kulon gepen vannak lehet hogy a kiszolgalo csak egyik funkcioja all le miatta...

::powered by Archlinux

Én anno egy CPQ ML530G1-n (dual 933 P3 Xeon, kb. 2GB RAM) próbálkoztam egy Vmware ESX szerverrel. Manualban valami olyasmi volt, hogy 8 virt. gép/CPU a maximális, az ajánlott az 4 virt gép/cpu. Ennek nyomán csináltam is hirtelen 8 virtuális gépet, hogy vajon pl. a már említett virtuális szerver hosting mennyire működhet. Számszerű értékekre nem emlékszem már, de azt tudom, hogy konklúzió az lett végül, hogy ilyen minőségű szolgáltatásért én aligha adnék pénzt. Habár a fizikai gép nem volt egy mai darab, még azért elfogadható sebességet produkált nem virtualizáltan.

Szóval a skálázhatóság szerintem sem lesz előny, mert kvázi a vas ugyanaz marad, amin ha van 8 virtuális gép akkor nyílván nagyob terhelés lesz a fizikai gépnek, mint 4 virtuális gép. Tehát valószínüleg a virtuális gépek sebessége látja kárát a virtuális gépek skálázásának. Ha meg a fizikai gépet is skálázni kell (+RAM, +CPU) a virt. gépek számának növekedése miatt, akkor kérdés mennyi marad abból az előnyből, amit a kevesebb fizikai gép beszrzése, üzemeltetése jelent.

Az informatikában sokszor láttunk (látunk) olyat, hogy a kényelemért feláldozzuk az erőforrásainkat. Igazából én is jobb szeretem hardver felől megközelíteni a dolgokat (alulról építkezni). Pusztán kényelemért nem adnék fel ennyire jelentős kapacitást. De ha jobban belegondolunk, kell találni valahol kompromisszumot. Egyébként feltetnénk olyan kérdéseket, mint például mi értelme van C++ -nak a C-hez képest, hiszen az előbbi valamivel lasabb. Vagy mi értelme van a Javanak, .netnek, stb. Vagy mondok jobbat: mi értelme van pusztán egy feladatot ellátó (pl: FTP kiszolgállás) számítógépen időosztásos operációs rendszert futtatni?
Na mind1, ezzel csak azt akartam mondani, hogy valakinek biztos megéri a dolog. Még sokkal ésszerűtlenebb dolgok is megérik. Nézd meg, hányan fognak venni jobb vasat majd csak azért, hogy fusson rajta a Vista Aeroval :)

Egy elég szemléletes példa:

http://www.vmware.com/community/thread.jspa?threadID=33012&start=30&tst…

Ha van több vacak vason futó kiszolgáló alkalmazásod, simán ráteheted őket egy nagyobb megbízhatóságú gépre, ami elviszi az összeset. És mondjuk egy cég megfelelő támogatást nyújt, nem neked kell futkosnod egy rossz alkatrész miatt, esetleg jobban tudsz arra törekedni, hogy viszonylag egyforma gépparkod legyen - vannak ilyen helyek is.

A VMware Infrastructure (kvázi ESX Server + szolgáltatásai, http://www.vmware.com/products/vi/) ezenkívül meglehetősen sok szolgáltatást nyújt, amik sok gép kezelését nagy mértékben megkönnyítik, rugalmassá teszik, növelik a rendelkezésre állást, mindezt központosítottan, átláthatóan és egyszerűen.
(a rendelkezésre állás és megbízható működés sokszor fontosabb, mint bármi más)

Nagyon egyszerű például új kiszolgálót üzembe helyezni, javításokat megcsinálni, hardvert bővíteni (kompatibilitás!) és még hosszan lehet sorolni.

Az sem elhanyagolható, hogy egy vas mennyi áramot fogyaszt (+szünetmentes kapacitás!!!), hőt termel és helyet foglal. Ez mind-mind pénz.

Javitsatok, ki ha tevedek, de a hardware-es virtualizacionak, nem az az ertelme, hogy modositas nelkuli host operacios rendszert lehessen futtatni? pl. Windows.

En ugy tudtam, hogy a VMware lassabb mint a Xen, szoval en kivancsi vagyok, hogy egy Xen software/hardware sebessegbol mi jon ki. Soha nem hasznaltam semmi virtualizacios programot, ugyhogy ha hulyeseget irok javitsatok ki.

"Javitsatok, ki ha tevedek, de a hardware-es virtualizacionak, nem az az ertelme, hogy modositas nelkuli host operacios rendszert lehessen futtatni? pl. Windows."

Nem. VMware, qemu, stb. alatt eddig is lehetett módosítás nélkül OS-t futtatni.

"...handing C++ to the average programmer seems roughly comparable to handing a loaded .45 to a chimpanzee."
-- Ted Ts'o

ha írtok ide scripteket, lefuttatom native módban és para meg full virtualizáción. lehet variálni, külön, egyszerre, stb.

az fontos lenne, hogy a végén 1 script legyen. ha egy jól hozzáértő valaki megoldaná ezt a feladatot, az nagy segítség lenne.

a fájlrendszerek, para és full virtualizációkhoz, dd-vel készített img-k.
os: ubuntu, de szerintem mind1. ez is csak virtualizált.
hardver: majd...

Virtualizacio:

Minden lanc annyira eros mint amennyire a leggyengebb lancszeme. Virtualizaljunk ezerrel... Ha a vas leall n+1 kiszolgalo all le... Tegyuk fel at tudod koltoztetni... Wow megusztad... Nezzuk azt a helyzetet amikor a virtualis kiszolgalodba kraft kell... Itt ha gyors akarsz lenne veszel egy erosebb gepet (ha tudsz...) es arra atteszed... Ez piszkosul koltseghatekony! Ha az a nyomorult virtualis geppark futhatna egy hibrid clusteren azt mondom megoldas volna mind a rendelkezesreallasra mint a terhelesre... Ahonnan elmeletileg "vegtelen" eroforrassal dobhatod nyakon a host os-t es a vas nem single point of failure...

A VMware-nál erről a technológiáról VMotion néven lehet olvasni: http://www.vmware.com/products/vi/vc/vmotion.html

Azaz a lényeg, hogy úgy pakolod át a virtuális gépedet egyik vasról a másikra, hogy közben fut és végzi a dolgát, a hálózati kapcsolatok is megmaradnak (lásd tegnap esti hozzászólásomban leírt példát egy fórumban).

"Ha a vas leall n+1 kiszolgalo all le... "

Azért azt tegyük hozzá, hogy jó esetben virtualizálni nem Józsika "advanced" desktop PC-jéből avanzsált "szerverén" szoktak, hanem olyan vasakon, amiben jelentős mennyiségű redundancia, online spare alkatrész, hotplug táp, ventilátor, memória, adott esetben CPU, neadjisten alaplap van. :) Ezeknek a meghibásodási aránya (hogy az egész vas elpatkoljon) egészen kicsi. Persze a disaster szempontból (felrobban, leég, földreng, árvíz sújtja, ...) nem véééd, de ésszerű keretek közt egy nagyon jó hardver és hely kihasználási lehetőséget ad.

És hogy mennyire működik ez a virtualizáció, arra jó példa, hogy az összes "nagygépes" cég (Sun, IBM, HP) mindegyike nyújt vagy fog nyújtani ilyen szolgáltatást.

--
trey @ gépház

Érdemes elolvasnod, mit tud a VMware Infrastructure HA szolgáltatása. Nem tökéletes, lehetne még fejleszteni a funkcionalitást és az "intelligenciát", de alapvetően már most is nagyon jó: ha észleli, hogy leáll egy virtuális gép, mert pl elszállt alatt a vas, újraindítja egy másik vason.

Ez azért elég király. Ahogy valaki megjegyezte: itt nem 200e-ből összetákolt szerverekről beszélünk, ahol havi 400-as látogatottsága honlapok futnak havonta 100 forintért.