Provided by: cman_3.1.7-0ubuntu2_amd64
dlm_controld - daemon that configures dlm according to cluster events
The dlm lives in the kernel, and the cluster infrastructure (corosync membership and group management) lives in user space. The dlm in the kernel needs to adjust/recover for certain cluster events. It's the job of dlm_controld to receive these events and reconfigure the kernel dlm as needed. dlm_controld controls and configures the dlm through sysfs and configfs files that are considered dlm-internal interfaces. The cman init script usually starts the dlm_controld daemon.
Command line options override a corresponding setting in cluster.conf. -D Enable debugging to stderr and don't fork. See also dlm_tool dump in dlm_tool(8). -L Enable debugging to log file. See also logging in cluster.conf(5). -K Enable kernel dlm debugging messages. See also log_debug below. -r num dlm kernel lowcomms protocol, 0 tcp, 1 sctp, 2 detect. 2 selects tcp if corosync rrp_mode is "none", otherwise sctp. Default 2. -g num groupd compatibility mode, 0 off, 1 on. Default 0. -f num Enable (1) or disable (0) fencing recovery dependency. Default 1. -q num Enable (1) or disable (0) quorum recovery dependency. Default 0. -d num Enable (1) or disable (0) deadlock detection code. Default 0. -p num Enable (1) or disable (0) plock code for cluster fs. Default 1. -l num Limit the rate of plock operations, 0 for no limit. Default 0. -o num Enable (1) or disable (0) plock ownership. Default 1. -t ms Plock ownership drop resources time (milliseconds). Default 10000. -c num Plock ownership drop resources count. Default 10. -a ms Plock ownership drop resources age (milliseconds). Default 10000. -P Enable plock debugging messages (can produce excessive output). -h Print a help message describing available options, then exit. -V Print program version information, then exit.
cluster.conf(5) is usually located at /etc/cluster/cluster.conf. It is not read directly. Other cluster components load the contents into memory, and the values are accessed through the libccs library. Configuration options for dlm (kernel) and dlm_controld are added to the <dlm /> section of cluster.conf, within the top level <cluster> section. Kernel options protocol The network protocol can be set to tcp, sctp or detect which selects tcp or sctp based on the corosync rrp_mode configuration (redundant ring protocol). The rrp_mode "none" results in tcp. Default detect. <dlm protocol="detect"/> timewarn After waiting timewarn centiseconds, the dlm will emit a warning via netlink. This only applies to lockspaces created with the DLM_LSFL_TIMEWARN flag, and is used for deadlock detection. Default 500 (5 seconds). <dlm timewarn="500"/> log_debug DLM kernel debug messages can be enabled by setting log_debug to 1. Default 0. <dlm log_debug="0"/> clusternode/weight The lock directory weight can be specified one the clusternode lines. Weights would usually be used in the lock server configurations shown below instead. <clusternode name="node01" nodeid="1" weight="1"/> Daemon options enable_fencing See command line description. <dlm enable_fencing="1"/> enable_quorum See command line description. <dlm enable_quorum="0"/> enable_deadlk See command line description. <dlm enable_deadlk="0"/> enable_plock See command line description. <dlm enable_plock="1"/> plock_rate_limit See command line description. <dlm plock_rate_limit="0"/> plock_ownership See command line description. <dlm plock_ownership="1"/> drop_resources_time See command line description. <dlm drop_resources_time="10000"/> drop_resources_count See command line description. <dlm drop_resources_count="10"/> drop_resources_age See command line description. <dlm drop_resources_age="10000"/> plock_debug Enable (1) or disable (0) plock debugging messages (can produce excessive output). Default 0. <dlm plock_debug="0"/> Disabling resource directory Lockspaces usually use a resource directory to keep track of which node is the master of each resource. The dlm can operate without the resource directory, though, by statically assigning the master of a resource using a hash of the resource name. To enable, set the per-lockspace nodir option to 1. <dlm> <lockspace name="foo" nodir="1"/> </dlm> Lock-server configuration The nodir setting can be combined with node weights to create a configuration where select node(s) are the master of all resources/locks. These master nodes can be viewed as "lock servers" for the other nodes. <dlm> <lockspace name="foo" nodir="1"> <master name="node01"/> </lockspace> </dlm> or, <dlm> <lockspace name="foo" nodir="1"> <master name="node01"/> <master name="node02"/> </lockspace> </dlm> Lock management will be partitioned among the available masters. There can be any number of masters defined. The designated master nodes will master all resources/locks (according to the resource name hash). When no masters are members of the lockspace, then the nodes revert to the common fully-distributed configuration. Recovery is faster, with little disruption, when a non-master node joins/leaves. There is no special mode in the dlm for this lock server configuration, it's just a natural consequence of combining the "nodir" option with node weights. When a lockspace has master nodes defined, the master has a default weight of 1 and all non-master nodes have weight of 0. An explicit non-zero weight can also be assigned to master nodes, e.g. <dlm> <lockspace name="foo" nodir="1"> <master name="node01" weight="2"/> <master name="node02" weight="1"/> </lockspace> </dlm> In which case node01 will master 2/3 of the total resources and node2 will master the other 1/3.
dlm_tool(8), fenced(8), cman(5), cluster.conf(5)