Archive for December, 2011

Lucid libvirt

Lucid does not seem to work well with libvirt/kvm, there are several bugs that seem to be fixed in Maverick but not in Lucid.

From syslog:

error : qemuSetupCgroup:1955 : Unable to create cgroup for DOMAIN: No such file or directory
error : qemuRemoveCgroup:2045 : internal error Unable to find cgroup for DOMAIN#012

Re: [libvirt] FYI, “Unable to create cgroup for …”

This is a bug in systemd. It periodically scans all mounted cgroups
and deletes any directories which don’t contain any attached processes.
Needless to say this breaks libvirt, and possibly other apps, which
don’t expect 3rd parties to be deleting their directories.

https://bugzilla.redhat.com/show_bug.cgi?id=678555

Best solution for this that I’ve found on lucid is: Bug 696218 – Unable to create cgroup: No such file or directory

I was able to solve it by modifying the configuration in the file
/etc/libvirt/qemu.conf:

 cgroup_controllers = [ ]

setgid, setuid needed by /etc/apparmor.d/abstractions/libvirt-qemu

=== modified file 'apparmor.d/abstractions/libvirt-qemu'
--- apparmor.d/abstractions/libvirt-qemu 2010-04-30 15:33:20 +0000
+++ apparmor.d/abstractions/libvirt-qemu 2010-05-12 17:26:56 +0000
@@ -8,6 +8,8 @@
   capability dac_override,
   capability dac_read_search,
   capability chown,
+ capability setgid,
+ capability setuid,

Libvirt/kvm permissions/ownership issue on upgrade from Karmic to Lucid and error: operation failed: failed to retrieve chardev info in qemu with ‘indev’

libvirtError: internal error unable to start guest: libvir: QEMU
error : cannot set ownership

or

 error: operation failed: failed to retrieve chardev info in qemu with 'indev'

Add the following to /etc/libvirt/qemu.conf:

# The user ID for QEMU processes run by the system instance
#user = "libvirt-qemu"
user = "root"

# The group ID for QEMU processes run by the system instance
group = "kvm"

map serial port throws “chardev: opening backend “tty” failed”

There seems to be a problem with the apparmor profile of libvirt (see bug #54579). After adding the line to /etc/apparmor.d/abstractions/libvirt-qemu and reloading the profile it worked for me.

/dev/ttyS* rw,

Few other links:

Comments off

Random MAC address for libvirt

Snippet for generating a random MAC address. Useful if adding interfaces to a libvirt xml define file.

MACADDR="52:54:$(dd if=/dev/urandom count=1 2>/dev/null | md5sum | sed 's/^\(..\)\(..\)\(..\)\(..\).*$/\1:\2:\3:\4/')";
echo $MACADDR
echo "
<interface type='bridge'>
<mac address='$MACADDR'/>
<source bridge='br233'/>
<model type='virtio'/>
</interface>
"

Comments (1)

Windows BSOD and BIOS Checksum error

If you have a BSOD crash and the BIOS defaults after a checksum error, make sure you check the SATA ACHI/IDE settings. Otherwise window will not boot and you’ll get confused.

Comments off