On 2012-12-28 00:14, Osier Yang wrote:
On 2012年12月28日 05:28, Patrick 'P. J.' McDermott wrote:
[...]
> Of particular interest in the log seems to be:
>
> 11:53:20.636: debug : virExecWithHook:709 : LC_ALL=C /usr/bin/kvm -device
pci-assign,?
> 11:53:20.673: warning : qemudParsePCIDeviceStrs:1422 : Unexpected exit status
'1', qemu probably failed
>
> I ran QEMU with that "-device" option:
>
> $ LC_ALL=C /usr/bin/kvm -device pci-assign,?
> property "pci-assign.?" not found
> can't set property "?" to "on" for
"pci-assign"
qemudParsePCIDeviceStrs should be involked when detecting the
qemu capability, and it should [not] be the cause of the qemu crash.
Yeah, that's what I thought.
However, unfortunately, I can't even find the function from
git log.
It's defined statically at src/qemu/qemu_conf.c:1384 in libvirt 0.8.3
[1].
> So it looks like libvirtd (0.8.3) is trying to get a list of all
It's too old. :-), can you try to upgrade your libvirt?
Yeah, I'm trying to set up virtual machines in an old host system, which
I plan to reinstall – likely with a newer OS version – after I move all
of its services to the VMs. :)
I installed backported packages of libvirt 0.9.12 and qemu-kvm 1.1.2.
Running virt-install again failed, but this time QEMU gave a rather
helpful error message:
Starting install...
Retrieving file MANIFEST... | 3.3 kB 00:00 ...
Retrieving file linux... | 4.6 MB 00:13 ...
Retrieving file initrd.gz... | 13 MB 00:45 ...
ERROR internal error Process exited while reading console log output: 2012-12-29
03:41:07.802+0000: 1532: info : libvirt version: 0.9.12
char device redirected to /dev/pts/5
Failed to allocate 140737488355328 B: Cannot allocate memory
Domain installation does not appear to have been
successful. If it was, you can restart your domain
by running 'virsh start test1'; otherwise, please
restart your installation.
ERROR internal error Process exited while reading console log output: 2012-12-29
03:41:07.802+0000: 1532: info : libvirt version: 0.9.12
char device redirected to /dev/pts/5
Failed to allocate 140737488355328 B: Cannot allocate memory
Traceback (most recent call last):
File "/usr/bin/virt-install", line 1033, in <module>
main()
File "/usr/bin/virt-install", line 915, in main
start_time, guest.start_install)
File "/usr/bin/virt-install", line 957, in do_install
dom = install_func(conscb, progresscb, wait=(not wait))
File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 973, in
start_install
return self._do_install(consolecb, meter, removeOld, wait)
File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 1038, in
_do_install
"install")
File "/usr/lib/pymodules/python2.6/virtinst/Guest.py", line 1009, in
_create_guest
dom = self.conn.createLinux(start_xml, 0)
File "/usr/lib/python2.6/dist-packages/libvirt.py", line 1277, in
createLinux
if ret is None:raise libvirtError('virDomainCreateLinux() failed',
conn=self)
libvirtError: internal error Process exited while reading console log output:
2012-12-29 03:41:07.802+0000: 1532: info : libvirt version: 0.9.12
char device redirected to /dev/pts/5
Failed to allocate 140737488355328 B: Cannot allocate memory
(This error message is from qemu_memalign() at oslib-posix.c:95 in
qemu-kvm 1.1.2 [2].)
Apparently I misunderstood the units of the --ram option value… On my
system which has 2 GiB of RAM, running virt-install with a --ram option
value of "128" (128 MiB) instead of "$((128 * 1024 * 1024))" (128
TiB!)
worked much better. :)
So this is just a case of user error, hidden by a lack of output in an
old version of QEMU.
> properties of the pci-assign driver, but QEMU 0.12.x doesn't
support
> this. But I'm not sure if that's related to why QEMU crashes later on.
>
> [1]:
http://odin1.pehjota.net/~pj/servers/libvirtd.log
[1]:
http://libvirt.org/git/?p=libvirt.git;a=blob;f=src/qemu/qemu_conf.c;h=539...
[2]:
http://anonscm.debian.org/gitweb/?p=collab-maint/qemu-kvm.git;a=blob;f=os...
Thanks for the help, and sorry for the noise over such a mistake,
--
Patrick "P. J." McDermott
http://www.pehjota.net/
http://www.pehjota.net/contact.html