cluster.conf(5) configuration file for cman and related daemons

SYNOPSIS

/etc/cluster/cluster.conf

DESCRIPTION

When cman_tool(8) starts the corosync(8) daemon, the cluster.conf data is read into the corosync in-memory database (confdb). The configuration is used by corosync, cman and other related cluster daemons and programs. When cman configures corosync with cluster.conf, the corosync.conf(5) file is not used.

A basic cluster configuration is described below. Configuration options for other daemons/programs are described in their own man pages. ccs_tool(8) can be used to do some basic cluster.conf editing.

The cluster.rng schema is used to validate cluster.conf. Unrecognized items will produce a warning during cluster startup, and invalid xml structure will cause the cluster startup to fail. See ccs_config_validate(8) and ccs_config_dump(8).

Cluster

The top level cluster section contains all other sections and has two required attributes:
name
The name of the cluster can be up to 15 characters long (16 including terminating null). It is important that this name be unique among clusters on the same network.
config_version
The config_version specifies the revision level of the file and should be increased each time the file is updated.

<cluster name="alpha" config_version="1">
</cluster>

Cluster Nodes

The set of nodes that make up the cluster are defined in the clusternodes section which contains multiple clusternode sections. A clusternode has two required attributes:
name
The node name should correspond to the hostname on the network interface to be used for cluster communication.
nodeid
The node id must be greater than zero and unique.

<cluster name="alpha" config_version="1">
        <clusternodes>
        <clusternode name="node-01" nodeid="1">
        </clusternode>
        <clusternode name="node-02" nodeid="2">
        </clusternode>
        <clusternode name="node-03" nodeid="3">
        </clusternode>
        </clusternodes>
</cluster>

Logging

Cluster daemons use a common logging section to configure their loggging behavior.

<cluster name="alpha" config_version="1">
        <logging/>
</cluster>

Global settings apply to all:

<logging debug="on"/>

Per-daemon logging_daemon subsections override the global settings. Daemon names that can be configured include: corosync, qdiskd, groupd, fenced, dlm_controld, gfs_controld, rgmanager.

<logging>
        <logging_daemon name="qdiskd" debug="on"/>
        <logging_daemon name="fenced" debug="on"/>
</logging>

Corosync daemon settings apply to all corosync subsystems by default, but subsystems can also be configured individually. These include CLM, CPG, MAIN, SERV, CMAN, TOTEM, QUORUM, CONFDB, CKPT, EVT.

<logging>
        <logging_daemon name="corosync" subsys="QUORUM" debug="on"/>
        <logging_daemon name="corosync" subsys="CONFDB" debug="on"/>
</logging>

The attributes available at global, daemon and subsystem levels are:

to_syslog
enable/disable messages to syslog (yes/no), default "yes"

to_logfile
enable/disable messages to log file (yes/no), default "yes"

syslog_facility
facility used for syslog messages, default "daemon"

syslog_priority
messages at this level and up will be sent to syslog, default "info"

logfile_priority
messages at this level and up will be written to log file, default "info"

logfile  
the log file name, default /var/log/cluster/<daemon>.log

debug=on
a shortcut for logfile_priority="debug"

EXAMPLE

An explicit configuration for the default settings would be:

<logging to_syslog="yes" to_logfile="yes" syslog_facility="daemon"
         syslog_priority="info" logfile_priority="info">
    <logging_daemon name="qdiskd"
             logfile="/var/log/cluster/qdiskd.log"/>
    <logging_daemon name="fenced"
             logfile="/var/log/cluster/fenced.log"/>
    <logging_daemon name="dlm_controld"
             logfile="/var/log/cluster/dlm_controld.log"/>
    <logging_daemon name="gfs_controld"
             logfile="/var/log/cluster/gfs_controld.log"/>
    <logging_daemon name="rgmanager"
             logfile="/var/log/cluster/rgmanager.log"/>
    <logging_daemon name="corosync"
             logfile="/var/log/cluster/corosync.log"/>
</logging>

To include debug messages (and above) from all daemons in their default log files, either of the following which are equivalent:

<logging debug="on"/>
<logging logfile_priority="debug"/>

To exclude all log messages from syslog:

<logging to_syslog="no"/>

To disable logging to all log files:

<logging to_file="no"/>

To include debug messages (and above) from all daemons in syslog:

<logging syslog_priority="debug"/>

To limit syslog messages to error (and above), keeping info (and above) in log files (this logfile_priority setting is the default so could be omitted):

<logging syslog_priority="error" logfile_priority="info"/>

FILES

/etc/cluster/cluster.conf
standard location of cluster configuration file
/usr/share/cluster/cluster.rng
standard location of cluster.conf schema