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 MC/ServiceGuard > Chapter 3 Understanding MC/ServiceGuard Software Components

MC/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 MC/ServiceGuard. This chapter discusses these components in some detail.

Figure 3-1 MC/ServiceGuard Software Components

MC/ServiceGuard Software Components

ServiceGuard Daemons

There are nine daemon processes associated with ServiceGuard. They are:

  • /usr/lbin/cmclconfd—ServiceGuard Configuration Daemon

  • /usr/lbin/cmcld—ServiceGuard Cluster 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/cmtaped—ServiceGuard Shared Tape Daemon

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

Each of these daemons logs to the /var/adm/syslog/syslog.log file except for the quorum server, which logs to the standard output (it is suggested you redirect output to a file named /var/adm/qs/qs.log) and /usr/lbin/cmomd, which logs to /var/opt/cmom/cmomd.log.

Configuration Daemon: cmclconfd

This daemon is used by the ServiceGuard commands and by the SAM interface 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 MC/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 MC/ServiceGuard from updating the kernel safety timer, thus causing the node to undergo a TOC.

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 ClusterView 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.

Shared Tape Daemon: cmtaped

The shared tape daemon is responsible for keeping track of all the shared tape devices that are part of the cluster. Share tape devices can be configured using the stapplyconf command.

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.

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