dlm_controld

Langue: en

Version: 305606 (debian - 07/07/09)

Section: 8 (Commandes administrateur)

NAME

dlm_controld - daemon that configures dlm according to cluster events

SYNOPSIS

dlm_controld [OPTION]...

DESCRIPTION

The dlm lives in the kernel, and the cluster infrastructure (cluster 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; not a general API/ABI.

The dlm also exports lock state through debugfs so that dlm_controld can implement deadlock detection in user space.

CONFIGURATION FILE

Optional cluster.conf settings are placed in the <dlm> section.

Global settings

The network protocol can be set to "tcp" or "sctp". The default is tcp.


  <dlm protocol="tcp"/>

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. The default is 500 (5 seconds).


  <dlm timewarn="500"/>

DLM kernel debug messages can be enabled by setting log_debug to 1. The default is 0.


  <dlm log_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.


  <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. Explicit non-zero weights 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.

OPTIONS

-d <num>
Enable (1) or disable (0) the deadlock detection code.
-D
Run the daemon in the foreground and print debug statements to stdout.
-K
Enable kernel dlm debugging messages.
-V
Print the version information and exit.
-h
Print out a help message describing available options, then exit.

SEE ALSO

groupd(8)