The high availability feature involves the use of a second
Dispatcher machine. The first Dispatcher machine performs load balancing
for all the client traffic as it does in a single Dispatcher configuration.
The second Dispatcher machine monitors the "health" of the first,
and takes over the task of load balancing if it detects that the first
Dispatcher machine has failed.
About this task
When you configure high availability, each of the two
machines is assigned a specific role, either primary or backup. The
primary machine sends connection data to the backup machine on an
ongoing basis. While the primary is active (load balancing), the backup
is in a standby state, continually updated and ready to take over,
if necessary.
The communication sessions between the two machines
are referred to as heartbeats. The heartbeats allow each machine to
monitor the health of the other. If the backup machine detects that
the active machine has failed, it will take over and begin load balancing.
At that point the statuses of the two machines are reversed: the backup
machine becomes active and the primary becomes standby.
Note: In the
high availability configuration, both primary and backup machines
must be on the same subnet with identical configuration.
For
the complete syntax see dscontrol highavailability.
For a more complete discussion of many of the tasks below, see Configuring the Load Balancer machine.
Tips for configuring
high availability:
- To configure a single Dispatcher machine to route packets without
a backup, do not issue any of the high availability commands at startup.
- To convert two Dispatcher machines configured for high availability
to one machine running alone, stop the executor on one of the machines,
then delete the high availability features (the heartbeats, reach,
and backup) on the other.
Linux for s/390: In both of the two cases
above, you must alias the network interface card with cluster addresses,
as required.
- When running two Dispatcher machines in a high availability configuration,
unexpected results can occur if you set any of the parameters for
the executor, cluster, port, or server (for example, port stickytime)
to different values on the two machines.