Designing High Availability Solutions with HP Serviceguard and HP Integrity Virtual Machines

27
The application server cmappserver responds to requests from application manager process cmappmgr running on
the VM host to execute a specified process on the VM guest and to periodically check the status of the monitored
process and return an exit code when process terminates. The cmappserver is a light-weight daemon
(approximately 36k) running on the monitored VM guest and provides connections for up to 30 simultaneous
processes that can be monitored by cmappmgr.
The following is one example of Serviceguard VM guest application monitoring functionality. In figure 14, there are
two applications, app1 and app2, running within a VM guest that will be monitored by Serviceguard running on a
VM host cluster. The cmappserver daemon process running in the VM guest provides communication connections
with two cmappmgr processes, one for each monitored applicationapp1 and app2, running as Serviceguard
services that are monitored by the VM guest package.
Figure 15: Failure of a monitored VM guest application
If a monitored application in the VM guest fails, for example, app1 as shown in figure 15, this event and the
applications exit code will be communicated to its corresponding cmappmgr process running on the VM host. The
cmappmgr process for the monitored application will then exit, triggering Serviceguard to restart cmappmgr, which
will restart the application on the VM guest. The number of times Serviceguard will attempt to restart cmappmgr (and
the VM guest application) is defined by the service_restartvalue set for the cmappmgr service in the VM guest
package. If the number of restart attempts exceeds the service_restartvalue, Serviceguard will fail the VM guest
package over to its configured VM host failover node, as shown in figure 16.
VM Guest Package
VM Host
Primary Node Standby Node
VM Host
VM guest package failover
cmappmgr app1
cmappmgr app2
hpvmsg_mon
VM Guest
cmapp server
app1
app2
Upon app1 failure,
Serviceguard will
attempt to re-run app1
service_restart
times
Failure of app1
Serviceguard Cluster
VM Guest Package
VM Host
Primary Node Standby Node
VM Host
VM guest package failover
cmappmgr app1
cmappmgr app2
hpvmsg_mon
VM Guest
cmapp server
app1
app2
Upon app1 failure,
Serviceguard will
attempt to re-run app1
service_restart
times
Failure of app1
Serviceguard Cluster