Network Load Balancing - Concept and Notes.

Article translations Article translations
Article ID: 556067 - View products that this article applies to.
Author: Nirmal Sharma MVP
Expand all | Collapse all

SUMMARY

This article has information about Network Load Balancing - a Microsoft Clustering Technology.

MORE INFORMATION

  • Q. How do you test a NLB Cluster?
  • For example you have found nodes in the cluster and want to check whether Load Balancing is working or not. Create different four shares on four nodes and try to access them from one machine. You must get each time different share when browsing using UNC patch.
 
  • You can adjust the Convergence parameters by adjusting the following registry values:
  •     AliveMsgPeriod
        AliveMsgTolerance
 
  • Configuring more than one VIP (Virtual IP) is available only in Windows 2003 editions and later.
  • There is a different between STOP and DRAINSTOP commands. The STOP command will stop the NLB service on host and all existing connections will be lost
    whereas DRAINSTOP will allow NLB to serve corrent connections and disable the new connections at the same time.
  • IGMP can be configured only when Cluster is configured to use Multicast support.
  • Server shouldn't have any network property opened while configuring using NLB Manager.
  • NLB should have correct local time on all servers.
  • NLB doesn't detect application failure. For example, a Web Server service may stop but NLB will still send TCP/IP requests to that server.
  • NLB is used for the TCP/IP based application for which the data changes happen rarely.
  • Do not any other protocol except TCP/IP to cluster adapter.
  • NLB Cluster can operate either in Unicast or Multicast mode but not both.
  • Microsoft doesn't support mix of Server and NLB Cluster.
  • Mix-NLB is allowed. Windows NT WLBS can run in Windows 2000 NLB.
  • NLB doesn’t support Token Ring and ATM networks. It has only been tested on 10 and 100 MB Ethernet network.
  • Single Network Card Limitations: when running in Unicast Mode:
  • 1.    Ordinary network communications between cluster hosts not possible.
    Network traffic intended for any individual computer within the cluster generates additional networking overhead for all computers in the cluster.
    2.    Further to this, we cannot use Network Load Balancing Manager on this computer to configure and manage NLB nodes.
  • 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.
  • The load is automatically redistributed to other nodes when a host goes offline. All the active connections to that host are lost. If you are
    internationally taking a node offline then you can use the drainsstop command to service all the active connections before you take the node offline.
  • You can have a mix of applications running in the NLB cluster. For example, you can run an IIS Web Server on all nodes and SQL server on
    one node only. This way you can designate the traffic for database to SQL server node only.
  • NLB and Clustering both can not be active on same computer but you can form two cluster - Four Node NLB cluster and 2 node server cluster
    Is it necessary to have separate subnet for both the technology?
  • NLB Supports upto 32 computers in a single cluster but you can use RRDNS to increate the number.
  • NLB can load balance multiple requests from client on the same node or different node. This is done randomly.
  • NLB automatically detects and remove the failure of NLB Node but it can't judge whether an application is running or stopped working. This
    should be done manually by running a script.
  • Automatically load balances when new hosts are added or removed and this is done within 10 seconds.
  • Different Virtual Cluster IP can be created to load balance different applications.
  • Port rules must be same across the cluster but Port Rules can be different for multiple Virtual IP.
  • NLB doesn't overlap the original computer name and IP address.
  • NLB can be enabled on multiple network adapters. This allows you to configure different NLB Cluster.
  • NLB can operate in two modes - Unicast or Multicast but both the modes can't be enabled at the same time. Unicast is the default mode.
  • NLB enables each host to detect and receive incoming TCP/IP traffic. This traffic is received by all the hosts in cluster and NLB driver filter
    the traffic as per the Port Rules defined. NLB nodes do not communicate with each other for incoming traffic coming from client because NLB
    is enabled on all the nodes. A statistically mapping rule is created on each host to distribute incoming traffic. This mapping remains the same
    unless there is a change in the cluster (for example, node removed or added).
  • Convergence is a process to re-build the cluster state. This process invokes when there is a change in cluster (for example, node fails, leaves,
    or re-join the cluster). In this process the following actions are taken by cluster:
  •     1. Re-build the cluster state.
        2. Designate the host with the highest host priority as the Default Host.
        3. Load-balanced traffic is re-partioned or re-distributed among the remaining hosts.
  • During this process, remaining host continues to handle incoming client traffic. 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
  • All the nodes in cluster emits the heartbeat messages to tell their availability in the cluster. The default period for sending heartbeat
    message is 1 second and 5 missed heartbeat messages from a host cause NLB to invoke Convergence process.
  • We can configure multiple NLB clusters on the same network adapter and then apply the specific port rules to each of those IP addresses.
    These are referred to as "Virtual Clusters".
  • Windows 2003 comes with a GUI tool called: Network Load Balancing Manager and NLB.exe - a command line tool. In Windows 2000 it is WLBS.exe and there is no GUI tool also.
    This GUI tool can be installed on XP also to manage only Windows 2003 NLB. NLB Manager uses DCOM and WMI.
  • You should be the member of Administrators group on node for which you are configuring NLB. You don't need to be an administrator to run the NLB Manager.
  • Single NIC > NLB Enabled in Unicast mode - You can not use NLB Manager on this computer to configure and manage other hosts because a
    single network adapter in unicast mode cannot have intrahost communication.
  • Intra-host communication is possible only in multicast hode. To allow communication between servers in the same NLB cluster, each server requires the
    following registry entry: a DWORD key named "UnicastInterHostCommSupport" and set to 1, for each network interface card's
    GUID (HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WLBS\Parameters\Interface\{GUID})
  • There is no restriction on number of adapters. Different hosts can have different network adapters.
  • Single Network Adapter In Unicast Mode           
    ======================================
  • a. Adapter's own MAC address is disabled: The cluster MAC address which is generated automatically replaces this address.
    b. Both the dedicated IP address and Cluster IP Address resolve to the Cluster MAC address.
    c. Ordinary Network communication between cluster hosts is not possible.
 
  • Cluster Parameters
    ===============
  • Cluster MAC Address is generated automatically by using the Cluster IP Address and it is unique across the subnet.
  • Remote Control will not work if IPSEC is enabled. Remote control uses 1717 and 2504 on port over UDP.
  • Priority Unique Host ID: Lowest number is the highest - The host with this priority handles all the incoming traffic which are not covered by Port Rules.
    If a cluster node is joined with the same priority, it is not accepted as the part of the cluster but other nodes will continue to operate. This is called
    the Default Host. If Default Host fails, the other node with higher priority can act as a Default Host.
  • Dedicated IP Address must be entered first in TCP/IP Property. It cannot be DHCP enabled. This same applies to VIP also.
  • You can not add more than 32 Port Rules to one cluster and it must be same across the cluster.
 
  • Network Load Balancing Manager
    ===========================
  • You can not open any network property for the host if NLB Manager currently uses this.
  • NLB can be configured for any machine as long as you have administrative rights on the remote computer.
  • To configure NLB successfully on Windows 2003, use the NLB Manager - Make sure you have unchecked the NLB from all hosts.
  • When you add a host using NLB Manager the Port RUles and associated options will be inherited from the initial host.
  • You can not open other hosts from the NLB Manager if NLB is operating in Single Adpater with Unicast Mode because a single network adapter with unicast
    mode cannot have intrahost communication. To make this happen use this registry: UnicastHostInterCommSupport and set it to 1.
  • You can use the Credentials Option in NLB Manager to specify the credentials for remote hosts. NLB Manager will try to connect to remote hosts using this
    credentials.
  • You should use either TCP/IP Property settings or NLB Manager but shouldn't use both to configure NLB.
  • NLB Manager doesn't connect or show the mis-configured Hosts in a cluster.
  • Hosts for which you don't have administrative membership will not be displayed in NLB Manager.
  • The list of all port ranges are sorted by Port Range.
  • NLB can have mixed of Domain Controllers, Member Servers, Workgroup servers etc. This is not the limitation of NLB actually. NLB should be able to access
    the computer using the built-in administrator account.
  • When you enable NLB on a server, the default registry entries are created under : HKLM\System\CurrentControlSet\Services\WLBS
  • The DIP and VIP must be entered correctly. The cluster nodes will converge with each other if you omit this step but they won't be able to accept
    and traffic.
  • IP Address conflict message is displayed for VIP only. Make sure VIP from all adapters is removed if you uncheck NLB on that host.
  • The following tools can be used with NLB for monitoring:
  • ClusterSenitel
    Data Warehouse Center
    HTTPMon - for monitoring IIS Services.
    MOM
  • When load balancing PPTP requests, the two network adapters are reuqired on each NLB host.
  • You should supply gateway address in TCP/IP property when configuring two network adapters. The gateway should be entered to FE NIC.
  • NLB must be enabled on the Public or Internet facing network adapter.
  • Loading Balancing a telnet connection requires the associated ports to be opened. A telnet connection spans only one connection per IP so affinity is not required in this case.
  • The original implementation of NLB is WLBS. All the events are recorded in the source of WLBS. The command line interface for NLB is WLBS and in Windows 2003 it is NLB.
  • NLB Manager WMI provider cannot connect to a cluster host for which the computer name starts with a numeric character. This is bug.
  • NLB doesn't replicate the application data. You might need to use the Microsoft content Replication System (CRS) or third party software.
  • NLB doesn't monitor the services stop or start also. You can use HTTPMon that comes with Resource kit. You can use the following tools described below:
  • http://support.microsoft.com/kb/233178/
  • Exception Monitor
    HTTPMon
    Third-party monitoring tools
    • SiteScope by Mercury Interactive Corporation (http://www.mercury.com (http://www.mercury.com))
    • AppManager by NetIQ (http://www.netiq.com (http://www.netiq.com))
    • WhatsUp Gold by Ipswitch (http://www.ipswitch.com (http://www.ipswitch.com))
 
  • Unicast Mode with Single NIC
    =======================
    In Unicast Mode, NLB modifies the Network Adapter's MAC address to Cluster MAC. Now, there is only one MAC Address available in cluster - that is Cluaster MAC
    and this MAC address has to be same on all cluster hosts. Network Re-director can't forward the request to same MAC Address if it is originating from the same source.
    and also host cannot communicate with each other - This is the disadvantage of Unicast Mode with Single NIC. To enable hosts to talk to each other, enable either
    MULTICAST mode or install a second NIC.
  • You may get "No interace is available to configure load balancing" when using network load balancing manager. You get this error if you have imagaed a server
    or copied to virtual machine. All network GUIDs will be same. You need to re-install the network adapater from device manager to overcome this problem.
  • While configuring NLB through NLB Manager and you have deleted the host from the cluster. If that status of that still shows pending for a long time then
    manually disable the NLB in host. It would disapper from the Manager.
  • It is always best practice to add local host (on where you're running NLB Manager) after adding all host when you're running NLB Cluster in Single NIC with
    Unicast Mode.
  • It is recommended to run NLB Manager on a separate computer which is not part of cluster when you're running Cluster in Single NIC with Unicast or Multicast Mode.
  • If you have added the local host to NLB Manager in single nic unicast mode and when you refresh, all other hosts will be unreachable.
  • When you access VIP using UNC, you might get the login box if you're request is being forwarded to a host who is not in domain and you're member of domain. You might need to supply user credentials.
  • Crossover cable between NLB nodes doesn't work correctly for heartbeat messages and others. It works great in server clustering.
  • Heartbeat messages are transmitted over NLB Enabled NIC always whether you're operating cluster in Unicast or Multicast mode.
  • When an application running on a host dies or stop the NLB will keep forwarding the requests to that server because NLB doesn't monitor the state of the
    application.
  • Only Windows 2003 and later versions can be configured by the NLB Manager. However, you can manage previous versions of Windows but can't configure them using NLb Manager.
  • Remote control for NLB uses UDP port 2504.
 
  • Windows 2008 Network Load Balancing Enhancements:
    ============================================
  • There is a support fo IPV6 in Windows server 2008 for NLB. An IPV6 host can join NLB node.
  • Multiple Dedicated IP Addresses are support in Windows Server 2008 for NLB.
  • Supports rolling upgrade from Windows 2003 to Windows 2008.
  • Supports for Unattended NLB Installation
  • Supports for NLB in server Core also.

Properties

Article ID: 556067 - Last Review: March 1, 2008 - Revision: 1.0
APPLIES TO
  • Microsoft Windows Server 2003, Datacenter Edition (32-bit x86)
  • Microsoft Windows Server 2003, Enterprise Edition (32-bit x86)
  • Microsoft Windows Server 2003, Standard Edition (32-bit x86)
  • Microsoft Windows Server 2003, Web Edition
  • Microsoft Windows 2000 Service Pack 1
  • Microsoft Windows 2000 Service Pack 4
  • Microsoft Windows 2000 Enterprise Edition
Keywords: 
kbpubmvp kbpubtypecca kbhowto KB556067
COMMUNITY SOLUTIONS CONTENT DISCLAIMER
MICROSOFT CORPORATION AND/OR ITS RESPECTIVE SUPPLIERS MAKE NO REPRESENTATIONS ABOUT THE SUITABILITY, RELIABILITY, OR ACCURACY OF THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN. ALL SUCH INFORMATION AND RELATED GRAPHICS ARE PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT AND/OR ITS RESPECTIVE SUPPLIERS HEREBY DISCLAIM ALL WARRANTIES AND CONDITIONS WITH REGARD TO THIS INFORMATION AND RELATED GRAPHICS, INCLUDING ALL IMPLIED WARRANTIES AND CONDITIONS OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, WORKMANLIKE EFFORT, TITLE AND NON-INFRINGEMENT. YOU SPECIFICALLY AGREE THAT IN NO EVENT SHALL MICROSOFT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY DIRECT, INDIRECT, PUNITIVE, INCIDENTAL, SPECIAL, CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF USE, DATA OR PROFITS, ARISING OUT OF OR IN ANY WAY CONNECTED WITH THE USE OF OR INABILITY TO USE THE INFORMATION AND RELATED GRAPHICS CONTAINED HEREIN, WHETHER BASED ON CONTRACT, TORT, NEGLIGENCE, STRICT LIABILITY OR OTHERWISE, EVEN IF MICROSOFT OR ANY OF ITS SUPPLIERS HAS BEEN ADVISED OF THE POSSIBILITY OF DAMAGES.

Give Feedback

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com