Go to main content
Oracle® VM Server for SPARC OpenStack Nova Driver and Utilities 1.0 Administration Guide

Exit Print View

Updated: May 2017
 
 

Configuring Distributed Lock Management

The Distributed Lock Manager (DLM) implementation prevents the same VM from running on multiple compute nodes simultaneously. This situation might occur when a VM is rebuilt on another system during a temporary hardware failure or hardware maintenance and the initial system that houses that VM is restored to service. DLM places a lock on each VM when it runs on a compute node, which prevents other compute nodes from running that VM. The Nova evacuate capability is not supported when DML is not installed and configured.

Configuring DLM on the Oracle VM Server for SPARC OpenStack compute node requires a specifically configured NFS server and changes to the /etc/nova/nova.conf file. See Compute Node /etc/nova/nova.conf Configuration File.


Note - The NFS clients are the compute nodes that participate in the cluster.

Configuring an NFSv4 Server on the Oracle Solaris OS for Use With Distributed Lock Management

The following example shows how to configure a single Solaris host as the NFSv4 server. The ZFS file system is on saspool, the share is called nfspool, and the share name is /saspool/nfspool. The IP addresses of your NFS clients are 10.0.68.20 and 10.0.68.22. This example also configures the NFS domain on all hosts.


Note - The following commands show how to use a single NFSv4 server for DLM. This configuration is not intended for use in a production environment. It is best to use a ZFS appliance in a dual-node, high-availability configuration or a similar highly available NFSv4 server.

 

cctrl# sharectl set -p server_versmin=4 nfs
cctrl# sharectl set -p server_delegation=off nfs
cctrl# zfs create -o quota=1g saspool/nfspool
cctrl# zfs set share=name=nfspool,path=/saspool/nfspool,prot=nfs,sec=sys,rw=@10.0.68.20/32:@10.0.68.22/32,root=@10.0.68.20/32:@10.0.68.22/32,anon=0 saspool/nfspool
cctrl# zfs share.nfs=on saspool/nfspool
cctrl# chown 85:85 /saspool/nfspool # Nova user's UID
cctrl# sharectl set -p nfsmapid_domain=domain-name nfs
nova# sharectl set -p nfsmapid_domain=domain-name nfs

Note - You must specify the nfsmapid_domain property on both the NFSv4 server and on all the compute nodes.

Taking the Distributed Lock Management NFSv4 Server Offline for Maintenance

If you need to take the DLM's NFSv4 server down for an extended amount of time, first disable DLM on each of your compute nodes.

Edit the /etc/nova/nova.conf configuration file to comment out the dlm_nfs_server entry. For example:

#dlm_nfs_server=10.10.68.61

Restart the nova-compute service on all your compute nodes.

nova# svcadm restart nova-compute

DLM exits the cluster on all nodes and no longer attempts to fence the nodes on loss of connectivity to the NFS share.

When the NFS server is ready to come online, reverse the previous steps by removing the comment character (#) from the beginning of the dlm_nfs_server entry and restarting the nova-compute service.

Note that the Nova evacuate operation is not supported while the DLM cluster is offline.