Setting up network fault tolerance and load balancing

  • 3591537
  • 11-Jun-2007
  • 16-Mar-2012

Environment

Novell NetWare 6.0
Novell NetWare 6.5
Novell NetWare 5.1 Support Pack 4 (NW51SP4.EXE)

Situation

Setting up network fault tolerance and load balancing

Resolution

In NetWare 6.x and NetWare 5.1 with Support Pack 4, it is now possible to setup both fault tolerance and load balancing between two NICs in the same server that are bound to the same IP address. The online documentation for NetWare 6.x describes how to do this.

First, in INETCFG under Bindings you will need to bind two boards to the same address. In the binding you will need to go to the Configure TCPIP/IP Bind Options, Expert TCPIP options, select YES for "Groupt interface for LB/FT", on ONE interface you must also select YES for "Set as Primary Interface", on all other cards with the same IP binding you will select NO.

Next, back at the main menu of INETCFG, select Protocols, TCPIP, Load Balancing, set that to enabled, also set Fault Tolerance to Enabled if you would like fault tolerance. You may also need to change the LB/FT group to enabled under the "Configure Individual Groups" for each of the interface groups that you would like to be load balanced, or fault tolerant.

The only other thing to do is make sure that the interfaces that will be load balanced are plugged into the same switch (if the switch has multiple blades, it doesn't matter what blade, just make sure that it is in the same VLAN if that is setup) [Also note, the interfaces CAN be plugged into different switches for further fault tolerance, but this is supported by your switch manufacturer, not by Novell, so if it doesn't work plugged into different switches, plug it into the same switch, if that doesn't work, then that problem is supported by Novell].

Additional information

Please note the even though these instructions are part of the NetWare 6.x documentation, they also apply directly to NW5.1 with SP4.

- Load sharing (no load balancing):
Load sharing is mainly done with the help of the ARP table. NetWare does not just keep the MAC address of the destination computer, but it also remembers which interface it uses for a particular destination. New addresses are assigned in round-robin fashion across all interfaces of a group. In-bound load sharing is achieved by the fact that depending on the remote IP address, the server decides which local interface to use and uses the MAC address of that interface in ARP replies. So the different remote computers do not all have the same server MAC address in their ARP table, but they are more or less equally distributed among the different MAC addresses. Only addresses on the same lan are used for load sharing. Packets that go through a same router will always go out on the same interface of the server.

- Load sharing with load balancing:
This is more or less the same than before, except that outgoing traffic is distributed according to the load and not according to destination address. This can possibly confuse remote computers if they get packets from different MAC addresses. They should however accept this as for example in a scenario with load balancing across multiple routers, it is also possible to get traffic from the same destination with different MAC addresses. Incoming traffic is still balanced based on the fact that ARP replies rotate through the different MAC addresses of the server thus statically distributing the remote servers to the different NICs of the server

- Fault tolerance:
Fault tolerance is obtained through "Gratuitous ARP" packets. E.g. when a NIC of the server goes down, the server sends out ARP packets on the other NICs advertising the IP address of those NICs. If the remote computers accept gratuitous ARP packets, they will automatically switch to a different server NIC because using the newly advertised MAC address. Computers that do not accept gratuitous ARP packets will not be aware of the fail over, but they will also not work with a NetWare cluster as NetWare clusters uses the same gratuitous ARP mechanism to advertise resource fail-over

Note:

Novell's load balancing and fault tolerance is implemented purely at IP and ARP protocol level. It is completely transparent to switches and switches should not have multiple interfaces going to the same server configured as trunks or this will not work. The advantage of Novell's solution is that the different interfaces can be connected to different switches thus achieving further fault tolerance.


Additional Information

In some cases you may want FT only without LB. In certain cases even though this is set up correctly, you will still notice TX/RX traffic on both cards which should not be happening. If you do see this, please do the following :

At the server console LOAD MONITOR !H | server parameters | Communications | IP LOAD SHARING | set this to Off
Save settings and reboot the server. Make sure that LB is disabled and FT is enabled. With the latest TCP modules this should work. (at the time of writing this note (4 April 2005) this was tcp659f.exe and was not tested with any other versions).

Formerly known as TID# 10072189