On Thu, Jun 23, 2011 at 01:26:02PM -0400, David Teigland wrote:
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 you are using the libvirt storage APIs (virsh pool-create,
vol-create, etc), then you need to make sure you use the same
XML on every host. You should also make sure the XML requests
block device paths under /dev/disk/by-path/ which are stable
across hosts & reboots, and not use the unstable /dev/sdXXX
names.
> + 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.
Originally I could have saved space, but now that sanlock mandates
alignment of 1MB / 8MB, this benefit has gone. Is there in fact any
compelling reason to allow either num_hosts or max_hosts to be
configurable at all ? If not, then I'd just remove this and
just hardcode the sanlock standard 2000.
> +# 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).
Daniel
--
|:
http://berrange.com -o-
http://www.flickr.com/photos/dberrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|:
http://entangle-photo.org -o-
http://live.gnome.org/gtk-vnc :|