Advertisment

Server Clustering

author-image
PCQ Bureau
New Update

A cluster consists of two or more interconnected computers sharing memory, storage space or processing power, designed to operate as a logically unified system. In other words, a server cluster is a group of small, independent servers managed as a single system. These smaller servers, individually called nodes, appear as a single logical unit to the user and share a common service or responsibility. The key benefits of using server clustering are in availability, performance and management. Servers in a cluster are available to back each other up in case one of them fails. In advanced systems this changeover can take place almost instantly. The advantage in performance arises from the ability to load balance the cluster as a whole. A cluster is also easier to manage than individual servers as it appears as a single logical entity.

Advertisment

Types of clusters Management cluster

The most commonly used type of clustering is the management cluster which focuses on easy management. There are two main types of management techniques –in-band and out-of-band. In-band management involves monitoring and administering a cluster of computers using on-board software called agents. Its name is derived from the fact that it utilizes the resources of the underlying OS. A popular example of in-band management is Simple Network Management Protocol (SNMP), used for managing Windows 2000-based systems.

Out-of-band management systems use maintenance processors that are independent of the cluster node being monitored. This makes the monitoring and maintenance process independent of the current state of the system. These maintenance processors support functions like remotely switching the node on or off and also allow for monitoring of variables like voltage, temperature, fan speed, etc. Communication between maintenance processors and the administering machine is provided by dedicated external connections such as serial ports. An effective cluster management technique involves integration the of in-band and out-of-band management strategies.

Advertisment

Availability cluster

Availability clusters, another popular type of clusters, provide insurance against failure of individual nodes. If one of the nodes in the clusters fails, the other nodes automatically take over. The simplest implementation of this technique involves fail-overs. In the fail-over approach, individual nodes within the cluster are assigned backup machines. These backup machines send a ping-like network packet at regular intervals (typically every few seconds), called heartbeat, to see if the server is alive. If the server does not respond to this command within a certain amount of time, the backup node senses a problem and takes over from it. This is done by reworking the IP layer of the network to have the IP address of the server point to the backup node. The whole process is transparent to the end

user.

Servers can be backed up using two configurations–active standby and active-active. In the active-standby configuration, the backup machine is dedicated to providing cover for the main node, and serves no other useful purpose. It sits idle as long as the main node functions properly. This, obviously, wastes a lot of system resources and the network performs, effectively, at half its possible capacity, presuming a backup machine for each node in the cluster. An alternative to this approach is the active-active technique. In this case, both machines are used for the day-to-day work of the network and are there to take over from each other in case of a failure. The workload is split among these machines using load-balancing techniques.

Advertisment

Sharing storage space

The most important component of clusters is the storage space. How do the individual nodes share storage space? How is consistency of data ensured across various nodes, especially in case of a failure of a node? There are two main ways in which a cluster can be set up–shared disk and shared nothing. In the shared disk configurations all nodes share a common storage space, but use their own memory and processing power. This removes the problem of inconsistency of data, as all changes are made available to other nodes instantly, removing the time lag which exists before changes are reflected in the storage areas of individual nodes in case of shared nothing nodes. However, there are two main problems with this technique. Firstly, that of a single point of failure–if the storage space goes down, then so does the whole cluster. Secondly, such a setup often requires special arrangements to ensure that the simultaneous reads and writes of various nodes are synchronized properly.

Shared nothing clusters are made up of nodes that have independent storage systems in addition to independent memory, processing power and other resources. These nodes exchange information using standard messages. Changes made by a node in its storage area are mirrored across other nodes. This provides for automatic backup of data in case of the failure of one or more nodes. Also, there is no need of any special techniques to co-ordinate the reads and writes of various nodes as these are now independent processes. But, this technique too has its drawbacks. Firstly it suffers from a time lag before the changes are reflected across all nodes, as discussed above. Also, it involves higher costs as it requires large amounts of storage space.

The minimum requirements for implementing server clustering are at least two servers (connected by a network), a way for these servers to access each other’s disks and special cluster software. Gone are the times, when clustering was a solution feasible only for large commercial organizations, with a lot of moolah to spare. These days it’s simple to set up a basic implementation of a cluster without using any special hardware and software. In fact, a bare-bones cluster can be set up using entry-level PCs and Linux, for example. However, setting up an enterprise-level cluster is a costlier affair and involves using special hardware as well as software. Windows 2000 Advanced Server and Datacenter Server, for example, support advanced clustering. 

Kunal Dua

Advertisment