Round robin is an effective way to share the load across nodes. It has one problem though, it is not fault tolerant. If one of the nodes fail, request may still be directed to a node that is not responsive. Also adding and removing nodes can only be done at DNS replication speed. To get away from this limitation you can implement Network Load Balancing. It has the advantages of detecting if a node has diesdand then only serves from the live nodes. Machines can also be added and removed form the NLB without needing DNS changes.
In this article I will step through configuring the Windows Network Load Balancing (NLB) for Hyper-V and physical environments.
This replaces the round robin section of TASK 4 from Building a RDS Load Balanced Farm with a RD Connection Broker
Prepare Hyper-V for NLB
This only needs to be done if you are using a virtualised environement.
Your RDS host machines will be bound in a NLB, this forces the MAC address to be spoofed. This by default is not enable on Hyper-V
From the Hyper-V Manager
- Shut down and Power down the RDS host machines.
- Right Click the RDS VM and select Settings
- Select the Network adapter
- Check Enable spoofing of MAC addresses
Prepare Windows Network Load balancing
This needs to be done on every member server that will participate in the NLB
Add additional IPs
If you configure the host with a Unicast NLB you need to add an additional network adapter and assign it another "Management" IP address. All the NLB IPs must be on the same subnet
You can also use this to manage your RDS since a load balanced farm address will get bounced around.
From the server manager
- Click Features
- Add Feature
- Add the Network Load Balancing Feature
- Next to install
- Close to Finish
Configure NLB Cluster
Once all the nodes have been configured you can create and add to the cluster
Create the cluster
- Open Administrative Tools
- Click Network Load Balancing Manager
- From the File Menu click Cluster
- Specify the local host name
- Select the NLB adapter
- The dedicated IP address should be the NLB adapter's IP
- Specify the IP you want to use for NLB (The virtual IP)
- Specify the FQDN for the NLB IP you created
- Select Unicast
Add Nodes to the cluster
Once the cluster has been created you can now add the additional nodes that you prepared in the steps above
From the Network Load Balancing Manager
- Expand the Cluster you have created
- Select the Cluster name
- Right Click Add Host To Cluster
- Specify the name of the additional node
- Select the NLB Interface
- Accept the dedicated IP address
The new node will now be added and once the status is "Converged" the NLB is up and running.
Add DNS record for the NLB IP
Unlike round robin you will now only create a single DNS entry pointing to your NLB virtual IP
To finish up continue with Building a RDS Load Balanced Farm with a RD Connection Broker.