Network Load Balancing Clusters

This section of Windows Clustering covers Network Load Balancing, one of the Windows 2000 Advanced Server features that comprise Windows Clustering (for a general overview of this subject, see Windows Clustering). By using Network Load Balancing to build a server cluster, you can enhance the availability of your Internet server programs, such as those used on Web, proxy, Domain Name Service (DNS), FTP, virtual private network (VPN), and streaming media servers. At the same time, Network Load Balancing can help you scale your server's performance to keep up with the ever-increasing demands of your Internet-based clients.

  • Before you install Network Load Balancing, it is vital that you review the checklist, including the sections on cluster parameters, host parameters and port rules. You will not be able to properly configure Network Load Balancing without a thorough understanding of these three topics.

    Checklist: Installing Network Load Balancing

  • For tips about using Network Load Balancing, see Best practices
  • For help with specific tasks, see How to...
  • For general background information, see Concepts
  • For troubleshooting information, see Troubleshooting


Checklist: Installing Network Load Balancing

Step | Reference
Read Best practices. | Best practices
Read Network Load Balancing system requirements. | Network Load Balancing system requirements
Read Planning your Network Load Balancing cluster. | Planning your Network Load Balancing cluster
(Optional) Install a second network adapter. | Single network adapter limitations
Have ready the cluster's full Internet name. | Cluster's full Internet name
Have ready the cluster's primary IP address. Cluster's primary IP address;
Single network adapter;
Multiple network adapters
Have ready the subnet mask for the cluster. | Subnet mask
Have ready the current IP address for each host in the cluster. Dedicated IP address;
Single network adapter;
Multiple network adapters
Have ready the subnet mask for each host in the cluster. | Subnet mask
Read Cluster parameters. Cluster parameters
Carefully consider how multicast support should be configured. | Multicast support
Carefully consider how remote password should be configured. | Remote password
Carefully consider how confirm password should be configured. | Confirm password
Carefully consider how remote control should be configured. | Remote control
Read Host parameters. Host parameters
Carefully consider how priority (ID) should be configured. | Priority (ID)
Carefully consider how initial state should be configured. | Initial state
Read Port rules. Port rules
Carefully consider how port range should be configured. | Port range
Carefully consider how protocols should be configured. | Protocols
Carefully consider how multiple hosts filtering mode should be configured. | Multiple hosts filtering mode
Carefully consider how single host filtering mode should be configured. | Single host filtering mode
Carefully consider how disabled filtering mode should be configured. | Disabled filtering mode
Carefully consider how client affinity: none should be configured. | Client affinity: None
Carefully consider how client affinity: single should be configured. | Client affinity: Single
Carefully consider how client affinity: class c should be configured. | Client affinity: Class C
Carefully consider how load weight should be configured. | Load weight
Carefully consider how equal load distribution should be configured. | Equal load distribution
Carefully consider how handling priority should be configured. | Handling priority
Install Network Load Balancing. | Install Network Load Balancing


Best practices

  • Use two or more network adapters in each cluster host whenever possible. A second network adapter can boost overall network performance and speed up access to back-end databases.

    Also, if the cluster is operating in unicast mode (the default), ordinary network communication among cluster hosts is not possible unless each cluster host has at least two network adapters.

    For more information, see Multiple network adapters.

  • If you do employ a second network adapter, make sure that you install Network Load Balancing on only one adapter (called the cluster adapter).
  • TCP/IP is the only network protocol that should be present on the cluster adapter. You must not add any other protocols (for example, IPX) to this adapter.
  • Make sure cluster parameters and port rules are set identically on all cluster hosts.
  • Make sure host parameters are unique for each cluster host.
  • Make sure that port rules are set for all ports used by the load-balanced application (for example, FTP, which uses port 20, port 21, and ports 1024-65535).

    Always click the Add button after setting a port rule. Otherwise, the port rule will not appear in the list of rules, and the rule will not take effect.

  • Make sure that any given load-balanced application is started on all cluster hosts on which the application is installed. Network Load Balancing does not start programs.
  • Both the dedicated IP address and the cluster IP address, entered during setup in the Network Load Balancing Properties dialog box, must also be entered in the Internet Protocol (TCP/IP) Properties dialog box. Make sure that the addresses are the same in both places.
  • Make sure that the dedicated IP address is always listed first (before the cluster IP address) in the Internet Protocol (TCP/IP) Properties dialog box.

    • For more information, see Setting up TCP/IP for Network Load Balancing on a single network adapter and Setting up TCP/IP for Network Load Balancing on multiple network adapters.

  • Both the dedicated IP address and the cluster IP address must be static IP addresses. They cannot be DHCP addresses.
  • Make sure that all hosts in a cluster belong to the same subnet and that the cluster's clients are able to access this subnet.

    No cluster interconnect is used by Network Load Balancing other than the subnet in which the cluster is located. You should therefore not connect two network adapters in an effort to create a system area network (SAN) for which there is no need.

  • Make sure that all cluster hosts are operating in either unicast or multicast mode, but not both.
  • Be aware that Network Load Balancing command line commands begin with wlbs.

    For more information, see Cluster control commands.

  • Be aware that Network Load Balancing exists as a service on Windows 2000 Advanced Server. It does not install in the form of a setup program (such as, Setup.exe.)


How to...

  • Install Network Load Balancing
  • Install Network Load Balancing if it was previously uninstalled
  • Configure Network Load Balancing parameters
  • Set up TCP/IP for Network Load Balancing
  • Perform basic Network Load Balancing procedures
  • Perform advanced Network Load Balancing Procedures


Install Network Load Balancing

To install Network Load Balancing

  1. Open Network and Dial-up Connections.

    2. Caution

    • In order to avoid networking problems, follow these steps in the exact order shown.
  2. Right-click the Local Area Connection on which Network Load Balancing is to be installed, and click Properties. The Local Area Connection Properties dialog box appears.
  3. Under Components checked are used by this connection, you see Network Load Balancing. Note that it is listed but not checked.

    (If Network Load Balancing is not listed, see Installing Network Load Balancing if it was previously uninstalled under Related Topics at the bottom of the page.)

  4. Select the Network Load Balancing check box.
  5. Click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  6. Configure cluster operations using information from the installation checklist. For more information and a link to the checklist, see Related Topics.
  7. After you have finished, click OK. You return to the Local Area Connection Properties dialog box.
  8. Click OK again to return to the Local Area Connection Status dialog box.
  9. Right-click the Local Area Connection on which Network Load Balancing is to be installed, and click Properties.
  10. Click Internet Protocol (TCP/IP), and then click Properties.
  11. Set up TCP/IP for Network Load Balancing. For more information, and links to procedures for setting up TCP/IP for Network Load Balancing on single and multiple network adapters, see Related Topics at the bottom of the page.
  12. Repeat these steps on each host to be used in your Network Load Balancing cluster.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • If Network Load Balancing clients are accessing a cluster through a router, be sure that the router meets the following requirements:
    1. Accepts an ARP (Address Resolution Protocol) reply that has one MAC address in the payload of the ARP structure, but appears to arrive from a station with another MAC address, as judged by the Ethernet header.
    2. In multicast mode, accepts an ARP reply that has a multicast MAC address in the payload of the ARP structure

    This allows the router to map the cluster's primary IP address and other multihomed addresses to the corresponding MAC address. If your router does not meet these requirements, you can also create a static ARP entry in the router. Cisco routers require a static ARP entry because they do not support the resolution of unicast IP addresses to multicast MAC addresses.

  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.
  • If only one Local Area Connection icon is displayed in Network and Dialup Connections, you have only one network adapter installed on your computer. Additional network adapters are represented by additional Local Area Connection icons.
  • Network Load Balancing also supports unattended setup, a feature of Windows 2000. For information about unattended setup, see Related Topics.
  • When installing Network Load Balancing, you may expect to find a setup program (such as, Setup.exe). There is no such program. The Network Load Balancing driver is installed as a standard Windows 2000 networking driver.

Related Topics


Install Network Load Balancing if it was previously uninstalled

To install Network Load Balancing if it was previously uninstalled

  1. Open Network and Dial-up Connections.

    2. Caution

    • In order to avoid networking problems, follow these steps in the exact order shown.
  2. Right-click the Local Area Connection on which Network Load Balancing is to be installed, and click Properties. The Local Area Connection Properties dialog box appears.
  3. Click Install. The Select Network Component Type dialog box appears.
  4. Click Service, and then click Add. The Select Network Service dialog box appears.
  5. Click Network Load Balancing, and then click OK. After Network Load Balancing installs, you return automatically to the Local Area Connection Properties dialog box.
  6. Click Network Load Balancing.
  7. Click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  8. Configure cluster operations using information from the installation checklist. For more information and a link to the checklist, see Related Topics at the bottom of the page.
  9. After you have finished, click OK. You return to the Local Area Connection Properties dialog box.
  10. Click OK again to return to the Local Area Connection Status dialog box.
  11. Right-click the Local Area Connection on which Network Load Balancing is to be installed, and click Properties.
  12. Click Internet Protocol (TCP/IP), and then click Properties.
  13. Set up TCP/IP for Network Load Balancing. For more information, and links to procedures for setting up TCP/IP for Network Load Balancing on single and multiple network adapters, see Related Topics at the bottom of the page.
  14. Repeat these steps on each host to be used in your Network Load Balancing cluster.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • If Network Load Balancing clients are accessing a cluster through a router, be sure that the router meets the following requirements:
    1. Accepts an ARP (Address Resolution Protocol) reply that has one MAC address in the payload of the ARP structure, but appears to arrive from a station with another MAC address, as judged by the Ethernet header.
    2. In multicast mode, accepts an ARP reply that has a multicast MAC address in the payload of the ARP structure

    This allows the router to map the cluster's primary IP address and other multihomed addresses to the corresponding MAC address. If your router does not meet these requirements, you can also create a static ARP entry in the router. Cisco routers require a static ARP entry because they do not support the resolution of unicast IP addresses to multicast MAC addresses.

  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.
  • If only one Local Area Connection icon is displayed in Network and Dialup Connections, you have only one network adapter installed on your computer. Additional network adapters are represented by additional Local Area Connection icons.
  • Network Load Balancing also supports unattended setup, a feature of Windows 2000. For information about unattended setup, see Related Topics.
  • When installing Network Load Balancing, you may expect to find a setup program (such as, Setup.exe). There is no such program. The Network Load Balancing driver is installed as a standard Windows 2000 networking driver.

Related Topics


Configure Network Load Balancing parameters

  • Configure cluster parameters
  • Configure host parameters
  • Configure port rules


Configure cluster parameters

To configure cluster parameters

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Area Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  4. On the Cluster Parameters tab, specify values for Primary IP address, Subnet mask, Full Internet name, Multicast support, Remote password, Confirm password, and Remote control using information from the installation checklist. For more information and a link to the checklist, see Related Topics at the bottom of the page.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.

  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.

  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Configure host parameters

To configure host parameters

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Area Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules.

    4. The Network Load Balancing Properties dialog box defaults to the Cluster Parameters tab.

  4. Click the Host Parameters tab.
  5. Specify values for Priority (Unique host ID), Initial cluster state, Dedicated IP address, and Subnet mask using information from the installation checklist. For more information and a link to the checklist, see Related Topics at the bottom of the page.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.

  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.

  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Configure port rules

Before you proceed, it is vital that you review the port rules section of Checklist: Installing Network Load Balancing. Without a thorough understanding of the topics referenced, you will not be able to properly configure port rules.

  • Create a new port rule
  • Edit an existing port rule
  • Remove a port rule


Create a new port rule

To create a new port rule

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  4. Click the Port Rules tab.
  5. Specify values for Port range, Protocols, Filtering mode, Affinity, Load weight, and Handling priority using information from the installation checklist. For more information and a link to the checklist, see Related Topics.
  6. Click Add.

Important

  • The number and type of rules must be exactly the same for each host in the cluster.

    If a host attempts to join the cluster with a different number of rules from the other hosts, it is not accepted as part of the cluster and the rest of the cluster continues to handle the traffic as before. At the same time, a message is entered into the Windows event log. When this happens, consult the event log to determine which host is in conflict with the other cluster hosts, resolve the conflict, and restart Network Load Balancing on that host.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • The list of rules is a list of all currently installed port rules sorted by port range. To view the settings for a particular rule in the configuration area above the list of rules, be sure to click the rule.
  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Edit an existing port rule

To edit an existing port rule

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  4. Click the Port Rules tab.
  5. Click the rule within the list of rules to display the rule's parameters in the configuration area above the list of rules.
  6. Modify the port range, protocols, and filtering mode parameters as required. For more information, see Related Topics.
  7. Click Modify.

Important

  • The number and type of rules must be exactly the same for each host in the cluster.

    If a host attempts to join the cluster with a different number of rules from the other hosts, it is not accepted as part of the cluster and the rest of the cluster continues to handle the traffic as before. At the same time, a message is entered into the Windows event log. When this happens, consult the event log to determine which host is in conflict with the other cluster hosts, resolve the conflict, and restart Network Load Balancing on that host.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • The list of rules is a list of all currently installed port rules sorted by port range.
  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Remove a port rule

To remove a port rule

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears. You have three tabs from which to choose: Cluster Parameters, Host Parameters, and Port Rules. The default is Cluster Parameters.
  4. On the Port Rules tab, click the rule you want to remove, and then click Remove.

Important

  • The number and type of rules must be exactly the same for each host in the cluster.

    If a host attempts to join the cluster with a different number of rules from the other hosts, it is not accepted as part of the cluster and the rest of the cluster continues to handle the traffic as before. At the same time, a message is entered into the Windows event log. When this happens, consult the event log to determine which host is in conflict with the other cluster hosts, resolve the conflict, and restart Network Load Balancing on that host.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • The list of rules is a list of all currently installed port rules sorted by port range.
  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Set up TCP/IP for Network Load Balancing

  • Set up TCP/IP for Network Load Balancing on a single network adapter
  • Set up TCP/IP for Network Load Balancing on multiple network adapters


Set up TCP/IP for Network Load Balancing on a single network adapter

To set up TCP/IP for Network Load Balancing on a single network adapter

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Area Connection Properties dialog box, click Internet Protocol (TCP/IP), and then click Properties.
  4. In IP address, type the address you entered as the Dedicated IP address in the Network Load Balancing Properties dialog box under Host parameters. If the correct address is already present, leave the address.
  5. In Subnet Mask, enter the subnet mask and default gateway information for your TCP/IP network.
  6. Click Advanced, and then click Add.
  7. Enter the cluster IP address in the space for IP address, followed by the appropriate subnet mask, and, if necessary, default gateway. This IP address corresponds to the cluster's Primary IP address that you entered in the Network Load Balancing Properties dialog box under Cluster parameters.
  8. If you need to configure additional virtual IP addresses for your cluster (for example, if you are running a multihomed Web server), you can do so here, in the Advanced TCP/IP Settings dialog box. For more information on this topic, see How Network Load Balancing works under Related Topics at the bottom of the page.

Caution

  • It is essential that you enter the dedicated IP address first, in the Internet Protocol (TCP/IP) Properties dialog box (not in the Advanced TCP/IP Settings dialog box), so that all outbound connections made on behalf of this host (for example, Telnet or FTP) are initiated with this address.
  • TCP/IP is the only network protocol that should be present on the cluster adapter. You must not add any other protocols (for example, IPX) to this adapter.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • Both the dedicated IP address and the cluster's primary IP address must be static IP addresses. They cannot be DHCP addresses.
  • Regardless of the mode in which Network Load Balancing is operating (unicast or multicast) the procedures described above are the same.

Related Topics


Set up TCP/IP for Network Load Balancing on multiple network adapters

To set up TCP/IP for Network Load Balancing on multiple network adapters

  1. Open Network and Dial-up Connections.
  2. Right-click the Local Area Connection on which Network Load Balancing is installed, and click Properties.
  3. In the Local Area Connection Properties dialog box, click Internet Protocol (TCP/IP), and then click Properties.
  4. In IP address, type the address you entered as the Primary IP address in the Network Load Balancing Properties dialog box under Cluster parameters. If the correct address is already present, leave the address.

    You can also enter the dedicated IP address (corresponds to the Dedicated IP address that you entered in the Network Load Balancing Properties dialog box under Host parameters) in this space, and wait to enter the cluster's primary IP address in the Advanced TCP/IP Settings dialog box. For more information on this topic, see Multiple network adapters in Related Topics.

    5. Caution

    • Should you decide to use the dedicated IP address, it is essential that this address appear first, in the Internet Protocol (TCP/IP) Properties dialog box, and not in Advanced TCP/IP Settings dialog box.
  5. In Subnet Mask, enter the subnet mask and default gateway information for your TCP/IP network.
  6. If you need to configure additional virtual IP addresses for your cluster (for example, if you are running a multihomed Web server), click Advanced and then click Add. You can then specify additional virtual IP addresses for this network adapter and provide other information as necessary. For more information on this topic, see How Network Load Balancing works in Related Topics.

Caution

  • TCP/IP is the only network protocol that should be present on the cluster adapter. You must not add any other protocols (for example, IPX) to this adapter.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • Should you use the dedicated IP address, it will not be addressable by the other cluster hosts unless multicast support has been enabled in the Network Load Balancing Properties dialog box under Cluster parameters.
  • Regardless of the mode in which Network Load Balancing is operating (unicast or multicast) the procedures described above are the same.
  • Both the cluster's primary IP address and the dedicated IP address must be static IP addresses. They cannot be be a DHCP addresses.
  • If only one Local Area Connection icon is displayed in Network and Dialup Connections, it means that you have only one network adapter installed on your computer. Additional network adapters are represented by additional Local Area Connection icons.

Related Topics


Perform basic Network Load Balancing procedures

  • Stop Network Load Balancing
  • Disable Network Load Balancing
  • Enable multicast support


Stop Network Load Balancing

To stop Network Load Balancing

  1. Click Start, point to Programs, point to Accessories, and then click Command Prompt.
  2. At the command prompt, type wlbs stop. Cluster operations are immediately stopped on the local cluster host.

    3. Or, if you want to stop cluster operations on all cluster hosts, type wlbs stop followed by the cluster IP address or cluster name.

Notes

  • When you use wlbs stop, any client connections already in progress are interrupted. To avoid interrupting active connections, consider using the drainstop cluster control command. For more information, see Related Topics.
  • You can restart cluster operations on the local cluster host by either restarting the computer or typing wlbs start at the command prompt. Similarly, you restart cluster operations on all cluster hosts by typing wlbs start followed by the cluster IP address or cluster name.

Related Topics


Disable Network Load Balancing

To disable Network Load Balancing

  1. Log on as an administrator on the local computer.

    2. Caution

    • If you do not follow these steps in the exact order shown, your network will experience IP address conflicts.
  2. Open Network and Dial-up Connections.
  3. Right-click the Local Area Connection on which Network Load Balancing is installed and click Properties.
  4. Click Internet Protocol (TCP/IP) and then click Properties.
  5. In the Internet Protocol (TCP/IP) Properties dialog box, remove the cluster's primary IP address. If the cluster's primary IP address is in the Advanced TCP/IP Settings dialog box, click Advanced.
  6. In the Advanced TCP/IP Settings dialog box, remove the cluster's primary IP address and any other cluster IP addresses that you may have entered here.
  7. Click OK to return to the Internet Protocol (TCP/IP) Properties dialog box.
  8. Click OK to return to the Local Area Connection Properties dialog box.
  9. Click OK to return to the Local Area Connection Status dialog box.
  10. Right-click the Local Area Connection on which Network Load Balancing is to be installed, and click Properties.
  11. Clear the Network Load Balancing check box.
  12. When you want to restart cluster operations on the local host, select the Network Load Balancing check box. Re-enter virtual IP addresses and reconfigure Network Load Balancing parameters as necessary.

Notes

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.
  • When you select the Network Load Balancing check box to restart Network Load Balancing, you may experience several seconds delay while the network adapter re-initializes.


Enable multicast support

To enable multicast support

  1. Open Network and Dial-up Connections.
  2. Right-click Local Area Connection and click Properties.
  3. In the Local Area Connection Properties dialog box, click Network Load Balancing, and then click Properties. The Network Load Balancing Properties dialog box appears, defaulting to the Cluster Parameters tab.
  4. On the Cluster parameters tab, in Multicast support, select the enabled box.

Note

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.

Related Topics


Perform advanced Network Load Balancing procedures

  • Uninstall Network Load Balancing
  • Adjust convergence parameters
  • Avoid flooding switch ports


Uninstall Network Load Balancing

To uninstall Network Load Balancing

  1. Log on as an administrator on the local computer.

    2. Caution

    • If you do not follow these steps in the exact order shown, your network will experience IP address conflicts.
  2. Open Network and Dial-up Connections.
  3. Click the Local Area Connection on which Network Load Balancing is installed and in the Local Area Connection Status dialog box, click Properties.
  4. Click Internet Protocol (TCP/IP), and then click Properties.
  5. In the Internet Protocol (TCP/IP) Properties dialog box, remove the cluster's primary IP address. If the cluster's primary IP address is in the Advanced TCP/IP Settings dialog box, click Advanced.
  6. In the Advanced TCP/IP Settings dialog box, remove the cluster's primary IP address and any other cluster IP addresses that you may have entered here.
  7. Click OK to return to the Internet Protocol (TCP/IP) Properties dialog box.
  8. Click OK to return to the Local Area Connection Properties dialog box.
  9. Click OK to return to the Local Area Connection Status dialog box.
  10. Right-click Local Area Connection and click Properties.
  11. Click Network Load Balancing and then click Uninstall.

Note

  • You can also open the Network and Dial-up Connections dialog box by clicking Start on the Taskbar, pointing to Settings and clicking Network and Dial-up Connections.


Adjust convergence parameters

To adjust convergence parameters

  1. Click Start, click Run, and in Open, type regedt32.
  2. Click the key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters.
  3. Edit the AliveMsgPeriod or AliveMsgTolerance parameters as necessary.
  4. Restart the computer.

Notes

  • The purpose of this procedure is to allow you to control both the message exchange period and the number of missed messages required to initiate convergence. For more information, see Related Topics.
  • The AliveMsgPeriod value holds the message exchange period in milliseconds, and the AliveMsgTolerance value specifies how many exchanged messages from a host can be missed before the cluster initiates convergence. You should pick these numbers based on your failover requirements. A longer message exchange period will reduce the networking overhead needed to maintain fault tolerance, but it will increase the failover delay. Likewise, increasing the number of message exchanges prior to convergence will reduce the number of unnecessary convergence initiations due to transient network congestion, but it will also increase the failover delay. Using the default values, 5 seconds are needed to discover a missing host, and another 5 seconds for the cluster to redistribute the load. A total of 10 seconds to complete failover should be acceptable for most TCP/IP programs. This configuration incurs very low networking overhead.
  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.

Related Topics


Avoid flooding switch ports

To avoid flooding switch ports

  1. Connect the cluster adapter for each host to a hub and uplink the hub to one switch port.
  2. If multicast support has been enabled during setup, open the Network Load Balancing Properties dialog box and on the Cluster parameters tab, clear the enabled check box to disable multicast support.
  3. Click Start, click Run, and in Open, click regedt32.
  4. Click the key HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters.
  5. Set the MaskSourceMAC registry parameter to 0. (The default value for this parameter is 1.)
  6. Restart the computer.

Notes

  • If the cluster hosts are directly connected to a switching hub in order to receive client requests, incoming client traffic is automatically sent to all switch ports.

    These steps will cause all incoming client traffic to flow through one switch port, conserving switch bandwidth. In this configuration, you are advised to consider adding a second, dedicated network adapter for each host connected to an individual switch port. The use of two network adapters per host on the cluster subnet helps to direct network traffic through the cluster hosts. Incoming client traffic flows through the switching hub for simultaneous delivery to all hosts, while outgoing traffic flows directly to the switch ports. Be sure to enter a gateway IP address in the Internet Protocol (TCP/IP) Properties dialog box in Network and Dial-up Connections for the dedicated network adapter. In the Advanced TCP/IP Settings dialog box, assign a value less than the value assigned to the interface metric for the cluster adapter. This ensures that the dedicated adapter, not the cluster adapter, will be used for outbound traffic.

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Concepts

This section covers:

  • Network Load Balancing overview
  • Understanding Network Load Balancing
  • Planning your Network Load Balancing cluster
  • Using Network Load Balancing
  • Resources


Network Load Balancing overview

This section covers:

  • Introduction
  • Network Load Balancing key features
  • Network Load Balancing system requirements


Introduction

Windows 2000 Network Load Balancing service enhances the availability and scalability of Internet server programs such as those used on Web servers, FTP servers, and other mission-critical servers. A single computer running Windows 2000 can provide a limited level of server reliability and scalable performance. However, by combining the resources of two or more computers running Windows 2000 Advanced Server into a single cluster, Network Load Balancing can deliver the reliability and performance that Web servers and other mission-critical servers need. The following diagram depicts a cluster having four hosts within the cluster:

Network Load Balancing cluster with four hosts

Each host runs separate copies of the desired server programs, such as that for a Web, FTP, Telnet, and e-mail server. For some services, such as those used on a Web server, a copy of the program runs on all hosts within the cluster, and Network Load Balancing load balances the workload among them. For other services, such as e-mail, only one copy of the service handles the workload within the cluster. Instead of load balancing these services, Network Load Balancing allows the network traffic to flow to one host, moving the traffic to another host only in cases of failure.

Network Load Balancing clusters together several computers running server programs that use the TCP/IP networking protocol. Network Load Balancing allows all of the computers in the cluster to be addressed by the same set of cluster IP addresses (while maintaining their existing addressability using unique, dedicated IP addresses). Network Load Balancing distributes incoming client requests in the form of TCP/IP traffic across the hosts.

To scale server performance, Network Load Balancing can load balance the incoming TCP/IP traffic across all the hosts in the cluster. In this case, a copy of the server program runs on all of the load-balanced hosts, and the load is partitioned among the hosts. The load weight to be handled by each host can be configured as necessary. You can also add hosts dynamically to the cluster to handle increased load. In addition, Network Load Balancing can direct all traffic to a designated single host, called the default host.

Network Load Balancing manages the TCP/IP traffic to maintain high availability for server programs. When a host fails or goes offline, Network Load Balancing automatically reconfigures the cluster to direct client requests to the remaining computers. For load-balanced programs, the load is automatically redistributed among the computers still operating. Programs with a single server have their traffic redirected to a specific host. Connections to the failed or offline server are lost. Once the necessary maintenance is completed, the offline computer can transparently rejoin the cluster and regain its share of the workload.

Overview of Network Load Balancing configuration

Network Load Balancing runs as a Windows 2000 networking driver. Its operations are transparent to the TCP/IP networking stack. The following diagram shows the relationship between Network Load Balancing and the other software components in a typical configuration of a Network Load Balancing host:

Relationship between Network Load Balancing and other software components in a typical Network Load Balancing configuration.

To ensure maximum network performance, Network Load Balancing normally uses one network adapter to handle client-to-cluster traffic, while other network traffic to the server goes through a separate network adapter. However, a second network adapter is not required.

Database access from load-balanced server applications

Some server programs access a database that is updated by client requests. When these programs are load balanced in the cluster, these updates need to be properly synchronized. Each host can use local, independent copies of databases, that are merged offline as necessary. Alternatively, the clustered hosts can share access to a separate, networked database server. A combination of these approaches can also be used. For example, static Web pages can be replicated among all clustered servers to ensure fast access and complete fault tolerance. However, database requests would be forwarded to a common database server that handles updates for multiple Web servers.

Some mission-critical programs may require the use of highly available database engines to ensure complete fault tolerance for the service. Increasingly, cluster-aware database software will be deployed to deliver highly available and scalable database access within an overall clustering scheme. One such example of this is Microsoft SQL Server, which can be deployed in a two-node configuration with the Cluster service in a server cluster. The Cluster service ensures that if one node fails, the remaining node will assume the responsibilities of the failed computer, thus providing almost continuous service to Microsoft SQL Server clients. It is able to do this because both computers share a common disk subsystem. For more information on the Cluster service and how it works with Network Load Balancing, refer to Updated technical information.

Notes

  • It is important to distinguish between the two cluster solutions under discussion. The first, Network Load Balancing, is intended primarily to load balance incoming TCP/IP traffic. The computers participating in this solution form one type of cluster. The second, the Cluster service, is intended primarily to provide failover service from one computer to another. The computers participating in this solution form a different type of cluster. Moreover, the Network Load Balancing cluster would most commonly be running Web server programs. In contrast, the Cluster service would most commonly be running database programs (when used in conjunction with Network Load Balancing). By joining the two clusters together to function in a complementary fashion, the user creates an overall clustering scheme, as shown in the following diagram:
    • Overall clustering scheme
  • For more information on how Network Load Balancing achieves fault tolerance and scalability, see How Network Load Balancing Works.


Network Load Balancing key features

Scalable performance

  • Load balances requests for individual TCP/IP services across the cluster.
  • Supports up to 32 computers in a single cluster.
  • Optionally load balances multiple server requests from a single client.
  • Fully pipe-lined implementation ensures high performance and low overhead.

    • Note

    • During packet reception, Network Load Balancing's fully pipe-lined implementation overlaps the delivery of incoming packets to TCP/IP and the reception of other packets by the NDIS driver. This speeds up overall processing and reduces latency because TCP/IP can process a packet while the NDIS driver receives a subsequent packet. It also reduces the overhead required for TCP/IP and the NDIS driver to coordinate their actions, and in many cases, it eliminates an extra memory copy of packet data. During packet sending, Network Load Balancing also enhances throughput and reduces latency and overhead by increasing the number of packets that TCP/IP can send with one NDIS call. To achieve these performance enhancements, Network Load Balancing allocates and manages a pool of packet buffers and descriptors, that it uses to overlap the actions of TCP/IP and the NDIS driver.

Fault tolerance

  • Automatically detects and recovers from a failed or offline computer.
  • Automatically rebalances the network load when the cluster set changes.
  • Recovers and redistributes the workload within 10 seconds
    • .
  • Handles inadvertent subnetting and rejoining of the cluster network.

Manageability

  • You can specify the load balancing for a single IP port or group of ports using port management rules that customize the workload for each computer. Optional support for client sessions can be enabled.
  • Optional single-host rules let you direct all client requests to a single host to further refine load balancing among different programs.
  • You can block undesired network access to certain IP ports.
  • Logs all actions and cluster changes in the Windows event log.
  • Using shell commands or scripts, you can remotely start, stop, and control Network Load Balancing's actions from any networked computer that is running Windows 2000.

Ease of use

  • Installs as a standard Windows networking driver component.
  • Requires no hardware changes to install and run.
  • Lets clients access the cluster with a single logical Internet name and virtual IP address while retaining individual names for each computer. Allows multiple virtual IP addresses for multihomed servers.
  • Server programs need not be modified to run in a Network Load Balancing cluster.
  • All operations are automated, including recovery.
  • Computers can be taken offline for preventive maintenance without disturbing cluster operations.


Network Load Balancing system requirements

Network Load Balancing is designed to work as a standard networking device driver under Windows 2000 Advanced Server. Because Network Load Balancing provides clustering support for TCP/IP-based server programs, TCP/IP must be installed in order to take advantage of Network Load Balancing functionality. The current version of Network Load Balancing operates on FDDI or Ethernet-based local area networks within the cluster. It has been tested on 10 megabits per second (Mbps), 100 Mbps, and gigabit Ethernet networks with a wide variety of network adapters.

Network Load Balancing takes up less than 1 megabyte (MB) of storage space and uses between 250 kilobytes (KB) and 4 MB of RAM during operation, using the default parameters and depending on the network load. The parameters can be modified to allow up to 15 MB memory to be used. Typical memory usage ranges between 500 KB and 1 MB.

For optimum cluster performance, you should install a second network adapter on each Network Load Balancing host to handle client-to-cluster traffic. In this configuration, one network adapter carries all of the usual network traffic destined to the server as an individual computer on the network, while the other handles the network traffic addressed to the server as part of cluster. It is important to understand that it is still entirely possible to use Network Load Balancing with only a single network adapter, but if multicast support for this adapter is not enabled, overall performance and networking functionality within the cluster itself may suffer. For more details, see Single network adapter limitations.

Note

  • Network Load Balancing can operate in two modes: unicast and multicast. Unicast support is enabled by default. To enable multicast support, see Enabling multicast support.

Using a router

If Network Load Balancing clients are accessing a cluster through a router when the cluster has been configured to operate in multicast mode, be sure that the router meets the following requirements:

  • Accepts an ARP reply that has one MAC address in the payload of the ARP structure but appears to arrive from a station with another MAC address, as judged by the Ethernet header
  • In multicast mode, accepts an ARP reply that has a multicast MAC address in the payload of the ARP structure

This allows the router to map the cluster's primary IP address and other multihomed addresses to the corresponding MAC address. If your router does not meet these requirements, you can also create a static ARP entry in the router. Cisco routers require a static ARP entry because they do not support the resolution of unicast IP addresses to multicast MAC addresses.


Understanding Network Load Balancing

The two principal functions of Network Load Balancing are to provide high availability for Web server programs, and scale server performance. How Network Load Balancing accomplishes this is described in:

  • How Network Load Balancing works


How Network Load Balancing works

Network Load Balancing provides high availability and scalability of Web servers using a cluster of two or more host computers working together. Internet clients access the cluster using a single IP address (or a set of addresses for a multihomed host). The clients are unable to distinguish the cluster from a single server. Server programs do not identify that they are running in a cluster. However, a Network Load Balancing cluster differs significantly from a single host running a single server program, because it provides uninterrupted service even if a cluster host fails. The cluster also can respond more quickly to client requests than a single host (for load-balanced ports).

Network Load Balancing delivers high availability by redirecting incoming network traffic to working cluster hosts if a host fails or is offline. Existing connections to an offline host are lost, but the Internet services remain available. In most cases (for example, with Web servers), client software automatically retries the failed connections, and the clients experience only a few seconds delay in receiving a response.

Network Load Balancing delivers scaled performance by distributing the incoming network traffic among one or more virtual IP addresses assigned to the Network Load Balancing cluster. The hosts in the cluster then concurrently respond to different client requests, even multiple requests from the same client. For example, a Web browser may obtain each of the multiple images in a single Web page from different hosts within a Network Load Balancing cluster. This speeds up processing and shortens the response time to clients.

Network Load Balancing enables all cluster hosts on a single subnet to concurrently detect incoming network traffic for the cluster's primary IP address (and for additional IP addresses on multihomed hosts). On each cluster host, the Network Load Balancing driver acts as a filter between the cluster adapter driver and the TCP/IP stack to allow a portion of the incoming network traffic to be received by the host.

Network Load Balancing employs a fully distributed algorithm to statistically map incoming clients to the cluster hosts based on their IP address, port, and other information. When inspecting an arriving packet, all hosts simultaneously perform this mapping to quickly determine which host should handle the packet. The mapping remains invariant unless the number of cluster hosts changes. The Network Load Balancing filtering algorithm is much more efficient in its packet handling than centralized load-balancing programs, which must modify and retransmit packets. This enables Network Load Balancing to provide much higher aggregate bandwidth. By running directly on the cluster hosts, Network Load Balancing performance is not limited by a specific generation of processor or network technology.

Distribution of cluster traffic

Network Load Balancing controls the distribution of TCP and UDP traffic from the Internet clients to selected hosts within a cluster as follows: After Network Load Balancing has been configured, incoming client requests to the cluster IP addresses are received by all hosts within the cluster. Network Load Balancing filters incoming datagrams to specified TCP and UDP ports before these datagrams reach the TCP/IP protocol software. Network Load Balancing manages only the TCP and UDP protocols within TCP/IP, controlling their actions on a per-port basis.

Network Load Balancing does not control any incoming IP traffic other than TCP and UDP traffic for specified ports. It does not filter ICMP, IGMP, ARP (except as described below), or other IP protocols. All such traffic is passed unchanged to the TCP/IP protocol software on all of the hosts within the cluster. Because of the robustness of TCP/IP and its ability to deal with replicated datagrams, other protocols behave correctly in the clustered environment. However, you should expect to see duplicate responses from certain point-to-point TCP/IP programs (such as ping) when the cluster IP address is used. These programs can use the dedicated IP address for each host to avoid this behavior.

Convergence

To coordinate their actions, Network Load Balancing hosts periodically exchange multicast or broadcast messages within the cluster (for more information, see What is IP multicasting?). This allows them to monitor the status of the cluster. When the state of the cluster changes (such as when hosts fail, leave, or join the cluster), Network Load Balancing invokes a process known as convergence, in which the hosts exchange messages to determine a new, consistent state of the cluster and to elect the host with the highest host priority as the new default host. When all cluster hosts have reached consensus on the correct new state of the cluster, they record the completion of convergence in the Windows 2000 event log.

During convergence, the hosts continue to handle incoming network traffic as usual, except that traffic for a failed host does not receive service. Client requests to working hosts are unaffected. At the completion of convergence, the traffic for a failed host is redistributed to the remaining hosts. Load-balanced traffic is repartitioned among the remaining hosts to achieve the best possible new load balance for specific TCP or UDP ports. If a host is added to the cluster, convergence allows this host to take over handling ports for which it has the highest priority and to receive its share of the load-balanced traffic. Expansion of the cluster does not affect ongoing cluster operations and is achieved transparently to both Internet clients and to server programs. However, it may affect client sessions that span multiple TCP connections when client affinity is selected, because clients may be remapped to different cluster hosts between connections.

Network Load Balancing assumes that a host is functioning properly within the cluster as long as it participates in the normal message exchange among the cluster hosts. If other hosts do not receive a response from any member for several periods of message exchange, they initiate convergence to redistribute the load previously handled by the failed host. You can control both the message exchange period and the number of missed messages required to initiate convergence. The default values are respectively set to 1,000 milliseconds (1 second) and 5 missed message exchange periods. Because these parameters are not usually modified, they are not configurable through the Network Load Balancing Properties dialog box. They can be adjusted manually in the registry as necessary. The procedures for this are described in Adjusting convergence parameters.


Planning your Network Load Balancing cluster

This section covers the issues you must consider as you plan how to set up Network Load Balancing in your organization.

  • Identifying your risks
  • Choosing a Network Load Balancing model
  • Capacity planning
  • Planning for fault-tolerant disks
  • Optimizing Network Load Balancing clusters
  • Network Load Balancing compared to other solutions


Identifying your risks

When you identify network risks, you identify the possible failures that can interrupt access to network resources. A single point of failure is any component in your environment that would block data or applications if it failed. Single points of failure can be hardware, software, or external dependencies, such as power supplied by a utility company and dedicated wide area network (WAN) lines.

In general, you provide maximum reliability when you:

  • Minimize the number of single points of failure in your environment.
  • Provide mechanisms that maintain service when a failure occurs.
In the case of Network Load Balancing, you also provide maximum reliability when you:
  • Load balance only applications appropriate to Network Load Balancing.
  • Make sure that the application servers are properly configured for the applications they are running.

This section covers the following areas:

  • Addressing your risks
  • Determining which applications to use with Network Load Balancing


Addressing your risks

A principal goal of Network Load Balancing is to provide increased reliability. A cluster of two or more computers ensures that if one computer fails, another computer will be available to continue processing client requests.

However, Network Load Balancing is not designed to protect all aspects of your workflow in all circumstances. For example, Network Load Balancing is not an alternative to backing up data. Network Load Balancing protects only availability of data, not the data itself. Also, it does not guard against a power outage that would disable the entire cluster.

Windows 2000 Advanced Server has built-in features that protect certain computer and network processes during failure. These features include RAID-1, disk mirroring, RAID-5 and disk-striping with parity. When planning your Network Load Balancing environment, look for places where these features can help you in ways that Network Load Balancing cannot.

The following table lists common points of failure in a Windows Advanced Server environment and describes whether the point of failure can be protected, either by Network Load Balancing or by other means.

Failure Point | Network Load Balancing solution | Other solutions
Network hub | n/a | Redundant networks

Power outage

n/a
  • Uninterruptable power supply (UPS)
  • Generator
Server connection | Failover | n/a
Disk | Failover | Hardware or software RAID, to ensure against the loss of data on a specific computer and to provide for uninterrupted service
Other server hardware, such as CPU or memory | Failover | Spare components, such as motherboards and SCSI controllers (any spare components should exactly match the original components, including network and SCSI components)
Server software, such as the operating system or specific applications | Failover | n/a
WAN links, such as routers and dedicated lines | n/a | Redundant links, to provide secondary access to remote connections
Dial-up connection | n/a | Multiple modems


Determining which applications to use with Network Load Balancing

Many applications will work with Network Load Balancing. This section offers guidelines for determining which applications may be suitable.

In general, Network Load Balancing can load balance any application or service that uses TCP/IP as its network protocol and is associated with a specific TCP/IP port. For more information, see TCP ports.

Some examples are:

  • HTTP over TCP/IP

    Web servers, such as Microsoft Internet Information Services: Port 80.

  • HTTPS over TCP/IP

    HTTP over SSL (Secure Sockets Layer), for encrypting Web traffic: Port 443.

  • FTP over TCP/IP

    FTP (File Transfer Protocol): Port 20, port 21, and ports 1024-65535.

  • TFTP over TCP/IP

    TFTP servers (used by such programs as BOOTP): port 69.

  • SMTP over TCP/IP

    SMTP (Simple Mail Transport Protocol), used by such programs as Microsoft Exchange: Port 25.

  • Terminal Services: Port 3389.

In addition, Network Load Balancing is in common use with:

  • Web servers using round robin DNS
  • Virtual private network (VPN) servers
  • Streaming media servers


Choosing a Network Load Balancing model

Network Load Balancing can be configured using one of four different models. This section describes the models and sets forth the advantages and disadvantages of each.

  • Single network adapter in unicast mode
  • Multiple network adapters in unicast mode
  • Single network adapter in multicast mode
  • Multiple network adapters in multicast mode


Single network adapter in unicast mode

This model is suitable for a cluster in which ordinary network communication among cluster hosts is not required, and in which there is limited dedicated traffic from outside the cluster subnet to specific cluster hosts.

Advantages:

  • Only one network adapter is required: No need to install a second adapter.
  • Most straightforward configuration, because unicast mode is the default.
  • Works with all routers.

Disadvantages:

  • Ordinary network communication among cluster hosts is not possible.
  • Because there is only one network adapter, overall network performance may suffer.
For more information, see Single network adapter, and Single network adapter limitations.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Installing Network Load Balancing, including the sections on cluster parameters, host parameters and port rules. Without a thorough understanding of the topics referenced, you will not be able to properly configure Network Load Balancing.

Note

  • In this model, the computer can also handle traffic from inside the subnet if the IP datagram does not carry the same MAC address as on the cluster adapter. For more information, see ARP.


Multiple network adapters in unicast mode

This model is suitable for a cluster in which ordinary network communication among cluster hosts is necessary or desirable, and in which there is comparatively heavy dedicated traffic from outside the cluster subnet to specific cluster hosts.

Advantages:

  • The preferred configuration, used by most sites, because a second network adapter may enhance overall network performance.
  • Permits ordinary network communication among cluster hosts.
  • Works with all routers.

Disadvantages:

  • Requires a second network adapter.
For more information, see Multiple network adapters.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Installing Network Load Balancing, including the sections on cluster parameters, host parameters and port rules. Without a thorough understanding of the topics referenced, you will not be able to properly configure Network Load Balancing.


Single network adapter in multicast mode

This model is suitable for a cluster in which ordinary network communication among cluster hosts is necessary or desirable, but in which there is limited dedicated traffic from outside the cluster subnet to specific cluster hosts.

Advantages:

  • Only one network adapter is required: No need to install a second adapter.
  • Permits ordinary network communication among cluster hosts.

Disadvantages:

  • Because there is only one adapter, overall network performance may suffer.
  • Some routers may not support the use of a multicast MAC address.
For more information, see Single network adapter, Single network adapter limitations, and Using a router.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Installing Network Load Balancing, including the sections on cluster parameters, host parameters and port rules. Without a thorough understanding of the topics referenced, you will not be able to properly configure Network Load Balancing.

Note

  • In this model, the computer can also handle traffic from inside the subnet if the IP datagram does not carry the same MAC address as on the cluster adapter. For more information, see ARP.


Multiple network adapters in multicast mode

This model is suitable for a cluster in which ordinary network communication among cluster hosts is necessary, and in which there is heavy dedicated traffic from outside the cluster subnet to specific cluster hosts.

Advantages:

  • Because there are at least two network adapters, overall network performance may be enhanced.
  • Permits ordinary network communication among cluster hosts.

Disadvantages:

  • Requires a second network adapter.
  • Some routers may not support the use of a multicast MAC address.

For more information, see Multiple network adapters, and Using a router.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Installing Network Load Balancing, including the sections on cluster parameters, host parameters and port rules. Without a thorough understanding of the topics referenced, you will not be able to properly configure Network Load Balancing.


Capacity planning

This section helps you determine the number of servers you need and how they should be configured. Your planning should be based on the Network Load Balancing model you choose to implement. For more information, see Choosing a Network Load Balancing model.

  • Sizing Network Load Balancing clusters
  • Determining server capacity requirements


Sizing Network Load Balancing clusters

Cluster size, defined as the number of cluster hosts participating in the cluster (up to 32), is based on the number of computers required to meet the anticipated client load for a given application.

If, for example, you determine that you require six computers running Microsoft Internet Information Services in order to meet the anticipated client demand for Web services, then Network Load Balancing will run on all six computers, and your cluster will consist of six cluster hosts.

On the other hand, your primary purpose in using Network Load Balancing may be to provide failover service from one computer to another. For example, you might have the same e-mail program running on two cluster hosts, but only one copy of the program handles the client workload. Instead of load balancing this service, Network Load Balancing directs network traffic to just one cluster host, moving traffic to the second host only if the first host should fail.

As a general rule, add servers until the servers can comfortably meet their demands without saturating the network. The exact number depends on the nature of the application. When the cluster subnet approaches saturation, add clusters using round robin DNS. The maximum cluster size is determined by network capacity. The minimum cluster size is determined by server capacity. For example, if two extremely powerful servers can take the place of six less powerful servers, your entire cluster will consist of only two cluster hosts. In addition, you should always make sure that there is enough extra server capacity so that if one server fails, the server next in line will not fail also, creating a cascading series of server failures.

Notes

  • If you deploy two or more clusters, consider putting them on individual switches so that incoming cluster traffic is handled separately.
  • Before load balancing an application in a Network Load Balancing cluster, review the application license, or check with the application vendor. Each application vendor sets its own licensing policies for applications running on clusters.


Determining server capacity requirements

After you determine the size of your cluster, you are ready to determine how individual cluster hosts should be configured. In general, this is based on the applications being load-balanced and the anticipated client demand on those applications.

Some server applications (such as file and print servers ) are extremely disk intensive and require very large disk capacities and fast I/O. Some applications (such as Microsoft Exchange) are CPU intensive and require very fast processers in order to work at maximum efficiency. Other applications (such as Microsoft SQL Server) require large amounts of memory. You should consult the documentation for each application that you will be running in order to determine how the servers in your cluster should be configured.

You should also bear in mind that while it may be possible to substitute two or three very powerful servers for a larger number of less powerful computers, it may in fact be more desirable to deploy the larger number. With more servers, the client load can be more widely distributed, so that if one or more servers should fail, the impact on clients is reduced.


Planning for fault-tolerant disks

Disk failure can result in the irrecoverable loss of essential data, and will cause Network Load Balancing to stop functioning, along with the server and all its other applications.

For this reason, you may want to consider using special methods to protect your disks from failure. Two common solutions are software-based or hardware-based RAID. The use of a fault-tolerant RAID solution ensures that data will not be lost if a member of a disk set fails.

  • Software RAID
  • Hardware RAID
  • Error recovery


Software RAID

Windows 2000 Advanced Server supports three types of Software RAID: RAID-0, RAID-1 and RAID-5. Because only RAID-1 and RAID-5 provide for fault tolerance, this section will cover only these two solutions.

The purpose of RAID-1 and RAID-5 is to guard against the loss of data in the event of a catastrophic hard disk failure. Any server on which Network Load Balancing is running can benefit from this. For all intents and purposes, the server will continue to operate as if no disk failure had occurred, as will Network Load Balancing itself and the load-balanced applications.

  • RAID disk arrays

  • Choosing a RAID method

  • Using mirrored volumes

  • Using RAID-5 volumes


Hardware RAID

The computers on which Network Load Balancing is installed can use a variety of hardware RAID configurations. Because many hardware RAID solutions provide power, bus, and cable redundancy within a single cabinet, and track the state of each component in the hardware RAID firmware, they provide data availability with multiple redundancies, protecting against multiple points of failure.

Hardware RAID solutions also use an onboard processor and cache to provide outstanding performance.

Windows 2000 and Network Load Balancing can use these devices as standard disk resources.

Though much more expensive than software RAID (included as a feature with Windows 2000 Advanced Server), hardware RAID is generally considered the superior solution.

For more information, see RAID disk arrays.


Error recovery

Computers running Network Load Balancing are subject to the same risk of failure as other computers. Computers can fail for a variety of reasons, and it is always advisable to put in place safeguards against these possible points of failure whenever practicable. These safeguards include software and hardware RAID, uninterruptable power supplies, and transaction logging and recovery, a feature of NTFS. To make use of this feature, be sure to load Network Load Balancing on a partition formatted with NTFS.

With transaction logging and recovery, NTFS ensures that the volume structure will not be corrupted, so all files remain accessible after a system failure. NTFS also uses the recovery technique called cluster-remapping. When Windows 2000 returns a bad-sector error to the NTFS, NTFS dynamically replaces the disk cluster containing the bad sector and allocates a new disk cluster for the data. If the error occurs during a read, NTFS returns a read error to the calling program, and the data is lost (unless protected by RAID fault tolerance). When the error occurs during a write, NTFS writes the data to the new disk cluster, and no data is lost. NTFS puts the address of the disk cluster containing the bad sector in its Bad Sector file so that the bad sector is not reused.

Even with transaction logging and recovery and disk cluster-remapping, data can be lost due to hardware failure if you do not use a fault-tolerant-disk solution. For more information on this topic, see Planning for fault-tolerant disks.


Optimizing Network Load Balancing clusters

Because Windows 2000 Advanced Server uses an adaptable architecture, it is largely self-tuning. It is able to allocate resources as needed to meet changing usage requirements. However, there are some hardware and configuration choices you can make to improve cluster performance. These choices are explained in the following sections:

  • Focusing on the right hardware resources
  • Optimizing the paging file size and location
  • Optimizing network performance
  • Using additional TCP/IP services


Focusing on the right hardware resources

The goal in tuning Network Load Balancing and the applications it load balances is to determine which hardware resource will experience the greatest demand, and then to adjust the configuration to relieve that demand and maximize total throughput.

For example, if the primary role of the cluster is to provide high availability of file and print services, high disk use will be incurred due to the large number of files being opened and closed. File and print services also cause a heavy load on network adapters because of the large amount of data that is being transferred. It is important to make sure that your network adapter and cluster subnet can handle the load. In this scenario, RAM typically does not carry a heavy load (although memory usage can be heavy if a large amount of RAM is allocated to a file-system cache). Processor utilization is also typically low in this environment. In such cases, memory and processor utilization usually do not need the optimizing that other components need.

In contrast, a server-application environment (such as Microsoft Exchange) is much more processor and RAM-intensive than a typical file or print server environment because much more processing is taking place at the server. In these cases, it is best to use high-end multiprocessor computers. The disk and network loads tend to be less utilized, because the amount of data being sent is smaller. Network Load Balancing uses little of the system resources either for host-to-host communications or for the operation of the cluster itself.


Optimizing the paging file size and location

The location and size of the paging file can greatly affect performance. Putting the paging file on a separate, fast, low-use drive can boost performance. The size setting of the paging file is also critical to performance. A paging file that must constantly expand and shrink requires additional processor and I/O overhead. Usually, you should set the size of your paging file at two or two-and-a-half times the amount of installed physical memory if applications such as Microsoft SQL Server or Microsoft Exchange Server are present.


Optimizing network performance

If the cluster hosts are directly connected to a switching hub in order to receive client requests, incoming client traffic is automatically sent to all switch ports.

To avoid flooding switch ports (for example, when computers outside the cluster also share the switch), see Avoiding flooding switch ports. The steps outlined will cause all incoming client traffic to flow through one switch port and will thereby conserve switch bandwidth. In this configuration, you are advised to consider adding a second, dedicated network adapter for each host connected to an individual switch port. The use of two network adapters per host on the cluster subnet helps to direct network traffic through the cluster hosts. Incoming client traffic flows through the switching hub for simultaneous delivery to all hosts, while outgoing traffic flows directly to the switch ports. Be sure to enter a gateway IP address in the Internet Protocol (TCP/IP) Properties dialog box in Network and Dial-up Connections for the dedicated network adapter, to cause outgoing network traffic to flow through that network adapter. At the same time, be sure to remove the default gateway for the cluster adapter, if one has been configured. It is essential that the default gateway be configured for either the cluster adapter or the dedicated adapter, but not both.


Using additional TCP/IP services

WINS, DHCP, and DNS Services use additional server resources, which must be considered before implementing any of these services on a server also operating as a cluster host. In particular, WINS can require substantial overhead during peak logon times in large networks. In such cases, make sure that your server has the necessary capacity to perform adequately.


Network Load Balancing compared to other solutions

A number of load balancing methods exist, and Network Load Balancing has unique advantages relative to each of them.

Round robin DNS

Round robin DNS is a popular solution for enabling a limited form of TCP/IP load balancing for Web servers. However, it does not function effectively as a high-availability solution. Round robin DNS uses DNS to map incoming IP requests to a defined set of servers in a circular fashion. In the event of a server failure, round robin DNS continues to route requests to the failed server until the server is removed from DNS, and even then many users must wait for DNS to time-out their connections before being able to successfully access the target Web site.

Hardware-based load balancing

Network Load Balancing and hardware load-balancers typically offer very similar functionality: both services transparently direct client requests for a single IP address to multiple hosts within a cluster. Hardware load-balancers generally use a technique called network address translation, that exposes one or more virtual IP addresses to clients and forwards data for the hosts by translating IP addresses and resending network packets. When a single hardware load-balancer is used, this technique introduces a single point of failure between the cluster and the clients. To provide high availability, a backup load-balancer is needed. Address translation and retransmission also imposes relatively higher overhead and delivers lower bandwidth than does Network Load Balancing's filtering technique.

Network Load Balancing has three distinct advantages over hardware-based load-balancers:

  • Network Load Balancing has significantly higher throughput, tested at over 250 megabits per second (Mbps)
  • Unlike hardware load-balancers, which have limited maximum performance, Network Load Balancing's performance automatically improves with the speed of the cluster hosts and the local area network (LAN), ensuring that it will never become a bottleneck as LAN and host speeds increase. Network Load Balancing can easily accommodate a change to gigabit ethernet without requiring any upgrade.
  • Network Load Balancing avoids a single point of failure, since it runs in parallel on all hosts in the cluster. Most hardware load-balancers require two hardware units to avoid a single point of failure, with the second equally expensive hardware component operating in a passive mode.

Dispatcher software load balancing

Software-based load balancing products that employ various dispatcher models for load balancing face many of the disadvantages found in hardware load balancing products. Dispatching techniques, whether implemented by network address translation or other methods (such as HTTP redirection), introduce higher overhead than does Network Load Balancing. This limits throughput and restricts performance. Also, the entire cluster's throughput is limited by the speed and processing power of the dispatch server.

These products require all incoming connections to be handled by one dispatch server, where they are then either processed or routed to other servers in the network. This introduces a single point of failure, that can only be eliminated by moving the dispatching function to a second server after a failure occurs. This recovery technique adds complexity and recovery time to the solution. The distributed software load balancing model used by Network Load Balancing avoids this problem by removing any dependency on a single server.


Using Network Load Balancing

This section covers:

  • Single network adapter
  • Single network adapter limitations
  • Multiple network adapters
  • Network Load Balancing parameters
  • Upgrading Network Load Balancing
  • Adjusting multicast parameters
  • Handling LAN failures
  • Error detection and handling
  • Event logging
  • Network Load Balancing and stateful connections
  • Cluster control


Single network adapter

Network Load Balancing can operate in two modes: unicast and multicast.

In unicast mode, the cluster's MAC address is assigned to the computer's network adapter and the network adapter's built-in MAC address is not used.

In multicast mode, the cluster's MAC address is assigned to the computer's network adapter, but the network adapter's built-in address is retained so that both addresses are used, the first for client-to-cluster traffic and the second for network traffic specific to the computer.

The topics that follow describe the principal characteristics of each mode when a single network adapter is used.

Single network adapter in unicast mode

  • The adapter's own, unique MAC address is disabled.

    The cluster MAC address (which Network Load Balancing automatically generates) replaces this address.

  • The adapter becomes, in effect, the cluster adapter.
  • Both the dedicated IP address and the cluster IP address resolve to the cluster MAC address.
  • Because all cluster hosts share the same MAC address, and because the original MAC address is not used, ordinary network communication between this host and the other cluster hosts is not possible. However, the computer can still handle traffic originating from outside the subnet in which the cluster is located, and from inside the subnet if the IP datagram does not carry the same MAC address as on the cluster adapter. For more information, see Address Resolution Protocol (ARP).

Single network adapter in multicast mode

  • Network Load Balancing automatically generates a cluster MAC address for the network adapter.
  • The adapter's own, unique MAC address is retained.
  • The cluster IP address resolves to the cluster MAC address.
  • The dedicated IP address resolves to the original MAC address.
  • Because both MAC addresses are used, there are no constraints on network traffic, except for the load placed on the network adapter.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

Unicast support is enabled by default. To enable multicast support, see Enabling multicast support.

If multicast support is enabled, a single network adapter can handle both client-to-cluster traffic and dedicated traffic without difficulty. However, the use of a second network adapter may improve performance by handling dedicated traffic concurrently with the original network adapter.

Multicast support, with or without multiple network adapters, has several advantages, such as eliminating the inherent limitations of a single network adapter. Network Load Balancing handles the resolution of the cluster's primary IP address to its associated multicast cluster MAC address within the ARP on your router. In rare cases, the use of a multicast MAC address may not be supported by the ARP implementation on a given router. If this problem arises, the cluster will not be accessible from outside the local subnet. To correct this problem, you must create a static ARP entry within the router. Refer to the documentation for your router to determine how to create a static ARP entry. For more information, see Using a router.

Should you disable multicast support (causing the host to revert to unicast mode), Network Load Balancing automatically instructs the driver belonging to the cluster adapter to override the adapter's unique, built-in network address and to change its MAC address to the cluster's MAC address. This is the address used on all cluster hosts. You do not need to manually configure the network adapter to recognize this address. (Note that some network adapters do not support changing their MAC addresses. If you experience this problem, you must install a network adapter that does.)

If you are using multiple network adapters, see Multiple network adapters.


Single network adapter limitations

The limitations described in this topic apply only when multicast support is not enabled.

If you do not enable multicast support, you should consider installing a dedicated network adapter in order to achieve optimum performance and the full range of networking functionality. Although a successful cluster can be implemented with only one network adapter and without activating multicast support, there are two limitations to this approach:

  • Ordinary network communication among cluster hosts is not possible.
  • Network traffic intended for any individual computer within the cluster will generate additional networking overhead for all computers in the cluster.

These limitations may not be important for many installations. If the cluster hosts are accessed only from outside the cluster (since host-to-host communication cannot take place) and non-cluster communications are infrequent (for example, short nightly updates of the Web server content to individual computers in the cluster), the use of a single network adapter should be sufficient. Also, it is always possible to test and demonstrate Network Load Balancing using a single network adapter prior to installing additional network adapters for operational purposes.


Multiple network adapters

Network Load Balancing can operate in two modes: unicast and multicast.

In unicast mode, the cluster's MAC address is assigned to the network adapter that is functioning as the cluster adapter and the cluster adapter's built-in MAC address is not used.

In multicast mode, the cluster's MAC address is assigned to the network adapter that is functioning as the cluster adapter, but the cluster adapter's built-in address is retained so that both addresses are used, the first for client-to-cluster traffic and the second for network traffic specific to the computer.

Multiple network adapters in unicast mode

This following characteristics apply:

  • The first network adapter is the cluster adapter.

    The cluster IP address resolves to this adapter's cluster MAC address (which Network Load Balancing automatically generates).

    If the cluster adapter's dedicated IP address is used, this IP address also resolves to the cluster MAC address.

    The cluster adapter handles client-to-cluster traffic. If the dedicated IP address is used, the computer can also handle traffic originating from outside the subnet in which the cluster is located, and from inside the subnet if the IP datagram does not carry the same MAC address as on the cluster adapter. For more information, see ARP.

  • The second network adapter is the dedicated adapter.

    This adapter's IP address resolves to the adapter's built-in MAC address.

    The dedicated adapter handles network traffic specific to the computer, including traffic from both inside and outside the subnet in which the computer is located.

Multiple network adapters in multicast mode

This following characteristics apply:

  • The first network adapter is the cluster adapter.

    The cluster IP address resolves to this adapter's cluster MAC address (which Network Load Balancing automatically generates).

    If the cluster adapter's dedicated IP address is used, this IP address resolves to the adapter's original, built-in MAC address.

    The cluster adapter, therefore, can handle both client-to-cluster traffic and traffic specific to the computer, including all traffic from both inside and outside the subnet in which the computer is located.

  • The second network adapter is the dedicated adapter.

    This adapter's IP address resolves to the adapter's built-in MAC address.

    The dedicated adapter handles network traffic specific to the computer, including traffic from both inside and outside the subnet in which the computer is located.

Important

  • The dedicated IP address should not be confused with the dedicated adapter. In multiple network adapter configurations, the two are not related. In such configurations, the dedicated IP address is found only on the cluster adapter. It is used for handling network traffic specific to the computer to which it has been assigned. It does not participate in the handling of cluster traffic. Cluster traffic is handled by the cluster IP address, which is the same for all computers in the cluster.
  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts must be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

  • When multiple network adapters are present, Network Load Balancing should be installed on only one adapter.

Multicast support, with or without multiple network adapters, has several advantages, such as eliminating the inherent limitations of a single network adapter. Network Load Balancing handles the resolution of the cluster's primary IP address to its associated multicast cluster MAC address within the ARP on your router. In rare cases, the use of a multicast MAC address may not be supported by the ARP implementation on a given router. If this problem arises, the cluster will not be accessible from outside the local subnet. To correct this problem, you must create a static ARP entry within the router. Refer to the documentation for your router to determine how to create a static ARP entry. For more information, see Using a router.

Should you disable multicast support (causing the host to revert to unicast mode), Network Load Balancing automatically instructs the driver belonging to the cluster adapter to override the adapter's unique, built-in network address and to change its MAC address to the cluster's MAC address. This is the address used on all cluster hosts. You do not need to manually configure the network adapter to recognize this address. (Note that some network adapters do not support changing their MAC addresses. If you experience this problem, you must install a network adapter that does.)

Note

  • Multicast support is not enabled by default. To enable it, see Enabling multicast support. However, even if you do not enable multicast support, you are advised to consider using at least two network adapters (with one network adapter dedicated to handling client-to-cluster traffic) in order to achieve optimum performance and the full range of networking functionality. For more information, see Optimizing network performance.
If you are using single network adapter, see Single network adapter and Single network adapter limitations.


Network Load Balancing parameters

This topic describes the parameters that are specific to each host in a Network Load Balancing cluster and the parameters for a Network Load Balancing cluster as a whole. It also describes the parameters that control how the cluster functions. These are called port rules. Values entered for the entire cluster must be the same for all host computers in the cluster. You enter parameters in the Network Load Balancing Properties dialog box and they are recorded in the registry.

The parameters are contained in the following tabs on the Network Load Balancing Properties dialog box:

Tab | Description
Cluster parameters | These parameters apply to the entire cluster.
Host parameters | These parameters apply to a specific host.
Port rules | These parameters control how the cluster functions.

Cluster parameters

Parameter | Description
Cluster's primary IP address This parameter specifies the cluster's primary IP address in standard Internet dotted notation (for example, w.x.y.z). Be sure to enter the periods between the numbers within the address. This address is a virtual IP address and must be set identically for all hosts in the cluster. This IP address is used to address the cluster as a whole, and it should be the IP address for the full Internet name that you specify for the cluster. If you alias several IP addresses to the cluster (for example, in a multihomed Web server), then only the primary IP address needs to be entered here.

Important

  • Both the dedicated IP address and the cluster IP address, entered during setup in the Network Load Balancing Properties dialog box, must also be entered in the Internet Protocol (TCP/IP) Properties dialog box. Make sure that the addresses are the same in both places.
Subnet mask | This parameter denotes the subnet mask for the IP address specified. The mask is entered in standard Internet dotted notation (for example, 255.255.255.0). Be sure to enter the periods between the numbers within the address.
Cluster's full Internet name | This parameter specifies a full Internet name for the Network Load Balancing cluster (for example, cluster.microsoft.com). This name is used for the cluster as a whole, and should be the same for all hosts in the cluster. If you alias several names for the cluster, the primary (main) name should be entered here. In any case, this name should be resolvable to the cluster's primary IP address through your DNS server or Hosts file.
Cluster's network address This parameter specifies the network address (MAC address) for the network adapter to be used for handling client-to-cluster traffic. Network Load Balancing automatically generates the network address based on the cluster's primary IP address. Network Load Balancing uses a locally administered address, that is also a multicast MAC address if you have multicast support enabled.

If multicast support is disabled (causing the host to revert to unicast mode), Network Load Balancing automatically instructs the driver belonging to the cluster adapter to override the adapter's unique, built-in network address and to change its MAC address to the cluster's MAC address. This is the address used on all cluster hosts. You do not need to manually configure the network adapter to recognize this address.

Note

  • Some network adapters may not allow the built-in network address to be modified. If you experience this problem, you must obtain and install a different network adapter that supports this functionality.

If you have other Network Load Balancing clusters on one local subnet, each cluster will need to use a different network address. When you select a different primary IP address for each cluster, Network Load Balancing automatically ensures that the clusters use unique network addresses.

Multicast support This parameter specifies whether or not a multicast MAC address should be used for cluster operations. If this option is enabled, Network Load Balancing converts the cluster MAC address belonging to the cluster adapter into a multicast address. It also ensures that the cluster's primary IP address resolves to this multicast address as part of the ARP protocol. At the same time, the adapter can now use its original, built-in MAC address that, in unicast mode, was disabled.

Note

  • If Network Load Balancing clients are accessing a cluster through a router when the cluster has been configured to operate in multicast mode, be sure that the router meets the following requirements:

    • Accepts an ARP reply that has one MAC address in the payload of the ARP structure but appears to arrive from a station with another MAC address, as identified by the Ethernet header.
    • In multicast mode, accepts an ARP reply that has a multicast MAC address in the payload of the ARP structure.

    This allows the router to map the cluster's primary IP address and other multihomed addresses to the corresponding MAC address. If your router does not meet these requirements, you can also create a static ARP entry in the router. Cisco routers require a static ARP entry because they do not support the resolution of unicast IP addresses to multicast MAC addresses.

Should you disable multicast support (causing the host to revert to unicast mode), Network Load Balancing automatically instructs the driver belonging to the cluster adapter to override the adapter's unique, built-in network address and to change its MAC address to the cluster's MAC address. This is the address used on all cluster hosts. You do not need to manually configure the network adapter to recognize this address. (Note that some network adapters do not support changing their MAC addresses. If you experience this problem, you must install a network adapter that does.)

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment. All cluster hosts should be either multicast or unicast; otherwise, the cluster will not function properly.

    However, there is no restriction on the number of network adapters: Different hosts can have a different number of adapters.

Note

  • Multicast support is not enabled by default. To enable it, see Enabling multicast support. However, if you do not enable multicast support, you are advised to consider using at least two network adapters (with one network adapter dedicated to handling client-to-cluster traffic) in order to achieve optimum performance and the full range of networking functionality. For more information, see Multiple network adapters and, Optimizing network performance.
Remote password This parameter specifies a password to be used for restricting access to the cluster from remote, networked computers running Windows 2000 using the Wlbs.exe cluster control program. The password consists of a string of alphanumeric characters. The password should be entered as the value of this parameter and also a second time for confirmation in the Confirm password parameter.

Once a password has been accepted, subsequent Wlbs.exe remote-control operations must use the /PASSW command-line parameter and submit the password. Clearing both fields disables use of the remote-control password. For more information, see specify remote options when using remote-control operations.

The remote-control password is not used to restrict control operations from a cluster host.
Confirm password | This parameter specifies the password entered in the Remote password field. It is used to confirm proper entry of this password. Clearing both fields disables use of a remote-control password.
Remote control This parameter specifies whether remote-control operations are enabled. When enabled, remote, networked computers running Windows 2000 can control cluster operations using the Wlbs.exe cluster control program. Remote control is disabled by default.

Once remote control has been enabled, remote access can be restricted by specifying a remote-control password.

Caution

  • If you enable remote control for your Network Load Balancing cluster (disabled by default), it is vital, for reasons of security, that you use a firewall for the Network Load Balancing UDP control ports (the ports receiving remote-control commands) in order to shield them from outside intrusion. By default, these are ports 1717 and 2504 at the cluster IP address.

Host parameters

Parameter | Description
Priority (ID) This parameter specifies a host's unique priority for handling default network traffic for TCP and UDP ports that are not otherwise specified in the Port rules tab of the Network Load Balancing Properties dialog box. It is used in case a host within the cluster goes offline, and determines which host within the cluster will take over handling this traffic if required. The allowed values for host priority range from 1 to the maximum number of hosts. Lower values indicate higher priorities (where 1 is the highest priority). Each host within the cluster must specify a unique host priority.

The host with the highest priority (the lowest numerical value) among the current members of the cluster handles all of the cluster's default network traffic. If this host fails or goes offline, the host with the next highest priority within the cluster takes over handling this network traffic. This mechanism ensures that the cluster provides fault tolerance in the handling of network traffic for all ports. You can override these priorities or provide load balancing for specific ranges of ports by specifying rules in the Port rules tab of the Network Load Balancing Properties dialog box.

If a new host joins the cluster and its priority conflicts with another host in the cluster, the host is not accepted as part of the cluster. The rest of the cluster will continue to handle the traffic as before. A message describing the problem is written to the Windows event log. For more information on error logging and cluster operations, see How Network Load Balancing works, Event logging and Error detection and handling.
Initial state | This parameter specifies whether Network Load Balancing should start and whether the host should immediately join the cluster when Windows 2000 is started. For example, you might want to start other services manually and in a specific order before starting Network Load Balancing. Leave this check box clear if you do not want Network Load Balancing to start when you start the computer. Hosts can be commanded to join and leave the cluster dynamically using the start and stop commands in Network Load Balancing command-line control. For more information on command-line control, see Cluster control.
Dedicated IP address This parameter specifies this host's unique IP address used for network traffic not associated with the cluster (for example, Telnet access to a specific host within the cluster). It should be entered in standard Internet dotted notation (for example, w.x.y.z). Be sure to enter the periods between the numbers within the address. This IP address is used to individually address each host in the cluster and hence should be unique for each host. In general, it is the original IP address assigned to the host prior to selecting an IP address for cluster operations.

Network Load Balancing references the dedicated IP address when a single network adapter is used to handle both client-to-cluster traffic and other network traffic to the dedicated IP address. Network Load Balancing ensures that all traffic to the dedicated IP address is unaffected by the Network Load Balancing current configuration, including:

  • When this host is running as part of the cluster
  • When Network Load Balancing is disabled due to parameter errors in the registry

Important

  • Both the dedicated IP address and the cluster IP address, entered during setup in the Network Load Balancing Properties dialog box, must also be entered in the Internet Protocol (TCP/IP) Properties dialog box. Make sure that the addresses are the same in both places.
  • The dedicated IP address must be a static IP address. It cannot be a DHCP address.
Subnet mask | This parameter denotes the subnet mask for the IP address specified. The mask is entered in standard Internet dotted notation (for example, 255.255.255.0). Be sure to enter the periods between the numbers within the address.

Port rules

In order to maximize control of various types of TCP/IP traffic, you can set up port rules to control how each port's cluster network traffic is handled. The method by which a port's network traffic is handled is called its filtering mode. There are three possible filtering modes: Multiple hosts, Single host and Disabled.

You can also specify that a filtering mode apply to a numerical range of ports. You do this by defining a port rule with a set of configuration parameters that define the filtering mode. Each rule consists of the following configuration parameters:

  • The TCP or UDP port range for which this rule should be applied.
  • The protocols for which this rule should apply, including TCP, UDP, or both.
  • The filtering mode that specifies how the cluster handles traffic described by the port range and protocols.

In addition, you can select one of three options for client affinity: None, Single and Class C. Single and Class C are used to ensure that all network traffic from a particular client be directed to the same cluster host.

Important

  • The number and type of rules must be exactly the same for each host in the cluster.
  • If a host attempts to join the cluster with a different number of rules from the other hosts, it is not accepted as part of the cluster and the rest of the cluster continues to handle the traffic as before. At the same time, a message is entered into the Windows event log. When this happens, consult the event log to determine which host has a conflicting number of rules, resolve the conflict, and restart Network Load Balancing on this host.
  • The rules entered on each host in the cluster must have matching port ranges, protocol types, and filtering modes.

    If Network Load Balancing detects an inconsistent rule among the hosts in the cluster, it records a message in the Windows event log. When this happens, consult the event log to determine the host in question and which rule is responsible for the problem, fix it, and restart Network Load Balancing on this host.

    For more information on error logging and cluster operations, see Error detection and handling and Event logging.

Note

  • By default, all cluster network traffic not governed by port rules is handled by the host with the highest host priority among the current members of the cluster. This single host handles all of the cluster network traffic, with another host taking over the traffic in the event that the highest-priority host fails or goes offline. This default behavior ensures that Network Load Balancing does not affect cluster network traffic for ports that you do not specifically manage with the Network Load Balancing load-balancing mechanisms. It also provides high availability in the handling of your cluster network traffic.
Parameter | Description
Port range This parameter specifies the TCP/UDP port range that a port rule should cover. Port numbers in a range of 0 to 65,535 are currently supported. The default port range is 1 to 65,535.

Note

  • Rules for a single port are encoded as a range having the same starting and ending port numbers.
Protocols | This parameter lets you choose the specific TCP/IP protocol that a port rule should cover: TCP, UDP, or both. Only the network traffic for the specified protocol is affected by the rule. The rest of the traffic is handled according to the default filtering mode.

Filtering mode
  • Multiple hosts

    • This parameter specifies that multiple hosts in the cluster handle network traffic for the associated port rule. This filtering mode provides scaled performance in addition to fault tolerance by distributing the network load among multiple hosts. You can specify that the load be equally distributed among the hosts or that each host handle a specified load weight.

    Network traffic is distributed among the hosts on a per-connection basis for TCP (or a per-datagram basis for UDP), where the combination of source IP address, and source and destination port numbers determine a unique client request. The distribution algorithm is optionally restricted when client affinity is selected to ensure that multiple connections within a client session are handled by the same cluster host.

  • Single host

    • This parameter specifies that network traffic for the associated port rule be handled by a single host in the cluster according to the specified handling priority. This filtering mode is similar to the default traffic-handling policy. However, by setting the handling priority parameter for each host, you can change the default host that handles this port rule's traffic, and override the order in which hosts take over the handling of traffic in the event of a failure. This filtering mode provides fault tolerance for the handling of network traffic.

  • Disabled

    • This parameter specifies that all network traffic for the associated port rule be blocked. In this case, the Network Load Balancing driver filters all corresponding network packets or datagrams. This filtering mode lets you build a firewall against unwanted network access to a specific range of ports.

Affinity
  • Client affinity: None

    • The None option specifies that Network Load Balancing does not need to direct multiple requests from the same client to the same cluster host (no client affinity).

  • Client affinity: Single

    • The Single option specifies that Network Load Balancing should direct multiple requests from the same client IP address to the same cluster host. This is the default setting for affinity.

    You can optionally modify Network Load Balancing client affinity to direct all client requests from a TCP/IP Class C address range (instead of a single IP address) to a single cluster host by enabling the Class C option instead of the Single option. This feature ensures that clients that use multiple proxy servers to access the cluster will have their TCP connections directed to the same cluster host. The use of multiple proxy servers at the client's site causes requests from a single client to appear to originate from different computers. Assuming that all of the client's proxy servers are located within the same Class C address range, enabling the Class C option ensures that client sessions are properly handled. If you do not need this capability, use the Single option instead to maximize scaled performance when using client affinity.

  • Client affinity: Class C

    • Class C affinity specifies that Network Load Balancing direct multiple requests from the same TCP/IP Class C address range to the same cluster host.

    Enabling Class C affinity instead of Single affinity ensures that clients that use multiple proxy servers to access the cluster have their TCP connections directed to the same cluster host. The use of multiple proxy servers at the client's site causes requests from a single client to appear to originate from different computers. Assuming that all of the client's proxy servers are located within the same Class C address range, Class C affinity ensures that client sessions are properly handled. If you do not need this capability, use Single affinity instead to maximize scaled performance.

    Enabling either Single or Class C affinity ensures that only one cluster host handles all connections that are part of the same client session. This is important if the server program running on the cluster host maintains session state (such as "server cookies") between connections.

    At the same time, it is important to realize that this does not preserve session state with back-end databases in which many different transactions are occurring involving many different computers. Once the connection is ended, session state also ends.

    Disabling client affinity improves performance because it allows multiple connections from the same client to be handled concurrently by different cluster hosts. To maximize scaled performance, disable client affinity (using the None option) when it is not needed.
Load weight When using Multiple hosts filtering mode, this parameter specifies the percentage of load-balanced network traffic that this host should handle for the associated port rule. Allowed values range from 0 (zero) to 100. To prevent a host from handling any network traffic, set the load weight to 0 (zero).

The sum of the load weights for all cluster hosts does not have to equal 100 because hosts can dynamically enter or leave the cluster. The actual fraction of traffic handled by each host is computed as the local load percentage value divided by the sum of all load weights across the cluster.

You can specify that all hosts distribute the network load equally by using the Equal load distribution parameter instead of the Load weight parameter.

Equal load distribution This parameter specifies that this host accept an equal portion of the load-balanced traffic in multiple-host filtering mode for the associated port rule.

You can specify different load weights for each host in the cluster by using the Load weight parameter instead of the Equal load distribution parameter.
Handling priority | When Single host filtering mode is being used, this parameter specifies the local host's priority for handling the networking traffic for the associated port rule. The host with the highest handling priority (lowest numerical value) for this rule among the current members of the cluster will handle all of the traffic for this rule. The allowed values range from 1, the highest priority, to the maximum number of hosts allowed. This value must be unique for all hosts in the cluster.

Notes

  • The parameters set in the Network Load Balancing Properties dialog box are recorded in the registry.
  • Changes to Network Load Balancing parameters are applied when you click OK in the Network Load Balancing Properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.
  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Upgrading Network Load Balancing

Individual computers participating in a Network Load Balancing cluster can be dynamically upgraded to a newer version of Network Load Balancing without interrupting service on the cluster as a whole.

To upgrade a cluster host, upgrade the computer to Windows 2000 Advanced Server. All settings are retained. It is therefore not necessary to reconfigure Network Load Balancing parameters after you upgrade. In addition, the host will automatically rejoin the cluster when the upgrade is complete.

When you upgrade from Windows Load Balancing Service (WLBS) for Windows NT 4.0 to Windows 2000 Network Load Balancing, the process is completely transparent to users and the cluster continues to operate normally.

Network Load Balancing clusters can function successfully in a mixed environment of hosts running either Windows 2000 Network Load Balancing, Windows Load Balancing Service (WLBS) for Windows NT 4.0, or Convoy Cluster Software for Windows NT 4.0.

Note

  • Windows Load Balancing Service (WLBS) is the former name of Network Load Balancing in Windows NT 4.0. Convoy Cluster Software is the former name of WLBS.


Adjusting multicast parameters

Network Load Balancing uses one of two methods to enable the cluster adapters on all cluster hosts to simultaneously receive network traffic for the cluster's IP addresses:

  • When multicast support is enabled in the Network Load Balancing Properties dialog box, Network Load Balancing adds a multicast MAC address to the cluster adapters on all cluster hosts. At the same time, the cluster adapters retain their original MAC addresses.
  • When multicast support is disabled in the Network Load Balancing Properties dialog box (causing the host to revert to unicast mode), Network Load Balancing instructs the driver belonging to the cluster adapter to change the adapter's MAC address to the cluster MAC address. This is the same address used on all cluster hosts. (Note that some network adapters do not support changing their MAC addresses.) When this occurs, the cluster adapters are no longer addressable by their original MAC addresses.

Multicast support has several advantages, such as removing the inherent limitations of a single network adapter. Network Load Balancing handles the resolution of the cluster's primary IP address to its associated multicast cluster MAC address used in ARP on your router. Note that in rare cases, the use of a multicast MAC address may not be supported by the ARP implementation on a given router. If this problem arises, the cluster will not be accessible from outside the local subnet. To correct this problem, you must create a static ARP entry within the router. Refer to the documentation for your router to determine how to create a static ARP entry. For more information, see Using a router.

Some network adapter drivers experience increased CPU load percentages (by 5 percent or more depending on network traffic) when handling multicast MAC addresses instead of unicast addresses. If your cluster hosts have unusually high CPU load percentages when using Network Load Balancing's multicast support, you may want to disable this feature to see if this is the source of the problem.

Note

  • Multicast support is not enabled by default. To enable it, see Enabling multicast support.


Handling LAN failures

If the cluster is split into multiple subnets that cannot communicate with each other, each part will reconverge as an individual cluster ready to handle all of the traffic for the cluster IP address. (This problem is distinct from a networking failure in which a single host goes offline. In this case, the host just leaves the cluster.) If multiple subnets with clusters remain active (continue to handle incoming requests), a conflict arises when the networking failure is corrected and the cluster rejoins. In this case, some outstanding connections may have to be closed in order to establish a consistent state for the rejoined cluster. This situation occurs infrequently. It is far more probable that only one subnet will have access to the Internet, in which case no conflict arises because the other subnets do not provide service during the network outage.


Error detection and handling

Network Load Balancing error-handling mechanisms are designed to minimize the possibility of disrupting the cluster's service to client requests, while allowing the cluster's parameters and member hosts to be dynamically changed. For example, you can add hosts to the cluster, remove them for maintenance, add port rules and modify rule parameters, all without interrupting service.

The Network Load Balancing driver checks its configuration parameters entered in the Network Load Balancing Properties dialog box for consistency and validity. Network Load Balancing will not start cluster operations if a problem, such as an invalid IP address, is detected. All detected errors are reported in the Windows event log. For more information, see Event logging.

When a local host joins the cluster, it exchanges its primary parameter values, such as its host priority and port rules, with the other hosts in the cluster. If an inconsistency is detected among the hosts, Network Load Balancing recovers from the error according to the type of inconsistency detected, as follows:

Inconsistency | Network Load Balancing recovery method
Duplicate host priorities | The host joining the cluster handles no traffic until convergence is complete. The cluster does not converge to a consistent state until duplicate hosts are no longer detected.
Different number of port rules | The host joining the cluster handles no traffic until convergence is complete. The cluster does not converge to a consistent state until all hosts have the same number of rules.
Inconsistent port rule | The host joining the cluster handles no traffic until convergence is complete. The cluster does not converge to a consistent state until the rule is consistent across all hosts in the cluster.

If inconsistencies are discovered when a host attempts to join the cluster, the host should be taken out of the cluster using the wlbs stop command. Locate and correct the problem using the Network Load Balancing Properties dialog box on each host prior to returning the host to the cluster using the wlbs start command.

You can add port rules or update parameters by taking each host out of the cluster in turn, updating its parameters, and then returning it to the cluster. During this process, other cluster hosts will detect inconsistencies in the rules and handle them as described above. This permits the cluster to maintain service for client requests while the changes are made. For example, if a rule is added, it does not take effect until all hosts have been updated and have rejoined the cluster. If a rule is modified, the rule is not used until it is made consistent on all hosts.

Note

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Event logging

Network Load Balancing uses Windows event logging to record information about important events. You can view the event log using Event Viewer.

Network Load Balancing classifies logged events into the following categories:

Event category | Description
Information events | Record normal state transitions, such as driver startup, the completion of convergence, and the completion of cluster control actions. These events are recorded for informational purposes only.
Warning events | Record abnormal occurrences that do not impede cluster operations. These events can indicate a configuration problem, such as an invalid dedicated IP address or other parameter. They also can indicate a temporary condition, such as limited driver resources. Cluster operations are not disrupted when warning events occur, and are not considered errors.
Error events | Record major problems or errors that may require immediate attention, such as significant cluster configuration parameter problems, detected inconsistencies, or unexpected execution errors. Error events usually disrupt cluster operations and may require individual hosts to be stopped and reconfigured. Note that errors can occur under normal operations when you update the cluster by adding or modifying port rules. For more information, see Error detection and handling.

Event log records provide crucial information when analyzing and solving problems. Use the wlbs display command to display the most recent event log records produced by Network Load Balancing. This information should be copied into the text of any e-mail message sent to Microsoft requesting technical support.

Notes

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.
  • For information on how to interpret messages, see the Windows 2000 Server Resource Kit.


Network Load Balancing and stateful connections

There are two kinds of stateful connections maintained by application servers:

  • Interclient state: state whose updates must be synchronized with transactions performed for other clients, such as merchandise inventory at an e-commerce site.
  • Intraclient state: state that must be maintained for a given client throughout a session (that can span multiple connections), such as a shopping cart process at an e-commerce site.

Network Load Balancing should not be used to scale applications that directly update interclient state, such as Microsoft SQL Server, because these applications generally were not designed to permit multiple instances to simultaneously access a shared database and synchronize updates. Instead, Network Load Balancing should be used to scale stateless front-end services, such as Microsoft Internet Information Services, that may access a shared back-end database server.

However, Network Load Balancing can be used to scale applications that manage intraclient state within a session that spans multiple connections. When client affinity is enabled, Network Load Balancing will direct all TCP connections to the same cluster host. This allows session state to be maintained in host memory. Client/server applications that embed state within cookies or push it to a back-end database do not need client affinity to be maintained.


Cluster control

This section covers:

  • Cluster control overview
  • Addressing cluster hosts
  • Cluster control commands


Cluster control overview

After you have installed and configured Network Load Balancing, you can control its operations and modify parameter settings using the Network Load Balancing control program, Wlbs.exe, that is installed in the %systemroot%\System32 folder. To simplify and centralize system administration, you can run Wlbs.exe either on the cluster hosts or on any remote Windows 2000 computer that can access the cluster over a local or wide area network. Certain actions, such as modifying parameters, can be performed only on the cluster hosts. Because it is a shell-based program, this program can be incorporated into administrative scripts.

The command line for Wlbs.exe has the following syntax:

wlbs command [cluster [:host] [remote options] ]

For more information on the Network Load Balancing control program, see Addressing cluster hosts and Cluster control commands.

Controlling remote access

You can protect the cluster from unauthorized access by remote computers using a remote-access password. This password is assigned in the Network Load Balancing Properties dialog box for each cluster host to be protected. When password protection is enabled, remote invocations of Wlbs.exe must include the /PASSW option followed by the password. If no password value is entered on the command line, the shell displays a prompt for a password.

Warning

  • If you enable remote control for your Network Load Balancing cluster (disabled by default), it is vital, for reasons of security, that you use a firewall for the Network Load Balancing UDP control ports (the ports receiving remote-control commands) in order to shield them from outside intrusion. By default, these are ports 1717 and 2504 at the cluster IP address. For more information on the remote control parameter, see Remote control.

Note

  • WLBS stands for Windows Load Balancing Service, the former name for Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Addressing cluster hosts

The command line for the Network Load Balancing control program (Wlbs.exe) has the following syntax:

wlbs command [cluster [:host] [remote options] ]

For descriptions of the available commands, see Cluster control commands.

You can omit the cluster, host, and remote options when running Wlbs.exe directly on a cluster host. In this instance, the command applies only to the local cluster host.

In order to address the cluster as a whole or a different host within the cluster, you must also specify the target cluster, or target cluster and specific host together.

The cluster parameter can be either the cluster's full Internet name or the cluster's primary IP address. If the host parameter is omitted, the command applies to all hosts within the cluster and is multicast to the hosts; otherwise, the command applies to the specified host within the cluster.

The following table summarizes the forms that the cluster and host parameters may take:

Cluster and host parameter | Example | Action
(omitted) | wlbs stop | Invokes command on current cluster host.
cluster | wlbs stop mycluster | Invokes command on all cluster hosts.
cluster:host | wlbs stop \ mycluster:host1 | Invokes command on a specific cluster host.

You can also specify host names using their unique host priorities assigned in the Network Load Balancing Properties dialog box. You can use the special host priority value 0 (zero) to refer to the default host within a cluster. Some examples follow:

Example | Description
mycluster:host1 | Internet host names
w.x.y.z:w.x.y.z. | IP addresses
mycluster:w.x.y.z | Mix of name and IP address
mycluster:1 | Host 1 in mycluster
mycluster:0 | Default host in mycluster
mycluster | All hosts in mycluster

You specify remote options when using remote-control operations. Some examples follow:

Cluster and host parameter | Example | Action
cluster | wlbs stop mycluster /PASSW | Invokes command on all cluster hosts from the remote computer not a part of the cluster.
cluster:host | wlbs stop \ mycluster:host1 /PASSW | Invokes command on specific cluster host from the remote computer not a part of the cluster.
cluster:host | wlbs stop \ mycluster:w.x.y.z /PASSW | Invokes command on specific cluster host from the remote computer not a part of the cluster, using a mix of name and IP address.

Note

  • WLBS stands for Windows Load Balancing Service, the former name for Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Cluster control commands

The command line for the Network Load Balancing control program (Wlbs.exe) has the following syntax:

wlbs command [cluster [:host] [remote options] ]

For more information on the cluster, host, and remote options parameters, see Addressing cluster hosts.

The following table describes the various cluster-control commands. Note that some commands can be invoked only on the cluster hosts (designated as "local only"):

Command | Action
help | Displays Network Load Balancing online Help information if available on the local computer.
suspend | Suspends all cluster operations until the resume command is issued. This temporarily stops cluster operations if they were previously started. The purpose of this command is to override any remote control commands that may be issued. All subsequent cluster control commands except resume and query are ignored.
resume | Resumes cluster operations after a previous suspend command. This does not restart cluster operations, but enables handling of cluster control commands, including remote control commands.
start | Starts cluster operations on the specified hosts attempting to join the cluster. This enables all ports that may have been previously disabled.
stop | Stops cluster operations on the specified hosts leaving the cluster.
drainstop | Disables all new traffic handling on the specified hosts that enter draining mode to complete existing connections. While draining, hosts remain in the cluster and stop their cluster operations when there are no more active connections. Draining mode can be terminated by explicitly stopping cluster mode with the stop command or by restarting new traffic handling with the start command.
enable
port | all 		Enables traffic handling for the rule whose port range contains the specified port. All ports specified by the port rule are affected. If all is specified for the port, this command is applied to the ports covered by all port rules. This command has no effect if the specified hosts have not started cluster operations.
disable
port | all 		Disables and immediately blocks all traffic handling for the rule whose port range contains the specified port. All ports specified by the port rule are affected. If all is specified for the port, this command is applied to the ports covered by all port rules. All active connections on the specified hosts are blocked. To maintain active connections, use the drain function instead. This has no effect if the specified hosts have not started cluster operations.
drain
port | all 		Disables new traffic handling for the rule whose port range contains the specified port. All ports specified by the port rule are affected. If all is specified for the port, this command is applied to the ports covered by all port rules. New connections to the specified hosts are not allowed, but all active connections are maintained. To disable active connections, use the disable command instead. This command has no effect if the specified hosts have not started cluster operations.
query Displays the current cluster state and the list of host priorities for the current members of the cluster. The possible states are:
  • Unknown. The responding host has not started cluster operations and cannot determine the cluster's state.
  • Converging. The cluster is currently attempting to converge to a consistent state. Prolonged convergence usually indicates a problem with cluster parameters. If this occurs, check the event logs on the cluster hosts for Network Load Balancing messages warning you about the source of the problem.
  • Draining. The cluster has converged, and the responding host is draining active connections prior to stopping cluster mode.
  • Converged as default. The cluster has converged, and the responding host is the current default (the highest-priority host without a drainstop command in progress). The default host handles network traffic for all of the TCP/UDP ports not covered by the port rules.
  • Converged. The cluster has converged, and the responding host is not the default host.
reload (local only) | Reloads the Network Load Balancing driver's current parameters. Cluster operations on the local host are automatically stopped and restarted if necessary. If an error exists in the parameters, the host will not join the cluster, and a warning is displayed. If this should occur, open the Network Load Balancing Properties dialog box to fix the problem.
display (local only) | Displays extensive information about your current Network Load Balancing parameters, cluster state, and past cluster activity. The last several event log records produced by Network Load Balancing are shown, including the binary data attached to those records. This command is designed to assist in technical support and debugging.
ip2mac | Displays the MAC address corresponding to the specified cluster name or IP address. If multicast support is enabled, the multicast MAC address is used by Network Load Balancing for cluster operations. Otherwise, the unicast MAC address is used. This command is useful for creating a static ARP entry in the router if necessary.

Network Load Balancing hosts can be configured to join the cluster automatically upon startup or to wait for the wlbs start command by enabling the initial state option in the Network Load Balancing Properties dialog box. You can use this command with the wlbs stop command to change cluster parameters for the local host without taking the entire cluster offline.

You can modify the Network Load Balancing parameters (for example, to add a port rule) without disrupting the cluster's service to the clients. To do this, take a host out of the cluster, update its parameters, and then return it to the cluster. During this process, other cluster hosts will detect inconsistencies in the rules, and they will handle these inconsistencies in a manner that minimizes disruption of service to the clients. For more details on how inconsistencies are handled by Network Load Balancing, see Error detection and handling.

You can use the wlbs disable and wlbs enable commands to customize your cluster responses to various failures. For example, if your SNMP monitoring program indicates that a Web server program on one of the hosts has failed, you can issue the command wlbs disable 80 to prevent that host from accepting any further client requests to the specified Web server port, causing other cluster hosts to handle its load. Once the Web server has been restarted, the wlbs enable 80 command can be issued to allow the host to resume handling a portion of the cluster's network load for this port.

Examples of cluster control commands

The following table provides some examples of how these commands are used:

Example | Description
wlbs help | Returns Help information.
wlbs query mycluster | Queries the status of all hosts in mycluster.
wlbs stop | Stops cluster operations for the local cluster host.
wlbs stop mycluster | Stops cluster operations for all cluster hosts in mycluster.
wlbs start mycluster:2 | Restarts cluster operations for host 2 in mycluster.
wlbs disable 80 | Disables the local host's handling of new network traffic for the Web server port (port 80).
wlbs ip2mac mycluster | Displays MAC addresses corresponding to mycluster.

Note

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.


Resources

The following links point to information that may help you better understand Network Load Balancing within the overall context of Windows Clustering.
  • For information on the solutions that make up Windows Clustering, refer to Windows Clustering.
  • For information on Server clusters, refer to Server clusters overview and Features of server clusters.
  • For information on Server clusters and how they work with Network Load Balancing clusters, refer to Updated technical information.

Network Load Balancing supports unattended setup, a feature of Windows 2000.

  • For information about unattended setup, refer to Planning for unattended setup.


Troubleshooting

What problem are you having?

After installing Network Load Balancing and restarting a cluster host, the error "The system has detected an IP address conflict with another system on the network..." is displayed.

Cause: Two different cluster primary IP addresses were entered in the TCP/IP configuration in the Internet Protocol (TCP/IP) Properties dialog box on different hosts.

Solution: Be sure to use one primary cluster IP address for all cluster hosts.

Cause: Two different cluster network addresses were entered in the Network Load Balancing Properties dialog box on different hosts.

Solution: Be sure to use one cluster network address for all cluster hosts.

Cause: The network adapter could not change its network address. This problem occurs only when using a unicast network address (instead of a multicast address).

Solution: Either switch to a different type of network adapter or use Network Load Balancing multicast support.

After the cluster hosts start, they begin converging but never report that convergence has completed.

Cause: Either a different number of port rules or incompatible port rules on different cluster hosts were entered. This will inhibit convergence.

Solution: Open the Network Load Balancing Properties dialog box on each cluster host and verify that all hosts have identical port rules.

After the cluster hosts start, Network Load Balancing reports that convergence has finished, but more than one host is a default host.

Cause: The cluster hosts have become members of different subnets, so that all hosts are not accessible on the same network.

Solution: Be sure that all cluster hosts can communicate with each other.

Cause: Different MAC addresses are being used across the cluster, and the cluster's primary IP address was not assigned when setting up TCP/IP for Network Load Balancing. In this case, TCP/IP will not detect an address conflict, and multiple clusters will exist.

Solution: Be sure to use one primary IP address for the cluster and a corresponding MAC address on all hosts within the same cluster, specifying the cluster's primary IP address in the TCP/IP configuration.

Cause: Different clusters are running on the same subnet.

Solution: If you use different primary IP addresses, each with unique corresponding MAC addresses, on various cluster hosts, you can create multiple clusters on the same subnet. This is a not a problem unless this behavior was not intended.

The network does not appear to work for one or more of the cluster hosts.

Cause: The Network Load Balancing driver did not load successfully when the computer started. This problem can arise because another networking driver on which Network Load Balancing depends failed to load, or because the Network Load Balancing driver file has been corrupted.

Solution: Run the wlbs query command to verify that the driver loaded. If the command reports an error, check the Windows event log to see why the driver failed to load.

Note

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.

Cause: You may have a network problem unrelated to Network Load Balancing.

Solution: To verify that Network Load Balancing is not at fault, temporarily disable Network Load Balancing by following the procedures in Disabling Network Load Balancing. If the problem persists, the network problem is not related to Network Load Balancing.

Cause: If you are using a switching hub to interconnect the cluster hosts, you must use Network Load Balancing multicast support; otherwise, the switching hub is likely to behave erratically when the same unicast network is used on multiple switch ports.

Solution: Check that you have selected multicast support in the Network Load Balancing Properties dialog box. If you do not want to use multicast support, you can interconnect the cluster hosts with a hub or coaxial cable instead of a switch.

There is no response when using ping to access the cluster's primary IP address from an outside network.

Verify that you can use ping to access the dedicated IP addresses for the cluster hosts from a computer outside the router. If this test fails and you are using multiple network adapters, the problem is unrelated to Network Load Balancing. If you are using a single network adapter for both the dedicated and cluster IP addresses, consider the following causes:

Cause: If you are using multicast support, you may find that your router has difficulty resolving the primary IP address into a multicast MAC address using the ARP protocol.

Solution: To check this, verify that you can use ping to access the cluster from a client on the cluster's subnet and to access the cluster hosts' dedicated IP addresses from a computer outside the router. If these tests work properly, the router is probably at fault. You should be able to add a static ARP entry to the router to circumvent the problem. You can also turn off Network Load Balancing multicast support and use a unicast network address without a switching hub.

Cause: When using Network Load Balancing in either multicast or unicast mode, routers need to be able to accept proxy ARP responses (IP-to-network address mappings that are received with a different network source address in the Ethernet frame).

Solution: Make sure that your router has proxy ARP support turned on. You can also set a static ARP entry to keep proxy ARP support disabled in the router.

Cause: If you are using unicast support, the cluster adapter could not change its MAC address. This problem only occurs when using a unicast MAC address (instead of a multicast address).

Solution: Either switch to a different cluster adapter, or use multicast support.

The network behaves in a strange and unpredictable manner. Traffic may alternate unexpectedly between the cluster hosts.

Cause: Unicast network addresses are causing problems with the switching hub. If you are using a switching hub to interconnect the cluster hosts, you must use Network Load Balancing multicast support; otherwise, the switch is likely to behave erratically when the same unicast network is used on multiple switch ports.

Solution: Check that you have selected multicast support in the Network Load Balancing Properties dialog box. If you do not want to use multicast support, you can interconnect the cluster hosts with a hub or coaxial cable instead of a switch.

When using Telnet or attempting to browse a computer outside the cluster from a cluster host, there is no response. However, using ping to access the outside computer works.

Cause: The TCP/IP configuration is incorrect. If you are using a single network adapter, the dedicated IP address must be entered before the cluster IP addresses in the TCP/IP configuration within the Internet Protocol (TCP/IP) properties dialog box. Otherwise, the cluster IP address can be selected as the source address, and the outside computer will respond to the cluster IP address instead of to the dedicated IP address. In this case, responses are directed only to the default host. (Note that you will not observe this problem on the default host.)

Solution: Check the TCP/IP configuration to make sure that the dedicated IP address is first in the list. You can also use multiple network adapters to avoid this problem.

Network Load Balancing is not load balancing programs, and the default host handles all network traffic.

Cause: A port rule is missing. By default, Network Load Balancing directs all incoming network traffic not governed by port rules to the default host. This ensures that the program you do not want load balanced behaves properly.

Solution: To load-balance a program across the cluster, create a port rule on every cluster host for the TCP/IP port(s) serviced by the program.

A load-balanced program does not appear to work correctly when running Network Load Balancing.

Cause: Not all of the program's ports are being load balanced. Some programs require multiple ports to perform their functions. For example, FTP uses ports 20 and 21. If the ports are not load balanced (usually with one port rule), the program will not work correctly.

Solution: Check that the applicable port rule covers all ports used by the program and be sure to enable client affinity, either (Single or Class C).

Cause: The program does not start on all cluster hosts.

Solution: Network Load Balancing does not start or control programs. Check that the program has started on every cluster host. If a program fails, you can disable its associated port range using the wlbs disable command.

Note

  • WLBS stands for Windows Load Balancing Service, the former name of Network Load Balancing in Windows NT 4.0. For reasons of backward compatibility, WLBS continues to be used in certain instances.

Cause: The program should not be load balanced. Programs that update a file on the current cluster host may not work correctly when load balanced, because multiple instances of the program may conflict when attempting to update a common file. For example, e-mail, groupware, and database servers often have this problem.

Solution: Do not load balance a program until its data-sharing requirements are thoroughly understood and met.

Cause: The program is not a TCP/IP service.

Solution: Network Load Balancing load balances programs by distributing incoming client requests among the cluster hosts. If a server program is not structured as a TCP/IP service that receives client requests, it will not benefit from using Network Load Balancing, and you will not observe load balancing.

Cause: Your firewall is proxying client traffic and making it appear as if all connections are originating from the same client IP address. If the load-balancing rule is configured with Single affinity, all traffic is handled by the same cluster host.

Solution: Turn off address translation (proxying) on the firewall or change affinity from Single to None. Note that you may need Single affinity in order to provide session support.

A TCP/IP program running on one of the cluster hosts does not appear to work correctly when running Network Load Balancing. This program is not being load balanced.

Cause: One or more of the program's ports are being inadvertently load balanced. If you create a port rule with a very large port range, you may inadvertently load balance ports for other programs.

Solution: Be sure that the port rules handle ports only for the intended programs.

When invoking the Network Load Balancing remote-control commands from a computer outside the cluster, there is no response from one or more cluster hosts.

Cause: The cluster adapters are not accessible from an outside computer. If you have multiple network adapters on a cluster host, the dedicated network adapter may be on a separate subnet from the cluster adapter. If you issue a remote-control command from an outside computer on this subnet, the cluster adapters and Network Load Balancing driver will not receive the command.

Solution: Be sure that the cluster adapters on the cluster hosts can be accessed by the outside computer.

Cause: Remote-control commands are sent to a secondary cluster IP address. Commands must be sent to the cluster's primary IP address (assigned in the Network Load Balancing Properties dialog box).

Solution: Be sure that you send remote commands to this IP address.

Cause: Network Load Balancing UDP control ports are protected by a firewall. By default, remote-control commands are sent to UDP ports 1717 and 2504 at the cluster IP address.

Solution: Be sure that these ports have not been blocked by a router or firewall. You can also change the port number by modifying the corresponding Network Load Balancing parameter.

When using the dedicated IP address of a host to specify it as a target for a remote-control command, there is no reply. However, specifying the host by its priority (ID) works.

Cause: The target host probably has several dedicated IP addresses (on different network adapters).

Solution: Use the dedicated address specified in the Network Load Balancing Properties dialog box when issuing remote-control commands.

You are not sure how to set up proper port rules for your program.

Cause: By default, all of the client-to-cluster traffic is handled by the default (highest-priority) host. In order to load balance traffic across the cluster, you need to create program-specific port rules. Port numbers and affinity settings depend on the type of program you intend to scale.

Solution: Make sure that your port rule covers all of the port numbers that the server program uses. If different TCP connections or UDP packets from the same client can be handled by any server, then affinity should be set to None. If your server program maintains client state across several TCP connections, then affinity should be set to Single or Class C.

For more information, see Determining which applications to use with Network Load Balancing.

Error message erroneously states that Network Load Balancing is not installed.

Cause: A user performed a Network Load Balancing query command when not logged on as a member of a group with administrative rights.

Solution: Ensure that the user belongs to a group with administrative rights and perform the query again.

Using a switching hub to connect the computers in a cluster disrupts cluster communications.

Cause: In changing Network Load Balancing to operate in unicast mode from multicast, the switch may have used the cluster's MAC address.

Solution: Restart the switch.

Note

  • These topics describes several common problems that you may encounter when installing and initially using Network Load Balancing. Each topic describes the likely reasons for each problem and one or more suggested remedies. To avoid many of these problems, you should test your network and all network adapters for proper operation before installing Network Load Balancing. Be sure to follow all installation steps and check that the cluster parameters and port rules are identically set for all cluster hosts. If a problem occurs, always check the Windows event log for a message from the Network Load Balancing driver.