DLM_CONTROLD(8) cluster DLM_CONTROLD(8)NAMEdlm_controld - daemon that configures dlm according to cluster events
SYNOPSISdlm_controld [OPTIONS]
DESCRIPTION
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.
OPTIONS
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 0.
-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.
FILEScluster.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 config‐
urations 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="0"/>
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 config‐
uration 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 lit‐
tle 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.
SEE ALSOdlm_tool(8), fenced(8), cman(5), cluster.conf(5)cluster 2009-01-18 DLM_CONTROLD(8)