o2cb (7) - Linux Man Pages
o2cb: Default cluster stack for the OCFS2 file system.
NAMEo2cb - Default cluster stack for the OCFS2 file system.
o2cb is the default cluster stack for the OCFS2 file system. It includes a node manager (o2nm) to keep track of the nodes in the cluster, a heartbeat agent (o2hb) to detect live nodes, a network agent (o2net) for intra-cluster node communication and a distributed lock manager (o2dlm) to keep track of lock resources. All these components are in-kernel. It also includes an in-memory file system, dlmfs, to allow userspace to access the in-kernel dlm.
This cluster stack has two configuration files, namely, /etc/ocfs2/cluster.conf and /etc/sysconfig/o2cb. Whereas the former keeps track of the cluster layout, the latter keeps track of the cluster timeouts. Both files are only read when the cluster is brought online. Values in use by the online cluster can be perused in the /sys/kernel/config/cluster directory structure.
The cluster layout is specified in /etc/ocfs2/cluster.conf. While it is easier to populate and propagate this configuration file using ocfs2console(8), one can also do it by manually as long as care is taken to format the file correctly.
While the console utility is intuitive to use, there are few points to keep in mind.
For best performance, use of a private interconnect (lower latency) is recommended.
The cluster.conf file is in a stanza format with two types of stanzas, namely, cluster and node. A typical cluster.conf will have one cluster stanza and multiple node stanzas.
The cluster stanza has two parameters:
- Total number of nodes in the cluster
Name of the cluster
The node stanza has five parameters:
- IP port
- IP address
- Unique node number from 0-254
- Name of the cluster
Users populating cluster.conf manually should follow the format strictly. As in, stanza header should start at the first column and end with a colon, stanza parameters should start after a tab, a blank line should demarcate each stanza and care taken to avoid stray whitespaces.
The O2CB cluster timeouts are specified in /etc/sysconfig/o2cb and can be configured using the o2cb init script.
These timeouts are used by the O2CB clusterstack to determine whether a node is dead or alive. While the use of default values is recommended, users can experiment with other values if the defaults are causing spurious fencing.
The cluster timeouts are:
- Heartbeat Dead Threshold
The Disk Heartbeat timeout is the number of two second iterations before a node is
considered dead. The exact formula used to convert the timeout in seconds to the
number of iterations is as follows:
O2CB_HEARTBEAT_THRESHOLD = (((timeout in seconds) / 2) + 1)
For e.g., to specify a 60 sec timeout, set it to 31. For 120 secs, set it to 61. The default for this timeout is 60 secs (O2CB_HEARTBEAT_THRESHOLD = 31).
- Network Idle Timeout
The Network Idle timeout specifies the time in milliseconds before a network connection
is considered dead. It defaults to 30000 ms.
- Network Keepalive Delay
The Network Keepalive specifies the maximum delay in milliseconds before a keepalive
packet is sent to another node to check whether it is alive or not. If the node is alive,
it will respond. Its defaults to 2000 ms.
- Network Reconnect Delay
- The Network Reconnect specifies the minimum delay in milliseconds between connection attempts. It defaults to 2000 ms.
EXAMPLESA sample /etc/ocfs2/cluster.conf.