Load Balancer high availability

 

The Load Balancer (LB) from the IBM WAS Network Deployment V5.1 Edge Components is used to spray network traffic for both load balancing and high availability. In order to avoid a single point of failure, the Load Balancer should be highly available. This can be achieved by setting up a second LB server with exactly the same configuration. You have to define one or more heartbeat connections between these servers. The heartbeat mechanism is built into the WebSphere Load Balancer. You can configure a two-node LB as either active/active mutual takeover or active/passive failover. We used the active/passive failover configuration shown in Figure 13-2 in our end-to-end WebSphere production system. The Load Balancer from the WebSphere Edge Components is used to provide high availability for Web servers and firewalls in our configuration. For details on LB configuration, see Chapter 4, Web server load balancing, the redbook WebSphere Edge Server: Working with Web Traffic Express and Network Dispatcher, SG24-6172, and the redbook Patterns for the Edge of Network, SG24-6822.

Figure 13-2 Load Balancer configuration

Figure 13-3 Load Balancer configuration after failover

There is constant synchronization between the two servers, so the backup server knows which connections are still active. In addition, you can specify several reach targets, which are network devices that are constantly pinged by the LB in order to detect network failures. A takeover will be issued for one of the following reasons: The heartbeat connection has been interrupted. This indicates a hardware failure on the primary LB server, and the backup server issues a takeover. If this was simply a network failure, the backup switches back into standby mode, if the heartbeat from the primary reaches the backup. Both servers constantly ping all reach targets. If the backup server can reach more targets than the primary LB server, there must be a network failure on the primary server, and a takeover will be issued. Since there is still a heartbeat between the two machines, the primary server is informed about this event and switches to standby mode, so there is no IP address overlap. If the backup server is active and the primary server is on standby, and the backup server has a hardware failure (no heartbeat), the primary server immediately switches into active mode again. As you can see, the heartbeat is a very important indicator; losing this heartbeat indicates a complete hardware failure. Therefore, it is better to have multiple heartbeat connections, for example on every network interface, to ensure that a network failure on one interface does not result in the loss of the heartbeat connection. In addition, have a reach target in every network; these are used to determine if a specific network connection is broken. There are some external scripts executed by the LB in the case of a status switch. All these scripts must be placed in the /usr/lpp/nd/dispatcher/bin directory: goActive: this script indicates that the LB will switch into active mode and start dispatching packets. The script must ensure that the cluster IP address is configured correctly on the network card. This script is executed by the primary LB server, if there is no active backup, or by the backup LB server, if there is a takeover. goStandby: this script indicates that this server will stop routing packets. This happens if the active LB server has a problem with one of its network cards, and the backup server takes over. At this time, the primary server should make sure that the cluster IP address is no longer advertised on the network. goInOp: this script is executed when the Executor is stopped, and it should clean up the system.

Of course, these scripts are used to reconfigure the network interfaces if the high availability feature of LB is used directly on the firewall machines.

There is third-part hardware/software available with some functions of Load Balancer, for example Cisco director or DNS server. Some of them have no full failure-detection function.

  Prev | Home | Next

 

WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.

 

IBM is a trademark of the IBM Corporation in the United States, other countries, or both.