Configuring Network Load Balancing (NLB) for a Windows Server cluster

Network load balancing distributes traffic across multiple backend servers and provides redundancy for critical applications. Windows Server includes a Network Load Balancing (NLB) feature that allows admins to use the resources of multiple application servers evenly.

Network Load Balancing (NLB) distributes TCP/IP traffic across multiple servers by combining their resources into a virtual cluster configuration where each server is viewed as a host. Each Windows Server participating in network load balancing runs an identical copy of the server applications.

The Network Load Balancing service then distributes incoming client requests to the various nodes of the cluster. This configuration has several benefits:

  • Admins can configure custom load values to be handled by each host
  • New hosts can be dynamically added to scale the capacity of the NLB cluster
  • You can also configure a default host if you want to have a single host handle all traffic by default
  • The NLB cluster is referenced by clients using a single IP address that can be configured with a proper DNS name
  • NLB knows the backend IP addresses of each host and forwards the traffic accordingly

Important considerations with Network Load Balancing

The following items are important to consider with Network Load Balancing to ensure it functions correctly:

  • Configuring the correct time on all NLB hosts is important
  • Don’t configure any other protocols on the cluster network adapter
  • You can configure the cluster to operate in unicast or multicast mode but not both
  • You can’t mix Windows Server Failover Cluster and Network Load Balancing

Which applications work well with Network Load Balancing (NLB)?

Network Load Balancing as found in Windows Server works well with web-based applications. Microsoft specifically mentions running highly available Internet Information Services (IIS) websites with minimal downtime. As load increases, admins can add servers to the NLB cluster to increase capacity.

Businesses can also use network load balancing in front of SQL Servers to increase availability and redundancy. For example, you may configure a report server on a Network Load Balancing cluster.

Installing the Network Load Balancing Windows Server Feature

The first part of the process is adding the Network Load Balancing feature in Windows Server. You can easily do this using Server Manager. On the Features screen, place a checkmark by the Network Load Balancing feature. On the next screen, you will see a prompt to add features required for network load balancing. Click the Add Features button.

Confirm the installation of the Network Load Balancing feature and click Install.

After a moment, the Network Load Balancing feature will finish installing successfully, and no reboot is needed.

In addition, you will have to install the Network Load Balancing feature on all Windows Servers participating in the NLB cluster.

Creating a new NLB cluster

Launch the Network Load Balancing Manager from the Administrative Tools on your Windows Server. Right-click the Network Load Balancing Clusters node and select New Cluster.

Enter the IP address of the first host you want to join to the NLB cluster. Click the Connect button. It populates the IP addresses of the Windows Server. Click Next.

On the Host Parameters screen, you can configure the priority of the specific host, add IP addresses if needed, and set the default host state. Click Next.

On the next screen, click the Add button to add a new cluster IP address. It will be a virtual IP address that all NLB hosts will assume as part of the NLB cluster.

When the new cluster IP address is added, click Next. Now, configure the cluster parameters. Here, you can set the Full Internet name and the Cluster operation mode.

After the new cluster IP address has been added, click Next.

On the Port Rules screen, configure the ports you want the NLB cluster to direct to the hosts. Here, I am defining Ports 80 and 443 for web traffic. Click Finish.

We have successfully added the first NLB host to the cluster. We need to add additional hosts to the NLB cluster. Right-click the cluster node and select Add Host to Cluster.

We begin the process of adding the second NLB host to the cluster. Enter the IP address of the new NLB host and click Connect. Once the adapters are populated, select the adapter, and click Next.

Follow the remaining steps to add the second NLB host to the cluster.

I have loaded Internet Information Services (IIS) on both NLB servers participating in the cluster. A DNS record has been configured for nlbcluster.cloud.local. Browsing out to the cluster name returns the test site correctly. There isn’t any special configuration you need to perform to make IIS work with NLB.

To test the high availability of the NLB cluster, we will drainstop the first node.

The first host is now drained, and services are stopped.

Can we still get to the site? Yes, a quick refresh of the host in a browser still returns the site.

Concluding notes

Windows Server Network Load Balancing provides an easy way to create highly available services that can withstand the loss of a server host on the backend and still enable access to critical services. It also provides an easy way to scale services as needed.

Subscribe to 4sysops newsletter!

You can add Windows Server hosts as load or demand increases. IIS and other services do not require any special configuration to work correctly with NLB. Windows Server Network Load Balancing is an easy way to bolster availability in the enterprise datacenter and requires minimal administrative effort to implement.