abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    31.5. 23:55 | Nová verze

    Byla vydána nová stabilní verze 24.05 linuxové distribuce NixOS (Wikipedie). Její kódové označení je Uakari. Podrobný přehled novinek v poznámkách k vydání. O balíčky se v NixOS stará správce balíčků Nix.

    Ladislav Hagara | Komentářů: 0
    31.5. 17:33 | Nová verze

    Byla vydána nová verze 1.48.0 sady nástrojů pro správu síťových připojení NetworkManager. Novinkám se v příspěvku na blogu NetworkManageru věnuje Fernando F. Mancera. Mimo jiné se v nastavení místo mac-address-blacklist nově používá mac-address-denylist.

    Ladislav Hagara | Komentářů: 11
    31.5. 17:11 | Komunita

    Před 25 lety, 31. května 1999, započal vývoj grafického editoru Krita (Wikipedie). Tenkrát ještě pod názvem KImageShop a později pod názvem Krayon.

    Ladislav Hagara | Komentářů: 3
    31.5. 12:55 | Nová verze

    Farid Abdelnour se v příspěvku na blogu rozepsal o novinkám v nejnovější verzi 24.05.0 editoru videa Kdenlive (Wikipedie). Ke stažení brzy také na Flathubu.

    Ladislav Hagara | Komentářů: 0
    31.5. 11:22 | Zajímavý článek

    David Revoy, autor mj. komiksu Pepper&Carrot, se rozepsal o své aktuální grafické pracovní stanici: Debian 12 Bookworm, okenní systém X11, KDE Plasma 5.27, …

    Ladislav Hagara | Komentářů: 9
    30.5. 22:44 | Nová verze

    Wayland (Wikipedie) byl vydán ve verzi 1.23.0. Z novinek lze vypíchnout podporu OpenBSD.

    Ladislav Hagara | Komentářů: 0
    30.5. 21:22 | Zajímavý článek

    Craig Loewen na blogu Microsoftu představil novinky ve Windows Subsystému pro Linux (WSL). Vypíchnout lze GUI aplikaci pro nastavování WSL nebo správu WSL z Dev Home.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:44 | Pozvánky

    V sobotu 1. června lze navštívit Maker Faire Ostrava, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    30.5. 12:22 | Nová verze

    Webový server Caddy (Wikipedie) s celou řadou zajímavých vlastností byl vydán ve verzi 2.8 (𝕏). Přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 16
    29.5. 22:11 | Nová verze

    Byla vydána verze 3.0 (@, 𝕏) svobodného softwaru HAProxy (The Reliable, High Performance TCP/HTTP Load Balancer; Wikipedie) řešícího vysokou dostupnost, vyvažování zátěže a reverzní proxy. Detailní přehled novinek v příspěvku na blogu společnosti HAProxy Technologies.

    Ladislav Hagara | Komentářů: 7
    Rozcestník

    Malé kvm + virtio howto

    10.12.2008 20:55 | Přečteno: 4265× | Výběrový blog

    Krátký zápisek kterak jsem rozchodil virtualizaci pomocí kvm+virtio.

    Co budeme potřebovat:

    1. CPU s podporou hw virtualizace, a.k.a.
      if egrep -q '^flags.*(vmx|svm)' /proc/cpuinfo; \
       then echo 'yieeehaaw!'; \
       else echo nasrat; \
      fi
      
      (někdy může být v hw podpora vyplá v biosu, ymmv, viz KVM FAQ)
    2. Dost paměti RAM – pro dva OS
    3. Balík kvm
    4. Je vhodné, ale ne nutné, mít X knihovny a SDL knihovnu (a to tak, aby se dalo kompilovat, tj. -devel)
    5. Doporučuji nejnovější vanilla jádro pro guest OS

    Instalace kvm:

    1. Ačkoliv jsou kvm drivery v nových jádrech, doporučuji se na ně vykašlat a použít moduly ze staženého balíku kvm
    2. Instalace je jednoduchá, pomocí svaté trojice configure-make-make install. Doporučuji instalovat někam mimo normální strom souborů, tedy např.
      ./configure --prefix=/opt/kvm
      (případně další přepínače – chci/nechci SDL, atd.)
    3. Zavedení modulu se provede přes modprobe, např.
      modprobe kvm-amd
    4. Pokud nemáme udev (většina má), je potřeba "dynamicky" vyrobit příslušný device
      rm -f /dev/kvm
      mknod /dev/kvm c 10 `perl -ane 'print $F[0] if $F[1] eq "kvm"' /proc/misc`
      
    5. Dále na tento device dáme nějaká rozumná práva, abychom nemuseli vm pouštět pod rootem
      chmod 660 /dev/kvm
      chown root.pht /dev/kvm
      
      (kdo má udev, může nastavit příslušné rules)
    6. V /opt/qemu/bin nyní budou dva důležité programy:
      1. qemu-image pro výrobu obrazů disku
      2. qemu-system-vašearchitektura pro pouštění vm

    Nyní můžeme naši instalaci otestovat:

    /opt/kvm/bin/qemu-system-x86_64 -cdrom kubuntu-6.10-desktop-i386.iso
    ... a pokud to nabootuje, máme instalaci hostitele hotovou

    Instalace guest linuxu:

    1. Vyrobíme si adekvátně velký virtuální disk
      /opt/kvm/qemu-image create mujdisk 10G
      (Místo disku v souboru je možno použít i diskový oddíl, v tom případě nemusíme volat qemu-image.)
    2. Spustíme instalačku
      /opt/kvm/bin/qemu-system-x86_64 -M pc \
       -cdrom boot.iso -hda mujdisk -m 1024 \
       -localtime -net nic,model=pcnet -net user \
       -boot d
      (Parametr -m určuje velikost RAM. Parametr -net umí celkem kouzlit se sítí: user spustí "usermode" režim sítě – virtuální stroj bude na privátní síti, kde je dns a dhcp server (v režii kvm/qemu) a maškaráda ven. Jdou nastavit i jiné modely, včetně reálné sítě buď v režimu routování nebo bridgování, viz manuál. Pokud chcete 100mbit místo 10mbit, můžete použít model=rtl8139)
    3. Systém normálně nainstalujeme (kliklik, nebo auto ...)
    4. Při instalaci nevytváříme swap oddíl, anžto je lepší když swapuje hostitel
    5. Nyní systém jde normálně spustit, pokud použijeme -boot c, ale s tím my se nespokojíme

    Instalace virtio:

    1. Někde bokem na hostiteli si rozbalíme vanilkový nejnovější linux-2.6.NN.tar.bz2
    2. Tento nakonfigurujeme, a pokud možno vyházíme úplně všechno co nebude potřeba (vč. swapu)
    3. Z driverů použijeme
      1. Virtio obecně: Virtualization, PCI driver for virtio devices
      2. Paměť (velikost): Virtualization, Virtio balloon driver
      3. Disk: Device drivers, Block devices, Virtio block driver
      4. Síť: Device drivers, Network device support, Virtio network driver
      5. Generátor náhodných čísel: Device drivers, Character devices, Hardware Random Number Generator Core support, VirtIO Random Number Generator support
      6. Procesor (optimalizace): Processor type and features, Paravirtualized guest support, KVM Guest support
      7. Procesor (časovač): Processor type and features, Paravirtualized guest support, KVM paravirtualized clock
      8. Chceme-li konzoli, můžeme použít virtio konzoli nebo konzoli na sériovém portu
    4. Přeložíme a skopírujeme bzImage do adresáře k vm, např. jako mujkernel
    5. Spustíme
      /opt/kvm/bin/qemu-system-x86_64 -M pc \
       -hda /dev/zero -drive file="mujdisk",if=virtio \
       -m 1024 -localtime -net nic,model=virtio -net user \
       -kernel mujkernel -append "root=/dev/vda1" \
       -redir tcp:2223::22 \
       -nographic
      
      ...přičemž zde došlo k několika změnám
      1. -hda /dev/zero, anžto z nějakého důvodu musí být hda. Ostatní disky jsou pomocí -drive (můžeme jich mít několik, např. pro testování raid)
      2. Síťovka je také model virtio
      3. Již se nebootuje z disku, ale bootuje se přímo naše jádro, kterému musíme přihodit info o root zařízení, což je vda1 dle vzoru hda1
      4. Pomocí -nographic si neusurpujeme SDL, a můžeme nechat běžet na screeně. Do kvm monitoru se dostaneme pomoci ctrl-a, c, enter (ve screeně ctrl-a, a, c, enter), tam můžeme vm zastavit, zabít, zmenšovat mu pamět (skrze baloon), přidávat zařízení, dělat screen shoty (viz můj zápisek o Mandrake 8.2) a jinak ho týrat (monitor při spuštěném SDL jde aktivovat pomocí ctrl alt 2 a ctrl alt 1 zpět)
      5. Pomocí -redir si uděláme dírku do maškarády, abychom mohli na ssh na guestovi
    6. Vlezeme na guesta pomocí ssh a kocháme se rychlostí disku a sítě
    7. Pokud to chceme mít über, tak použijeme síť v režimu bridgování a vyhrazený oddíl na disku

    Jelikož kvm-net ovladač existuje i pro windows (bohužel – zatím – jen pro síť, ne pro disk), lze takto provozovat i alternativu k "dualboot". Na 3D hry to není, ale spoustu 2D her to zvládne :-) nemluvě o normální práci (vč. kompilování). Na takovýto windowsí virtuál je potom nejlépe chodit pomocí rdesktopu - je to o něco svižnější než SDL a navíc máme možnost si namapovat linuxový adresář jako síťovou jednotku. A může se to nechat běžet v koutě na screeně (opět pomocí -nographic).

    Veselé virtualizování!

           

    Hodnocení: 88 %

            špatnédobré        

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    Komentáře

    Vložit další komentář

    Michal Fecko avatar 10.12.2008 21:21 Michal Fecko | skóre: 31 | blog: Poznámkový blog
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Ja som sa najprv tešil na niečo okolo KVM switcha + virtualizacia -> co z toho vznikne, ale kazdopadne aj toto je fajn... Dik :-D
    10.12.2008 21:23 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Sakra. Muj starej dobrej s754(sempron64 2500+) procesor nepodporuje :( Mozna namet na modernizaci... Kdyz me ten vykon ale fakt staci :(
    10.12.2008 21:27 slush | skóre: 9 | blog: slushuv_koutek
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto

    No me ten muj 1CPU bez podpory virtualizace taky bohate staci, na Linux i WinXP ve virtualu. Je ta podpora virtualizace v CPU opravdu tak znat na vykonu?

    11.12.2008 00:29 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Ja mam ve virtualboxu take jednu masinu s nejakym virem, protoze potrebuju obchodovat pres dodanou platformu. Jinak podle toho jejich faq se jedna o nejake uzasne pridane instrukcni sady, takze bych predpokladal, ze vliv na vykon bude asi celkem zajimavy :-)
    11.12.2008 06:36 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Bez podpory jste odkazan na kompletni emulaci kodu - dela qemu - nebo na jit prepis nebezpecnych instrukci - dela kqemu. S HW podporou by mel byt vykon srovnatelny s kompletne paravirtualizovanym prostredim - tj. nativnim volanim hypervisora. Jedinym mrackem na cistem nebi byl snad zadrhel kvuli tomu ze se musely furt menit page tables, proto by mne zajimalo, zda nekdo jiz vyzkousel virtualizaci na procesoru phenom (ktery by mel mit toto osetrene) a ma pozitivni ohlas.

    Myslim si, ze pridani hw podpory virtualizace do CPU bylo logickym (a prvnim) krokem ve vyvoji virtualizace na PC. Jen je skoda, ze se tim vyrobci mimo zasvecene kruhy nechlubi, pokud si koupite procesor, zjistite ze podporuje lepe antivirus, ale o virtualizaci ani tuk :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 06:52 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Kupte si gta IV :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 14:02 YYY | skóre: 29 | blog: martinek
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Psal jsem, ze ten vykon dostacuje moji osobe. Ja hry na PC nehraju, takze nic dalsiho nepotrebuju. Muj NB ma 1.4GHz a jak pekne slape :-)
    10.12.2008 21:24 slush | skóre: 9 | blog: slushuv_koutek
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto

    Diky za navod! Bohuzel:

    marekp@omicron:~$ if egrep -q '^flags.*(vmx|svm)' /proc/cpuinfo; \
    >  then echo 'yieeehaaw!'; \
    >  else echo nasrat; \
    > fi
    nasrat
     

    takze to zkusim, az si konecne koupim novy notebook :-).

    11.12.2008 06:56 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    BTW, neni nutne investovat do plne okridlene sestavy (nebo notebooku). Staci Vam prumerny novy procesor (za cca 1000 korun), prumerna deska s integrovanou grafikou a sitovkou (dalsich 1000-1500) a zbytek schrastite nebo dokoupite za dalsi 2000. Tato bedynka pak muze vesele bezet nekde ve spajzu, jelikoz jedine co potrebujete je screen a decentni lokalni sit (pro X forwarding, nebo rdesktop).
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 22:50 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Staci Vam prumerny novy procesor (za cca 1000 korun)
    Pozor na Intel - ti matláci montují rozšíření pro HW virtualizaci jen do některých procesorů (přičemž si pravděpodobně házejí kostkou: sem jo - sem ne - sem jo)
    Quando omni flunkus moritati
    10.12.2008 22:00 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto

    Docela by mě zajímalo, jak je to s výhodností těch virtio věcí. Našel jsem poměrně málo odkazů, spíš samé takovéhle howtos, ale mě by zajímal nějaký principielnější popis. A taky, jak je to s virtio ovladači, když se používá HW podpora pro virtualziaci. Jestli to má nějaký vliv nebo ne. Případně nějaké výkonostní testy nebo zkušenosti atd...

    11.12.2008 06:50 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    HW virtualizace a virtio se navzajem doplnuji. Bez virtio Vam sice pobezi guest kernel bez modifikaci na plne rychlosti atd, ale jakmile se bude chtit bavit s vnejskem (napr. pres sitovou kartu) tak mu budete muset naemulovat nejaky konvencni hardware (napr. realtek 8139). Coz celkem zdrzuje. Virtio driver se strucne receno pouze domluvi s hostitelem na tom, aby mu packet odeslal a nic vic neresi.

    Samozrejme je jeste jedna cesta, pokud mate dostatecne schopny virtualizacni aparat, a dve sitovky, muzete guestovi jednu z nich priradit a on se bude bavit s ni - primo s hardwarem (nejak nedavno jsem zaregistroval pridani podpory AMD IOMMU do jadra, tak by to snad i mohlo jit v kvm :)

    Vykonovy test je jednoduchy. Selskym rozumem: emulovana sitovka ma limit na 10 nebo 100 mbit (coz je uspech), virtio na 1000 :) Pokud pres tu emulovanou zacnete cpat tech 100, muzete v 'top' sledovat, jak se qemu (frontend pro kvm) dere nahoru, zatimco pri pouziti virtio (+ bridgovane site, aby se nezatezoval ani usermode routovanim) to s nim ani nehne. Virtio disk je na tom podobne.

    Jen pro uplnost doplnim, ze tento pristup neni nic prevratneho. "Akcelerovane ovladace" pro guesty mel uz i vmware jeste v dobach, kdy se o hvm ani neslychalo.
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 10:27 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Zaujala me zminka o primem vyuziti fyzicke sitovky. Je neco takoveho u kvm mozne? Pripada mi rozumne v pripade pozadavku na vysoky sitovy vykon do serveru prikoupit sitovku za par stovek. Jedina nevyhoda mi pripada zesloziteni pripadne migrace VM...

    Co se tyce virtio, slo mi o to, jestli virtio drivery pod plnou virtualizaci nemaji nejake nevyhody, kdyz se to jmenuje paravirtualni ovladace :-) a kdyz vim, ze se ten princip pouzival davno pred "zavedenim" plne virtualizace...

    11.12.2008 11:21 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Je to jen jinej ovladac. Takze nevyhoda je jen takova, ze ten ovladac musite mit v guest OS. Coz muze byt problem - emulovane sitovky jsou zalozene na dobre znamych a podporovanych modelech (ne2000, realtek, ...), zatimco virtio je pomerne nova vec. Jak je v clanku naznaceno, driver-sitovka existuje pouze pro linux a windows, driver-disk (a dalsi) pouze pro linux. (Zrejme to jde naportovat/a mozna je naportovano i do jinych opensource kernelu, presne nevim.) Na druhou stranu vyhody jsou mnohem prevazujici.

    Btw koukam, ze v emulovanych sitovkach je i e1000, takze byste mel byt schopen rozjet gigabit i bez virtio. Samozrejme ale s prislusnou rezii na vykonu.

    Co se tyce fyzickeho vyuzivani, v kvm je to "work in progress" ktery byl teprv nedavno mergovany do hlavniho stromu. Viz napr. clanek "KVM-79 Released: pci device assignment". (Soucasna verze je kvm-80, na rozchozeni toho potrebujete kernel 2.6.28-rc.) Jak je to s migraci nevim. Ale myslim, ze na tom moc velka veda nebude, kvuliva pci hotplug. Proste na druhem hostiteli mu vrazite jinou sitovku. Eventuelne to mozna jde udelat tak, ze se to namapuje v guestovi na tentyz PCI port, takze nic nepozna.
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 11:25 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    PS. vyuziti toho nekonci zdaleka na sitovce - mapovat muzete grafiku (pokud jich mate vic) a docilit tak plny vykon pro 3d hry, nebo nejaky uplne jiny kus hardwaru pro ktery sou ovladace jen pro "ten druhy" OS.

    Tady je o tom mala prezentace.
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 12:09 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Pri testech jsem zacinal s emulovanou rtl8139 a pri scp 500MB souboru jsem dosahl 300KB/s. Pri zmene na e1000 jsem se dostal na cca 9-10MB/s (100mbit ethernet a rezim bridge). Az bude chvile, zkusim virtio a budu sledovat zatez na hostovi.

    Zajima me hlavne virtualizace serveru, takze moc dalsiho hw v uvahu nepripada, maximalne jeste nejake diskove radice...

    Problemy s migraci jsem myslel to, ze pri live migraci bude muset byt obdobna sitovka k dispozici na obou strojich, bude potreba docela kouzlit s mac adresama a soucasne nastroje (hlavne libvirt) asi pro takove zmeny nemaji skripty, takze by bylo potreba docela dost skriptovat a hlavne testovat...
    11.12.2008 12:25 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Tak to ja jsem s virtio ve windows mel 20mb/s v -net user a bez nejakeho vylepsovani. Jinak scp neni na mereni nejlepsi, protoze sam o sobe zere kvantum CPU. Zkuste to s FTP serverem, ktery ma implementovany sendfile() (napr. vsftpd). Ad migrace: budou ted svatky, tak nad tim muzete laborovat a napsat pokracovani :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 12:50 Radek Hladik | skóre: 20
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    20 mb/s nebo MB/s? :-)

    Scp jsem zkousel kvuli tomu, ze bylo zrovna po ruce. Neslo mi o nejake presne mereni, ale prekvapila me ta nizka rychlost. Scp na hosta jelo okolo 10MB/s, takze me vydesil ten rozdil. Nevadilo by mi 8 mozna ani 7 MB/s, ale stovky KB...

    Cas snad bude :-)
    11.12.2008 14:04 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Asi nejspis MiB/s, i kdyz kdovi v cem to windows meri.

    Prehravani hudby jsem mel vypnute.
    In Ada the typical infinite loop would normally be terminated by detonation.
    Nikola Ciprich avatar 11.12.2008 12:08 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    co se tyce virtio ovladacu, tak hlavne zatim jeste nejsou 100% spolehlive :-(
    Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
    11.12.2008 12:26 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    No, a co je 100% spolehlive?
    In Ada the typical infinite loop would normally be terminated by detonation.
    11.12.2008 22:53 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Zákon schválnosti.
    Quando omni flunkus moritati
    11.12.2008 23:12 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Ačkoliv jsou kvm drivery v nových jádrech, doporučuji se na ně vykašlat a použít moduly ze staženého balíku kvm
    Proč?
    Zavedení modulu se provede přes modprobe, např.
    Nehledá modprobe jenom ve stromu ovladačů jádra v /lib?

    Quando omni flunkus moritati
    12.12.2008 07:01 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Balik kvm obsahuje jak userspace tak moduly urcite verze (sobe odpovidajici), pokud pouzijete natvrdo verzi modulu kterou jste dostal s jadrem, tak bude starsi (casto o hodne starsi, jelikoz vyvoj kvm jde rychle kupredu).

    Jinak do prefix se instaluje jen userspace a moduly jdou do toho /lib/modules, takze s tim problem neni.
    In Ada the typical infinite loop would normally be terminated by detonation.
    12.12.2008 15:34 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Jinak do prefix se instaluje jen userspace a moduly jdou do toho /lib/modules, takze s tim problem neni.
    Tak to je věc názoru. Soubory volně se potulující po té části souborového systému, kterou spravuje balíčkovací systém, osobně za problém považuju.
    Balik kvm obsahuje jak userspace tak moduly urcite verze (sobe odpovidajici), pokud pouzijete natvrdo verzi modulu kterou jste dostal s jadrem, tak bude starsi (casto o hodne starsi, jelikoz vyvoj kvm jde rychle kupredu).
    Ze stránek kvm:

    If you use a kernel from http://www.kernel.org or one provided from your distribution and do not use the modules provided by kvm releases. (Zvýraznění přidáno) Hned pod tím je napsáno, jakou verzi jádra je potřeba mít pro danou verzi kvm userspace - jádro 2.6.25 a vyšší stačí pro kvm userspace 76 a vyšší. Tedy víc než půl roku staré jádro stále stačí pro dva měsíce starý userspace.
    Quando omni flunkus moritati
    12.12.2008 20:25 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Ze stránek kvm:
    No prave, ze to tam je jiz pul roku, ja jsem to podle toho kdysi zkusil a bylo po virtualizovani. Nebranim Vam to ale delat jinak a podelit se o zkusenosti (muj oblibeny princip ymmv). IMHO jsou na tom webu pouze minimalni podminky pro funkcnost, nikoliv optimum.
    Soubory volně se potulující po té části souborového systému, kterou spravuje balíčkovací systém, osobně za problém považuju.
    Pokud Vam vadi ze se neco instaluje do /lib/modules, nemusite to instalovat a muzete delat rucne insmod /usr/src/kvm/.... (Nebo si to nainstalovat kam chcete, udelat si z toho balicek a kdovico. Fantazii se meze nekladou. Ja jsem v tomto ohledu obecne ponekud liberalnejsi, navic system, na kterem to momentalne mam, je "from scratch", takze tam neni co resit.)

    Jinak si rypnu, ze balickovaci system v zasade spravuje cely file system, nebo snad vite o nejakem adresari, kam v zadnem pripade nema pristup? :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    12.12.2008 21:16 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    IMHO jsou na tom webu pouze minimalni podminky pro funkcnost, nikoliv optimum.
    Podle mě tomu tak není. libkvm/libkvm.c:
    #include <linux/kvm.h>
    
    #define EXPECTED_KVM_API_VERSION 12
    
    #if EXPECTED_KVM_API_VERSION != KVM_API_VERSION
    #error libkvm: userspace and kernel version mismatch
    #endif
    a dále
            if (r < EXPECTED_KVM_API_VERSION) {
                    fprintf(stderr, "kvm kernel version too old: "
                            "We expect API version %d or newer, but got "
                            "version %d\n",
                            EXPECTED_KVM_API_VERSION, r);
                goto out_close;
            }
            if (r > EXPECTED_KVM_API_VERSION) {
                fprintf(stderr, "kvm userspace version too old\n");
                goto out_close;
            }
    To první znemožní překlad, pokud hlavičkové soubory neodpovídají. Tu druhé znemožní spuštění, pokud verze API modulu v jádře neodpovídá verzi api, které userspace část kvm používá. Z té podmínky je jasně vidět, že je to 1:1, tj. není tam žádné "máme starší API, tak něco nebudeme používat, protože jaderný modul to neumí" Jinak řečeno nic jiného než optimum neexistuje, protože se špatnou verzí modulu kvm prostě nejde spustit.

    Druhá stránka věci je, že modul v jádře může obsahovat chyby, to ale vyřeší aktualizace nebo upgrade jádra, nikoliv zbytečné zatahování vlastních modulů. Nové jádro vychází každé cca tři měsíce a tak rychle, aby to bylo příliš dlouho, se IMO kvm (jaderná část) zase nevyvíjí.
    Nebranim Vam to ale delat jinak a podelit se o zkusenosti (muj oblibeny princip ymmv)
    apt-get install kvm $ kvm -spousta -parametrů

    Pravda je, že pokud si vzpomínám s 2.6.25 (nebo 24?) to moc nefungovalo, respektive po spuštění kvm okamžitě oops. V 2.6.26 jsem nenarazil na žádný problém.
    Pokud Vam vadi ze se neco instaluje do /lib/modules, nemusite to instalovat a muzete delat rucne insmod
    Já vím. To bylo jenom tak naokraj.
    Jinak si rypnu, ze balickovaci system v zasade spravuje cely file system, nebo snad vite o nejakem adresari, kam v zadnem pripade nema pristup?
    Vím o adresáři, kam balíčkovací systém nehrabe - /opt
    Quando omni flunkus moritati
    13.12.2008 14:04 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    No, je rozdil mezi verzi api (12) a verzi KVM (80). Ale to jste v podstate zodpovedel take. :) Ja zas tak hr do upgrade jadra kazdy tyden nejsem, proto pouzivam ty moduly kolem.

    U toho /opt je to spis tak, ze je to konvence, ale kdyz udelam balicek kde jsou soubory v /opt tak je tam da.
    In Ada the typical infinite loop would normally be terminated by detonation.
    13.12.2008 23:37 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    U toho /opt je to spis tak, ze je to konvence...
    Tak jsem to myslel.
    Quando omni flunkus moritati
    14.12.2008 08:16 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Heh, tak jsem prave zjistil ze mandriva 2009.0 instaluje kde3 do /opt/kde3. Konvence do hrnce :-)
    In Ada the typical infinite loop would normally be terminated by detonation.
    6.1.2009 01:07 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Tak jsem se dostal k tomu to vyzkoušet

    Virtio síť

    Pro síťovku používám virtuální rozhraní tap0 (-net nic,vlan=0,macaddr=00:00:10:01:23:45,model=virtio). Vyzkoušel jsem přenos 10GB dat mezi hostitelem a hostem (dd if=/dev/zero bs=1024 count=10485760 | nc -q 0 192.168.150.2 1234 - host to na druhém konci zahazuje do /dev/null)

    Průměrně to trvalo minutu a 50 vteřin, přenosová rychlost okolo 95MB/s.

    Pro srovnání jsem zkusil totéž při emulaci síťové karty. Po třinácti minutách jsem to zastavil nedokončené, přenosová rychlost byla 896kB/s.

    Všechno fungovalo out-of-the-box, host má distribuční jádro z Debianu testing (2.6.26-1-amd64, má dokonce povolené i CONFIG_KVM_GUEST). Prostě hezké. ;-)

    Virtio disk

    Vytáhl jsem distribuční jádro a initrd, kvm spuštěno s tímto: -drive file="linux_zaklad_kvm64.img",if=virtio -kernel vmlinuz... -initrd initrd... Oproti zápisku v blogu nebyl potřeba parametr -hda /dev/zero.

    Testoval jsem pomocí time dd if=/dev/zero of=tmp.img bs=1024 count=4194304 (založení souboru o velikosti 4GB)

    S virtio byla průměrná rychlost zápisu 10,9MB/s. Bez virtio (-hda linux_zaklad_kvm64.img) 9,8MB/s. Ne tak výrazné zlepšení jako u síťovky, ale neberte to...
    Quando omni flunkus moritati
    6.1.2009 06:57 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Kdyz tak jeste zmerte virtio disk pristup na dedikovany disk nebo oddil. To je diskova obdoba "tap". Plus se kouknete kolik CPU vam to zere na hostiteli bez a s virtio.
    In Ada the typical infinite loop would normally be terminated by detonation.
    6.1.2009 21:44 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Tak vytížení CPU u sítě je takové, že při použití emulace ovladače se procesor (hostitele) docela fláká, zatížení okolo 10%. S virtio 100% a ještě cpufreq governor zvýšil takt procesoru.

    Vzhledem k tomu, že propustnost se liší o dva řády, asi nemá cenu tyhle hodnoty porovnávat.

    U disků (našel jsem si jeden oddíl, který můžu postrádat, takže se testovalo přímo na /dev/hda3) je to obráceně - s virtio je vytížení procesoru okolo 50%, emulace IDE si vezme okolo 80%.

    Datová propustnost s vyhrazeným oddílem je o dost lepší než s obrazem v souboru - průměrně 45MB/s s IDE emulací a necelých 49MB/s s virtio. Osobně jsem na pochybách, jestli těch pár MB navíc a úspora procesorového času stojí za to, aby se člověk vzdal "samostatnosti" virtuálního stroje (přece jenom vytahovat po každé aktualizaci jádro z virtuálu, aby bylo co předat za -kernel, je tak trochu protivné) Ale to asi záleží na podmínkách nasazení.

    Quando omni flunkus moritati
    12.1.2009 07:35 pht | skóre: 48 | blog: pht
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    To je zajímavé, buď má virtio disk ještě co zlepšit, nebo to z nějakého principu lepší být nemůže. Ještě by se dala otestovat "čistá" rychlost s ramdiskem :-)

    S tou samostatností by zas takový problém být nemusel. Na stránkách kvm je takové malé howto, jak bootovat "klasicky". Já jsem použil -kernel z toho prostého důvodu, že je to (v tomto případě) jednodušší.
    In Ada the typical infinite loop would normally be terminated by detonation.
    13.1.2009 16:07 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: Malé kvm + virtio howto
    Na RAMdisku je to ještě zajímavější - virtio tady dokonce ztrácí za hdb

    Testoval jsem zápis do souboru o velikosti jenom 700MB (aby se kvůli RAMdisku nezačalo swapovat, respektive aby se neswapovala data na něm). Disk připojený pomocí -hdb měl rychlost zápisu průměrně 125MB/s, disk přes virtio jenom 121MB/s. (Aby se moc neprojevil vliv cache, měl virtuální stroj pouze 128MB paměti)

    Zajímavé je, že když se virtuálními stroji zvětší paměť na 512MB, tak se ten rozdíl ještě prohloubí na 127MB/s u hdb a 118MB/s u virtio
    To je zajímavé, buď má virtio disk ještě co zlepšit, nebo to z nějakého principu lepší být nemůže.
    Já bych tipoval, že emulace PATA rozhraní je jednodušší, tudíž má menší režii a neztrácí se tam tolik výkonu jako u těch síťovek.

    Quando omni flunkus moritati

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.