Microsoft's Network Load Balancing Service
Network Load Balancing (NLB)
Before we discuss about Microsoft Network Load Balancing Service (NLB), we should know what is NLB and why is it required?
A Cluster is a group of independent servers that work together to run a common set of applications and provide the image of a single server to the clients connected to the cluster and the application. These servers are connected through cables and cluster software. These connections allow these servers to use problem-solving features like failover in Server Cluster and load balancing in Network Load Balancing Clusters.
The Clustering Service was introducing with Windows NT 4.0 Enterprise Server. However, the problems occurred while running Clustering Service in NT 4.0 ES (Enterprise Server), including slow performance when using Fiber Channel and usage of large amount of hard disk space, which stopped serving clients. NT Server 4.0 doesn’t support clustering however it supports load balancing. Windows NT 4.0 ES supports load balancing and can be clustered with two nodes.
Windows 2000 Advance Server support a two-node cluster and load balancing where as Windows 2000 Datacenter Server will support four-node cluster with load balancing. Microsoft offers four types of clustering services. They are:
· Microsoft Cluster Server (MSCS)
· Network Load Balancing (NLB)
· Component Load Balancing (CLB)
· Application Center 2000
Network Load Balancing (NLB):
Network Load Balancing is a clustering technology offered by Microsoft as part of all Windows 2000 Server and Windows Server 2003 family operating systems. NLB uses a distributed algorithm to load balance network traffic across a number of hosts, helping to enhance the scalability and availability of mission critical, IP-based services, such as Web, Virtual Private Networking, Streaming Media, Terminal Services, Proxy, etc. It also provides high availability by detecting host failures and automatically redistributing traffic to operational hosts.
Network Load Balancing (NLB) clusters dynamically distribute the flow of incoming TCP and UDP traffic among the cluster nodes according to a set of traffic-handling rules. NLB clusters provide a highly available and scalable platform for applications such as IIS, ISA server, etc. NLB is used for stateless applications; i.e. those that do not build any state as a result of a request.
NLB and server clusters compliment each other in complex architecture. NLB is used for load balancing between front-end Web Servers where as server clusters provide high availability for back-end databases.
In Windows 2000 Advanced Servers, NLB works in two different ways: They are:
· Active/Active Clustering
· IP Based Load Balancing
Active/Active Clustering:
Active/Active Clustering is the process where we want all servers in the cluster group to service clients and still be able to take up the load of a failed server in case of disaster. In Active/Active clustering, we have nodes in the cluster sharing the load, thus, when one node fails and the other nodes must take up the load. There may be little loss of using the server resources.
IP Based Load Balancing:
IP based load balancing is another form of load balancing, though, which if we have one IP address for an entire load-balanced cluster (with Windows 2000 Advanced Server, this scales to 32 nodes) and using an algorithm, each node in the cluster helps with the entire data-traffic load. We can also use third-party solutions for load balancing in this manner.
How NLB Works?
In Network Load Balancing (NLB), a driver is sit between the TCP/IP stack and the NIC card. This driver is installed when we apply the service on every node in the cluster. All nodes participate by using one IP address, which is call a Virtual IP Address (VIP). Only one node will respond each time, however this will be a different node within the cluster. An affinity feature is used to weight the balance of the load when we can configure NLB with Application Center 2000.
Benefits of NLB in Windows 2000:
Multiple benefits offered by NLB for using Windows 2000 load-balanced solutions are:
· Balancing the load
· Transparent Convergence
· Adding and Removing Servers as needed
· Specify how much load certain servers have
· Multicast-based messaging between nodes.
Convergence:
All NLB hosts exchanges heartbeat message to inform the default host that they’re still active in the cluster. When a host doesn’t send or respond to the heartbeat message, a process begins called Convergence.
During convergence, hosts that are still active are determined, as well as and whether they can accept loading. When a new host joins the cluster, it sends out heartbeat messages, is also trigger convergence to occur. Once all cluster hosts agree to the current status of the cluster, the loading is repartitioned and convergence ends.
Adding and Removing Servers:
With Windows 2000 load balancing, we can easily add and removes nodes to the cluster. Windows 2000 Advanced Server allows for up to 32 nodes, so that we can start off with 8 nodes and increases that number when necessary.
Difference between Windows 2000 Server and Windows Server 2003 Clustering and Load-Balancing:
The enhanced clustering features of Windows Server 2003 are:
Windows Server Enterprise version will allow for four-node cluster where as Windows 2000 Advanced Server supports up to a two-node cluster.
Windows Server 2003 Datacenter Edition supports eight nodes cluster where as the Windows 2000 Datacenter server supports four nodes.
All versions of Windows Server 2003 supports load balancing.
Windows Server 2003 is capable of NLB, where as Windows 2000 Server is incapable of NLB.
In Windows Server 2003, Cluster Service is added to Active Directory, where, a virtual object is created, which allows applications to use Kerberos Authentication, as well as delegation.
The enhanced load-balancing features of Windows Server 2003 are:
Virtual Clusters, we can configure clustering like switch-based VLANs.
Supports IGMP (Internet Group Membership Protocol), which is to have multicast grouping configured for NLB clusters.
Inception of Bidirectional Affinity in which we need to implement to have server publishing while using ISA Server 2000.
Central Management utility to manage the NLB Clusters (Network Load Balancing Manager). Using NLB Manager (nlbmgr.exe), we can easily perform the most common NLB Cluster control and configuration options from an easy to use GUI mode.
Features of Network Load Balance (NLB):
Some of the benefits/features of NLB are:
Runs on the device to be load-balanced, rather than a separate device.
Presents a Virtual Internet Protocol (VIP) TCP/IP address to the clients.
Distributes incoming TCP connections and User Datagram Protocol (UDP) datagrams among up to 32 servers, scaling performance of the cluster.
Detects hosts that have become unavailable and automatically redistributes traffic within eight seconds, ensuring high availability.
Permits full remote control from any Microsoft Windows NT 4.0 based, Microsoft Windows 2000-based or Microsoft Windows Server 2003-based computer.
Inherently supports Secure Sockets Layer (SSL) sessions.
Features unavailable in Network Load Balance:
Features unavailable in NLB are:
Replicate data among servers. However this function can be accomplished by using Microsoft Content Replication System (CRS) or a third-party software.
Load-balance or provide fault tolerance to multiple database servers (unless we are using read-only databases). To do so, we can use Cluster Server.
Start or stop programs on the servers.
Detect services that are not working correctly. We can use the HTTPMon tool that is included with the Windows 2000 Resource Kit or third-party software.
Globally distributed network traffic or globally load balance. We can perform this feature by using the Round-Robin concept of DNS or by using third-party product.
Perform protocol-specified request routing or load balancing.
Provide a true virtual (cluster) NetBIOS computer name.
Page, send e-mail messages, or alert operators about a computer problem.
Pro’s of NLB Service:
The pro’s of NLB Service are:
- With the proper level of load balancing on our server, we ensure consistent level of web services; this would be a pro in properly implementing NLB.
Con’s of NLB Service:
- The cost of the hardware requirements is one of the con’s in Network Load Balance Service.
1 comment:
Nice article. Could you please write on DNS?
Post a Comment