Managing HP Serviceguard for Linux Ninth Edition, April 2009

The simplest method is to have two applications running in a master/slave relationship
where the slave is simply a hot standby application for the master. When the master
fails, the slave on the second system would still need to figure out what state the data
was in (i.e., data recovery would still take place). However, the time to fork the
application and do the initial startup is saved.
Another possibility is having two applications that are both active. An example might
be two application servers which feed a database. Half of the clients connect to one
application server and half of the clients connect to the second application server. If
one server fails, then all the clients connect to the remaining application server.
Design for Replicated Data Sites
Replicated data sites are a benefit for both fast failover and disaster recovery. With
replicated data, data disks are not shared between systems. There is no data recovery
that has to take place. This makes the recovery time faster. However, there may be
performance trade-offs associated with replicating data. There are a number of ways
to perform data replication, which should be fully investigated by the application
designer.
Many of the standard database products provide for data replication transparent to
the client application. By designing your application to use a standard database, the
end-user can determine if data replication is desired.
Designing Applications to Run on Multiple Systems
If an application can be failed to a backup node, how will it work on that different
system?
The previous sections discussed methods to ensure that an application can be
automatically restarted. This section will discuss some ways to ensure the application
can run on multiple systems. Topics are as follows:
Avoid Node Specific Information
Assign Unique Names to Applications
Use Uname(2) With Care
Bind to a Fixed Port
Bind to a Relocatable IP Addresses
Give Each Application its Own Volume Group
Use Multiple Destinations for SNA Applications
Avoid File Locking
Avoid Node Specific Information
Typically, when a new system is installed, an IP address must be assigned to each active
network interface. This IP address is always associated with the node and is called a
stationary IP address.
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
294 Designing Highly Available Cluster Applications