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.
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:
- Bug 666130 – Cgroups cause libvirt to be unable to start virtual machines
- SELinux basic confinement – also some cgroup details
- Using CGroups with libvirt and LXC/KVM guests in Fedora 12
- libvirt started after cgred – cgroup not working correctly
- cgred should be started before libvirt-bin
- [SOLVED] Virt-manager picks wrong qcow2/raw format for new VMs (No bootable device.)
- LXC on Ubuntu 10.04 Lucid Lynx – some cgroup notes.