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

28
Figure 16: Failover of a VM guest due to an application failure
Note there are other methods that can be implemented for monitoring VM guest applications using this framework.
One such example is described in the application monitoring using the HP Enterprise Cluster Master Toolkit (ECMT)
section of this white paper. It is important to understand and consider the startup behavior of the VM guest
application to be monitored and if other processes are spawned as part of the startup that also require monitoring.
Application monitoring using the HP Enterprise Cluster Master Toolkit (ECMT)
VM guest application monitoring of Apache and single-instance Oracle is supported using the legacy package scripts
of the ECMT version B.05.00 or later. This is achieved in the following manner:
Toolkit start/stop script invocations are inserted into either the external scripts for modular packages or
customer_defined_run/halt_cmds functions for legacy packages and used with cmappmgr on the VM host
The toolkit start/stop/monitor scripts are installed on the VM guest to be invoked at VM guest package startup by
cmappmgr
The toolkit monitor script is started by cmappmgr on the VM host as a service monitored by Serviceguard
A white paper titled Modular Package Support in Serviceguard for Linux and ECM Toolkits (
www.hp.com/go/hpux-
serviceguard-docsHP Enterprise Cluster Master Toolkit link) is available that describes the details of using the ECMT
use with VM guest application monitoring.
Known issues using cmappmgr/cmappserver with online guest migration
At the publication time of this white paper, the following issues exist when using cmappmgr and cmappserver with
online guest migration:
When the VM guest in a package is online migrated to a new node, the service_restart counter for the cmappmgr
service will be reset to zero. This is because the original package is halted and a new package is started during
the online migration process.
When the VM guest in a package is online migrated to a new node, the cmappserver in the VM guest may not
be able to reestablish contact with the cmappmgr process on the new VM host. As a result, if any of the monitored
applications in the guest fail, the cmappmgr process will not be notified therefore Serviceguard will not restart the
guest application or failover the VM guest package.
Using Integrity VMs as Serviceguard packages in a cross-subnet cluster
Normally you cannot use a VM guest as a Serviceguard package in a cross-subnet cluster, because the IP addresses
used by the guest OS are statically defined by the guest rather than by a Serviceguard package IP address, and
therefore that guest can only work properly in a single subnet. However, it is possible to configure a VM guest in a
VM Host
Primary Node Standby Node
VM Host
service_restart
exceeded
Serviceguard fails over
VM Guest to Standby
Node
VM Guest Package
cmappmgr app1
cmappmgr app2
hpvmsg_mon
VM Guest
cmapp server app1
app2
VM guest package failover
Serviceguard Cluster
VM Host
Primary Node Standby Node
VM Host
service_restart
exceeded
Serviceguard fails over
VM Guest to Standby
Node
VM Guest Package
cmappmgr app1
cmappmgr app2
hpvmsg_mon
VM Guest
cmapp server app1
app2
VM guest package failover
VM Host
Primary Node Standby Node
VM Host
service_restart
exceeded
Serviceguard fails over
VM Guest to Standby
Node
VM Guest Package
cmappmgr app1
cmappmgr app2
hpvmsg_mon
VM Guest
cmapp server app1
app2
VM guest package failover
Serviceguard Cluster