When an organization is dependable to the computer resources infrastructure and downtime is not acceptable to the business production, deployment of fault tolerant Server technology such as Clustering is a must for the businesses today. If the servers are down, the business stops. Therefore, such server clustering technology is solutions that must be adopted to keep the business run if one of the critical servers fails.
Clustering is one of server fault tolerant technologies offered by Windows server 2003 (and later) which is dedicated to run one or more applications by configuring two or more application servers in such a way to provide fault tolerance and load balancing. If one server fails to operate, the other server will take over the role to keep the application operational. This is the concept of fault tolerance in server clustering technology.
In a server cluster technology, each of the servers runs the same critical applications. When one of the servers fails, the other server will take over the role automatically. This is the “failover” concept. If the failed server is back to normal, other server nodes will recognize this condition and the clustering system will use the server again. This is a “failback” concept.
Server Clustering Technology
In Windows server 2003 and later, there are two types of fault tolerance server technology: Server Cluster and Network Load Balancing (NLB). The difference between the two technologies lies on the types of applications that must be run by the servers and also the types and characteristic of the data they use.
Network Load Balancing (NLB)
Network Load Balancing (NLB) is one of the server redundancy offered by Microsoft which is easy to install, manage, and maintain. You can use the available hardware and software in the servers, no need of additional software or hardware. You can use the application available in Windows 2003 “Network load balancing manager” to create, manage, and monitor the NLBs. NLB mostly run the memory stateless applications, the applications which data is not changed all the time.
- Supported by all types of Windows 2003 including Standard, Enterprise, and Datacenter types Server
- Can be used to deploy up to 32 nodes Network Load Balancing where each of the server has duplicate copy of the application that you want to provide to the users.
- Full load balancing for both TCP and UDP traffic
- Can be used for Web servers, ISA servers, VPNs, Media servers, and Terminal Servers
Network load balancing works by creating such a virtual network adapter on each of the nodes that represents a single cluster entity. Virtual adapter has independent IP address and MAC address different from each of the IP addresses given to each server interfaces. Clients will access the virtual IP address instead of accessing each of the server nodes.
If a request comes from a client to the cluster IP address, all the nodes in the cluster system will receive and process the message. In each of the nodes in NLB cluster, an NLB service will function as the filter between the cluster adapter and the computer TCP/IP stack. This filter will allow the NLB for the calculation in deciding which node in the cluster system will be responsible to response to the client’s request. Each of the nodes in the cluster does not need to make communication between them. Each of the nodes will make the same independent calculation and make their own decision whether to respond the client’s request or not. The calculation formula will only be changed if the number of server nodes changes.
The other types of fault tolerance Server technology is Server Cluster which is designed for applications which data is huge enough and changed frequently and is typically called statefull Applications and contain databases such as Microsoft SQL, Exchange server, server file and printers. All of the nodes in the cluster system are connected to a set of data and share a single SCSI bus or SAN (storage area network). All nodes have the same access to the same application and each node can also process the client request every time. You can configure each of the nodes to be active or passive. The active node can receive client requests, while the passive node is idle and function as the “failback” when the active node is failure.