Clustering technologies have been built and used for many years to provide users with systems that are highly available, scalable, and easy to administer. Clustering enables several connected systems to appear to network users as a single, highly available system. If one of the systems in the cluster fails, another system continues to provide service, picking up where the failed system left off.
Clusters are also highly scalable, meaning that CPU, I/O, storage, and application resources can be added incrementally to expand capacity efficiently. Using clustering technology, system administrators can add smaller, standard systems as needed to meet overall processing power requirements.
Microsoft® Cluster Server is a software clustering technology that enables applications to run efficiently on Microsoft® Windows NT® Server network operating system platforms. Cluster Server directs client requests to the specific system in the cluster that is hosting the group of resources needed to service the request. If that system is unavailable, its resources are transferred to an alternate system and the request is redirected. Applications that are written to take full advantage Cluster Server features can cause this transfer to be transparent to the client.
Cluster Server focuses on high availability rather than on fault tolerance. A fault-tolerant system offers non stop availability, but at a significant cost. Fault tolerance is usually implemented by keeping a backup of the primary system. The backup system remains idle and unused until a failure occurs and must be kept completely consistent with the primary system. With Cluster Server, all systems remain active, performing normal, routine functions. Consistency across the systems is ensured. Cluster Server allows a small amount of down time to enable users to achieve high levels of availability and a better utilization of computing resources.