Portál AbcLinuxu, 10. května 2025 09:25

Dotaz: KVM a libvirt, virtuální stroje tuhnou po několika hodinách

11.12.2010 23:07 SAM: | skóre: 23 | blog: marsark_linux
KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Přečteno: 636×
Odpovědět | Admin
Používám KVM (jádro 2.6.36), libvirt 0.8.6 s virt-manager pro provoz virtualizovaných Windows, hlavně XP a 2008R2 server. Hostitel je Gentoo 64bit, deska Intel s chipsetem 5000, CPU 2x Xeon 5130.

Problém je, že virtualizované stroje pravidelně po několik hodinách až dnech tuhnou. Proces qemu-kvm pak spotřebovává 100% procesorového času (dle počtu přidělených CPU pro virtuál) a nezbývá ho než odstřelit. Z virsh pomocí destroy se zastavit nedá a připojit k němu také ne.

Virtuál je spuštěn takto:

/usr/bin/qemu-system-x86_64 --enable-kvm -S -M pc-0.13 -cpu qemu32 -enable-kvm -m 1024 -smp 2,sockets=2,cores=1,threads=1 -name exp01 -uuid 3bc188d2-5ec9-bddc-ae41- afc4b212ed32 -nodefconfig -nodefaults -chardev socket,id=monitor,path=/var/lib/libvirt/qemu/exp01.monitor,server,nowait -mon chardev=monitor,mode=control -rtc base=localtime -boot c -drive if =none,id=drive-fdc0-0-0,readonly=on,format=raw,cache=writeback -global isa-fdc.driveA=drive-fdc0-0-0 -drive if=none,media=cdrom,id=drive-ide0-1-0,readonly=on,format=raw -device ide-drive,bus= ide.1,unit=0,drive=drive-ide0-1-0,id=ide0-1-0 -drive file=/srv/kvm.volumes/win_xp_cz.qcow2,if=none,id=drive-virtio-disk0,boot=on,format=qcow2,cache=writeback -device virtio-blk-pci,bus=pci.0, addr=0x4,drive=drive-virtio-disk0,id=virtio-disk0 -netdev tap,fd=48,id=hostnet0,vhost=on,vhostfd=49 -device virtio-net-pci,netdev=hostnet0,id=net0,mac=52:54:00:7d:50:d8,bus=pci.0,addr=0x3 -ch ardev pty,id=serial0 -device isa-serial,chardev=serial0 -usb -vnc 127.0.0.1:0 -vga vmware -device virtio-balloon-pci,id=balloon0,bus=pci.0,addr=0x5

Neřešil někdo stejný problém? Případně nenasměroval by mne někdo, kde hledat chybu? Logy v hostiteli i na virtuálech mlčí. Díky
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Nikola Ciprich avatar 12.12.2010 10:41 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zdravim, predne, pouzivejte prosim pro podobne dotazy zdejsi skupinu virtualizace at se podobne dotazy shromazduji tam, diky ;)

z nazvu image jsem pochopil ze pouzivate winXP a blk virtio bus, zkousel jste namisto toho pouzit normalni IDE? a treba e1000 pro sitovku? dalsi vec, zkuste na ten zasekly qemu-kvm proces spustit strace, jestli to neco napovi.. jaka je to verze qemu-kvm? 0.13.0? pri testech se mi nezdala uplne idealni, nechcete zkusit radu 0.12.x aspon nez vyjde 0.13.1?
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
12.12.2010 12:40 trekker.dk | skóre: 72
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
z nazvu image jsem pochopil ze pouzivate winXP a blk virtio bus
To mě taky zarazilo, já myslel, že virtio ovladače pro Windows se ještě nepovažují za stabilní. (Na druhou stranu jsem je delší dobu nesledoval, takže...)
0.13.0? pri testech se mi nezdala uplne idealni
Šlo by tohle rozvést?
Quando omni flunkus moritati
Nikola Ciprich avatar 12.12.2010 14:52 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
To mě taky zarazilo, já myslel, že virtio ovladače pro Windows se ještě nepovažují za stabilní. (Na druhou stranu jsem je delší dobu nesledoval, takže...)
No hlavne kdyz jsem je naposled pod windows zkousel, tak ani vykonove to nebyl zadny zazrak... Ale mozna uz je na case je zkusit znovu..
0.13.0? pri testech se mi nezdala uplne idealni
Šlo by tohle rozvést?
Semtam neco bez zjevneho duvodu zpanikarilo atd. I v konferenci jsem videl dost hlaseni o problemech, coz neni takove prekvapeni, mezi 0.12 a 0.13 je pomerne velky rozdil. No proste jsem se rozhodl ze radsi pockam jak bude vypadat 0.13.1 a pak uvidim...
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
12.12.2010 20:39 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Pustil jsem strace na oba procesy. Vypadá to na nějaký race-condition a deadlock. Jeden proces čeká:
futex(0x8a88e0, FUTEX_WAIT_PRIVATE, 2, NULL
Druhý proces se snaží získat nějaký prostředek:
read(17, 0x7fffa8546ea0, 128)           = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 205718}}) = 0
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}) = 1 (in [15], left {0, 999995})
read(15, "\1\0\0\0\0\0\0\0", 512)       = 8
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}) = 1 (in [17], left {0, 999928})
read(17, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x4becd0, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f243ec3e010}, 8) = 0
write(16, "\1\0\0\0\0\0\0\0", 8)        = 8
read(17, 0x7fffa8546ea0, 128)           = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 2878000}}, NULL) = 0
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}) = 1 (in [15], left {0, 999996})
read(15, "\1\0\0\0\0\0\0\0", 512)       = 8
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}) = 1 (in [17], left {0, 997261})
read(17, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x4becd0, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f243ec3e010}, 8) = 0
write(16, "\1\0\0\0\0\0\0\0", 8)        = 8
read(17, 0x7fffa8546ea0, 128)           = -1 EAGAIN (Resource temporarily unavailable)
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 250000}}, NULL) = 0
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 212563}}) = 0
ioctl(6, KVM_IRQ_LINE_STATUS, 0x7fffa8546ea0) = 0
ioctl(6, KVM_IRQ_LINE_STATUS, 0x7fffa8546ec0) = 0
futex(0x8a88e0, FUTEX_WAKE_PRIVATE, 1)  = 1
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}) = 2 (in [15 17], left {0, 999996})
read(17, "\16\0\0\0\0\0\0\0\376\377\377\377\0\0\0\0\0\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0"..., 128) = 128
rt_sigaction(SIGALRM, NULL, {0x4becd0, ~[KILL STOP RTMIN RT_1], SA_RESTORER, 0x7f243ec3e010}, 8) = 0
write(16, "\1\0\0\0\0\0\0\0", 8)        = 8
read(17, 0x7fffa8546ea0, 128)           = -1 EAGAIN (Resource temporarily unavailable)
read(15, "\2\0\0\0\0\0\0\0", 512)       = 8
timer_gettime(0x1, {it_interval={0, 0}, it_value={0, 0}}) = 0
timer_settime(0x1, 0, {it_interval={0, 0}, it_value={0, 14671000}}, NULL) = 0
select(49, [7 10 13 15 17 18 48], [], [], {1, 0}^C 
12.12.2010 12:55 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Odpovědět | | Sbalit | Link | Blokovat | Admin
Viděl bych to na ten formát disku qcow2. Mám podobné zkušenosti (zatuhnutí, pády), odstraněno po změně disku na typ raw. Navíc qcow2 není výkonnostně nic moc.
In Ada the typical infinite loop would normally be terminated by detonation.
12.12.2010 14:01 w3432
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Navíc qcow2 není výkonnostně nic moc.
muzete to nejak rozvest? sam jsem to nestoval ale onehdy jsem narazil na http://fedoraproject.org/wiki/Features/KVM_qcow2_Performance a podle toho ta nova verze qcow2 zas tak zalostna neni...
12.12.2010 20:18 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
a podle toho ta nova verze qcow2 zas tak zalostna neni...

To si můžou kecat co chtějí, ale realita je taková, že qcow2 je sračka. Dělal jsem s tím experimentů více než dost a obecný názor (viz google) tomu taky napovídá.

BTW ten odkazovaný test je IMHO syntetický, pod žádnou zátěží hostitele (což je vidět na nerealisticky horším výkonu se zaplou cache). V polních podmínkách to chodí jinak.

K té pomalosti se ještě samozřejmě řadí to že občas ta VM zdechne, přečtěte si bugfixy za posledních X verzí qemu a je to tam samé qcow...
In Ada the typical infinite loop would normally be terminated by detonation.
Nikola Ciprich avatar 12.12.2010 20:30 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
no uprimne ja moc nechapu proc se tomu venuje tolik usili.. nevidim jediny duvod proc to v nejakem produkcnim nasazeni pouzivat.. tak mozna na nejake testy...
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
13.12.2010 06:55 pht | skóre: 48 | blog: pht
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Snapshoty a overlaye by se užily i na produkčních serverech, jen kdyby to nepadalo...
In Ada the typical infinite loop would normally be terminated by detonation.
13.12.2010 10:29 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
U nás snapshoty používáme docela hodně.
16.12.2010 13:31 Sten
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Přesně tak, qcow2 je dobré tak maximálně pro spouštění na Windows. Doporučuji místo qcow2 nasadit raw na LVM, to snapshoty umí taky a navíc je to o dost rychlejší a stabilnější.
16.12.2010 20:10 Aleš Kapica | skóre: 52 | blog: kenyho_stesky | Ostrava
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Není snapshot jako snapshot.
12.12.2010 20:28 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Odpovědět | | Sbalit | Link | Blokovat | Admin
Děkuji za za podměty a připomínky. Můj stroj je celkově experimentální. Zatím používáme Xen, do budoucna zvažujeme nové mašiny virtualizovat na KVM.

Windows XP jedou skutečně na virtio drivers. W2008R2 běží na výchozích ovladačích, IDE, e1000 atd. Zkusím stroje zkonvertovat na raw formát. S qcow2 jsem experimentoval, protože podporuje snapshoty.
Nikola Ciprich avatar 12.12.2010 20:48 Nikola Ciprich | skóre: 23 | blog: NiX_blog | Palkovice
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
OK, drzim palce ;)
S qcow2 jsem experimentoval, protože podporuje snapshoty.
snapshoty muzete pouzivat i na LVM (slozitejsi to je v clusterovem prostredi, ale i tam to jde...)
Did you ever touch the starlight ? Dream for a thousand years? Have you ever seen the beauty Of a newborn century?
13.12.2010 10:41 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Tak jsem překonvertoval stroje na raw formát, ale stejně do rána vytuhnuly.
futex(0x8a88e0, FUTEX_WAIT_PRIVATE, 2, NULL
16.12.2010 12:12 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tak jsem trochu experimentoval. Vykopal jsem virtio ovladače z windows xp a image disků překonvertoval do raw formátu. Bohužel stroj s windows xp po nějaké době opět tuhne. Druhý stroj s win 2008r2 serverem běží dál bez problémů.
menphis avatar 16.12.2010 21:23 menphis | skóre: 22 | blog: menphis_blog
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Zkus spustit nejaky virtualni linux, klidne live distro. Jinak to Gentoo, na kterem to bezi, je stable? V Gentoo unstable (~amd64), byvaji celkem casto bugy.
16.12.2010 23:01 SAM: | skóre: 23 | blog: marsark_linux
Rozbalit Rozbalit vše Re: KVM a libvirt, virtuální stroje tuhnou po několika hodinách
Je to právě ~Gentoo 64bit. Zajímavé je že tuhnou jenom XP. Když ten vytuhlý proces zabiju, tak stroj s 2k8R2 serverem jede ok v pohodě dál.

Založit nové vláknoNahoru

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

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.