Network Load Balancing clusters

This section of Windows Clustering covers Network Load Balancing (NLB), one of two clustering technologies offered as part of Windows. For a general overview of this subject, see Windows Clustering. You can use Network Load Balancing to enhance the scalability and availability of server applications. Applications that can take advantage of Network Load Balancing include Web services like HTTP and File Transfer Protocol (FTP) (using Internet Information Services (IIS)), firewall and proxy (using ISA 2000), virtual private networking, Windows Media Services, Mobile Information Server, and Terminal Services. Network Load Balancing can also help you scale your server's performance to keep up with the increasing demands of your Internet-based clients.

A new Network Load Balancing feature is Network Load Balancing Manager. Network Load Balancing Manager allows you to create, configure, and manage all hosts of a Network Load Balancing cluster from a single computer. For more information, see Network Load Balancing key features.

  • Before you enable and configure Network Load Balancing, it is vital that you review the checklist, including the sections on cluster parameters, host parameters and port rules. It is highly recommended that you read through these three topics before configuring Network Load Balancing.

    Checklist: Enabling and configuring Network Load Balancing

  • To find features that have been changed in the Windows Server 2003 family of products, see New ways to do familiar tasks.
  • 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: Enabling and configuring 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. | Full Internet name
Have ready the cluster's primary IP address. IP address on the Cluster Parameters tab;
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. IP address on the Host Parameters tab;
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 to configure the following:
  • multicast support
  • remote password
  • confirm password
  • remote control
 Cluster Operation Mode;

Remote password;

Confirm password;

Remote control
Read "Host parameters." Host parameters
Carefully consider how to configure the following:
  • priority (ID)
  • initial state
 Priority (ID);

Initial host state
Read "Port rules." Port rules
Carefully consider how to configure the following:
  • port range
  • protocols
  • Filtering mode
  • Affinity
  • load weight
  • handling priority
 Port range;

Protocols;

Filtering mode;

Affinity;

Load weight;

Handling priority
Enable and configure Network Load Balancing. | To enable Network Load Balancing


New ways to do familiar tasks

The following table lists common tasks for configuring and managing Network Load Balancing. The user interface for performing these tasks is different in the Windows Server 2003 family of products from the way it was in Windows 2000. Although the Windows 2000 procedures are still valid, in most cases the new procedures are the recommended methods.

If you want to | In Windows 2000 use | In the Windows Server 2003 family of products use
Enable Network Load Balancing | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To enable Network Load Balancing.
Configure cluster parameters | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To configure cluster parameters.
Add a host | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To add a host.
Configure host parameters | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To configure host parameters.
Create, edit, or remove a port rule | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To create a new port rule, To edit an existing port rule, and To remove a port rule.
Perform basic Network Load Balancing commands: Stop, Start, Suspend, Resume, Drain, Drainstop | Wlbs.exe. | either Network Load Balancing Manager, nlb.exe, or wlbs.exe. For more information, see Perform basic Network Load Balancing operations and Nlb.
Disable Network Load Balancing | Network and Dial-up Connections on each host. | Network Load Balancing Manager. For more information, see To remove a host from a Network Load Balancing cluster and To remove all hosts from a Network Load Balancing cluster.


Best practices

Properly secure the Network Load Balancing hosts and the load balanced applications.

  • Network Load Balancing does not provide additional security for the load balanced hosts and can not be used as a firewall. It is therefore important to properly secure the load balanced applications and hosts. Security procedures can typically be found in the documentation for each particular application. For example, if you are using Network Load Balancing to load balance a cluster of Internet Information Services (IIS) servers, you should follow the procedures and guidelines for securing IIS. To view the IIS 6.0 product documentation, install IIS and then see Microsoft Internet Information Services, or install IIS and then open the IIS User Interface (the IIS snap-in) and click Help.
  • The Network Load Balancing subnet must be physically protected from intrusion by unauthorized computers and devices in order to avoid interference from unauthorized heartbeat packets.
  • If you use the optional host list with Network Load Balancing Manager, ensure that only users in the local Administrators group have access to the host list file.

    • For other general information on best practices for securing servers, see Best practices for security and the Microsoft Windows Resource Kits Web site (http://www.microsoft.com/). For tips about installing IIS, see Installing Internet Information Services (IIS). To open the IIS snap-in, see Opening Internet Information Services (IIS).

Use two or more network adapters in each cluster host whenever possible. Two network adapters, however, are not required.

  • If the cluster is operating in unicast mode (the default), Network Load Balancing cannot distinguish between single adapters on each host. Therefore, any communication among cluster hosts is not possible unless each cluster host has at least two network adapters.
  • You can configure Network Load Balancing on more than one network adapter. However, if you use a second network adapter to address this best practice, make sure that you install Network Load Balancing on only one adapter (called the cluster adapter).

    • For more information, see Multiple network adapters.

Use only the TCP/IP network protocol on the cluster adapter.

  • Do not add any other protocols (for example, IPX) to this adapter.

Use Network Load Balancing Manager.

  • You can configure many Network Load Balancing options through either Network Load Balancing Manager or the Network Load Balancing Properties dialog box accessed through Network Connections. However, Network Load Balancing Manager is the preferred method. Using both Network Load Balancing Manager and Network Connections together to change Network Load Balancing properties can lead to unpredictable results.

Do not enable Network Load Balancing remote control.

  • The Network Load Balancing remote control option presents many security risks, including the possibility of data tampering, denial of service and information disclosure. It is highly recommended that you do not enable remote control and instead use Network Load Balancing Manager or other remote management tools such as Windows Management Instrumentation (WMI). Firewall blocking remote control commands

    If you choose to enable remote control, it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect the Network Load Balancing UDP control ports (the ports that receive remote control commands) in order to shield them from outside intrusion. By default, these are ports 1717 and 2504 at the cluster IP address. Use remote control only from a secure, trusted computer within your firewall.

    For more information on the remote control parameter, see Remote control. For more information about strong passwords, see Strong passwords.

Enable Network Load Balancing Manager logging.

  • You can configure Network Load Balancing manager to log each Network Load Balancing Manager event. This log can be very useful in troubleshooting problems or errors when using Network Load Balancing Manager. Enable Network Load Balancing Manager logging by clicking Log Settings in the Network Load Balancing Manager Options menu. Check the Enable logging box and specify a name and location for the log file.

    The Network Load Balancing Manager log file contains potentially sensitive information about the Network Load Balancing cluster and hosts, so it must be properly secured. By default, the log file inherits the security settings of the directory in which it is created, so you might have to change the explicit permissions on the file to restrict read and write access to those individuals who don't need full control of the file. Be aware that the individual using Network Load Balancing Manager does require full control of the log file. For more information, see How to.

Verify that the following is true for cluster parameters, port rules and host parameters:

  • Cluster parameters and port rules for each unique virtual IP address are identical across all hosts

    Each unique virtual IP address must be configured with the same port rules across all hosts that service that Virtual IP address. However, if you have multiple virtual IP addresses configured on a host, each of those virtual IP addresses can have a different set of port rules.

  • Port rules are set for all ports used by the load-balanced application. For example, FTP uses port 20, port 21, and ports 1024–65535).

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

  • The dedicated IP address is unique and the cluster IP address is added to each cluster host.

  • Affinity is set to Single or Class C when you are using UDP or Both for your protocol setting.

    • For more information, see Cluster parameters, Host parameters, and Port rules.

Verify that any given load-balanced application is started on all cluster hosts on which the application is installed.

  • Network Load Balancing does not start or stop applications.

Verify that the following is true for the dedicated IP address and the cluster IP address:

  • Except in the case of a virtual private network (VPN),both the dedicated IP address and the cluster IP address must be entered during setup in the Network Load Balancing Properties dialog box and also in the Internet Protocol (TCP/IP) Properties dialog box.Make sure that the addresses are the same in both places. However, if you are configuring a VPN load balancing cluster, you should not configure the dedicated IP address. On a VPN, only the cluster IP address should be present on each of the cluster hosts because clients running Windows 95, Windows 98, or Windows NT 4.0 may be unable to connect to the cluster if the dedicated IP address is configured on the Network Load Balancing cluster hosts.

    • If you omit this step, the cluster will converge and appear to be working properly, but the cluster host will not accept and handle cluster traffic.

  • The dedicated IP address is always listed first (before the cluster IP address) in the Internet Protocol (TCP/IP) Properties dialog box. This will ensure that responses to connections originating from a host will return to the same host. For more information, see To set up TCP/IP for Network Load Balancing.
  • Both the dedicated IP address and the cluster IP address must be static IP addresses. They cannot be DHCP addresses.

Ensure 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.

Perform moves of a cluster host according to the following guidelines:

  • If you move a cluster host from one cluster to another on the same subnet by changing the cluster IP address, first remove Network Load Balancing as described in To remove a host from a Network Load Balancing cluster, and then reenable Network Load Balancing after changing the IP address.

    This will prevent you from experiencing an IP address conflict.

Verify that all cluster hosts are operating in either unicast or multicast mode, one or the other, but not both.

Always begin Network Load Balancing command-line commands with "nlb.exe".

For more information, see Nlb.

Do not enable Network Load Balancing on a computer that is part of a server cluster.

  • Network Load Balancing can interfere with server cluster's use of network adapters and Microsoft does not support this configuration. Instead, use separate Network Load Balancing and server clusters.

For more information on server clusters, see Windows Clustering.

Avoid uninstalling Network Load Balancing.

  • There is typically no need to uninstall this feature. Network Load Balancing is an integral part of the products in the Windows Server 2003 family and does not need to be installed or uninstalled separately.


How to...

  • Create and Manage Network Load Balancing clusters
  • Configure Network Load Balancing parameters
  • Perform basic Network Load Balancing operations
  • Perform advanced Network Load Balancing procedures


Create and Manage Network Load Balancing clusters

  • Enable Network Load Balancing
  • Set up TCP/IP for Network Load Balancing
  • Add a host
  • Connect to existing clusters from Network Load Balancing Manager using a single host
  • Connect to existing clusters from Network Load Balancing Manager using a host list
  • Enable Network Load Balancing Manager logging
  • Remove a host from a Network Load Balancing cluster
  • Remove all hosts from a Network Load Balancing cluster
  • Stop managing a cluster from Network Load Balancing Manager


Enable Network Load Balancing

Microsoft Windows graphic

To enable Network Load Balancing

  1. Open Network Load Balancing Manager.
  2. Right-click Network Load Balancing Clusters, and then click New Cluster.
  3. Enter the cluster's IP address and other cluster information and click Next.
  4. If necessary, add additional virtual IP addresses that will be used by this cluster by clicking Add, entering the virtual IP address and Subnet mask information, then clicking OK. Repeat this process for each additional virtual IP address, then click Next.
  5. If necessary, add appropriate port rules and then click Next.
  6. Type the name of a host that will be a member of your cluster and click Connect. After you click Connect the network adapters that are available on the host that you typed will be listed at the bottom of the dialog box. Click the network adapter that you want to use for Network Load Balancing and then click Next. The IP address configured on this network adapter will be the dedicated IP address for this host.

    7. Important

    • XOX
  7. Configure the remaining host parameters as appropriate, then click Finish.
  8. Add additional hosts as appropriate.

Important

  • XOX

Notes

  • XOX
  • XOX
  • If Network Load Balancing Manager is not used to enable Network Load Balancing, you must manually add the cluster's IP address to the TCP/IP settings on each host. For more information, see "Set up TCP/IP for Network Load Balancing" in Related Topics below.
  • To install and configure Network Load Balancing, you must use an account that is in the Administrators group on each host. As you install and configure each host, if you are not using an account in the Administrators group, you will be prompted to provide the logon credentials for such an account. You can set up an account that Network Load Balancing Manager will use by default by clicking Credentials in the Network Load Balancing Manager Options menu. It is recommended that this account is an account not used for any other purpose. Be sure to keep the password from expiring on the account (follow your organization's policies for password renewal).
  • When you add additional hosts, they will automatically inherit the cluster port rules from the initial host.
  • If Network Load Balancing clients are accessing a cluster through a router, be sure that the router meets the following requirements:
    • Accepts a dynamic Address Resolution Protocol (ARP) reply that maps the unicast IP address to its unicast media access control (MAC) address
    • In multicast mode, accepts an ARP reply that has a MAC address in the payload of the ARP structure. If your router does not meet these requirements, you can also create a static ARP entry in the router. Certain 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 this procedure are recorded in the registry on each host.
  • Network Load Balancing also supports unattended setup. For information about unattended setup, see "Planning for unattended setup" in Related Topics.
  • When installing Network Load Balancing, you might expect to find a setup application (such as Setup.exe). There is no such application. The Network Load Balancing driver is installed as a standard Windows networking driver.

Related Topics


Set up TCP/IP for Network Load Balancing

Microsoft Windows Graphic

To set up TCP/IP for Network Load Balancing

  1. Open Network Connections.

    2. Important

    • These steps should be used to configure TCP/IP only if you choose not to use Network Load Balancing Manager to create your cluster. When configuring Network Load Balancing, you can use either Network Load Balancing Manager, or you can access the Network Load Balancing Properties dialog box through Network Connections as described in this procedure. Using Network Load Balancing Manager is the preferred method. For more information on using Network Load Balancing Manager to create a cluster, see "Enable Network Load Balancing" in Related Topics.
  2. Right-click Local Area Connection, and then click Properties.
  3. In the Local Area Connection Properties dialog box, click Internet Protocol (TCP/IP), and then click Properties.
  4. Click Use the following IP address, and then enter the host's dedicated IP address in the space for IP address.
  5. Enter subnet mask and default gateway information for your TCP/IP network.
  6. Save your settings by clicking OK.
  7. On the host you just added, return to Network Connections.
  8. Right-click the network adapter that is using Network Load Balancing and then click Properties.
  9. In the Local Area Connection Properties dialog box, click Internet Protocol (TCP/IP), and then click Properties.
  10. Click Advanced, and then, under IP addresses, click Add.
  11. Enter the cluster IP address in the space for the IP address, followed by the appropriate subnet mask, and then click Add.

    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 when first enabling Network Load Balancing.

  12. If you need to configure additional default gateways or virtual IP addresses for your cluster, you can do so here, in the Advanced TCP/IP Settings dialog box.

Important

  • 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 from 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.
  • Be aware that if you are using Network Load Balancing to load balance Point-to-Point Tunneling Protocol (PPTP) servers, you must use two network adapters on each cluster host (although Network Load Balancing does not need to be installed on both adapters). When load balancing PPTP, the hosts can not have a dedicated IP addresses configured.

Notes

  • XOX
  • XOX
  • You should repeat this procedure for each network adapter on which you want to install Network Load Balancing.
  • Both the dedicated IP address and the cluster's primary IP address must be static IP addresses. They cannot be DHCP (Dynamic Host Configuration Protocol) addresses.
  • Regardless of the mode in which Network Load Balancing is operating (unicast or multicast), the steps described previously are the same.
  • Although unicast mode is preferable in many situations, the dedicated IP address, 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.
  • If only one Local Area Connection icon is displayed in Network 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.
  • If you use two network adapters you should supply an IP address for the default gateway for only one of the adapters (the one with a route to the largest network, for example to the internet).

Related Topics


Add a host

Microsoft Windows graphic

To add a host

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.

    3. Important

    • XOX
  3. Right-click the cluster where you want to add the host and choose Add Host To Cluster.
  4. Enter the host's name and click Connect.
  5. After you click Connect the network adapters that are available on the host that you typed will be listed at the bottom of the dialog box. Click the network adapter that you want to use for Network Load Balancing and then click Next. The IP address configured on this network adapter will be the dedicated IP address for this host.
  6. Configure the remaining host parameters as appropriate, then click Finish.

Important

  • XOX

    Similarly, if a host is added to a cluster through the host's local Network Connections rather than through Network Load Balancing Manager, the host will not be visible by Network Load Balancing Manager until you Refresh the connection as described.

Notes

  • XOX
  • XOX
  • When you add additional hosts after the first host is added, the subsequent hosts will automatically inherit the cluster port rules from the initial host.

Related Topics


Connect to existing clusters from Network Load Balancing Manager using a single host

Microsoft Windows graphic

To connect to existing clusters from Network Load Balancing Manager using a single host

  1. Open Network Load Balancing Manager.
  2. Right-click Network Load Balancing Clusters and click Connect to Existing.
  3. Enter the name of one of the cluster hosts and then click Connect.
  4. After you click Connect the Network Load Balancing clusters that exist on that host will be listed at the bottom of the dialog box. Click the cluster name that you want to manage from Network Load Balancing Manager and then click Finish.

    5. Important

    • XOX

Notes

  • XOX If you attempt to connect to an existing Network Load Balancing cluster, either using a single host or using a host list, and are not a member of the Administrators group on any of the cluster's hosts, those hosts will not be displayed in Network Load Balancing Manager.

    If the Network Load Balancing Manager log displays "Access denied, error connecting to "host"" you must reconnect to the cluster using a logon name that is a member of the Administrators group on all hosts. You can do this by logging on with a different logon name, using Run as, or providing an alternate logon name for Network Load Balancing Manager to use by clicking Credentials in the Network Load Balancing Manager Options menu.

  • XOX
  • This procedure allows you to connect to a cluster by entering the name of a single host. After you select a particular cluster, that cluster and all hosts in the cluster will be displayed in Network Load Balancing Manager.
  • When using this procedure, certain network problems can prevent Network Load Balancing Manager from connecting to one or more of the other hosts in the cluster. Similarly, if you have misconfigured the cluster by using duplicate priorities on multiple hosts, Network Load Balancing Manager will not be able to connect to those misconfigured hosts. In these cases, some hosts will not appear in Network Load Balancing Manager. If all of the hosts do not appear in Network Load Balancing Manager, try using a host list instead. For more information, see Related Topics.

Related Topics


Connect to existing clusters from Network Load Balancing Manager using a host list

Microsoft Windows graphic

To connect to existing clusters from Network Load Balancing Manager using a host list

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. In the File menu, click Load Host List.
  3. Navigate to and select your host list text file and click Open.

Important

  • XOX
  • For security reasons, ensure that only users in the local Administrators group have access to the host list file.

Notes

  • XOX If you attempt to connect to an existing Network Load Balancing cluster, either using a single host or using a host list, and are not a member of the Administrators group on any of the cluster's hosts, those hosts will not be displayed in Network Load Balancing Manager.

    If the Network Load Balancing Manager log displays "Access denied, error connecting to "host"" you must reconnect to the cluster using a logon name that is a member of the Administrators group on all hosts. You can do this by logging on with a different logon name, using Run as, or providing an alternate logon name for Network Load Balancing Manager to use by clicking Credentials in the Network Load Balancing Manager Options menu.

  • XOX
  • The host list text file is a text file that you create using Notepad or any other similar application. The file should list the name of each host. Each host name should be separated by a line break. You can include comments in the host list by preceding the comment with a ";".
  • This procedure allows you to connect to multiple hosts and all Network Load Balancing clusters on those hosts. The clusters and hosts will then be displayed in Network Load Balancing Manager. This is particularly useful when a host's Network Load Balancing network adapter is having connectivity problems, but another network adapter is available on that host. You can also use this procedure to detect and diagnose problems such as cluster hosts converging separately.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlbmgr /hostlist host-list

Value | Description
host-list | The fully qualified path to a text file that you create using Notepad or any other similar application. The file should list the name of each host. Each host name should be separated by a line break.

Important

  • For security reasons, ensure that only users in the local Administrators group have access to the host list file.

Notes

  • XOX If you attempt to connect to an existing Network Load Balancing cluster, either using a single host or using a host list, and are not a member of the Administrators group on any of the cluster's hosts, those hosts will not be displayed in Network Load Balancing Manager.

    If the Network Load Balancing Manager log displays "Access denied, error connecting to "host"" you must reconnect to the cluster using a logon name that is a member of the Administrators group on all hosts. You can do this by logging on with a different logon name, using Run as, or providing an alternate logon name for Network Load Balancing Manager to use by clicking Credentials in the Network Load Balancing Manager Options menu.

  • XOX
  • XOX
  • To view the complete syntax for this command, at a command prompt, type:

    nlbmgr /help

  • Ensure that only users in the local Administrators group have access to the host list file.
  • You can include comments in the host list by preceding the comment with a ";".
  • This procedure allows you to connect to multiple hosts and all Network Load Balancing clusters on those hosts. The clusters and hosts will then be displayed in Network Load Balancing Manager. This is particularly useful when a host's Network Load Balancing network adapter is having connectivity problems, but another network adapter is available on that host. You can also use this procedure to detect and diagnose problems such as cluster hosts converging separately.

Related Topics


Enable Network Load Balancing Manager logging

Microsoft Windows graphic

To enable Network Load Balancing Manager logging

  1. Open Network Load Balancing Manager.
  2. Click Log Settings in the Options menu.
  3. Check Enable logging and specify a name and location for the log file.

Notes

  • XOX
  • XOX
  • Network Load Balancing Manager logging is different from the logging of events generated by the Network Load Balancing service. Network Load Balancing Manager logging records only events related to the use of Network Load Balancing Manager. To view events related to the Network Load Balancing service, you must use Event Viewer. For more information, see Related Topics below.
  • You should always manage a Network Load Balancing cluster from a trusted and secure computer, particularly when logging is enabled. The Network Load Balancing Manager log file contains potentially sensitive information about the Network Load Balancing cluster and hosts, so it must be properly secured. By default, the log file inherits the security settings of the directory in which it is created, so you might have to change the explicit permissions on the file to restrict read and write access to those individuals who do not need full control of the file. Be aware that the individual using Network Load Balancing Manager does require full control of the log file. For more information, see Related Topics below.

Related Topics


Remove a host from a Network Load Balancing cluster

Microsoft Windows graphic

To remove a host from a Network Load Balancing cluster

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the host on which you want to disable Network Load Balancing and choose Delete Host.

Important

  • XOX

    If you can not use Network Load Balancing Manager, you can disable Network Load Balancing through Network Connections Properties on each host.

Notes

  • XOX
  • XOX
  • XOX Right-click the Local Area Connection on which Network Load Balancing is installed, and then click Properties.

Related Topics


Remove all hosts from a Network Load Balancing cluster

Microsoft Windows graphic

To remove all hosts from a Network Load Balancing cluster

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster on which you want to disable Network Load Balancing and choose Delete Cluster.

Important

  • XOX

    If you can not use Network Load Balancing Manager, you can disable Network Load Balancing through Network Connections Properties on each host.

Notes

  • XOX
  • XOX
  • XOX Right-click the Local Area Connection on which Network Load Balancing is installed, and then click Properties.
  • After performing this procedure, all existing connections to the hosts will be lost and the cluster will no longer exist.
  • When Network Load Balancing is enabled for use with a network adapter in multicast mode, a manually configured media access control (MAC) address, which may have been optionally assigned to the adapter, will be removed after Network Load Balancing is later disabled. When the adapter is subsequently reinitialized (typically when the computer is restarted), the network adapter will revert to its factory-assigned MAC address. To avoid this problem, be sure to reassign the adapter's manually configured MAC address after disabling Network Load Balancing.

Related Topics


Stop managing a cluster from Network Load Balancing Manager

Microsoft Windows graphic

To stop managing a cluster from Network Load Balancing Manager

  1. Open Network Load Balancing Manager.
  2. Right-click the cluster that you want to remove from Network Load Balancing Manager and choose Remove from view.

Notes

  • XOX
  • XOX
  • XOX
  • This procedure only removes visibility to the cluster from Network Load Balancing Manager. The cluster still exists and the Network Load Balancing service on each of the cluster's hosts is unaffected.

Related Topics


Configure Network Load Balancing parameters

  • Configure cluster parameters
  • Enable multicast support
  • Enable Internet Group Management Protocol (IGMP) support
  • Configure host parameters
  • Configure port rules


Configure cluster parameters

Microsoft Windows graphic

To configure cluster parameters

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster and choose Cluster Properties.
  4. Click the Cluster Parameters tab.
  5. On the Cluster Parameters tab, specify values for IP address, Subnet mask, Full Internet name, Cluster Operation Mode, Remote control, Remote password and Confirm password using information from the enabling and configuring checklist.

Important

  • XOX
  • XOX
  • The Network Load Balancing remote control option presents many security risks, including the possibility of data tampering, denial of service and information disclosure. It is highly recommended that you do not enable remote control and instead use Network Load Balancing Manager or other remote management tools such as Windows Management Instrumentation (WMI). Firewall blocking remote control commands

    If you choose to enable remote control, it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect 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. Use remote control only from a secure, trusted computer within your firewall. For more information on the remote control parameter, see Remote control. For more information about strong passwords, see Strong passwords.

Notes

  • XOX
  • XOX
  • XOX
  • You only need to perform this procedure on a single host. All hosts will automatically inherit the cluster configuration from the initial host.

  • The parameters set in the properties dialog box are recorded in the registry on each host.

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

Related Topics


Enable multicast support

Microsoft Windows graphic

To enable multicast support

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster, and then click Cluster Properties.
  4. On the Cluster Parameters tab, in Cluster operation mode, select Multicast. If appropriate, you can also enable Internet Group Management Protocol (IGMP) support by clicking the IGMP multicast check box.

Important

  • XOX

Notes

  • XOX
  • XOX
  • XOX
  • You can only enable IGMP support when your cluster is configured for multicast mode.
  • If you enable IGMP support, the allowed multicast IP address is restricted to the standard class D range; that is, 224.0.0.0 to 239.255.255.255.

Related Topics


Enable Internet Group Management Protocol (IGMP) support

Microsoft Windows graphic

To enable Internet Group Management Protocol (IGMP) support

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster, and then click Cluster Properties.
  4. On the Cluster Parameters tab, click the IGMP multicast check box to enable IGMP support on all hosts in the cluster.

Important

  • XOX

Notes

  • XOX
  • XOX
  • XOX
  • You can only enable IGMP support when your cluster is configured for multicast mode.
  • If you enable IGMP support, the allowed multicast IP address is restricted to the standard class D range; that is, 224.0.0.0 to 239.255.255.255.

Related Topics


Configure host parameters

Microsoft Windows graphic

To configure host parameters

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the host that you want to configure, and then click Host Properties.
  4. Click the Host Parameters tab.
  5. Specify values for Priority (unique host identifier), IP address, and Subnet mask, and select an initial host state.

Important

  • XOX
  • XOX

Notes

  • XOX
  • XOX
  • XOX

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

  • 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: Enabling and configuring Network Load Balancing. It is highly recommended that you read through this section before configuring Network Load Balancing.

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


Create a new port rule

Microsoft Windows graphic

To create a new port rule

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster, and then click Cluster Properties.
  4. Click the Port Rules tab.
  5. Click Add.
  6. Using information from the enabling and configuring checklist, specify values for the following:
    • Cluster IP address, which is the virtual IP address that you want this rule to apply to. Enter a specific virtual IP address to create a virtual cluster, or check All to apply the rule to all virtual IP addresses.
    • Port range
    • Protocols
    • Filtering mode and as appropriate, values for Affinity, and Load weight, and then click OK.

Important

  • The number and type of rules must be exactly the same for each host in the cluster. This is best achieved by using Network Load Balancing Manager to configure port rules (see second note below). If you are using Network Load Balancing Manager, when you add additional hosts, they will automatically inherit the cluster port rules from the initial host.

    If a host attempts to join the cluster with a different number of rules, or with different rules from the other hosts, it is not accepted as part of the cluster. The rest of the cluster then 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 then restart Network Load Balancing on that host.

  • In order to allow Network Load Balancing to properly handle IP fragments, you should avoid using None when selecting UDP or Both for your protocol setting.

Notes

  • XOX
  • XOX
  • XOX
  • If all of your hosts are running a product in the Windows Server 2003 family, you can specify port rules to apply to only specific IP addresses. This is useful when creating virtual clusters. If you are not running a Windows Server 2003 family product, you must apply the port rules to all IP addresses. For more information about virtual clusters, see "Understanding Virtual Clusters".
  • The list of all currently installed port rules is sorted by port range.
  • The parameters set in the properties dialog box are recorded in the registry on each host.
  • Changes to Network Load Balancing parameters are applied when you click OK in the properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.
  • XOX
  • XOX

Related Topics


Edit an existing port rule

Microsoft Windows graphic

To edit an existing port rule

  1. Open Network Load Balancing Manager.
  2. Right-click the cluster and then click Cluster Properties.
  3. Click the Port Rules tab.
  4. In the Defined port rules list, click a rule then click Edit.
  5. Modify the cluster IP address that you want this rule to apply to, the port range, protocols and filtering mode parameters as required, and then click OK.

    For more information, see Related Topics.

Important

  • The number and type of rules must be exactly the same for each host in the cluster. This is best achieved by using Network Load Balancing Manager to configure port rules (see second note below). If you are using Network Load Balancing Manager, when you add additional hosts, they will automatically inherit the cluster port rules from the initial host.

    If a host attempts to join the cluster with a different number of rules, or with different rules from the other hosts, it is not accepted as part of the cluster. The rest of the cluster then 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 then restart Network Load Balancing on that host.

  • XOX
  • XOX

Notes

  • XOX
  • XOX
  • XOX
  • If all of your hosts are running a product in the Windows Server 2003 family, you can specify port rules to apply to only specific IP addresses. This is useful when creating virtual clusters. If you are not running a Windows Server 2003 family product, you must apply the port rules to all IP addresses. For more information about virtual clusters, see "Understanding Virtual Clusters".
  • The list of all currently installed port rules is sorted by port range.
  • The parameters set in the properties dialog box are recorded in the registry on each host.
  • Changes to Network Load Balancing parameters are applied when you click OK in the 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

Microsoft Windows graphic

To remove a port rule

  1. Open Network Load Balancing Manager.
  2. Right-click the cluster, and then click Cluster Properties.
  3. Click the Port Rules tab.
  4. 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. This is best achieved by using Network Load Balancing Manager to configure port rules (see second note below). If you are using Network Load Balancing Manager, when you add additional hosts, they will automatically inherit the cluster port rules from the initial host.

    If a host attempts to join the cluster with a different number of rules, or with different rules from the other hosts, it is not accepted as part of the cluster. The rest of the cluster then 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 then restart Network Load Balancing on that host.

  • XOX
  • XOX

Notes

  • XOX
  • XOX
  • XOX
  • If all of your hosts are running a product in the Windows Server 2003 family, you can specify port rules to apply to only specific IP addresses. This is useful when creating virtual clusters. If you are not running a Windows Server 2003 family product, you must apply the port rules to all IP addresses. For more information about virtual clusters, see "Understanding Virtual Clusters".
  • The list of all currently installed port rules is sorted by port range.
  • The parameters set in the properties dialog box are recorded in the registry on each host.
  • Changes to Network Load Balancing parameters are applied when you click OK in the properties dialog box. Clicking OK stops Network Load Balancing (if it is running), reloads the parameters, and then restarts cluster operations.

Related Topics


Perform basic Network Load Balancing operations

  • Immediately stop handling all Network Load Balancing cluster traffic
  • Restart handling Network Load Balancing cluster traffic
  • Suspend Network Load Balancing
  • Resume Network Load Balancing
  • Disable and block all Network Load Balancing traffic handling for specific ports
  • Enable Network Load Balancing traffic handling for specific ports
  • Disable new traffic handling for specific ports
  • Disable new traffic handling for specific ports and stop Network Load Balancing


Immediately stop handling all Network Load Balancing cluster traffic

Microsoft Windows graphic

To immediately stop handling all Network Load Balancing cluster traffic

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. If you want to stop cluster operations on all cluster hosts, right-click the cluster, and then point to Control Hosts.

    Or, if you want to stop the cluster service on only a particular host, right-click the host, and then point to Control Host.

  4. Click Stop

Cluster operations are immediately stopped and all existing connections are immediately closed.

Important

  • XOX

Notes

  • XOX
  • XOX
  • When you use the stop command, either through Network Load Balancing Manager or the command prompt, any client connections already in progress are interrupted. To avoid interrupting active connections, consider using the drainstop cluster-control command, which allows the host to continue servicing active connections, but disables all new traffic to that host. For more information, see "Disable new traffic handling and stop Network Load Balancing" in Related Topics.
  • For information on how to restart cluster operations, see "To start Network Load Balancing" in Related Topics.
  • The stop command differs from the suspend command in that suspend stops Network Load Balancing on the host and also suspends all Network Load Balancing cluster-control commands on the host, except for the resume and query commands. Stop only stops Network Load Balancing on the host, but does not affect the other Network Load Balancing cluster-control commands. For more information on the suspend command, see "To suspend Network Load Balancing".

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe stop

    Cluster operations are immediately stopped on the local cluster host and all existing connections are immediately closed.

    3. Or, if you want to stop cluster operations on all cluster hosts, type:

    nlb.exe stop cluster IP address | cluster name

Notes

  • XOX
  • XOX
  • XOX
  • When you use the stop command, either through Network Load Balancing Manager or the command prompt, any client connections already in progress are interrupted. To avoid interrupting active connections, consider using the drainstop cluster-control command, which allows the host to continue servicing active connections, but disables all new traffic to that host. For more information, see "Disable new traffic handling and stop Network Load Balancing" in Related Topics.
  • For information on how to restart cluster operations, see "To start Network Load Balancing" in Related Topics.
  • The stop command differs from the suspend command in that suspend stops Network Load Balancing on the host and also suspends all Network Load Balancing cluster-control commands on the host, except for the resume and query commands. Stop only stops Network Load Balancing on the host, but does not affect the other Network Load Balancing cluster-control commands. For more information on the suspend command, see "To suspend Network Load Balancing" in Related Topics.

Related Topics


Restart handling Network Load Balancing cluster traffic

Microsoft Windows graphic

To restart handling Network Load Balancing cluster traffic

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. If you want to start cluster operations on all cluster hosts, right-click the cluster, and then point to Control Hosts.

    Or, if you want to start the cluster service on only a particular host, right-click the host, and then point to Control Host.

  4. Click Start

Important

  • XOX

Notes

  • XOX
  • XOX
  • This command can be used after a previous stop or suspend command. It restarts cluster operations. It does not reenable the use of cluster-control commands, including remote control commands, which have been disabled by a previous suspend command. For information on how to reenable cluster-control commands, see "To resume Network Load Balancing" in Related Topics.
  • You should not use the start command to form a new cluster. For more information, see "Enable Network Load Balancing".

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe start

    3. Or, if you want to start cluster operations on all cluster hosts, type:

    nlb.exe start cluster IP address | cluster name

Notes

  • XOX
  • XOX
  • XOX
  • This command can be used after a previous stop or suspend command. It restarts cluster operations. It does not reenable the use of cluster-control commands, including remote control commands, which have been disabled by a previous suspend command. For information on how to reenable cluster-control commands, see "To resume Network Load Balancing" in Related Topics.
  • You should not use the start command to form a new cluster. For more information, see "Enable Network Load Balancing".

Related Topics


Suspend Network Load Balancing

Microsoft Windows graphic

To suspend Network Load Balancing

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. If you want to suspend cluster operations on all cluster hosts, right-click the cluster and then point to Control Hosts.

    Or, if you want to suspend the cluster service on only a particular host, right-click the host, and then point to Control Host.

  4. Click Suspend

Important

  • XOX

Notes

  • XOX
  • XOX
  • The suspend command suspends all cluster operations until the resume and start commands are issued.

    The purpose of the suspend command is to override any remote control commands that might be issued. All subsequent cluster-control commands except resume and query are ignored.

  • This command can be performed on the whole cluster or remotely to a single host.
  • The stop command differs from the suspend command in that suspend stops Network Load Balancing on the host and also suspends all Network Load Balancing cluster-control commands on the host, except for the resume and query commands. Stop only stops Network Load Balancing on the host, but does not affect the other Network Load Balancing cluster-control commands. For more information on the stop command, see "Immediately stop handling all Network Load Balancing cluster traffic" in Related Topics.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe suspend

    3. Or, if you want to suspend cluster operations on all cluster hosts, type:

    nlb.exe suspend cluster IP address | cluster name

Notes

  • XOX
  • XOX
  • XOX
  • The suspend command suspends all cluster operations until the resume and start commands are issued.

    The purpose of the suspend command is to override any remote control commands that might be issued. All subsequent cluster-control commands except resume and query are ignored.

  • This command can be performed on the whole cluster or remotely to a single host.
  • The stop command differs from the suspend command in that suspend stops Network Load Balancing on the host and also suspends all Network Load Balancing cluster-control commands on the host, except for the resume and query commands. Stop only stops Network Load Balancing on the host, but does not affect the other Network Load Balancing cluster-control commands. For more information on the stop command, see "Immediately stop handling all Network Load Balancing cluster traffic" in Related Topics.

Related Topics


Resume Network Load Balancing

Microsoft Windows graphic

To resume Network Load Balancing

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click a host or a cluster, and then point to Control Host or Control Hosts.
  4. Click Resume

Important

  • XOX

Notes

  • XOX
  • XOX
  • Performing this command at the cluster level resumes Network Load Balancing on all hosts within the cluster. Performing this command at the host level resumes Network Load Balancing on the specific host only.
  • This command can be used after a previous suspend command. It reenables the use of cluster-control commands, including remote control commands. It does not restart cluster operations. For information on how to restart cluster operations, see "Restart handling Network Load Balancing cluster traffic" in Related Topics.
  • This command can be performed on the whole cluster or remotely to a single host.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe resume

    3. Or, if you want to reenable cluster-control commands on all cluster hosts, type:

    nlb.exe resume cluster IP address | cluster name

Notes

  • XOX
  • XOX
  • XOX
  • This command can be used after a previous suspend command. It reenables the use of cluster-control commands, including remote-control commands. It does not restart cluster operations. For information on how to restart cluster operations, see "Restart handling Network Load Balancing cluster traffic" in Related Topics.
  • This command can be performed on the whole cluster or remotely to a single host.

Related Topics


Disable and block all Network Load Balancing traffic handling for specific ports

Microsoft Windows graphic

To disable and block all Network Load Balancing traffic handling for specific ports

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click a host or a cluster, and then click Control Ports.
  4. Select the port rule that contains the ports that you want to disable and then click Disable.

Important

  • XOX

Notes

  • XOX
  • XOX
  • This command 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.
  • 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.
  • For information on how to enable specific ports, see "Enable Network Load Balancing traffic handling for specific ports" in Related Topics.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe disable vip[:port|:all] | all[:port|:all] cluster[:host]| all [local|global]

    For more information about the parameters that you can use with this command, see "Nlb" in Related Topics.

Notes

  • XOX
  • XOX
  • XOX
  • This command 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.
  • 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.
  • For information on how to enable specific ports, see "Enable Network Load Balancing traffic handling for specific ports" in Related Topics.

Related Topics


Enable Network Load Balancing traffic handling for specific ports

Microsoft Windows graphic

To enable Network Load Balancing traffic handling for specific ports

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click a host or a cluster, and then click Control Ports.
  4. Select the port rule that contains the ports that you want to enable and then click Enable.

Important

  • XOX

Notes

  • XOX
  • XOX
  • This command enables traffic handling for the rule whose port range contains the specified port. All ports specified by the port rule are affected.
  • This has no effect if the specified hosts have not started cluster operations.
  • For information on how to disable specific ports, see "Disable and block all Network Load Balancing traffic handling for specific ports" in Related Topics.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe enable vip[:port|:all] | all[:port|:all] cluster[:host]| all [local|global]

    For more information about the parameters that you can use with this command, see "Nlb" in Related Topics.

Notes

  • XOX
  • XOX
  • XOX
  • This command enables traffic handling for the rule whose port range contains the specified port. All ports specified by the port rule are affected.
  • This has no effect if the specified hosts have not started cluster operations.
  • For information on how to disable specific ports, see "Disable and block all Network Load Balancing traffic handling for specific ports" in Related Topics.

Related Topics


Disable new traffic handling for specific ports

Microsoft Windows graphic

To disable new traffic handling for specific ports

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click a host or a cluster, and then click Control Ports.
  4. Select the port rule that contains the ports that you want to drain and then click Drain.

Important

  • XOX

Notes

  • XOX
  • To start Network Load Balancing Manager, open Command Prompt. From the command window, type NLBMgr.exe, and then press ENTER.
  • Draining disables new traffic handling for the rule whose port range contains the specified port. New connections to the specified hosts are not allowed, but all active connections are maintained. To disable active connections, use the disable command instead.
  • Performing this command at the cluster level drains the specified ports on all hosts within the cluster. Performing this command at the host level drains the ports on the specific host only.
  • This command has no effect if the specified hosts have not started cluster operations.

Using a command line

  1. Open Command Prompt.
  2. Type:

    nlb.exe drain vip[:port|:all] | all[:port|:all] cluster[:host]| all [local|global]

    For more information about the parameters that you can use with this command, see "Nlb" in Related Topics.

Notes

  • XOX
  • XOX
  • XOX

  • This command 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.

  • Draining can be performed on the entire cluster or remotely to a single host.

Related Topics


Disable new traffic handling for specific ports and stop Network Load Balancing

Microsoft Windows graphic

To disable new traffic handling for specific ports and stop Network Load Balancing

Using the Windows interface

  1. Open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster. For more information, see "Manage existing clusters from Network Load Balancing Manager" in Related Topics.
  3. Right-click a host or a cluster, and then point to Control Host or Control Hosts.
  4. Click Drainstop

Important

  • XOX

Notes

  • XOX
  • To start Network Load Balancing Manager, open Command Prompt. From the command window, type nlbmgr.exe, and then press ENTER.
  • Performing this command at the cluster level performs the command on all hosts within the cluster. Performing this command at the host level performs the command on the specific host only.
  • This command disables all new traffic handling on the specified hosts. While draining, hosts continue to service opened connections 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
  • While draining, hosts remain in the cluster and stop their cluster operations when there are no more active connections. To stop draining mode, explicitly stop cluster mode with the stop command, or restart new traffic handling with the start command.

Using a command line

  1. Open Command Prompt.
  2. Type nlb.exe drainstop.

    For more information about the parameters that you can use with this command, see "Nlb" in Related Topics.

Notes

  • XOX
  • XOX
  • XOX
  • This command disables all new traffic handling on the specified hosts. While draining, hosts continue to service opened connections 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
  • This command can be performed on the whole cluster or remotely to a single host.
  • While draining, hosts remain in the cluster and stop their cluster operations when there are no more active connections. To stop draining mode, explicitly stop cluster mode with the stop command, or restart new traffic handling with the start command.

Related Topics


Perform advanced Network Load Balancing procedures

  • Uninstall Network Load Balancing
  • Install Network Load Balancing if it was previously uninstalled
  • Adjust convergence parameters
  • Limit switch port flooding


Uninstall Network Load Balancing

Microsoft Windows graphic

To uninstall Network Load Balancing

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

    2. Important

    • If possible, you should avoid uninstalling Network Load Balancing. There is typically no need to uninstall this feature, and doing so might adversely affect the operation of other system components. Removing Network Load Balancing from the network adapter, as described in "Remove a host from a Network Load Balancing cluster" in Related Topics below is all that is needed to ensure that Network Load Balancing is not being used by the host.
    • If you do not follow these steps in the exact order shown, your network will experience IP address conflicts.
  2. Open Network Connections.
  3. Right-click the Local Area Connection on which Network Load Balancing is installed, and then 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 might have entered here, and then click OK.
  7. In the Internet Protocol (TCP/IP) Properties dialog box, click OK.
  8. In the Local Area Connection Properties dialog box, click OK.
  9. Right-click the Local Area Connection on which Network Load Balancing is installed, and then click Properties.
  10. Click Network Load Balancing, and then click Uninstall.

Notes

  • XOX
  • XOX

Related Topics


Install Network Load Balancing if it was previously uninstalled

Microsoft Windows graphic

To install Network Load Balancing if it was previously uninstalled

  1. Open Network Connections.

    2. Important

    • 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 then click Properties.
  3. Click Install.
  4. In the Select Network Component Type dialog box, click Service, and then click Add.
  5. In the Select Network Service dialog box, click Network Load Balancing, and then click OK.

    6. Important

    • Do not select the check box for Network Load Balancing at this point. When you configure the cluster using Network Load Balancing Manager (in the next step), Network Load Balancing Manager will automatically enable this service.
  6. Use Network Load Balancing Manager to configure the cluster. For more information, see "Enable Network Load Balancing" in Related Topics.

Notes

  • XOX
  • XOX
  • If Network Load Balancing clients are accessing a cluster through a router, be sure that the router meets the following requirements:
    • Accepts a dynamic Address Resolution Protocol (ARP) reply mapping the unicast IP address to its unicast media access control (MAC) address
    • In multicast mode, accepts an ARP reply that has a MAC address in the payload of the ARP structure. 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.
  • If only one Local Area Connection icon is displayed in Network Connections, you have only one network adapter installed on your computer. Additional network adapters are represented by additional Local Area Connection icons.
  • When installing Network Load Balancing, you might expect to find a setup application (such as Setup.exe). There is no such application. The Network Load Balancing driver is installed as a standard Windows networking driver.

Related Topics


Adjust convergence parameters

Microsoft Windows graphic

To adjust convergence parameters

  1. Click Start, click Run, and then, in Open, type regedit.
  2. Click the registry key:

    HKEY_LOCAL_MACHINE\System\CurrentControlSet
    \Services\WLBS\Parameters\Interface\Network adapter ID

  3. Edit the AliveMsgPeriod or AliveMsgTolerance parameters as necessary.
  4. Restart the computer.

Caution

  • Incorrectly editing the registry may severely damage your system. Before making changes to the registry, you should back up any valued data on the computer.

Notes

  • XOX
  • 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.

    These numbers should reflect your installation's requirements. A longer message exchange period reduces the heartbeat traffic needed to maintain fault tolerance, but it increases the time that it takes for Network Load Balancing to stop sending network messages to an offline host. Likewise, increasing the number of message exchanges prior to convergence reduces the number of unnecessary convergence initiations due to network congestion, but it too increases the time for an offline host to stop receiving network traffic.

    Using the default values, 5 seconds are needed to discover a missing host, and another 5 seconds are needed for the cluster to redistribute the load. A total of 10 seconds to stop sending network traffic to an offline host should be acceptable for most TCP/IP applications. This configuration incurs very low networking overhead.

  • WLBS stands for Windows NT 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


Limit switch port flooding

Microsoft Windows graphic

To limit switch port flooding

  1. If multicast support has been enabled during setup, open Network Load Balancing Manager.
  2. If Network Load Balancing Manager does not already list the cluster, connect to the cluster.
  3. Right-click the cluster, and then click Cluster Properties.
  4. On the Cluster Parameters tab, click the IGMP multicast check box to enable Internet Group Management Protocol (IGMP) support on all hosts in the cluster.

Important

  • XOX

Notes

  • XOX
  • XOX
  • XOX
  • If the cluster hosts are directly connected to a hub to receive client requests and IGMP support is not enabled, incoming client traffic is automatically sent to all switch ports, and may produce switch flooding.
  • You can only enable IGMP support when your cluster is configured for multicast mode. To enable multicast mode, see "Enable multicast support" in Related Topics below.
  • Windows NT Load Balancing Service (WLBS) is the former name of Network Load Balancing in Windows NT 4.0. For backward compatibility reasons, WLBS continues to be used in certain instances.

Related Topics


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 to Network Load Balancing
  • Network Load Balancing key features
  • Network Load Balancing system requirements


Introduction to Network Load Balancing

The Network Load Balancing (NLB) service enhances the availability and scalability of Internet server applications such as those used on Web, FTP, firewall, proxy, VPN, and other mission-critical servers. A single computer running Windows can provide a limited level of server reliability and scalable performance. However, by combining the resources of two or more computers running one of the products in the Windows Server 2003 family 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 two connected Network Load Balancing clusters. The first cluster consists of two hosts and the second cluster consists of four hosts:

Network Load Balancing cluster with four hosts

Each host runs separate copies of the desired server applications, such as that for a Web, FTP, and Telnet server. Network Load Balancing distributes incoming client requests across the hosts in the cluster. 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 allows all of the computers in the cluster to be addressed by the same set of cluster IP addresses (but also maintains their existing unique, dedicated IP addresses).

For load-balanced applications, when a host fails or goes offline, the load is automatically redistributed among the computers still operating. Applications with a single server have their traffic redirected to a specific host. When a computer fails or goes offline unexpectedly, active connections to the failed or offline server are lost. However, if you bring a host down intentionally, you can use the drainstop command to service all active connections prior to bringing the computer offline. In either case, when ready, 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 networking driver. Its operations are transparent to the TCP/IP networking stack. The following diagram shows the relationship between Network Load Balancing and 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

Database access from load-balanced server applications

Some server applications access a database that is updated by client requests. When these applications 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 applications might require the use of highly available database engines to ensure complete fault tolerance for the service. It is recommended that you deploy cluster-aware database software 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 with the Cluster service in a server cluster. The Cluster service ensures that if one node fails, a remaining node assumes the responsibilities of the failed computer, thus providing almost continuous service to Microsoft SQL Server clients. It is able to do this because the computers in the server cluster make use of a cluster storage device. For more information on the Cluster service and how it works with Network Load Balancing, see 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 applications. In contrast, the Cluster service would most commonly be running database applications (when used in conjunction with Network Load Balancing). Network Load Balancing and the Cluster service can not both be active on the same computer, but by joining the two cluster solutions 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

Scalability

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

    • Note

    • During packet reception, the Network Load Balancing fully pipe-lined implementation overlaps the delivery of incoming packets to TCP/IP and the reception of other packets by the NDIS driver. This increases the overall processing speed 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.

High Availability

  • Automatically detects and recovers from a failed or offline computer.
  • Automatically balances the network load when hosts are added or removed.
  • Recovers and redistributes the workload within 10 seconds
    • .

Manageability

  • You can manage and configure multiple Network Load Balancing clusters and the cluster hosts from a single computer using Network Load Balancing Manager.
  • You can specify the load balancing behavior for a single IP port or group of ports using port management rules.
  • If you use the same set of load balanced servers for multiple applications or Web sites, by using virtual clusters you can define different port rules for each Web site based on the destination virtual IP address.
  • Using optional single-host rules, you can direct all client requests to a single host, in effect using Network Load Balancing to route client requests to a particular host running specific applications.
  • You can block undesired network access to certain IP ports.
  • You can enable Internet Group Management Protocol (IGMP) support on the cluster hosts to control switch flooding when operating in multicast mode.
    • Control switch flooding using IGMP support
  • Network Load Balancing 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 actions from any networked computer that is running Windows.

Ease of use

  • Network Load Balancing is installed as a standard Windows networking driver component.
  • Network Load Balancing requires no hardware changes to enable and run.
  • Network Load Balancing Manager allows you to create new Network Load Balancing clusters and configure and manage clusters and all of the cluster's hosts from a single remote or local computer. Ideally you should use a second network adapter when managing the cluster from a local computer.
  • Network Load Balancing lets clients access the cluster with a single logical Internet name and virtual IP address (also know as the cluster IP address) while retaining individual names for each computer. Network Load Balancing allows multiple virtual IP addresses for multihomed servers (although in the case of virtual clusters, the servers do not need to be multihomed in order to have multiple virtual IP addresses).
  • Network Load Balancing can be bound to multiple network adapters allowing you to configure multiple independent clusters on each host. Support for multiple network adapters is different from virtual clusters in that virtual clusters allow you to configure multiple clusters on a single network adapter.
    • Multiple clusters on multiple network adapters
  • You do not have to modify server applications to run in a Network Load Balancing cluster.
  • If a cluster host fails and then is subsequently brought back online, Network Load Balancing can be configured to automatically add that host to the cluster. The added host will then be able to start handling new server requests from clients.
  • You can take computers offline for preventive maintenance without disturbing cluster operations on the other hosts.


Network Load Balancing system requirements

Network Load Balancing is designed to work as a standard networking device driver in the Microsoft® Windows® Server 2003 family of products. Because Network Load Balancing provides clustering support for TCP/IP-based server applications, TCP/IP must be installed in order to take advantage of Network Load Balancing functionality. The current version of Network Load Balancing is designed for use with Ethernet network adapters. It is not compatible with asynchronous transfer mode (ATM), ATM local area network (LAN) emulation, or token ring. It has been tested on 10 megabits per second (Mbps), 100 Mbps, and gigabit Ethernet networks with a wide variety of network adapters, including teaming network adapters listed as compatible with the Windows Server 2003 family of products. For information regarding compatible hardware, click the appropriate link in Support resources.

On x86-based computers, Network Load Balancing uses between 750 kilobytes (KB) and 27 MB of RAM per network adapter during operation, using the default parameters and depending on the network load. The parameters can be modified to allow up to 84 MB memory to be used. Typical memory usage ranges between 750 KB and 2 MB.

On Itanium-based computers, Network Load Balancing uses between 825 KB and 32.3 MB of RAM per network adapter during operation, using the default parameters and depending on the network load. The parameters can be modified to allow up to 102 MB memory to be used. Typical memory usage for Intanium-based computers ranges between 825 KB and 2.5 MB.

For optimum cluster performance, you should install a second network adapter on each Network Load Balancing host. In this configuration, the first network adapter handles the network traffic addressed to the server as part of cluster, while the second network adapter is used for intra-host communication.

It is important to understand that it is possible to use Network Load Balancing with only a single network adapter. 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 To enable 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 Address Resolution Protocol (ARP) reply that has one media access control (MAC) address in the payload of the ARP structure, but appears to arrive from a station with another MAC address, as determined by the Ethernet header
  • Accepts an ARP reply for a unicast IP address with a multicast MAC address in the payload of its ARP structure

These conditions allow the router to map the cluster IP 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

  • How Network Load Balancing works
  • Understanding virtual clusters


How Network Load Balancing works

Network Load Balancing provides high availability and scalability of servers using a cluster of two or more host computers working together. Internet clients access the cluster using a either a IP address or a set of addresses. The clients are unable to distinguish the cluster from a single server. Server applications 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 application because it can provide uninterrupted service even if a cluster host fails. The cluster can also respond more quickly to client requests than a single host.

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 a delay of only a few seconds in receiving a response.

Network Load Balancing delivers scaled performance by distributing the incoming network traffic among one or more virtual IP addresses (the cluster 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 might 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 IP addresses. On each cluster host, the Network Load Balancing driver acts as a filter between the cluster adapter driver and the TCP/IP stack in order to distribute the traffic across the hosts.

Network Load Balancing employs a fully distributed algorithm to statistically map incoming clients to the cluster hosts based on their IP address and port. No communication between the hosts is necessary for this process to occur. 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 applications, which must modify and retransmit packets.

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 the TCP and UDP protocols within TCP/IP, controlling their actions on a per-port basis.

In multicast mode, Network Load Balancing can limit switch flooding by providing Internet Group Management Protocol (IGMP) support. Network Load Balancing does not control any incoming IP traffic other than TCP and UDP traffic for specified ports and IGMP traffic in multicast mode. It does not filter other IP protocols (for example, ICMP or ARP), except as described below. Be aware that you should expect to see duplicate responses from certain point-to-point TCP/IP applications (such as ping) when the cluster IP address is used. If required, these applications can use the dedicated IP address for each host to avoid this behavior.

Convergence

To coordinate their actions, Network Load Balancing hosts periodically exchange heartbeats within the cluster (for more information, see What is IP multicasting). IP multicasting allows the hosts 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 a limited number of messages to determine a new, consistent state of the cluster and to designate 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 event log. This process typically takes less than 10 seconds to complete.

During convergence, the remaining hosts continue to handle incoming network traffic. Client requests to working hosts are unaffected. At the completion of convergence, the traffic destined 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 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 applications. However, it might affect client sessions that span multiple TCP connections when client affinity is selected, because clients might be remapped to different cluster hosts between connections. For more information on affinity, see Network Load Balancing and stateful connections.

Network Load Balancing assumes that a host is functioning properly within the cluster as long as it exchanges heartbeats with other cluster hosts. If other hosts do not receive a response from any member for several heartbeat exchanges, they initiate convergence to redistribute the load that would have been 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 To adjust convergence parameters.


Understanding virtual clusters

It is becoming increasingly common to host multiple applications or Web sites on a single Network Load Balancing (NLB) cluster. When doing so, you may require independent load balancing policies, defined through port rules, applied to each of these applications or sites.

In the Windows Server 2003 family of products you can configure multiple Network Load Balancing clusters on the same network adapter and then apply specific port rules to each of those IP addresses. These are referred to as "virtual clusters."

You can also use virtual clusters to block network traffic to a specific host for a specific application, without affecting traffic for other applications on that host. You can also use virtual clusters to limit each application, Web site, or virtual IP address to a specific subset of computers within your primary cluster. See the diagram below for an example of this use of virtual clusters.

A four host cluster with two virtual clusters

This diagram depicts a four host Network Load Balancing cluster. Through the use of virtual clusters and IP address-specific load weight, Network Load Balancing directs network traffic as follows:

  • Users accessing Web Site A (IP address nnn.nnn.nnn.1) are directed to any of the four hosts
  • Users accessing Web site B (IP address nnn.nnn.nnn.2), which is a virtual cluster, are directed to hosts 1 and 2
  • Users accessing Web site C (IP address nnn.nnn.nnn.3), which is a virtual cluster, are directed to hosts 3 and 4

For more information on how this is configured, see Virtual clusters and Create a new port rule.


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
  • Optimizing Network Load Balancing clusters


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

For more information about monitoring recommendations for high-availability systems, see the "System Performance and Troubleshooting Guide" at the Microsoft Windows Resource Kits Web site.(http://www.microsoft.com/) For more information about maximizing the availability of a Network Load Balancing cluster, see the "Server Management Guide" at the Microsoft Windows Resource Kits Web site.(http://www.microsoft.com/)


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 is 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 the availability of data, not the data itself. Also, it does not guard against a power outage that would disable the entire cluster.

XOX; XOX; and XOX, have built-in features that protect certain computer and network processes during failure. These features include disk mirroring (RAID Level 1) and disk striping [AMC25A] with parity (RAID Level 5). 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 XOX; XOX; or XOX, environment, and describes whether the point of failure can be protected, either by Network Load Balancing or by other means.

These features include RAID-1, disk mirroring, RAID-5, and disk striping with parity.

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 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 | n/a | Server clusters (only computers running XOX, or XOX)
IP-level failures, such as IIS service interruptions | 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
Application or Service failure | n/a | Microsoft Application Center, available as a separate product, contains tools to monitor specific applications and services.


Determining which applications to use with Network Load Balancing

Many applications work with Network Load Balancing. This section offers guidelines for determining which applications might 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 Transmission Control Protocol (TCP) or User Datagram Protocol (UDP) port. For more information, see TCP ports and UDP ports.

Some examples are:

Protocol | Examples
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 applications as BOOTP): port 69.
SMTP over TCP/IP | SMTP (Simple Mail Transfer Protocol), used by such applications as Microsoft Exchange: Port 25.
RDP over TCP/IP | RDP (Remote Datagram Protocol), used by 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.
  • Print Services.
  • Microsoft Internet Security and Acceleration Server (ISA).


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. It is not necessary to install a second adapter.
  • This is the most straightforward configuration because unicast mode is the default.
  • This model works with all routers.

Disadvantages

  • Ordinary network communication among cluster hosts is not possible.
  • Network Load Balancing itself does not affect network performance and a second network adapter is not a requirement. However, under certain conditions, a second adapter can improve overall network performance. For more information, see Multiple network adapters.

Regardless of the number of network adapters you use and how the adapters are configured, the cluster heartbeat traffic always originates from the network load balancing network adapter.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster must be either multicast or unicast; otherwise, the cluster will not function properly.

    • There is no restriction on the number of network adapters that can be bound to network load balancing on each computer: Different hosts can have a different number of adapters, but you can never have more than one adapter on a computer be part of the same cluster.

    Different adapters on each computer can be part of different clusters, and they can all reside on the same subnet. You can also host multiple clusters on the same network adapter. For more information, see Understanding virtual clusters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Enabling and configuring Network Load Balancing, including the sections on cluster parameters, host parameters, and port rules. It is highly recommended that you read through these sections before configuring Network Load Balancing.

For more information, see also Single network adapter and Single network adapter limitations.


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. It is also appropriate when you want to separate the traffic used to manage the cluster from the traffic occurring between the cluster and client computers.

Advantages

  • Ordinary network communication among cluster hosts is permitted.
  • This model works with all routers.

Disadvantages

  • This model requires a second network adapter.

Regardless of the number of network adapters you use and how the adapters are configured, the cluster heartbeat traffic always originates from the network load balancing network adapter.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster must be either multicast or unicast; otherwise, the cluster will not function properly.

    There is no restriction on the number of network adapters that can be bound to network load balancing on each computer: Different hosts can have a different number of adapters, but you can never have more than one adapter on a computer be part of the same cluster.

    Different adapters on each computer can be part of different clusters, and they can all reside on the same subnet. You can also host multiple clusters on the same network adapter. For more information, see Understanding virtual clusters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Enabling and configuring Network Load Balancing, including the sections on cluster parameters, host parameters, and port rules. It is highly recommended that you read through these sections before configuring Network Load Balancing.

For more information, see Multiple network adapters.


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. It is not necessary to install a second adapter.
  • This model permits ordinary network communication among cluster hosts.
  • You can enable Internet Group Management Protocol (IGMP) support on the cluster hosts to control switch flooding when operating in multicast mode. For more information, see To limit switch port flooding.

Disadvantages

  • Network Load Balancing itself does not affect network performance and a second network adapter is not a requirement. However, under certain conditions, a second adapter can improve overall network performance.
  • Some routers might not support the use of a multicast media access control (MAC)address. This only affects the Network Load Balancing/MAC address (not all MAC addresses) and only when dynamic ARP replies are sent by the cluster to the router, not all MAC addresses.

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 Address Resolution Protocol (ARP).

Regardless of the number of network adapters you use and how the adapters are configured, the cluster heartbeat traffic always originates from the network load balancing network adapter.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster must be either multicast or unicast; otherwise, the cluster will not function properly.

    There is no restriction on the number of network adapters that can be bound to network load balancing on each computer: Different hosts can have a different number of adapters, but you can never have more than one adapter on a computer be part of the same cluster.

    Different adapters on each computer can be part of different clusters, and they can all reside on the same subnet. You can also host multiple clusters on the same network adapter. For more information, see Understanding virtual clusters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Enabling and configuring Network Load Balancing, including the sections on cluster parameters, host parameters, and port rules. It is highly recommended that you read through these sections before configuring Network Load Balancing.

For more information, see Single network adapter, Single network adapter limitations, and Using a router.


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 is typically enhanced.
  • Ordinary network communication among cluster hosts is permitted.

Disadvantages

  • This model requires a second network adapter.
  • Some routers might not support the use of a multicast media access control (MAC)address. This only affects the Network Load Balancing/MAC address (not all MAC addresses) and only when dynamic ARP replies are sent by the cluster to the router. not all MAC addresses.

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

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster must be either multicast or unicast; otherwise, the cluster will not function properly.

    There is no restriction on the number of network adapters that can be bound to network load balancing on each computer: Different hosts can have a different number of adapters, but you can never have more than one adapter on a computer be part of the same cluster.

    Different adapters on each computer can be part of different clusters, and they can all reside on the same subnet. You can also host multiple clusters on the same network adapter. For more information, see Understanding virtual clusters.

  • Before you install Network Load Balancing, it is vital that you review Checklist: Enabling and configuring Network Load Balancing, including the sections on cluster parameters, host parameters, and port rules. It is highly recommended that you read through these sections before configuring 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 need six computers running Microsoft Internet Information Services 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.

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, which would create 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. For more information on using Network Load Balancing hosts on switches, see article Q238219, "How Network Load Balancing Hosts Converge When Connected to a Layer 2 Switch," and article Q193602, "Configuration Options for WLBS Hosts Connected to a Layer 2 Switch," in the Microsoft Knowledge Base.(http://www.microsoft.com/)
  • 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 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 to determine how the servers in your cluster should be configured.

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


Optimizing Network Load Balancing clusters

Because Windows uses an adaptable architecture, it is largely self-tuning. It is able to allocate resources as needed to meet changing usage requirements. However, you can make certain hardware and configuration choices 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 use is also typically low in this environment. In such cases, memory and processor use usually do not need the optimizing that other components need.

In contrast, a server-application environment (such as e-commerce sites running COM+ applications) 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 used less because the amount of data being sent is smaller. Network Load Balancing uses few system resources either for host-to-host communication 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. If you set the same value for the minimum and maximum size of your paging file, the amount of disk defragmentation is reduced.


Optimizing network performance

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

To limit switch port flooding (for example, when computers outside the cluster also share the hub), see To limit switch port flooding. The steps outlined make all incoming client traffic flow through one switch port and 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 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 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. It is highly recommended that you do not run WINS, DHCP, or DNS Services on cluster hosts. 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.


Using Network Load Balancing

This section covers:

  • Network Load Balancing Manager
  • Single network adapter
  • Single network adapter limitations
  • Multiple network adapters
  • Network Load Balancing parameters
  • Virtual clusters
  • Upgrading Network Load Balancing
  • Adjusting multicast parameters
  • Handling LAN failures
  • Error detection and handling
  • Event logging
  • Network Load Balancing and stateful connections
  • Managing Network Load Balancing from the command line


Network Load Balancing Manager

Network Load Balancing (NLB) Manager allows you to create and manage Network Load Balancing clusters from a single computer. By centralizing Network Load Balancing administration tasks, Network Load Balancing Manager helps eliminate many common configuration errors.

Using Network Load Balancing Manager, you can configure and manage your clusters and all cluster hosts from a single computer, and you can also replicate the cluster configuration to other hosts.

You can perform the following procedures with Network Load Balancing Manager:

  • Create new clusters
  • Add hosts to an existing cluster and, by doing so, automatically enable Network Load Balancing on that host and and automatically configure cluster parameters on that host
  • Remove hosts from a cluster and, by doing so, automatically disable Network Load Balancing on that host
  • Configure all host and cluster properties
  • Replicate the cluster configuration to other hosts
  • Diagnose problems with existing Network Load Balancing clusters.

As part of the Windows Server 2003 Administration Tools Pack, Network Load Balancing Manager can also be installed and used on XOX. You can use Network Load Balancing Manager on XOX only to manage Network Load Balancing clusters on remote computers running the Windows Server 2003 family of products. You can not install the Network Load Balancing service itself on XOX.

Network Load Balancing Manager uses Windows Management Instrumentation (WMI) which in turn has a dependency on remote procedure call (RPC) and Distributed Component Object Model (DCOM). To understand how to enable DCOM across a firewall, refer to Using Distributed COM with Firewalls (http://www.microsoft.com/).

When using Network Load Balancing Manager, you must be a member of the Administrators group on the host that you are configuring. However, you do not have to me a member of the Administrators group on the computer from which you are running Network Load Balancing Manager.

For more information on Network Load Balancing, see Network Load Balancing clusters, and Network Load Balancing overview.

Important

  • XOX

Network Load Balancing Manager compared to other deployment and management tools

Network Load Balancing Manager is similar to other application management tools, such as Microsoft Application Center 2000, but Network Load Balancing Manager does not completely replace these other tools. Although you can use either Network Load Balancing Manager or a similar tool to manage Network Load Balancing clusters, you can not use Network Load Balancing Manager to perform additional tasks that are often available through these other tools.

Network Load Balancing Manager is used to centrally create and manage the configuration of Network Load Balancing clusters only. It is not used to administer and deploy applications. In contrast, other management tools are designed to create, deploy, and manage large scale Web applications. These tools typically include advanced monitoring, logging, and scripting capabilities which are not included with Network Load Balancing Manager.

For example:

  • Network Load Balancing Manager provides limited monitoring of the status of the Network Load Balancing hosts, but does not provide any alerts or notifications. Other management tools often provide real-time monitoring, notification and alert capabilities allowing you to view the health, performance and availability of clusters and other applications.
  • Scripting is not supported in Network Load Balancing Manager but is often used by other management tools for monitoring and automating various administrative tasks.
  • Network Load Balancing Manager can log general Network Load Balancing cluster information to a text-based log file, while other tools often can provide detailed logging on a variety of applications.

Network Load Balancing Manager is a tool targeted at very specific tasks related to Network Load Balancing clusters and you should not attempt to use Network Load Balancing Manager for other administrative purposes.


Single network adapter

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

In unicast mode, the cluster's media access control (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 following describes 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.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster 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.

  • XOX

Unicast support is enabled by default. To enable multicast support, see To enable 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 might 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, as described in Single network adapter limitations. 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 might 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.

If 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 to achieve optimal 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, this approach has two limitations:

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

Further, if you are working from a computer that has a single network adapter that is bound to Network Load Balancing in unicast mode, you can not use Network Load Balancing Manager on this computer to configure and manage other hosts.

These limitations might not be important for many installations. If the cluster hosts are accessed only from outside the cluster (because host-to-host communication cannot take place) and noncluster 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 use multiple network adapters in two different and distinct ways. The first use is to create multiple Network Load Balancing clusters; achieved by binding Network Load Balancing to each of the multiple adapters.

The second use for multiple network adapters is to use one or more adapters for handling cluster traffic, but also configure at least one adapter to be used for server management. The management adapter does not handle cluster traffic. Further information on this this second use of multiple network adapters is described below.

Multiple network adapters in unicast mode

In unicast mode, the cluster's media access control (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. Because of this, host to host communication (other than Network Load Balancing heartbeat-related traffic) is not possible on the cluster adapter.

The following characteristics apply:

  • Adapters used as cluster adapters
    • The cluster IP address resolves to the 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 using the virtual IP address. However host-to-host traffic within the same cluster is not possible on this adapter because the MAC address for each host in a particular cluster is the same. For more information, see Address Resolution Protocol (ARP).
  • Adapter used as the management adapter
    • Network Load Balancing in not bound to this adapter.
    • This adapter's IP address resolves to the adapter's built-in MAC address.
    • This 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

In multicast mode, the cluster's MAC address is assigned to network adapters that are functioning as cluster adapters, but the cluster adapters' 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.

This following characteristics apply:

  • Adapters used as cluster adapters
    • The cluster IP address resolves to the 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.
    • In multicast mode, the cluster adapters 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.
  • Adapter used as the management adapter
    • Network Load Balancing in not bound to this adapter.
    • This adapter's IP address resolves to the adapter's built-in MAC address.
    • This adapter can be used to handle the network traffic specific to the computer, including traffic from both inside and outside the subnet in which the computer is located.

Important

  • Network Load Balancing does not support a mixed unicast/multicast environment within a single cluster. Within each cluster, all network adapters in that cluster 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.

Network Load Balancing handles the resolution of the cluster's IP address to its associated multicast cluster media access control address within the Address Resolution Protocol (ARP) on your router. In rare cases, the use of a multicast MAC address might 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.

If 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 media access control address to the cluster's media access control 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 media access control addresses. If you experience this problem, you must install a network adapter that does.)

Notes

  • Multicast support is not enabled by default. To enable it, see To enable 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 | These parameters
Cluster parameters | Apply to the entire cluster.
Host parameters | Apply to a specific host.
Port rules | Control how the cluster functions.

Cluster parameters

Parameter Description
IP address

on the Cluster Parameters tab

 This parameter specifies the cluster's primary IP address in standard Internet dotted notation (for example, w.x.y.z). The 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 that maps to the full Internet name that you specify for the cluster. This should be the primary IP address and subnet mask for the cluster. If you want to add multiple IP addresses to the cluster, you enter the additional IP addresses in the TCP/IP properties dialog box or in the Cluster IP Addresses dialog box in Network Load Balancing Manager.

Important

  • Typically, 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. However, if you are configuring a virtual private network (VPN) load balancing cluster, you should not configure the dedicated IP address. On a VPN, only the cluster IP address should be present on each of the cluster hosts.
Subnet mask

on the Cluster Parameters tab

 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).
Full Internet name

on the Cluster Parameters tab

 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.
Network address

on the Cluster Parameters tab

 This parameter specifies the network address (media access control (MAC) address) for the network adapter to be used for handling client-to-cluster traffic.

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 might 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 needs 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.

Cluster Operation Mode

on the Cluster Parameters tab

 These parameters specify whether or not a multicast MAC address should be used for cluster operations. If multicast 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.

In multicast mode, the IGMP multicast check box enables Internet Group Management Protocol (IGMP) support for limiting switch flooding by limiting traffic to "Network Load Balancing ports" only. That is, enabling IGMP support ensures that traffic intended for a Network Load Balancing cluster passes through only those ports serving the cluster hosts and not all switch ports.

Notes

  • You must first enable multicast support before enabling IGMP support.
  • You must enable IGMP support on the network adapter also.
  • IGMP support is not enabled by default. To enable it, see To enable Internet Group Management Protocol (IGMP) support.
  • To avoid switch flooding in multicast mode, see To limit switch port flooding.

If you do not select 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 within a single cluster. Within each cluster, all network adapters in that cluster 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.

Note

  • Multicast support is not enabled by default. To enable it, see To enable 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 Control

on the Cluster Parameters tab

 This parameter specifies whether remote control operations are enabled. When enabled, remote, networked computers can control cluster operations by using the NLB.exe cluster-control application. Remote control is disabled by default.

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

Network Load Balancing remote control commands will not work correctly if they are sent from a computer that has Internet Protocol security (IPSec) configured such that the remote control traffic is encrypted by IPSec. For more information, see Internet Protocol security (IPSec).

Caution

  • The Network Load Balancing remote control option presents many security risks, including the possibility of data tampering, denial of service and information disclosure. It is highly recommended that you do not enable remote control and instead use Network Load Balancing Manager or other remote management tools such as Windows Management Instrumentation (WMI). Firewall blocking remote control commands

    If you choose to enable remote control, it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect the Network Load Balancing UDP control ports (the ports that receive remote control commands) in order to shield them from outside intrusion. By default, these are ports 1717 and 2504 at the cluster IP address. Use remote control only from a secure, trusted computer within your firewall. For more information about strong passwords, see Strong passwords.
Remote password

on the Cluster Parameters tab

 This parameter specifies a password used for restricting access to the cluster from remote, networked computers that use the NLB.exe cluster-control application. The password consists of a string of alphanumeric characters. The password must be entered as the value of this parameter and also a second time for confirmation in the Confirm password parameter.

After a password has been accepted, subsequent NLB.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.

If you choose to enable remote control it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect 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 about strong passwords, see Strong passwords.

The remote control password is not used to restrict control operations from a cluster host.
Confirm password

on the Cluster Parameters tab

 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.

Host parameters

Parameter Description
Interface

on the Host Parameters tab

 This parameter only appears when using Network Load Balancing Manager and is configured when you add the host to the cluster. The parameters specifies the host's network adapter that will use network load balancing in context of the current cluster.
Priority (Unique host ID)

on the Host Parameters tab

 This parameter specifies a unique ID for each host.

The host with the lowest numerical priority among the current members of the cluster handles all of the cluster's network traffic that is not covered by a port rule. 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.
IP address

on the Host Parameters tab

 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). This IP address is used to individually address each host in the cluster and hence should be unique for each host. The dedicated IP address should always be entered first in TCP/IP properties.

Network Load Balancing references the dedicated IP address only when a single network adapter is used to handle both client-to-cluster traffic and other network traffic that must go specifically 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

  • Typically, 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. However, if you are configuring a virtual private network (VPN) load balancing cluster, you should not configure the dedicated IP address. On a VPN, only the cluster IP address should be present on each of the cluster hosts.
  • The dedicated IP address must be a static IP address. It cannot be a DHCP address.
Subnet mask

on the Host Parameters tab

 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).
Initial host state

on the Host Parameters tab

 This parameter specifies whether Network Load Balancing will start and whether the host will immediately join the cluster when the operating system is started. For example, you might want to start other services manually and in a specific order before starting Network Load Balancing. Hosts can be commanded to join and leave the cluster dynamically by using the start and stop commands in Network Load Balancing command-line control. If the Retain suspended state after computer starts check box is selected, when the host is shut down while in a suspended state, the host will remain suspended when Windows is started.

For more information on command-line control, see Managing Network Load Balancing from the command line.

Port rules

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 virtual IP address that the rule should be applied.
  • 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. In order to allow Network Load Balancing to properly handle IP fragments, you should avoid using None when selecting UDP or Both for your protocol setting.

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 cluster IP addresses, 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.

  • When using Network Load Balancing to load balance VPN traffic such as PPTP/GRE and IPSEC/L2TP, you must configure the port rules that govern the ports handling the VPN traffic (TCP port 1723 for PPTP and UDP port 500 for IPSEC) to use either Single or Class C affinity.

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.

The Port Rules tab shows only the summary of existing port rules. If you click Add or Edit, the following parameters will be available:

Parameter Description
Cluster IP address

on the Add/Edit Port Rules dialog box

 This parameter specifies the cluster IP address that the port rule should cover. If this parameter is left blank and All is selected instead, the port rule is a global port rule and will cover all cluster IP addresses associated with that particular Network Load Balancing cluster.

Note

  • If a cluster IP address is specified, the port rule overrides any conflicting global port rule for that particular cluster IP address.
Port range

on the Add/Edit Port Rules dialog box

 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 0 to 65,535.

Note

  • Rules for a single port are encoded as a range having the same starting and ending port numbers.
Protocols

on the Add/Edit Port Rules dialog box

 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. Traffic not affected by the port rule is handled by the default host.
Filtering mode

on the Add/Edit Port Rules dialog box
  • 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.

  • 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 provides port specific fault tolerance for the handling of network traffic.

  • Disable this port range

    • 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 block network traffic addressed to a specific range of ports.
Affinity

on the Add/Edit Port Rules dialog box

 This parameter is applicable only for Multiple host filtering mode.
  • None

    • The None option specifies that multiple connections from the same client IP address can be handled by different cluster hosts (no client affinity). In order to allow Network Load Balancing to properly handle IP fragments, you should avoid using None when selecting UDP or Both for your protocol setting.

  • 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 can 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.

  • 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 application 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 affinity allows for improved load balancing 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. However, in order to allow Network Load Balancing to properly handle IP fragments, you should avoid using None when selecting UDP or Both for your protocol setting.

    Important

    • When using Network Load Balancing to load balance VPN traffic such as PPTP/GRE and IPSEC/L2TP, you must configure the port rules that govern the ports handling the VPN traffic (TCP port 1723 for PPTP and UDP port 500 for IPSEC) to use either Single or Class C affinity.
Load Weight

on the Add/Edit Port Rules dialog box

 This parameter is applicable only for Multiple host filtering mode. You can configure this parameter only when you open the port rules dialog box through Host Properties. This parameter is not configurable when you open the port rules dialog box through Cluster Properties.

When using Multiple hosts filtering mode, this parameter specifies the relative amount 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 actual fraction of traffic handled by each host is computed as the local load weight divided by the sum of all load weights across the cluster.

You can specify different load weights for each host in the cluster by using the Load weight parameter. You can specify that all hosts distribute the network load equally by using the Equal load distribution parameter instead of the Load weight parameter.
Handling priority

on the Add/Edit Port Rules dialog box

 This parameter is applicable only for Single host filtering mode. You can configure this parameter only when you open the port rules dialog box through Host Properties. This parameter is not available when you open the port rules dialog box through Cluster Properties

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 (32). This value must be unique for all hosts in the cluster.

Although this parameter is displayed in the Defined port rules list, you configure this parameter on the Host Parameters tab.

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 NT 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.


Virtual clusters

You create a virtual cluster by configuring multiple virtual IP addresses (where each IP address typically corresponds to different Web sites or applications hosted on the cluster) on a single network adapter and then configuring different port rules for each virtual IP address. In this way, on each host you are able to have IP address-specific:

  • Port Range
  • Protocols
  • Affinity
  • Load weight
  • Filtering mode

By using a load weight of zero for specific virtual IP addresses, you can also define a virtual cluster that limits applications, Web sites, or virtual IP addresses to a specific subset of hosts within your Network Load Balancing (NLB) cluster. See the diagram below for an example of this use of virtual clusters.

A four host cluster with two virtual clusters

This diagram depicts a four host Network Load Balancing cluster. Through the use of virtual clusters defined by IP address-specific load weights, Network Load Balancing directs network traffic as follows:

  • Users accessing Web Site A (IP address nnn.nnn.nnn.1) are directed to any of the four hosts
  • Users accessing Web site B (IP address nnn.nnn.nnn.2), which is a virtual cluster, are directed to hosts 1 and 2
  • Users accessing Web site C (IP address nnn.nnn.nnn.3), which is a virtual cluster, are directed to hosts 3 and 4

This is accomplished by setting the load weights as follows:

  • Load weight = 0 on hosts 3 and 4 for IP address xxx.xxx.xxx.2
  • Load weight = 0 on hosts 1 and 2 for IP address xxx.xxx.xxx.3.

Be aware that to use virtual clusters, all hosts in the cluster must be running one of the Windows Server 2003 family of products.

For more information on creating port rules, see Create a new port rule.


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, simply upgrade the computer to the current version of XOX; XOX; or XOX. All settings are retained. It is therefore not necessary to reconfigure Network Load Balancing parameters after you upgrade. In addition, the host automatically rejoins the cluster when the upgrade is complete.

Network Load Balancing clusters can function successfully in a mixed environment of hosts running either Network Load Balancing for the Windows Server 2003 family of products or Windows 2000, Windows NT Load Balancing Service (WLBS) for Windows NT 4.0, or Convoy Cluster Software for Windows NT 4.0. After upgrading to XOX; XOX; or XOX, you should run your cluster in a mixed environment for a period of time to ensure your cluster continues to operate as expected on your upgraded hosts. However, you will not be able to use the new Network Load Balancing features, such as virtual clusters, until all of your hosts are upgraded.

Note

  • Windows NT 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 media access control (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.

Advantages of using multicast support

Multicast support has several advantages, such as removing the inherent limitations of a single network adapter, as explained in Single network adapter limitations. Network Load Balancing handles the resolution of the cluster's 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 might 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. To determine how to create a static ARP entry, see the documentation for your router. For more information, see Using a router.

Avoiding switch port flooding

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 multicast support, disable this feature to see if it is the source of the problem. If switch flooding occurs, that is, your non-cluster hosts receive traffic destined only for the cluster hosts, then you can enable Internet Group Management Protocol (IGMP) support. For more information on avoiding switch port flooding, see To limit switch port flooding. For more information on enabling IGMP support, see To enable Internet Group Management Protocol (IGMP) support.

Notes

  • Multicast support is not enabled by default. To enable it, see To enable multicast support.
  • When Network Load Balancing is enabled for use with a network adapter in multicast mode, a manually configured MAC address that may have been optionally assigned to the adapter will be removed after Network Load Balancing is later disabled. When the adapter is subsequently reinitialized (typically when the computer is restarted), the network adapter will revert to its factory-assigned MAC address. To avoid this problem, be sure to reassign the adapter's manually configured MAC address after disabling Network Load Balancing. For more information, see To remove a host from a Network Load Balancing cluster.


Handling LAN failures

If a Network Load Balancing 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 that 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 might 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 nlb.exe 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 nlb.exe 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 detects inconsistencies in the rules and handles them as described previously. 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 NT 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 | Records 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 | Records 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 can also 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 | Records major problems or errors that might require immediate attention, such as significant cluster configuration parameter problems, detected inconsistencies, or unexpected execution errors. Error events usually disrupt cluster operations and might 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 you are analyzing and solving problems. Use the nlb.exe 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. For more information, see Nlb.

Network Load Balancing Manager logging

Network Load Balancing Manager does not use Windows event logging and therefore you can not use Event Viewer to review messages from Network Load Balancing Manager. You instead must explicitly enable Network Load Balancing Manager logging and define a specific log file. Enable Network Load Balancing Manager logging by clicking Log Settings in the Network Load Balancing Manager Options menu. Check the Enable logging box and specify a name and location for the log file.

You should always manage a Network Load Balancing cluster from a trusted and secure computer, particularly when logging is enabled. The Network Load Balancing Manager log file contains potentially sensitive information about the Network Load Balancing cluster and hosts, so it must be properly secured. By default, the log file inherits the security settings of the directory in which it is created, so you might have to change the explicit permissions on the file to restrict read and write access to those individuals who don't need full control of the file. Be aware that the individual using Network Load Balancing Manager does require full control of the log file. For more information, see How to.

Notes

  • WLBS stands for Windows NT 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, refer to the Microsoft Windows Resource Kits Web site (http://www.microsoft.com/).


Network Load Balancing and stateful connections

Application servers maintain two kinds of stateful connections:

  • Interclient state: A state whose updates must be synchronized with transactions performed for other clients, such as merchandise inventory at an e-commerce site.
  • Intraclient state: A 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 might 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 directs 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.


Managing Network Load Balancing from the command line

After you have installed and configured Network Load Balancing, you can control its operations and modify parameter settings using the Network Load Balancing control application, Wlbs.exe, that is installed in the systemroot\System32 folder. To simplify and centralize system administration, you can run Nlb.exe either on the cluster hosts or on any remote 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 application, this application can be incorporated into administrative scripts.

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

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

For more information on the Network Load Balancing control application, see Nlb. For information about using Network Load Balancing Manager from the command line, see Nlbmgr. For information about other command-line utilities, see Command-line reference. For more information about manageability, see Management Strategies and Tools.

Controlling remote access

You can help protect the cluster from unauthorized access by remote computers by using a strong remote control password. The 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 Nlb.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.

Caution

  • The Network Load Balancing remote control option presents many security risks, including the possibility of data tampering, denial of service and information disclosure. It is highly recommended that you do not enable remote control and instead use Network Load Balancing Manager or other remote management tools such as Windows Management Instrumentation (WMI). Firewall blocking remote control commands

    If you choose to enable remote control, it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect the Network Load Balancing UDP control ports (the ports that receive remote control commands) in order to shield them from outside intrusion. By default, these are ports 1717 and 2504 at the cluster IP address. Use remote control only from a secure, trusted computer within your firewall. For more information on the remote control parameter, see Remote control. For more information about strong passwords, see Strong passwords.

Note

  • WLBS stands for Windows NT 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 might 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 the Microsoft Windows Resource Kits Web site (http://www.microsoft.com/).
  • For information on server clusters and how they work with Network Load Balancing clusters, refer to Updated technical information.
  • For a detailed description of how a business has used Network Load Balancing clusters and server clusters to improve performance and availability of their Web site and other services, refer to the scenario at the Microsoft Web site.

Maximizing the uptime of server systems requires careful attention to planning, design, and operations. For more information about monitoring recommendations for high-availability systems, see the "System Performance and Troubleshooting Guide" at the Microsoft Windows Resource Kits Web site (http://www.microsoft.com/). For more information about maximizing the availability of a Network Load Balancing cluster, see the "Server Management Guide" at the Microsoft Windows Resource Kits Web site and "High availability with clustering and NLB" at the Microsoft Windows Resource Kits Web site (http://www.microsoft.com/).

Microsoft maintains up-to-date product documentation at the Microsoft Web site (http://www.microsoft.com/). This site has information that is more current than the Help documentation on your product CD.

Microsoft Product Support Services provides a searchable database of technical support information for Microsoft products. You can search here for general information about Network Load Balancing or for information related to other Microsoft products. You can get to the Microsoft Product Support Services Web site by clicking the appropriate link in Support resources.

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, a message appears: "The system has detected an IP address conflict with another system on the network..."

Possible Cause Solution
  • The same IP address exists somewhere else on the network.
  • Choose a new IP address, or remove the duplicate address.
  • You have configured different cluster operation modes (Unicast and Multicast) on the hosts causing two different MAC addresses to map to the same IP address.
  • Ensure that all hosts are configured with the same cluster operation mode. For more information see Enable Network Load Balancing.
  • You configured the cluster's IP address before Network Load Balancing was bound to the network adapter.
  • Remove the cluster's IP address from TCP/IP properties, enable Network Load Balancing on the proper adapter as described in To enable Network Load Balancing and then configure the cluster's IP address.
  • You added the cluster's IP address to a network adapter that has not been enabled for Network Load Balancing.
  • Remove the cluster's IP address from incorrect adapter's TCP/IP properties, enable Network Load Balancing on the proper adapter as described in To enable Network Load Balancing and then configure the cluster's IP address.
  • You added the cluster's IP address in the TCP/IP dialog box, but you did not add the IP address correctly using the Network Load Balancing dialog box.
  • If you do not use Network Load Balancing Manager to configure your cluster, you must manually configure TCP/IP with the cluster's IP address. For more information, see To set up TCP/IP for Network Load Balancing.

There is no response when using ping to access the cluster's 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:

Possible Cause Solution
  • You did not add the cluster's IP address correctly in the TCP/IP properties.
  • If you do not use Network Load Balancing Manager to configure your cluster, you must manually configure TCP/IP with the cluster's IP address. For more information, see To set up TCP/IP for Network Load Balancing
  • If you are using multicast support, you might find that your router has difficulty resolving the primary IP address into a multicast media access control (MAC) address using the ARP protocol.
  • 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 hub.
  • 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).
  • 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.
  • Internet control message protocol (ICMP) to the cluster is blocked by a router or firewall.
  • Allow ICMP traffic through the firewall or router. Be aware that this may expose your system to additional security risk.

There is no response when using ping to access a host's dedicated IP addresses from another cluster host.

Possible Cause Solution
  • You did not add the host's dedicated IP address correctly in TCP/IP properties.
  • You must manually configure TCP/IP with the host's dedicated IP address. For more information, see To set up TCP/IP for Network Load Balancing
  • 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).
  • 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.
  • Internet control message protocol (ICMP) to the cluster is blocked by a router or firewall.
  • Allow ICMP traffic through the firewall or router. Be aware that this may expose your system to additional security risk.

When attempting to use Network Load Balancing Manager to connect to a host in your cluster, you receive the error "Host unreachable".

Cause: Internet control message protocol (ICMP) to the host is either blocked by a router or firewall, or disabled on the host's network adapter.

Solution: Enable ICMP on the host's network adapter or allow ICMP traffic through the firewall or router. Be aware that this may expose your system to additional security risk. You can also use Network Load Balancing Manager's /noping option. For more information, see Nlbmgr.

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

Cause: Verify that you can use ping to access the computer outside the cluster. If this test is successful you might not have listed the host's dedicated IP addresses first in the TCP/IP properties.

Solution: When you must manually configure TCP/IP with the host's dedicated IP addresses and the cluster's IP address, the dedicated IP addresses must be listed first. For more information, see To set up TCP/IP for Network Load Balancing.

If ping fails to access the computer outside of the cluster refer to the problems labeled "There is no response when using ping to access the cluster's IP address from an outside network" and "There is no response when using ping to access a host's dedicated IP addresses from another cluster host" described earlier in this troubleshooting information.

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.

Possible Cause Solution
  • Remote control commands are not being sent to the cluster's IP address. Commands must be sent to the cluster's primary IP address that was assigned in the Network Load Balancing Properties dialog box.
  • Be sure that you send remote commands to the correct IP address.
  • The remote control traffic is being encrypted by Internet Protocol security (IPSec). Network Load Balancing remote control commands will not work correctly if they are sent from a computer that has IPSec configured such that the remote control traffic is encrypted by IPSec.
  • Disable IPSec.

    For more information, see Internet Protocol security (IPSec).
  • Remote control is not enabled.
  • Enable remote control in the Network Load Balancing Properties dialog box.

    For more information, see To configure cluster parameters.

    Caution

    • The Network Load Balancing remote control option presents many security risks, including the possibility of data tampering, denial of service and information disclosure. It is highly recommended that you do not enable remote control and instead use Network Load Balancing Manager or other remote management tools such as Windows Management Instrumentation (WMI). Firewall blocking remote control commands

      If you choose to enable remote control, it is vital that you restrict access by specifying a strong remote control password. It is also imperative that you use a firewall to protect 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. Use remote control only from a secure, trusted computer within your firewall. For more information on the remote control parameter, see Remote control. For more information about strong passwords, see Strong passwords.
  • Network Load Balancing UDP control ports are protected incorrectly by a firewall. By default, remote control commands are sent to UDP ports 1717 and 2504 at the cluster IP address.
  • Be sure that these ports have not been blocked incorrectly by a router or firewall. You can also change the port number by modifying the corresponding Network Load Balancing parameter.
  • You used an incorrect password when attempting to use remote control.
  • Use the remote control password that you configured when you enabled the Network Load Balancing cluster.

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: None of the hosts have a dedicated IP address.

Solution: Assign a dedicated IP address to each host. For more information, see To configure host parameters.

Connectivity to the cluster is denied to some, but not all users.

Possible Cause Solution
  • An application being load balanced in not responding.
  • This is an application specific problem not related to Network Load Balancing. Refer to your application's documentation for correction. You may need to stop and restart the application.
  • If your cluster is configured for unicast mode, a switch might have learned the Network Load Balancing network adapter's MAC address.
  • Clear the switch's port to MAC address mapping.
  • The cluster's IP address was not added to TCP/IP on one or more of the hosts.
  • If you do not use Network Load Balancing Manager to configure your cluster, you must manually configure TCP/IP with the cluster's IP address. For more information, see To set up TCP/IP for Network Load Balancing.
  • A host is leaving the cluster because of a drainstop or stop command, but convergence did not complete correctly.
  • Wait for convergence to complete. If convergence does not complete, see the problem titled "After the cluster hosts start, they begin converging but never complete convergence" later in this troubleshooting guide.

You can not view or change the Network Load Balancing properties using net config and Windows Management Instrumentation (WMI).

Cause: In order to view or change Network Load Balancing properties, you must be a member of the Administrators group.

Solution: Log on as a user who is in the local Administrators group of the computer that is running Network Load Balancing.

An unusual number of TCP connections to the cluster's IP address are being reset by either the server or the client.

Possible Cause Solution
  • HTTP keep-alives are enabled on the Network Load Balancing hosts and keep-alive enabled clients are connecting to the cluster.
  • Disable HTTP keep-alives. For more information on HTTP keep-alives and Internet Information Services (IIS), refer to the IIS documentation set. To view the IIS documentation set from your desktop, install IIS then click the Start button, click Run, and type the following command in the Open text box: %windir%\help\iisrv.chm.
  • Low system resources on the server are causing TCP itself to reject the connections.
  • Free up system resources by for example, adding additional system memory or closing unnecessary applications.
  • The cluster has diverged into two separately converged clusters, causing more than one node to claim ownership of every connection.
  • Remove the two clusters then recreate a single cluster.

Virtual Private Network (VPN) calls fail when you make a change that causes convergence (such as adding a host, removing a host, or draining a host).

Cause: When using Network Load Balancing to load balance VPN traffic such as PPTP/GRE and IPSEC/L2TP, you must configure the port rules that govern the ports handling the VPN traffic (TCP port 1723 for PPTP and UDP port 500 for IPSEC) to use either Single or Class C affinity.

Solution: Configure the port rules governing ports 500 and 1723 to use either Single or Class C affinity. For more information see Network Load Balancing parameters.

After the cluster hosts start, they begin converging but never complete convergence.

Possible Cause Solution
  • Either a different number of port rules or incompatible port rules on different cluster hosts were entered. This will inhibit convergence.
  • Open the Network Load Balancing Properties dialog box on each cluster host and verify that all hosts have identical port rules.
  • You have a bad network adapter or cable.
  • Use the ping command to test connectivity. Ping the host's fully qualified domain name. You can also learn more about the problem by pinging your domain controller by IP address, and by pinging other network servers by name and IP address.
  • You have mismatched duplex settings on a switch or hub.
  • Confirm that duplex settings in each of your switches and hubs is configured appropriately.
  • The dedicated IP address that you used for one of the hosts already exists somewhere else on the network.
  • Choose a new IP address, or remove the duplicate address.
  • You defined one or more port rules that are applicable to only specific IP addresses, but your cluster contains hosts running Windows 2000.
  • If you use IP address specific port rules, your cluster must be running a product in the Windows Server 2003 family on all hosts.
  • You have configured different cluster operation modes (Unicast and Multicast) on the hosts.
  • Ensure that all hosts are configured with the same cluster operation mode. For more information see Enable Network Load Balancing.

The cluster moves in and out of a converged state.

Cause: Heartbeats are being missed due to intermittent network connectivity caused by a bad network adapter or cable, or other network problems

Solution: Use the ping command to test connectivity. Ping the host's fully qualified domain name. You can also learn more about the problem by pinging your domain controller by IP address, and by pinging other network servers by name and IP address.

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

Possible Cause Solution
  • The cluster hosts have become members of different subnets, so that all hosts are not accessible on the same network.
  • Be sure that all cluster hosts can communicate with each other.
  • A layer three switch is being used.
  • Put a layer two switch between the hosts and the layer three switch.
  • A break in a redundant switch caused the cluster to separate into two separate clusters, creating two separate default hosts.
  • Remove the two clusters then recreate a single cluster.
  • Your switch is configured to reject broadcast packets.
  • Configure your switch to accept broadcast packets (be aware that this might introduce certain security risks), or configure your Network Load Balancing cluster to use multicast mode.
  • One host in unable to send or receive heartbeats.
  • Use the ping command to test connectivity to each of the hosts. Ping the hosts' fully qualified domain name.
  • A host is plugged into the wrong port on the switch.
  • Use the correct port on the switch.

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

Possible Cause Solution
  • 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 application you do not want load balanced behaves properly.
  • To load balance a application across the cluster, create a port rule on every cluster host for the TCP/IP port(s) serviced by the application.
  • You added a second host to a single host cluster, but the second host is not configured correctly. The cluster never converges and the original host continues to handle all of the traffic.
  • Carefully review and if necessary correct each of the settings on the second host, for example cluster IP address, dedicated IP address and port rules.
  • If your cluster is configured for unicast mode, a switch might have learned the Network Load Balancing network adapter's MAC address.
  • Clear the switch's port to MAC address mapping.
  • A proxy server is sending all connections using a single IP address to your cluster in single affinity mode.
  • Configure your proxy server to use multiple IP addresses.

Traffic alternates unexpectedly between the cluster hosts breaking TCP connections.

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.

Network traffic does not appear to load balance evenly among the cluster hosts.

Cause: The network traffic is coming from a limited number of IP addresses, possibly due to a the use of a proxy server.

Solution: Configure your proxy server to use multiple IP addresses.

Notes

  • These topics describe several common problems that you might encounter when installing and initially using Network Load Balancing. Each topic describes the likely reasons for each problem and one or more suggested remedies.
  • These topics assume that your system and applications meet the minimum requirements for Network Load Balancing. For more information, see Checklist: Enabling and configuring Network Load Balancing and Determining which applications to use with Network Load Balancing.
  • Many of the problems described here can be avoided, diagnosed and corrected by using Network Load Balancing Manager. For more information, see Network Load Balancing Manager.
  • For additional troubleshooting support, go the Microsoft Product Support Services Web site by clicking on the appropriate link at Support resources and performing a search on "Network Load Balancing", "Nlb", or "Windows Server 2003."
  • 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.

    For more information, see Cluster parameters, Host parameters, and Port rules.


Index under development

Microsoft Windows graphic

The online help index is currently under development.