
On Fri, Jun 17, 2011 at 01:38:21PM +0100, Daniel P. Berrange wrote:
To make use of this capability the admin will need todo several tasks:
- Mount an NFS volume (or other shared filesystem) on /var/lib/libvirt/sanlock - Configure 'host_id' in /etc/libvirt/qemu-sanlock.conf with a unique value for each host with the same NFS mount - Toggle the 'auto_disk_leases' parameter in qemu-sanlock.conf
I guess the all hosts are expected to have a consistent libvirt configuration also. Is there any suggested approach for doing that in an ad hoc environment? Could you use the shared file system for that somehow?
+ if ((rv = sanlock_direct_init(&ls, NULL, 0, driver->maxHosts, 0)) < 0) { + if ((rv = sanlock_direct_init(NULL, res, driver->maxHosts, driver->maxHosts, 0)) < 0) {
You should use 0 as the third arg for sanlock_direct_init(). sanlock names the third arg max_hosts and the fourth arg num_hosts. sanlock's max_hosts is mostly useless and should always be 0 which will cause sanlock to use the default of 2000.
+# Each additional host requires 1 sector of disk space, usually +# 512 bytes. The default is 64, and can be reduced if you don't +# have many hosts, or increased if you have more. +# +#max_hosts = 64
This becomes libvirt's maxHosts and sanlock's num_hosts. The default of 64 seems fine. I'm struggling a bit with what to say in the comment. It doesn't affect the amount of disk space allocated, and there's little reason to ever make it smaller. I think the comment could just say to increase it if there are more than 64 hosts.
+# The unique ID for this host. +# +# IMPORTANT: *EVERY* host which can access the filesystem mounted +# at 'disk_lease_dir' *MUST* be given a different host ID. +# +# This parameter has no default and must be manually set if +# 'auto_disk_leases' is enabled +#host_id = 1
You could say the valid range of numbers here is 1 to the max_hosts value above (64). Dave