Portál AbcLinuxu, 10. května 2025 08:10
br0
).
Uživatelské virtuály (qemu:///session
) běží sice pod neprivilegovaným uživatelem, ale nefugnuje mi v nich tapnutí na br0
*
Systémové virtuály (qemu:///system
) se k síti připojí a z tohoto hlediska fungují přesně jak potřebuji**. Ale proces kvm pak běží pod rootem, což se mi nelíbí. Uživatele i skupinu lze nastavit v /etc/libvirt/qemu.conf
. To jsem udělal, ale dostanu chybu:
virsh # start koala chyba: Nepodařilo se spustit doménu koala chyba: internal error unable to start guest: libvir: QEMU error : cannot change to '1003' group: Operation not permittedNa stránkách libvirtu jsem se dočetl, že:
The directories /var/run/libvirt/qemu/, /var/lib/libvirt/qemu/ and /var/cache/libvirt/qemu/ must all have their ownership set to match the user / group ID that QEMU guests will be run as.Tak jsem všem těm adresářům (rekurzivně) nastavil příslušného vlastníka a skupinu, ale nepomohlo to – pořád stejná chyba. Napadá vás, co je ještě potřeba udělat? Ve
/var/log/messages
se při pokusu o start objeví:
type=1505 audit(1269731294.962:131): operation="profile_load" pid=15278 name=libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484 device vnet0 entered promiscuous mode br0: port 2(vnet0) entering learning state type=1503 audit(1269731294.972:132): operation="capable" pid=15280 parent=15046 profile="libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484" name="setgid" br0: port 2(vnet0) entering disabled state device vnet0 left promiscuous mode br0: port 2(vnet0) entering disabled state type=1505 audit(1269731295.204:133): operation="profile_remove" pid=15282 name=libvirt-c3abdaf5-c5dc-9e5a-14ff-c734bcce1484 namespace=defaultRadši bych používal ty uživatelské virtuály (
qemu:///session
), ale pokud v nich nefunguje síť (br0
), tak se smířím i s těmi systémovými (qemu:///system
), ale potřeboval bych změnit toho uživatele a skupinu, pod kterými to běží.
*) Failed to add tap interface 'vnet%d' to bridge 'br0' : Permission denied
(někde jsem se dočetl, že v libvirt tohle nefunguje a nepomohla ani úprava práv /dev/net/tun
, takže už jsem to dál nezkoušel)
**) akorát jsem musel shodit firewall (budu si muset upravit pravidla).
Řešení dotazu:
/etc/apparmor.d/usr.sbin.libvirtd
kromě jiného je:
capability setgid capability setuidTo by mělo stačit ne?
usr.sbin.libvirtd
. Pak sem musel poštelovat ještě trochu práva (setfacl
…), ale už KVM funguje, jak má.
musel poštelovat ještě trochu práva (setfacl
…)
Muzu se zeptat kde vsude? Diky
setfacl -m u:qemu:rw /dev/kvm setfacl -m g:qemu:rw /dev/kvmDo té doby se nepoužívalo HW urychlení virtualizace, takže to bylo neskutečně pomalé a v
kvm_stat
nebyla vidět žádná činnost.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.