Scenario: Adapter failover using virtual IP and proxy ARP

Virtual IP addresses allow you to assign an address to the system rather than to a specific interface. You can define the same address to multiple systems, which allows many new options for load balancing.

Note: This failover scenario is referring to a single LAN adapter rather than a major type of system outage like clustering would cover. This solution requires you to have an external load balancing system.

Situation

Your production system handles data entry from both remote and LAN clients. It has the company's critical application on it. As the company has grown, so has its demand on the System i® hardware and the network. Because of the growth, it has become imperative that this system be available on the network without an unscheduled downtime. If, for any reason, a network adapter becomes unavailable, other network adapters on the system should take over and the network clients should be unaware of any failures.

Objectives

The concept of availability has many different aspects of redundancy and backup for failing components. In this scenario, the goal is to provide network availability to the system for its clients in the event of an adapter failure.

Details

One way to handle the preceding situation is to have multiple physical connections to the LAN from the System i platform. Consider the following figure.

Figure 1. Adapter failover without local clients
Adapter failover without local clients

Each physical connection has a different IP address. Then you can assign a virtual IP address to the system. This virtual IP address is the IP address by which all of its clients recognize it. All remote clients (clients that are not physically attached to the same LAN as the System i platform) communicate with the system through an external load balancing server such as a network dispatcher. When IP requests from remote clients go through the network dispatcher, the network dispatcher routes the virtual IP addresses to one of the network adapters on the system.

If the LAN that the system is connected to has clients, these clients will not use the network dispatcher to direct their locally bound traffic because that unnecessarily overloads the network dispatcher. You can create route entries on each client that are similar to the route tables in the network dispatcher. However, this is impractical if the LAN has a large number of local clients. This situation is shown in the following figure.

Figure 2. Adapter failover with local clients
Adapter failover with local clients

Local clients (clients that are attached to the same LAN as the system) can connect to the virtual IP address of the system through ARP. This allows local clients to have an adapter failover solution as well.

In each case, neither local clients nor remote clients are aware of the failover when it occurs. The system chooses which adapters and IP addresses are the preferred interface for virtual IP address (VIPA) Proxy Address Resolution Protocol (ARP) agent selection.

You can manually select which adapters and IP addresses are to be the preferred interface for VIPA proxy ARP agent selection. You can select which interface to use by creating a preferred interface list if an adapter failure occurs. A preferred interface list is an ordered list of the interface addresses that take over for the failed adapters. You can use either System i Navigator or the Change TCP/IP IPv4 Interface (QTOCC4IF) application programming interface (API) to configure a preferred interface list. The preferred interface list is also configurable for both virtual Ethernet and virtual IP address interfaces.

Using Figure 2 as an example, remote clients are communicating with the local system using virtual IP address 10.1.1.7. Suppose 10.1.1.4 is the initial local adapter being used for this communication, and you want 10.1.1.5 to take over if 10.1.1.4 fails. You also want interface 10.1.1.6 to take over if both adapters for 10.1.1.4 and 10.1.1.5 fail. To control the order in which these interfaces are used in a failover situation, you can define a preferred interface list for virtual IP address 10.1.1.7. In this case, it is an ordered list of interface addresses that consists of 10.1.1.4, 10.1.1.5, and 10.1.1.6.

The solution can also involve using two or more System i platforms to support each other. If one of the systems becomes unavailable, then the second system can serve as a failover. The following figure shows the same setup using two systems.

Figure 3. Adapter failover with multiple System i platforms and local clients
Adapter failover with multiple System i platforms and local clients

The packet routing is the same as routing for a single system and its remote clients; however, there is a distinct difference for the local clients. If you have multiple systems using the same virtual IP address, you can only use proxy for one of the systems. In this case, you want the system with the two LAN connections to serve as the proxy.

Configuration steps

The configuration for load balancing using virtual IP and proxy ARP is similar to standard TCP/IP configurations with the addition of a virtual TCP/IP interface.