Managing HP Serviceguard for Linux, Tenth Edition, September 2012

The use of packages containing highly available applications adds the requirement for
an additional set of IP addresses, which are assigned to the applications themselves.
These are known as relocatable application IP addresses. Serviceguard’s network sensor
monitors the node’s access to the subnet on which these relocatable application IP
addresses reside. When packages are configured in Serviceguard, the associated
subnetwork address is specified as a package dependency, and a list of nodes on which
the package can run is also provided. When failing a package over to a remote node,
the subnetwork must already be active on the target node.
Each application or package should be given a unique name as well as a relocatable
IP address. Following this rule separates the application from the system on which it runs,
thus removing the need for user knowledge of which system the application runs on. It
also makes it easier to move the application among different systems in a cluster for for
load balancing or other reasons. If two applications share a single IP address, they must
move together. Instead, using independent names and addresses allows them to move
separately.
For external access to the cluster, clients must know how to refer to the application. One
option is to tell the client which relocatable IP address is associated with the application.
Another option is to think of the application name as a host, and configure a
name-to-address mapping in the Domain Name System (DNS). In either case, the client
will ultimately be communicating via the application’s relocatable IP address. If the
application moves to another node, the IP address will move with it, allowing the client
to use the application without knowing its current location. Remember that each network
interface must have a stationary IP address associated with it. This IP address does not
move to a remote system in the event of a network failure.
Obtain Enough IP Addresses
Each application receives a relocatable IP address that is separate from the stationary
IP address assigned to the system itself. Therefore, a single system might have many IP
addresses, one for itself and one for each of the applications that it normally runs.
Therefore, IP addresses in a given subnet range will be consumed faster than without
high availability. It might be necessary to acquire additional IP addresses.
Multiple IP addresses on the same network interface are supported only if they are on
the same subnetwork.
Allow Multiple Instances on Same System
Applications should be written so that multiple instances, each with its own application
name and IP address, can run on a single system. It might be necessary to invoke the
application with a parameter showing which instance is running. This allows distributing
the users among several systems under normal circumstances, but it also allows all of the
users to be serviced in the case of a failure on a single system.
Avoid Using SPU IDs or MAC Addresses
Design the application so that it does not rely on the SPU ID or MAC (link-level) addresses.
The SPU ID is a unique hardware ID contained in non-volatile memory, which cannot be
changed. A MAC address (also known as a NIC id) is a link-specific address associated
312 Designing Highly Available Cluster Applications