Jump to content United States-English
HP.com Home Products and Services Support and Drivers Solutions How to Buy
» Contact HP
More options
HP.com home
Managing Serviceguard Twelfth Edition > Chapter 3 Understanding Serviceguard Software Components

Serviceguard Architecture

» 

Technical documentation

Complete book in PDF
» Feedback
Content starts here

 » Table of Contents

 » Index

The following figure shows the main software components used by Serviceguard. This chapter discusses these components in some detail.

Figure 3-1 Serviceguard Software Components

Serviceguard Software Components

Serviceguard Daemons

There are 12 daemon processes associated with Serviceguard. They are:

  • /usr/lbin/cmclconfd—Serviceguard Configuration Daemon

  • /usr/lbin/cmcld—Serviceguard Cluster Daemon

  • /usr/lbin/cmfileassistd—Serviceguard File Management daemon

  • /usr/lbin/cmlogd—Serviceguard Syslog Log Daemon

  • /usr/lbin/cmlvmd—Cluster Logical Volume Manager Daemon

  • /opt/cmom/lbin/cmomd—Cluster Object Manager Daemon

  • /usr/lbin/cmsnmpd—Cluster SNMP subagent (optionally running)

  • /usr/lbin/cmsrvassistd—Serviceguard Service Assistant Daemon

  • /usr/lbin/qs—Serviceguard Quorum Server Daemon

  • /usr/lbin/cmnetassistd - Network Sensor Assistant daemon.

  • /usr/lbin/cmvxd - Serviceguard-to-VERITAS Membership Coordination daemon. (Only present when VERITAS CFS is installed.)

  • /usr/lbin/cmvxping Serviceguard-to-VERITAS Activation daemon. (Only present when VERITAS CFS is installed.)

Each of these daemons logs to the /var/adm/syslog/syslog.log file except for /opt/cmom/lbin/cmomd, which logs to /var/opt/cmom/cmomd.log. The quorum server runs outside the cluster. By default, it logs to the standard output, and it is suggested you redirect output to a file named /var/adm/qs/qs.log.

Configuration Daemon: cmclconfd

This daemon is used by the Serviceguard commands to gather information from all the nodes within the cluster. It gathers configuration information such as information on networks and volume groups. It also distributes the cluster binary configuration file to all nodes in the cluster. This daemon is started by inetd(1M). There are entries in the /etc/inetd.conf file.

Cluster Daemon: cmcld

This daemon is used to determine cluster membership by sending heartbeat messages to other cmcld daemons on other nodes within 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, that is, a Transfer of Control, which means a CPU reset and the creation of a crash dump file. 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 TOC due to the expiration of the safety timer, messages will be written to /var/adm/syslog/syslog.log and the kernel’s message buffer.

The cmcld daemon also detects the health of the networks on the system and performs local lan failover. Finally, this daemon handles the management of Serviceguard packages, determining where to run them and when to start them.

NOTE: The three central components of Serviceguard—Package Manager, Cluster Manager, and Network 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 lower priority than 20, otherwise they might prevent Serviceguard from updating the kernel safety timer, thus causing the node to undergo a TOC.

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.

Syslog Log Daemon: cmlogd

cmlogd is used by cmcld to write messages to syslog. Any message written to syslog by cmcld it written through cmlogd. This is to prevent any delays in writing to syslog from impacting the timing of cmcld.

Cluster Logical Volume Manager Daemon: cmlvmd

This daemon is responsible for keeping track of all the volume group(s) that have been made cluster aware. When a volume group is made cluster aware, a cluster node can only activate it in exclusive mode. This prevents the volume group from being activated in write mode by more than one node at a time.

Cluster Object Manager Daemon: cmomd

This daemon is responsible for providing information about the cluster to clients—external products or tools such as Serviceguard Manager that depend on knowledge of the state of cluster objects. Clients send queries to the object manager and receive responses from it. This daemon may not be running on your system; it is used only by clients of the object manager.

cmomd accepts connections from clients, and examines queries. The queries are decomposed into categories (of classes) which are serviced by various providers. The providers gather data from various sources, including, commonly, the cmclconfd daemons on all connected nodes, returning data to a central assimilation point where it is filtered to meet the needs of the exact client query. This daemon is started by inetd(1M). There are entries in the /etc/inetd.conf file.

Cluster SNMP Agent Daemon: cmsnmpd

This daemon is used by the Serviceguard graphic interface (Serviceguard Manager) to obtain information about the cluster. This daemon produces the Cluster MIB. Details on the cluster MIB can be found on URL http://docs.hp.com/hpux/ha under the Frequently Asked Questions area. This will only be running if the /etc/rc.config.d/cmsnmpagt file has been edited to autostart this subagent. For proper execution, the cmsnmpd has to start before the Serviceguard cluster comes up.

Service Assistant Daemon: cmsrvassistd

This daemon forks and execs any script or processes as required by the cluster daemon, cmcld. There are two type of forks that this daemon carries out:

  • Executing package run and halt scripts

  • Launching services

For services, cmcld monitors the service process and, depending on the number of service retries, cmcld either restarts the service through cmsrvassistd or it causes the package to halt and moves the package to an available alternate node.

Quorum Server Daemon: qs

The quorum server daemon provides tie-breaking services when needed during cluster re-formation. The quorum server runs on a system external to the cluster, and it is started by the user, not by Serviceguard. It is normally started out of /etc/inittab, which means that it automatically re-spawns if it fails or is killed.

All members of the cluster initiate and maintain a connection to the quorum server. If the quorum server dies, the Serviceguard nodes will detect this and then periodically try to reconnect to the quorum server until it comes back up. If there is a cluster reconfiguration while the quorum server is down and there is a partition in the cluster that requires tie-breaking, the reconfiguration will fail.

Network Sensor Assistant daemon cmnetassistd

The network sensor assistant daemon handles addition and deletion of relocatable package IP(s), for both IPv4 and IPv6 addresses.

CFS Components

The HP Serviceguard Storage Management Suite offers additional components for interfacing with the VERITAS Cluster File System. Documents for the management suite are posted on http://docs.hp.com.

VERITAS CFS components operate directly over Ethernet networks that connect the nodes within a cluster. Redundant networks are required to avoid single points of failure.

The VERITAS CFS components are:

  • GAB (Group Membership Services/Atomic Broadcast) - When VERITAS Cluster Volume Manager (CVM) 4.1 or VERITAS Cluster File System (CFS) is deployed as part of the Serviceguard Storage Managment Suite bundles, the file /etc/gabtab is automatically configured and maintained by Serviceguard.

    GAB provides membership and messaging for CVM and the CFS. GAB membership also provides orderly startup and shutdown of the cluster file system.

  • LLT (Low Latency Transport) - When VERITAS CVM or CFS is deployed as part of the Serviceguard Storage Managment Suite bundles, the LLT files /etc/llthosts and /etc/llttab are automatically configured and maintained by Serviceguard.

    LLT provides kernel-to-kernel communications and monitors network communications for CFS.

  • vxfend - When VERITAS CFS is deployed as part of the Serviceguard Storage Management Suite, the I/O fencing daemon vxfend is also included. It implements a quorum-type functionality for the VERITAS Cluster File System. vxfend is controlled by Serviceguard to synchronize quorum mechanisms.

  • cmvxd - The Serviceguard-to-VERITAS daemon coordinates the membership information between Serviceguard and VERITAS' Clustered File System product. (Only present when VERITAS CFS is installed.)

  • cmvxping - The Serviceguard-to-VERITAS daemon activates certain subsystems of the VERITAS Clustered File System product. (Only present when VERITAS CFS is installed.)

Printable version
Privacy statement Using this site means you accept its terms Feedback to webmaster
© Hewlett-Packard Development Company, L.P.