Имеется Centos 6.Чтобы qemu-kvm нормально работал с TAP-интерфейсами из-под libvirt,
был выключен SELinux и отредактирован /etc/libvirt/qemu.conf:security_driver = none
user = root
group = root
clear_emulator_capabilities = 0Благодаря этому qemu нормально запускался, пока Centos не был обновлён из CR.
libvirt при этом обновился с 0.8.1-27.el6 до 0.8.7-18.el6_1.1Теперь qemu-kvm не хочет запускаться ни в какую - не может открыть /dev/net/tun.
Все советы из https://fedoraproject.org/wiki/How_to_debug_Virtualization_p... выполнены.
Дополнительно сделан "setcap cap_net_admin=ei /usr/libexec/qemu-kvm"Специально положил на место /usr/libexec/qemu-kvm минимальную заглушку,
чтобы убедиться, что дело не в qemu, а в libvirt:cmdline args: ...
user: uid=0(root) gid=0(root) groups=0(root),1(bin),2(daemon),3(sys),4(adm),6(disk),10(wheel)
running with caps =ep
open /dev/net/tun: Operation not permittedВопрос: в чём ещё может быть дело и что ещё имеет смысл проверить?
> Благодаря этому qemu нормально запускался, пока Centos не был обновлён из CR.
> libvirt при этом обновился с 0.8.1-27.el6 до 0.8.7-18.el6_1.1
> Теперь qemu-kvm не хочет запускаться ни в какую
> - не может открыть /dev/net/tun.Пересборка libvirt 0.8.7 без selinux и cap-ng не помогла:
rpmbuild --rebuild --without capng --without selinux libvirt-0.8.7-18.el6_1.1.src.rpm
rpm -Uvh ~/rpmbuild/RPMS/x86_64/libvirt*-0.8.7-18.el6.1.x86_64.rpm
Solution:
1) mkdir /dev/cgroup; mount -t cgroup none /dev/cgroup -o devices
2) uncomment cgroup_controllers and cgroup_device_acl in /etc/libvirt/qemu.conf
3) add "/dev/net/tun" to cgroup_device_acl list
4) /etc/init.d/libvirtd restart
5) fuck off redhead!