Portál AbcLinuxu, 8. května 2025 18:09
Prošel jsem si několik diskusí okolo virtualizací a vůbec z toho nejsem moudrý. Zdá se, že se to vyvíjí tak extrémně rychle, že se tady radši ptám jaký je stav. Uvažuju o nasazení kvm pro Linux a (bohužel) nějaké Windows servery. Jak je na tom v současné době? Xen spíše stagnuje. Dohonil ho už kvm? Jak je rychlý? Pokud to dobře chápu, tak kvm běží jen v jádře a obsluhuje se přes qemu, je to úplná virtualizace, která vyžaduje podporu hardwaru a tudíš by guest neměl vůbec vědět, že běži virtualizovaně. Je to tak? Předpokládáné nasazení: mail server, web server, windows licenční server pro nějaký spešl programy. Děkuji za odpovědi.
Ohladne KVM je to tak. KVM podporuje upnu virtualizaciu, paravirtualizaciu len ciastocne. Zalezi od konkretneho pripadu, pretoze niekedy je lepsie pouzit paravirtualizaciu.
Ja osobne som zvyknuty pouzivat vmware produkty, ale v tvojom pripade by som siel radsej do KVM ako do Xen-u.
A jak je v soucasne fazi vyvoje KVM rychle? Asi je to blbost, ale teoreticky by to jit melo: mohu 64bit guest premigrovat na 32bit hosta?
A jak je v soucasne fazi vyvoje KVM rychle?Samozřejmě závisí na požadovaném typu zátěže. Zátěž na CPU je nativní rychlost, síť na MB/s je v pohodě, na packet/s závisí na typu ovladače (emulace vs. paravirt), disk závisí na typu ovladače plus na typu úložiště (soubor vs. dedikovaná partišna), video použitelné jen na základní věci.
Asi je to blbost, ale teoreticky by to jit melo: mohu 64bit guest premigrovat na 32bit hosta?To nejde ani teoreticky, pokud se neuchýlíte ke kompletní emulaci procesoru.
Někde jsem v souvislosti s KVM četl o možnosti „passthrough“ PCI karty, např. grafické. Nevíš, jestli to funguje?
Pokud budes mit virtualizaci na samostatnem serveru tak se urcite podivej na Xenserver od Citrixu. Je zdarma, rozhrani ma hodne podobne jako ESX od VMware(klikaci) a nebudou s nim zadne problemy, KVM je preci jen ve vyvoji a obcas po aktualizaci prestane neco fungovat. Trochu opruz je nutnost mit nekde windows, protoze klient nebezi pod linuxem, ale to se da vyresit virtualem nekde na notebooku.
tudíš by guest neměl vůbec vědět, že běži virtualizovaně. Je to tak?Většinou to může poznat podle toho, že běží na "QEMU Virtual Processor" s hardwarem jako je "QEMU virtual network driver" atd.
Tak si nakonec asi vyčlením nějaká server pro citrixe. Můj plán: nainstalovat xenserver na starší pomalý 32bit server a potom po zprovoznění přesunout guesty na 64 bit server. půjde to?
Bohuzel citrix na nejaky starsi server nenarvete, chce 64bit CPU...
A co vrazit jiz do beziciho serveru novy disk, tamty odpojit, dat citrix, pak pripojit a to co jelo fyzicky dat jako virtualni masinu. Slo by to? Neprovede citrix nic s jiz existujicim systemem? Existujici system bezi na sata discich v raidu 1.
No to nejspis nepujde, musite soucasny fyzicky stroj nejdrive zmigrovat do virtualu (Xenu), at uz nejakym nastrojem xenu nebo vytvorenim virtualni masiny v xenu a zkopirovanim dat z fyz. stroje do virtualu
Tak nakonec to vypada, ze by byl nejlepsi vmware esxi, tam pokud to spravne chapu nejsou potreba dom0 kernely a system nemusi byt nijak upravovan? Umí ale VMware ESXi nebo XenServer softwarový raid?
I když v ESXI by mělo jít přidělit 2 disky hostu a raidovat až v něm že?
Tak to shrnu:
XenServer
- spravuje se jen z Windows
- bezi rovnou nad hw
+ siroka podpora hw
VMware ESXi
- spravuje se hlavne z Windows, ale existuje webova sprava, pokud jsem se dobre docetl
- bezi rovnou nad hw
- "mala" oficialni podpora hw
KVM
- stabilita ??
+ bezi v nainstalovanem systemu
Z toho mi nakonec vychází asi ten KVM. Jen se bojím toho co někdo psal, že občas přestane něco fungovat. Jak se to může stát(pokud se budu držet stejných kernelů)? U XenServeru je problém ta správa z Windows a u ESXi zase nezaručují stabilitu pro neoficiálně podporovaný hw, pod kterým bych to rozhodně provozoval.
Má tady někdo rozchozené a delší dobu provozované řešení s KVM(zajímají mě hlavně případné pády a nestabilita systému, taky ovšem rychlost)?
Qemu je přímo nástroj pro KVM? Pamatuju si, že když jsem to kdysi zkoušel tak to bylo hrozně pomalé.
A co přechod mezi verzemi KVM/jádra, je s tím nějaký problém? Kdybych to zkusil třeba pod 2.6.28 a pak to překopíroval na jiný stroj a spustil na jádře cca 2.6.19.
Tak to bohuzel nemam vyzkousene, mam to vyzkousene pouze prechodem na novejsi verze a zde jsem nenarazil na zadny problem.
Nicmene asi by nemel byt zadny problem, pokud si s verzi jadra bude rozumet qemu/kvm, image disku je na verzich nezavisly.
Co se tyce rychlosti, na Linuxu si nemuzu stezovat, IO operace a sit jsou ok, na Windows uz je to s IO operacemi horsi, je zde qemu IDE radic a tam vykon nic moc, je to znat hlavne, kdyz Windows zacnou swapovat.Tak je nenechte swapovat. Swapujte v hostitelském OS. A jinak tipuji, že nemáte problém s výkonem IDE emulace, ale s tím, že taháte vše přes loopback do souboru (který je nedejbože ještě na ext3). Zkuste použít třeba LVM a pro virtuály alokovat přímo oddíl disku.
+ siroka podpora hwNevím jak jste k tomu došel, ale obecně u Xenu je největší problém s podporou HW (z principu, protože ji musí obstarat dom0 guest)
Má tady někdo rozchozené a delší dobu provozované řešení s KVM(zajímají mě hlavně případné pády a nestabilita systému, taky ovšem rychlost)?Ano, pád si nepamatuju a rychlost je v pořádku.
Qemu je přímo nástroj pro KVM? Pamatuju si, že když jsem to kdysi zkoušel tak to bylo hrozně pomalé.Qemu má několik režimů operace, od čisté emulace, přes paravirt (kqemu) až po hw virt (kvm). To jest co se týče pouze CPU.
Vy berete to, že XEN je Citrix XenServer. To není úplně tak pravda. XEN jede skoro na jakékoliv distribuci linuxu. Já jsem dříve používal openSUSE a XEN tam je a funguje. Teď to mám vše na SLES 11 a jede to také. Správa se řeší normálně z linuxu. Ovládání jednotlivých virtuálních strojů je možné přímo na serveru nebo třeba přes VNC, NX, VzdálenouPlochu atd. Chtěl jsem použít původně také Citrix XenServer, ale ten měl problém s HW, který jsem se mu snažil podstrčit.
Přiznám se, že s KVM nemám zkušenosti, ale provozuji na několika 64bitech (cca 8mi serverech, Core2D, Quad,i7... ) XEN (3.0 a 3.1), vždy HW virt. Průměrně 8virtuálů/stroj (linux, windows), . Host je vždy linux, ovládám to bez problémů z linuxu také.
Žádný výkonový problém, přehledný konfigurák, atd.
Proč bych měl migrovat na KVM? Snad jen proto, že RH zřejmě neplánuje další vývoj, ale přesunul se ke KVM, jinak že mi to nyní běží o 1% rychleji/pomaleji to není argument.
V případě tazatele bude do budoucna lepší volbou KVM, ale XEN bych rozhodně nezatracoval.
K.
Snad jen proto, že RH zřejmě neplánuje další vývoj, ale přesunul se ke KVM,To je už samo o sobě docela dobrej argument, protože na KVM se teď soustředí hodně pozornosti a je to znát, zatímco xen víceméně stagnuje až chátrá. A jinak samozřejmě z hlediska technologie je KVM mnohem elegantnější architektura. Neprojevuje se to jen na rychlosti ale na celkovém způsobu práce. Nepotřebujete žádný ovládací dom0 guest a "xend", virtuály se chovají jako procesy, takže na ně můžete aplikovat celou stávající mašinérii (od nice až po separaci pomocí SELinuxu), a tak dále. A pak je tu samozřejmě celý svět mimo CPU, kde podle mně qemu exceluje šíří záběru nad čímkoliv ostatním.
Tak jsem se rozhodl jit do toho KVM. Existuje tam nejaky konfigurak pro guesty nebo je to jen prikaz?
napr:
qemu -hda c.img -m 256 -kernel-kqemu"
To je už samo o sobě docela dobrej argument, protože na KVM se teď soustředí hodně pozornosti a je to znát, zatímco xen víceméně stagnuje až chátrá.
To bych netvrdil. Xen podporuje featury, ktere jsou pro zbyvajici virtualizacni platformy stale nedostupne, takze jej je mozne oznacit v urcitem smeru za "bleeding-edge" technologi.
Mnoha lidem vadi nutnost specialniho kernelu pro dom0, respektive jeho verze. Zajimavou informaci asi je ze mnohnasobne vice lidem je verze kernelu v dom0 uplne jedno.
Xen tady proste je, je tady uz nejakou dobu, existuji pro nej administracni nastroje, velka uzivatelska zakladna a co je nejpodstatnejsi - funguje vyborne.
Funguje vyborne pro to pouziti pro ktere je urcen - serverovy hypervisor. Vykon a chovani pod velkou zatezi, je to v cem Xen kraluje.
Na druhou stranu pro domaci pouziti, maly viceucelovy server je asi lepe uvazovat o KVM.
Xen podporuje featury, ktere jsou pro zbyvajici virtualizacni platformy stale nedostupne, takze jej je mozne oznacit v urcitem smeru za "bleeding-edge" technologi.Např.?
Xen tady proste je, je tady uz nejakou dobu, existuji pro nej administracni nastroje, velka uzivatelska zakladna a co je nejpodstatnejsi - funguje vyborne.Xen tady je v podobě předinstalovaného balíku ve svaté konstelaci. Když jsem se to za svou praxi pokoušel několikrát rozchodit "ze zdrojáku", tak to bylo utrpení. Navíc dokumentace byla neudržovaná a zakopaná ve sklepě za dveřmi s nápisem zlý tygr... možná se to za 2 roky co jsem na to nehrábl změnilo, ale takhle to bylo. Jinými slovy "chcete xen - kupte si cédéčko nebo jděte do prdele".
Btw. Amazon EC2 bezi na Xene pokial viem. :)Pokud já vím, od jisté doby běží na Xenu stránky Debianu. A od jisté doby se načítají pekelně pomalu, vyhledávání je ještě pomalejší a z nějakého důvodu teď omezují počet nalezených výsledků (takže například balíček s jádrem prakticky nejde najít, protože výsledků je buď moc a některé zmizí, nebo člověk musí vědět, co přesně hledá) ...že by souvislost?
Xen podporuje featury, ktere jsou pro zbyvajici virtualizacni platformy stale nedostupne, takze jej je mozne oznacit v urcitem smeru za "bleeding-edge" technologi.Např.?
Napriklad SR-IOV, PCI-PASSTRHOUGH, VGA in Guest
Xen tady proste je, je tady uz nejakou dobu, existuji pro nej administracni nastroje, velka uzivatelska zakladna a co je nejpodstatnejsi - funguje vyborne.Xen tady je v podobě předinstalovaného balíku ve svaté konstelaci. Když jsem se to za svou praxi pokoušel několikrát rozchodit "ze zdrojáku", tak to bylo utrpení. Navíc dokumentace byla neudržovaná a zakopaná ve sklepě za dveřmi s nápisem zlý tygr... možná se to za 2 roky co jsem na to nehrábl změnilo, ale takhle to bylo. Jinými slovy "chcete xen - kupte si cédéčko nebo jděte do prdele".
Pouzival jsem dlouhou dobu UML a pak presel na Xen ve verzi 2.0. Aktualne pouzivam 3.4.1 v produkcnim prostredi a sleduji vyvoj 3.5. Instalace je v podstate porad stejna.
KVM sleduji take, bedlive, RHEV-M vypada opravdu zajimave. Prijeti KVM se stale oddaluje - jiz nasazeny xen proste funguje, funguje velmi dobre a tedy neni mnoho duvodu k prechodu na KVM.
SR-IOV...
SR-IOV support is implemented in the kernel.Takže unikátní vlastnost XENu, jo?
PCI-PASSTRHOUGHTo je v KVM také.
VGA in GuestTo jsem nevygooglil, ale podle názvu to bude další varianta na téma "pci karta v guestovi". Z příspěvku níže:
Vsak nedavno vysla nova verzia 3.4, kde je okrem ineho aj hot-plug pci pass-thru support, rozsirena podpor pre power management, vytunene schedulery...Výborně, takže se to pomalu dostává na úroveň, kde je holé linuxové jádro dnes (ať už s nebo bez kvm). A teď nasadíme z featury druhé strany. Umí XEN emulovat zvuk? Grafickou konzoli přes SDL nebo VNC? USB zařízení (vč. passthru)? Bluetooth? Sériové a paralelní porty posílat přes síť? Má XEN takovou krásnou konzoli pro vm, jako qemu, kde se můžete ve virtuálce krásně šťourat (mimo jiné)?
Podpora pre dom0 by udajne mala pribudnut v ramci paravirt_ops vo verzii kernelu 33 ci 34Proti tomuhle je dost velká opozice. A já se nedivím: začlenění je poměrně velká a nešetrná změna, ale i kdyby tak je tu pořád nemalý kód samotného hypervisoru, který se udržuje separátně.
Proti tomuhle je dost velká opozice. A já se nedivím: začlenění je poměrně velká a nešetrná změnaVelká a nešetrná změna a navíc má přibýt kód, jehož kvalita rozhodně nedosahuje na standardy jádra. A narozdíl od blbě napsaného fs nebo ovladače (kdo nepoužívá, toho se to netýká) tahle změna postihne všechny uživatele architektury x86. A druhá věc - AFAIK se plánuje odstranění paravirt_ops. Jednak jenom jejich zakompilování do jádra znamená pokles výkonu o cca 1% (není to moc, uznávám, ale uživatele jsou ochotni zkousnout jenom omezený počet jednoprocentních poklesů výkonu), druhak VMWare je přestává používat, KVM je přestává používat, takže je dost možné, že z jádra za nějakou dobu zmizí. Tudíž bych nepovažoval za velkou slávu, že podpora pro dom0 (možná) přibyde do něčeho, která má časem zmiznout a která už teď překáží.
Tak jsem se dohledal, že procesor na serveru nepodporuje Intel-VT, tudíš nemá to vmx v /etc/cpuinfo. Má tam ale vme. Půjde na tom provozovat KVM?
vme
nestačí. KVM opravdu potřebuje, aby tam byl flag vmx
(na Intelech) nebo svm
(na AMD).
Ked CPU podporuje SVM/VT-d, ale je ta funkcia vypnuta v biose tak to tusim cpuinfo nevypise (ak sa mylim, opravte ma prosim ;) - a casto to byva defaultne v biosoch vypnute. :)
Bez hw podpory mozes Xenom paravirtualizovat Linuxy, Windows vsak nie - v tom pripade zostava uz len VirtualBox alebo VmWare GSX (neviem, ci sa to uz nepremenovalo - ta nie bare-metal verzia) :)
V biosu žádná "virtual" volba není a našel jsem na intel.com, že tenhle cpu nepodporuje intel-vt.
Tak to jsi v ..... Muzes si sice hrat s paravirtualizaci, ale windows na tom nikdy nespoustis. Nebo mozna jo, ale bude to hooodne pomale.
Bez windows se snad obejdu a vyhradim na tom samostatnej stroj. Tady je dulezite, ze mam server xeon 3GHz, 4GB paměť, scsi disky a běží tam jen malý firemní mailserver a hrozně se to fláká. Chtěl bych to navirtualizovat na
1/mailserver
2/webserver
3/dns, dhcp
4/....
....
A nestačilo by na tohle OpenVZ? Na oddělení takovýchto služeb mi přijde vhodné a má minimální režii – téměř jako kdyby běžely v jednom systému, běží tam jedno jádro, ale každý má svůj root a svoji síťovku, nevidí cizí procesy, nemůžou lézt do cizích souborů…
Co kdybych na tom serveru který nepodporuje hw virtualizaci spustil xen s paravirtualizací? Je to použitelný na systému který nepodporuje hw virtualizaci? Přijde xen o nějaký výkon v paravirtualizaci na procesoru bez vmx nebo xen v případě paravirtualizace vmx vůbec nezajímá? Je potřeba stejná verze xenu v guestu i v hostu(kdybych pro oboje použil jiné distribuce s distribučními xen jádry)?Ztrata vykonu pri Xenu s paravirtualizaci je velmi mala. Bude to fungovat bez problemu. Lze pouzit 2.6.18 (nebo 2.6.26,29,30,31) xen Dom0 a na nem guesty DomU s distribucnimi xen jadry jako Debian 2.6.26, CentOS 2.6.18 nebo OpenSUSE 2.6.31. Neni tedy potreba stejna verze kernelu pro host i guest. Pripadne lze pouzit obecny kernel s podporou pv_ops 2.6.31 a vyse.
pv_ops - podpora behu paravirtualizovane
kernel kompilovany s pv_ops enabled muze bezet jak na fyzickem hw tak i jako guest
Dom0 pv_ops je prozatim experimental DomU pv_ops je bezne pouzivan
Bohuzel windows na tom nepobezi bez hw podpory.
Mozna by stalo za uvahu to ESXi kdyz je to serverovy hw.Má nějaký významný vliv na rychlost té paravirtualizace jestli je systém 32bit nebo 64bitový? Server má sice 64bitový hw, ale současně je tam 32bitový systém a tak by se na xen líp přecházelo na 32bitové systémy.Doporucil bych Dom0 64bit Guesty pak mohou byt 32 i 64bit. Rychlostne je to sumak.
Takže je asi jedno i to, když bude zezačátku dom0 32bitový, guesty taky a pak časem přejdu na 64bit dom0. Předpokládám, že to nebude problém přesunout 32bit guesty z 32bit dom0 na 64bit dom0?Ano je to mozne. Guesty doporucuji do LVM
/pkg/XEN/linux-2.6.18-xen-3.4.0# make scripts/kconfig/conf -s arch/i386/Kconfig CHK include/linux/version.h CHK include/linux/utsrelease.h CC arch/i386/kernel/asm-offsets.s arch/i386/kernel/asm-offsets.c: In function ‘foo’: arch/i386/kernel/asm-offsets.c:79: warning: asm operand 0 probably doesn’t match constraints arch/i386/kernel/asm-offsets.c:79: error: impossible constraint in ‘asm’ make[1]: *** [arch/i386/kernel/asm-offsets.s] Error 1 make: *** [prepare0] Error 2
ak sa mylim, opravte ma prosimMýlíš se. Při inicializaci KVM na procesoru, který má VMX (a vypisuje to i v cpuinfo), umí ohlásit
kvm: disabled by bios
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.