In Lesson 2, "Planning Server Cluster Configurations," you learned what steps to take in order to plan your cluster configuration. One of these steps was to choose a server cluster model. Server clusters can be categorized in three configuration models in order of increasing complexity. This lesson describes each model and provides examples of the types of applications that are suited to each one. These models range from a single-node cluster to a cluster in which all servers are actively providing services.
Clusters can be categorized in three configuration models: single-node, active/passive, and active/active. This section describes each model and gives examples of the types of applications that are suited to each one.
In Model 1, applications are configured on a single node. Although the model can use virtual servers, it can’t use failover. This model has the following advantages:
Figure 4.8 represents an example of a single-node cluster. Notice that failover can’t be supported.
Figure 4.8 - Single-node server cluster configuration
An example of using the single-node configuration would be to locate all the file and print resources in your organization on a single computer, establishing separate groups for each department. When clients from one department need to connect to the appropriate file or print share, they can find the share as easily as they can find an actual computer.
Some applications, such as SQL Server versions 6.5 and 7, can’t be installed on a single-node cluster.
Model 2 provides maximum availability and performance for your resources but requires an investment in hardware that’s not in use most of the time.
In this model, one node, referred to as the primary node, supports all clients while its companion node is idle. The companion node is a dedicated secondary node that’s ready to be used whenever a failover occurs on the primary node. If the primary node fails, the secondary node immediately picks up all operations and continues to service clients at a rate of performance that’s close to or equal to that of the primary node. The exact performance depends on the capacity of the secondary node. This approach is often referred to as an active/passive configuration. Figure 4.9 represents an example of the dedicated secondary node approach.
The active/passive configuration is best suited for the most important applications and resources in your organization. For example, suppose your organization maintains an e-commerce site that relies heavily on a SQL Server database. If the database is unavailable, the site is essentially useless to your customers. As a result, the expense of doubling your hardware in this area is justified by the ability to protect client access to your organization. If one of your SQL Server computers fails, another server is fully configured to take over its operations.
Figure 4.9 - Active/passive configuration
If your budget allows for a secondary server with identical capacity to its primary node, then you don’t need to set a preferred server for any of the groups. If one node has greater capacity than the other, setting the group failover policies to prefer the larger server keeps performance as high as possible.
If the secondary node has identical capacity to the primary node, set the policy to prevent failback for all groups. If the secondary node has less capacity than the primary node, set the policy for immediate failback or for failback at a specified off-peak hour.
An active/passive configuration represents one example of a dedicated secondary node. With an active/passive configuration, nodes in a server cluster aren’t limited to providing applications that use clustering. Nodes that provide clustered resources can also support applications that aren’t cluster-aware and that will fail if the server stops functioning. Figure 4.10 represents an example of an active/passive configuration that includes cluster-aware applications and applications that are not cluster-aware.
The applications in groups 2 and 3 serve clients on one of the servers, but because they aren’t cluster-aware, you don’t establish failover policies for them. For example, you might use a node to run a mail server that hasn’t been designed to use failover or for an accounting application that you use so infrequently that availability isn’t important.
When node failure occurs, the applications that you didn’t configure with failover policies are unavailable unless they have built-in failover mechanisms of their own. They remain unavailable until the node on which they run is restored; you must either restart them manually or set Windows 2000 Advanced Server or Windows 2000 Datacenter Server to start them automatically when the system software starts. The applications that you configured with failover policies failover as usual according to those policies.
Figure 4.10 - Active/passive configuration with both cluster-aware and non-cluster-aware applications
Model 3 allows you to make the maximum use of your hardware resources. This configuration provides high availability and performance when both nodes are online and provides reliability and acceptable performance when only one node is online.
In this model, each node makes its own set of resources available to the network in the form of virtual servers, which clients can detect and access. In a server cluster, a virtual server is a set of resources, including a Network Name resource and an IP Address resource, that are contained by a resource group. A node must have enough capacity to run at optimum performance when the cluster is fully operational and enough capacity to run at acceptable performance if failover occurs. Depending on resource and server capacity specifications, all client services remain available during and after failover, but performance can decrease. Figure 4.11 represents an example of the active/active configuration.
Figure 4.11 - Active/active configuration
An example of using an active/active configuration would be to set up the cluster for file-sharing and print-spooling services. Multiple file and print shares are established as separate groups, one on each node. If one node fails, the other nodes temporarily take on the file-sharing and print-spooling services for all nodes. The failover policy for the group that’s temporarily relocated is set to prefer its original node. When the failed node is restored, the relocated group returns to the control of its preferred node and operations resume at normal performance. Services are available to clients throughout the process with only minor interruption.
The following examples represent several types of active/active configurations.
Your corporate intranet relies on a server that runs two large database applications. Both databases are critical to hundreds of users who repeatedly connect to this server throughout the day. During peak connect times the server can’t keep up with demand, and performance often declines.
To alleviate the problem, you can attach a second server to the overloaded server, forming a cluster and balancing the load. You now have multiple servers, each running one of the database applications. If one server fails, you might experience degraded performance, but only temporarily. When the failed server is restored, the application it was running fails back and operations resume. Figure 4.12 shows two database applications running on a cluster.
Figure 4.12 - Attaching a second server to form a cluster
Your retail business relies on two servers—one that provides file and print services and another that provides a database application for inventory and ordering information. Without the file and print services, employees can’t conduct business. Without access to the database, customers can’t place orders and employees can’t access inventory or shipping information. Figure 4.13 shows a typical configuration used when mission-critical applications and services rely on separate servers, thus putting the applications and services at risk.
Figure 4.13 - Relying on separate servers for mission-critical application and services
To ensure the availability of all services, you should join the computers into a cluster and create two groups, one on each node. One group contains all the resources needed to run the file and print services, and the other group contains all the resources for the database application, including the database. Figure 4.14 represents a solution that ensures the availability of applications in this case.
In the failover policies of each group, specify that both groups can run on either node, thereby assuring their availability if one node fails.
In Windows 2000 Advanced Server and Windows 2000 Datacenter Server, the Cluster service can detect loss of connectivity between the servers and client systems. If the Cluster service software can isolate the problem to a specific server, the Cluster service fails resource groups over to an operating server (by means of the functioning networks).
Figure 4.14 - Clustering multiple applications
The complex hybrid configuration builds on the active/active model. This configuration allows you to incorporate the advantages of previous models and combine them into one cluster. As long as you’ve provided sufficient capacity, many types of failover scenarios can coexist on all the nodes. All failover activity occurs as normal according to the policies you set up. Figure 4.15 represents an example of a complex hybrid configuration in which two databases are configured to failover.
For administrative convenience, the file-and-print shares in the cluster (which don’t require failover ability) are grouped logically by department and configured as virtual servers. In addition, an application that can’t failover resides in the cluster and operates without any failover protection.
Figure 4.15 - The complex hybrid configuration
When choosing a server cluster model, you can select from three basic types: single-mode, active/passive, and active/active. Table 4.4 describes many of the factors to consider when deciding which configuration strategy to implement.
Table 4.4 Server Cluster Models
Model 1, single-node
With Model 1, you can organize resources for administrative convenience, use virtual servers, restart applications automatically, and more easily create a cluster later. However, this model can’t make use of failover. If an application can’t be restarted, it becomes unavailable.
Model 2, active/passive
Model 2 provides the maximum amount of availability for your resources. However, this model also requires an investment in hardware that’s not used most of the time. If the primary node fails, the secondary node immediately picks up all operations. This model is best suited for applications and resources that must maintain the highest availability.
Model 3, active/active
Model 3 provides high availability and performance when both nodes are online and provides reliable and acceptable performance when only one node is online. Services remain available during and after failover, but performance can decrease, which can sometimes affect availability.
Whenever possible, you should try to use the active/passive configuration model (Model 2). This model provides the maximum availability and performance for your resources. However, as is often the case, budget constraints might limit your investment in hardware. If you can’t implement the active/passive configuration, you should use the active/active model (Model 3), which requires a smaller investment in hardware but which could result in a degradation of performance should failover occur.
Woodgrove Bank plans to add online banking services. They believe that online banking will provide convenience to their customers and reduce the amount of phone support that they currently provide. Woodgrove Bank has instituted an aggressive marketing campaign to promote their Web services, so it’s crucial for their online services to be highly available so customers experience the minimum number of problems when online.
A critical component of the Web services is the database that stores customer account information. The database must be continually available and performance must never be compromised, especially during peak hours. Consequently, Woodgrove Bank plans to implement an active/passive cluster model to provide the maximum availability and performance of the database resources.
Figure 4.16 shows how the active/passive mode will be used to support the database services.
Figure 4.16 - An active/passive cluster
Woodgrove Bank plans to use two identical Windows 2000 Advanced Server computers configured with SQL Server 2000. A resource group will be created for the database service and its dependent services. The failover policies will be configured so that no preferred server and no failback are set for the group. Hardware-based RAID will be used for the cluster storage.
Server clusters can be categorized in three configuration models: single-node, active/passive, and active/active. The single-node model uses only one computer and doesn’t make use of failover. This model allows you to organize resources for administrative convenience, use virtual servers, restart applications, and more easily implement a cluster later. The active/passive model uses two computers: one as the primary node and the other as the secondary node. Services run on the primary node unless failover occurs. This model provides maximum availability and performance. The active/active model also uses two computers. In this configuration, each node makes its own set of resources available to the network. This model provides reliability and acceptable performance when only one node is online and high availability and performance when both nodes are online. This configuration also allows maximum use of your hardware resources.