Managing Serviceguard Fifteenth Edition, reprinted May 2008

Understanding Serviceguard Software Components
Serviceguard Architecture
Chapter 360
Cluster Daemon: cmcld
This daemon determines cluster membership by sending heartbeat
messages to cmcld daemons on other nodes in the Serviceguard cluster.
It runs at a real time priority and is locked in memory. The cmcld
daemon sets a safety timer in the kernel which is used to detect kernel
hangs. If this timer is not reset periodically by cmcld, the kernel will
cause a system TOC (Transfer of Control) or INIT, which is an
immediate system reset without a graceful shutdown. (This manual
normally refers to this event simply as a system reset.) This could occur
because cmcld could not communicate with the majority of the cluster’s
members, or because cmcld exited unexpectedly, aborted, or was unable
to run for a significant amount of time and was unable to update the
kernel timer, indicating a kernel hang. Before a system reset resulting
from the expiration of the safety timer, messages will be written to
/var/adm/syslog/syslog.log and the kernel’s message buffer, and a
system dump is performed.
The duration of the safety timer depends on the cluster configuration
parameters HEARTBEAT_INTERVAL and NODE_TIMEOUT, and also on the
characteristics of the cluster configuration, such as whether it uses a
quorum server or a cluster lock (and what type of lock) and whether or
not standby LANs are configured. (For further discussion, see “What
Happens when a Node Times Out” on page 126. For advice on setting
HEARTBEAT_INTERVAL and NODE_TIMEOUT, see “Cluster Configuration
Parameters” on page 156.)
cmcld also manages Serviceguard packages, determining where to run
them and when to start them.
NOTE Two of the central components of Serviceguard—Package Manager, and
Cluster Manager—run as parts of the cmcld daemon. This daemon runs
at priority 20 on all cluster nodes. It is important that user processes
should have a priority lower than 20, otherwise they may prevent
Serviceguard from updating the kernel safety timer, causing a system
reset.
File Management Daemon: cmfileassistd
The cmfileassistd daemon is used by cmcld to manage the files that it
needs to read from, and write to, disk. This is to prevent any delays in
issuing Input/Output from impacting the timing of cmcld.