
On 03/13/2012 10:42 PM, Frido Roose wrote:
Hello,
I configured libvirtd with the sanlock lock manager plugin:
# rpm -qa | egrep "libvirt-0|sanlock-[01]" libvirt-lock-sanlock-0.9.4-23.el6_2.4.x86_64 sanlock-1.8-2.el6.x86_64 libvirt-0.9.4-23.el6_2.4.x86_64
# egrep -v "^#|^$" /etc/libvirt/qemu-sanlock.conf auto_disk_leases = 1 disk_lease_dir = "/var/lib/libvirt/sanlock" host_id = 4
# mount | grep sanlock /dev/mapper/kvm--shared-sanlock on /var/lib/libvirt/sanlock type gfs2 (rw,noatime,hostdata=jid=0)
# cat /etc/sysconfig/sanlock SANLOCKOPTS="-R 1 -o 30"
I increased the sanlock io_timeout to 30 seconds (default = 10), because the sanlock dir is on a GFS2 volume and can be blocked for some time while fencing and journal recovery takes place. With the default sanlock io timeout, I get lease timeouts because IO is blocked: Mar 5 15:37:14 raiti sanlock[5858]: 3318 s1 check_our_lease warning 79 last_success 3239 Mar 5 15:37:15 raiti sanlock[5858]: 3319 s1 check_our_lease failed 80
So far, all fine, but when I restart sanlock and libvirtd, it takes about 2 * 30 seconds = 1 minute before libvirtd is usable. "virsh list" hangs during this time. I can still live with that... But it gets worse after a reboot, when running a "virsh list" even takes a couple of minutes (like about 5 minutes) before it responds. After this initial time, virsh is responding normally, so it looks like an initialization issue to me.
Is this a configuration issue, a bug, or expected behavior? Hi Frido, I'm not sure whether you met a sanlock AVC error in your /var/log/audit/audit.log, could you check it and provide your selinux-policy version? in addition, you should turn on selinux bool value for sanlock, for example,
# getsebool -a|grep sanlock virt_use_sanlock --> off # setsebool -P virt_use_sanlock on # getsebool -a|grep sanlock virt_use_sanlock --> on In addition, could you provide libvirt log as a attachment? please refer the following configuration: 1. /etc/libvirt/libvirtd.conf log_filters="1:libvirt 1:conf 1:locking" log_outputs="1:file:/var/log/libvirt/libvirtd.log" 2. service libvirtd restart 3. repeat your test steps Good Luck! Alex
Thanks for any advice... Frido
_______________________________________________ libvirt-users mailing list libvirt-users@redhat.com https://www.redhat.com/mailman/listinfo/libvirt-users