Advertisment

High Availability Systems 

author-image
PCQ Bureau
New Update

In the June 2003 issue (p 96) of  PCQuest, we saw how to do network load balancing which provides load balancing of IP-based traffic to address

bottlenecks caused by front-end Web services and the like. This time we will see how to achieve high availability and failover support for applications like back-end databases, messaging, file and print services and network services like WINS and DHCP. To do this, we will use Microsoft Cluster Service. It is a back-end cluster, which attempts to minimize the effect of failure on the overall system as any node in it fails or is taken off. High availability is achieved by redundancy, across multiple-connected machines in the network. Redundancy requires that application be installed on multiple servers within the cluster. However, an application is online on any one node at a given point in time. As the application fails, or the server is taken down, the application is restarted on another node. This process of a node taking up ownership of failed node’s resources is called “failover”. When the failed resource is later brought back online, the service can be configured to redistribute the resources back to it. This is called “fail back”. One point to remember is that this is different from fault-tolerant systems, which are systems with higher level of resilience and recovery. They use specialized hardware and software to minimize system failure and provide near-instantaneous recovery from any single failure. Whereas, Microsoft Cluster provides high availability in case of a service failure or server shutdown. Here the service restore time is more than fault tolerant 



systems.

Advertisment

We will look at how to configure Cluster Services on two nodes using Windows Server 2003, and then we will use it to provide file-sharing services. We will also test the cluster by bringing down the first node, originally serving the files, and see how the second node automatically takes charge to serve files to

the clients.

Configure Clustering 



To configure a cluster, all nodes participating in it should be in the same domain. So, first set up one machine as a domain controller and add the second machine to that domain. If you already have a domain controller then add both machines to that domain. Now proceed to the next step.

Windows Server 2003 provides a very handy Interface to configure a cluster. It is called Cluster Administrator. You can start it from, Start > Administrative tools > Cluster Administrator. Open up the Cluster Administrator. Now it will pop a dialogue box “Open Connection to cluster” from here you can choose from three options, Create New Cluster, Add nodes to Cluster and Open connection to cluster. If it is the first time click on the Create new cluster option. It will start up a Wizard, when continuing it will ask you for your Domain and the desired cluster name, which should be different from the Domain name. Fill them up and hit next. Now it will ask for the name of the first node in the cluster. Normally, it should be the same computer on which you are running the Cluster Administrator. So fill it up and again click on Next. Now it will perform a general analysis and show you whether there are any problems. If the test is successful then proceed to the next screen. Now it will ask you for the IP address of the cluster. This IP address is different from the IP address of your machine and is assigned to the entire cluster. Clients will connect to this IP to access services provided by the cluster. This IP binds to the network card of the active node, which is currently providing services to the clients. When the node fails and another node takes charge of the services, the IP binds to that node’s network adapter. This way the clients see only a single IP for the cluster irrespective of the node presently being active. Fill up the cluster IP and hit next. Then supply the authentic username and password for your Domain, under which the cluster service will run on all nodes. This should not be local user account but a domain-user account. On the next screen you will get the Option of setting the Quorum. A quorum resource is a storage-class resource and is used to store the definitive version of the cluster configuration. Typically, a quorum is either a physically shared disk (Shared Bus) or a Majority Node set. In this case we are going to use Majority Node Set (Should opt for it if don’t have a Shared Bus). Unlike, storing data through a single Shared Bus, here the data is saved separately in all the Nodes and then Cluster Server ensures that the data replicates to each node and

kept consistent.

Advertisment

Now, continuing to our work. Select on the Quorum tab and it will show a drop-down menu. From here select Majority Node Set and click on Next. The wizard will now re-analyze the whole setup and create your cluster.

Add New Nodes 



To add new nodes in the cluster go to File Menu > New > Node. It will start up a wizard.” Add Node Wizard” Enter the computer Name which you want to add to the Cluster (it should be a member of the domain), Click on Add and proceed. It will then analyze the Node. After it completes successfully, just follow the wizard. It will add the node to your cluster. 



Before you add any new node to the cluster first check that. “Trust Computer for Delegation” is activated or not. For that, Go to Start > Administrative Tools > Active directory Users and Computers. Then select Computer option. It will show the machines that are available in your network. Select the machine, which you want to add to the cluster. Right click on it and select Properties. From here activate the check box “Trust Computer for delegation”

Provide High Availability File Services



Now that you have your cluster ready, its time to put it to work. One of the most common network services is file serving which is used on almost every network. We will create a clustered file server and then bring down the node initially serving the files and then the stand-by node will take the responsibility of serving the same files to the clients.

Advertisment

To do this, open the cluster administrator and open connection to the Cluster. Go to the Groups and right-click New > Resource. A wizard opens up. Provide a name for the resource, for example, fileserver and, provide a description if you want. From the Resource type drop-down list select File Share, and then next. Select the possible owners for the service. These are the nodes which take part in the Cluster, then next. Then select the dependencies that must be brought online by the cluster service first. Select all available resources then next. On the next screen give the share name of the folder you will be sharing. Then give the path where the files are stored. This path should be of a shared storage, to which all nodes have access, if it is a local path then the files should reside on each node locally, which is not done for file sharing as there is only one copy of original files. Set the permissions and other advanced settings as per your requirement and then finish. After this the wizard adds the resource to the group, right click the resource and bring it online. Your cluster is set to serve files to clients.

Go to a client machine and access the shared folder by using the IP address of the cluster you specified during the cluster creation process. To do this go to start menu>run and type \\”cluster IP address”. Open the shared folder and access the files.

Now its time to bring down the node which is currently serving files. Shut down the node and you will see on the client machine that you are not able to access the shared files momentarily, after a short interval of 1-2 minutes, the cluster service will transfer the job of file serving to the second node. Now go to the client machine and voila you are able to access your server share and all shared files. If you look at the properties of the network adapter of second node, you will see that the cluster IP address is now assigned to it along with the original IP address of the adapter. This way, the cluster service is able to provide network services using the same IP address despite the original server being offline. If you have configured your cluster for failback, as soon as you bring the first node back all resources will transfer back to it. 

Anindya Roy and Anoop Mangla

Advertisment