24. srpna 2006

Virtualizace na procesoru bez podpory virtualizace, aneb XEN na Penitum-M

Dlouho jsem si přál vyzkoušet jak funguje XEN. Chtěl jsem si vyzkoušet virtuální stroje na jednom počítači...

Hypervizora od XENu a utility pro práci s XENem jsem měl na disku nainstalované dlouho. Kernel pro dom0 jsem přeložil až včera. Jenže ouha, hypervizor nejspíš nejde natáhnout pomocí LILO. Všude ho používali v kombinaci s GRUB. A tak jsem se pustil do instalace a konfigurace GRUBu.

Několik konfigů jsem zkopíroval C&P z webu a upravil na své podmínky. No samozřejmě, že to by bylo moc jednoduché. Nakonec jsem nad GRUBem zvítězil a udělal funkční menu.lst:
default 0
timeout 5
splashimage=(hd0,0)/grub/splash.xpm.gz

title 2.6.17-r4
root (hd0,0)
kernel /kernel-2.6.17-r4 root=/dev/hda5

title XEN3
root (hd0,0)
kernel /xen.gz dom0_mem=512M
module /xen-dom0 root=/dev/hda5

Takže máme funkční GRUB, který umí natáhnout moje hlavní jádro a dokonce umí spustit i hypervizora. Tak, zkusíme nabootovat hypervizora a kernel pro dom0. Hypervizor bootuje, sláva. Ale co to. Jak to, že můj vlastní kernel není kompatibilní image kernelu pro dom0? Zkoušení, pátrání, překompilování hypervizora... Pořád nic. Tak si říkám - někde na netu stáhnu image kernelu pro dom0, hodím ho tam místo svého kernelu a bude.

Ale opět ta samá chyba. I když s tím image dodávali i hypervizora. Tak jsem nahradil vlastnoručně kompilovaného hypervizora tím co byl v balíčku s dom0 kernelem. A... Bootuje to. Ale nadává, že nemůže nabootovat kernel s PAE na procesoru co PAE nepodporuje. Ah, špatná verze hypervizoru a kernelu. No tak znovu a lépe.

Stáhl jsem kernel a hypervizora bez PAE a hned jsem nabootoval až do Xek. Běh linuxu pod hypervizorem byl o něco pomalejší, některé věci se musí složitě emulovat, ale věřím, že procesory s podporou virtualizace na tom budou o hodně lépe.

Ještě zkouším nabootovat kernel v domU, ale nedaří se mi. Hlásí kernel panic, nemůže najít root partition. Ale to se časem poddá. XEN ale není k používání na desktopu - ovladače od ATi se nezkompilují kvůli architektuře - kernel pro XEN má jako ARCH nastaveno překvapivě XEN. Dále ovladač acerhk nemůže zapnout a vypnout wifi... No a pak některé věci musí být složitě emulovány, ale podle Gentoo XEN Howto by mělo stačit překompilovat systém se správným flagem v CFLAGS pro kompilátor.

Takže tak. Ale na Obludě si XEN stejně rozjedu :-D.

Žádné komentáře:

Okomentovat