Basics of SQL Server Clustering

Active / Active

An Active/Active SQL Server cluster means two separate SQL Server instances are running on both nodes of a two-way cluster. Each SQL Server acts independently, and users see two different SQL Servers instances. If one of the SQL Servers in the cluster should fail, then the failed instances of SQL Server will failover to the remaining server. This means that then both instances of SQL Server will be running on one physical server, instead of two. As you can imagine, if two instances have to run on one physical server, performance can be affected, especially if the server’s have not been sized appropriately. Remember that two separate SQL Server instances in this configuration are entirely isolated entities by default.

If all severs in a cluster are active and a node fails, the applications and services running on the failed node can be transferred to another active node. Since the server is already active, the server will have to handle the processing load of both systems. The server must be sized to handle multiple workloads or it may fail as well.

2-Node Clustering Active / Active Scenario

In this case, let’s look at an example of two nodes, Node X and Node Y. Node X and Y both will be configured as Active Nodes, Primary Owner of SQL Server Instances A and B on each of them. As you can see below, Node X and Y both are active and running an instance of SQL server on each of them.

2-Node Clustering Active / Active Failover Scenario

When failover occurs on Node X, SQL Server Instance A will be  transferred with all its running processes, connections, and responsibilities to Active Node Y, and now Node Y will have to share all its memory, CPU and network resources with Instance A and B.

4-Node Clustering Active / Active Scenario

In the 4-node configuration illustrated below, where nodes X, Y, XX and YY are configured as active and failover could go to between nodes X and Y or nodes XX and YY, this could mean configuring servers so that they use about 25% of CPU and memory resources under average workload. In this example, node X could fail over to Y or node XX could fail over to YY.

4-Node Clustering Active / Active Failover Scenario

When failover occurs on Node Y, SQL Server Instance B will be transferred with all its running processes, connections, and responsibilities to active Node X, and now Node X will have two instances A and B, sharing all the resources. When failover occurs on Node YY, SQL Server Instance BB will get transferred with all its running processes, connections, and responsibilities to Active Node XX, and now Node XX will have two instances, AA and BB, sharing all the resources.

In a multi-node configuration where there are more active nodes than passive nodes, the servers can be configured so that under average workload they use a proportional percentage of CPU and memory resources.

Active/Active configuration can have multiple-instance cluster set up, which can support up to 16 SQL Server instances. Windows NT Server 4.0 Enterprise Edition, Windows 2000 Advanced Server, and Window 2003 Advanced Server all support two-node clustering, Windows 2000 Datacenter Server supports up to four-node clustering, and Windows 2003 supports up to eight node clustering, however you are limited to four nodes if SQL Server 2000 clustering is to be used.

SQL Server, in a clustered environment, also behaves differently from a stand-alone named instance in relation to IP ports. During the installation process, a dynamic port that may be something other than 1433 is configured, and that port number is reserved for the instance. In a failover cluster, multiple instances can be configured to share the same port, such as 1433, because the failover cluster listens only to the IP address assigned to the SQL Server virtual server, and is not limited to a 1:1 ratio. However, for security and potentially increased availability, you may want to assign each virtual server to its own unique port of your choice, or leave it as it was configured during installation.

Chapter 3 – Scaling Clustering Resources

You can have up to 16 named instances and 1 default instances per Cluster.

Copyright 2004 by the author. Published with the express permission of the author.

]]>

Leave a comment

Your email address will not be published.