qemu + kvm

Marek Guevara Braun mguevara w acn.waw.pl
Sob, 21 Lis 2009, 00:12:31 CET


Radosław Bogdanowicz pisze:
> przyspiesza pracę na procku z technologią Intel VT. Niestety wydanie
> polecenia:
> $ kvm -m 1024 -localtime win.img
> skutkuje otwarciem okienka QEMU z zawartością:
>
> ...
> cirrus-compatible VGA is detected
> QEMU BIOS - build: 07/11/09
> $Revision$ $Date$
> Options: apmbios pcibios eltorito rombios32
>
> i nic się dalej nie dzieje. 
U mnie stabilnie dzialal KVM z pakietu kvm-88 - własny build zbudowany z
opcja --with internal_qemu - trzeba wtedy odinstalować właściwe qemu i
uzywać narzędzi z pakietu kvm - poza binarką kvm inne narzędzia nazywają
sie tak jak w qemu (ale jest ich mniej) - jak uzywasz w miarę nowego kvm
z okolic wersji 88 to w jakiś sposób konfliktuje sie ona z biosem branym
z qemu 0.10 - jeśli mamy kvm --with internal_qemu bios jest brany z
buildu kvm-a i jest ok, przy kvm (bez intrnal_qemu)  z biosem z qemu
maszyny wirtualne czasami startują, czasami nie, są dziwne prblemy z
sieciówkami (bardzo pozno sie pojawiają w systemie, czasami się
pojawiają ale nic nie widzą przez jakiś czas -- przy starcie rescuecd
pld np. nie bierze adresu z DHCP), RHEL bootował się poprawnie tylko z
--without-acpi, ale czasami potrafił sie wyłożyć, Windowsów chyba nie
zwalczyłem. Generalnie sprawdź jakimś strace jakie pliki z biosem są
używane przy starcie - dla wersji kvm z okolic 88 powinien być to bios z
tego pakietu, a nie z qemu.

> Komenda:
> $ qemu -enable-kvm -m 1024 -localtime win.img
> odpala Windowsa, ale ładuje się straasznie długo (>2 min). To jest
> wolniej niż na starym kompie bez VT! Przejście do monitora QEMU i
> wpisanie:
> (qemu) info kvm
> zwraca:
> kvm support: enabled
> więc KVM niby działa.
>
> Moje pakiety (najnowsze w TH main):
>
> poldek:/all-avail> ls -I *kvm*
> kvm-75-1.x86_64
> kvm-udev-75-1.x86_64
> poldek:/all-avail> ls -I *qemu*
> kernel-misc-kqemu-1.4.0pre1-2 w 2.6.31.5_1.x86_64
> qemu-0.11.0-2k.x86_64
>   
Nowe qemu (ja mam qemu-0.11.0-1k.x86_64) powinno juz obsługiwać samo KVM
- pakiet kvm nie jest potrzebny (choć są różnice - w kvm-88 klient mógł
być SMP, pod nowszym qemu-0.11.0 z enable-kvm już tylko UP) - spróbuj
odinstalować kvm być może coś się nakłada.

U mnie pod qemu-0.11.0-1k.x86_64 mam całkiem używalne Windows 7 32bit,
kilka wersji RHEL (5.1 32-bit oraz 5.4 32 i 64 bit), OpenBSD 3.4 (na
i386, 3.5 mi się wywalało przy instalacji jeszcze pod kvm-88, najnowszej
nie próbowałem), FreeBSD  (6.4, 7.2 i beta8 wszystkie na i386) oraz PLD 
w wersjach Th i Ac zarówno 32 i 64 bit.

Jeszcze jedna obserwacja dot qemu/kvm - format plików qcow2 (a jak
googlałem to większość tutoriali podawała przykład tworzenia maszyn
właśnie na qcow2)  jest jakiś potwornie wolny (miałem te objaw przy
początkach walki z kvm-88) - za radą kolegów przeniosłem wszystko do
formatu raw (sparse file) i wydaje mi się że jest ok.

Porównując KVM (qemu) do VirtualBox z naszej perspektywy, to jak na
razie kvm nie ma takiego fajnego panelu do
zarządzania/tworzenia/uruchamiana maszyn wirtualnych jak VirtualBox jak
i nie ma sterowników dla Windows wspierających efekty 3D. Wymiana "płyt
CD", dodawanie dysków, wysyłanie specjalnych kombinacji klawiszy w kvm
wymaga odwołania się do monitora (czyli albo nc ... albo ctrl ... cośtam
2 i wpisywanie ręczne poleceń) gdzie w VB wszystko z ładnego GUI, kliku
kliku.

Z drugiej strony VirtualBox w wersji OSE nie ma zdalnego dostępu przez
RDP (kvm można odpalić z interfejsem via vnc), ani dostępu do portów USB
(w kvm teoretycznie jest ale nie sprawdzałem), a wersja nie-OSE ma
bodajże ograniczenia licencyjne jeśli chcemy korzystać z rozwiązania
komercyjnie.

KVM na pewno ma dobry potencjał (migracja maszyn wirtualnych, współpraca
RH z MS, ... i jest w kernelu) - warto przyjrzeć się interfejsowi
zarządzania jaki powstaje w ramach projektu Fedora - 
http://markmc.fedorapeople.org/virt-preview/f11/

Pozdrawiam,
Marek

PS. Obecnie dość regularnie używam VirtualBox na Th z i686 (notebook) i
KVM na Th z x64_86 (stacjonarny). Na notebooku uruchamiam zwykle 1
system na nie dłużej niż 1 dzień, KVM obsługuje równocześnie kilka
maszyn wirtualnych w trybie ciągłym. KVM zacząłem używać po przeczytaniu
posta na pld-users, w którym jeden z uzytkowników VirtualBox skarżył się
że przy długim korzystaniu z Windows pod VB zawiesza mu się Linuks - po
przeczytaniu posta dwukrotnie uruchomiłem VB z Windows XP w obu
przypadkach po około 3 dniach mój Linux wisiał. Pod KVM nie
zaobserwowałem tego problemu.

PS2. Od niedawna KVM może działać z aktywnym KERNEXEC na hoście - ale i
tak nikt nie używa KERNEXEC/PaX :-(

M


Więcej informacji o liście dyskusyjnej pld-users-pl