Active/Active Clusters

Posted: October 20, 2008 in Uncategorized

When people start to look at clustering it’s amazing to see the thought process. Once you explain the shared disk and how 2 servers can behave as one. What I find is that most people’s mind start to think ahead and once they realize the cost that they have put into an Active/Passive Cluster then they want to make use of the second node. This is a great idea and in a time of financial crunch it can really save you some money. But what Active/Active clustering is not where I see most of the hang ups… Active/Active clustering is not a Load Balancer.

First let’s take a look clustering. What is it? Well to put this in the simplest terms it is two physical machines that are interchangeable. An OS is installed on both machines and a service is installed that “Clusters” the 2 servers. Here is the kicker, the 2 server have to share the same disk resources. It may be one or it may be more. The trick here is that the disk is a resource, this resource can only be “owned” by one server at a time. One more thing that I would like to mention here is that there is a dedicated connection between the 2 servers. This connection is commonly called the heartbeat. The heartbeat is the way that the systems can tell if the other system is off line. So from an OS view this is what a Cluster looks like.

 

 

 

So the in the diagram above the Green Arrow is showing how Server A “owns” the Disk. The is Red arrow is the heart beat, if at any time the heart beat believes that Server A is no longer working then Server B will take over the ownership of the Disk. This is what we would refer to as a failover. The way that SQL Server works with this is it installs on both machines. If the failover occurs then Server B would then pick up and take all the requests. Now this is a really simple outline of the way that it works, there is some more to this but the end result is that only one server can have ownership of a resource. A resource can be Disks, SQL Server, Task Manager and so on.

So what is Active/Active? Well think of it as install a second instance of SQL Server on the cluster system as a whole. However this system will use Server B as the primary server, it will support completely sets of databases, data and so on. It is really just making use of the Second Passive Node in the Active/Passive configuration. What it is not is a sharing of the resource that is already owned by the other server in the cluster. Some however may consider this a load balancer in the fashion that If you had 2 databases that were on Server A for a period of time and both databases were pretty hard on the processors and memory and such then you could say this is a form of a load balancer. That would not be the case in my book.

Comments
  1. Cal George says:

    Chris,

    When you installed the two instances 1 and 2 that participate in the active/active cluster on nodes A and B, did you start the installation steps for both instances on node A? Or did you install instance 1 on node A, add node B, install instance 2 on node B, add node A?

    Thanks,
    Cal

  2. chrisshaw says:

    Cal,

    Good Question. Thanks for posting it. The 2 physical instances are going to create almost a Virtual OS. I have installed both on the Virtual OS. What makes this an Active/Active cluster is I take the resources in the cluster administrator and move one instance two the second node. The key part here is the files have to be on separate disks so that each system has control over a set of disks at a time.

    Thanks for the question,
    Chris

  3. Cal George says:

    I was going to install both instances on the node that owned the disks. Yes, I have separate disks, but could not find enough reference as to where to start installation of the 2nd instance.

    Thanks.

  4. Cal George says:

    When I install the 2nd SQL server 2008 for the active/active situation, it ends with an error:

    The cluster resource ‘SQL Server (PROD2)’ could not be brought online. Error: The group or resource is not in the correct state to perform the requested operation. (Exception from HRESULT: 0x8007139F)

    Any idea?

  5. chrisshaw says:

    Cal,

    It sounds like it may be a server, to disk resource issue, its hard to say without looking at it, but the first thing that comes to mind would be that PROD1 owns the Disks.

    Does that help?

    Chris

  6. anne says:

    Cal George,

    we were having that problem with our sql server 2008 install on server 2008. MS has updated their installation procedures several times, but ultimately we had to follow the steps in the blog below. it was easiest to reinstall the servers and do his second suggestion of setting the SPNs before we installed sql 2008.

    http://blogs.msdn.com/karthick_pk/default.aspx

    -Anne

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s