Active/Active SQL SERVER 2000 CLUSTER

  • Hello everyone, say you have an active/active cluster with 2 nodes. Lets call them nodeA & nodeB . Let’s assume that is there actual server name. It will be set up so that nodeA will failover to nodeB and vice versa. nodeA (the first node to have SQL installed )will have a default instance and nodeB will have a SQL server instance called "instB". The cluster itself is named "CLUSTNODE". My question is, how do client applications reference these servers i.e. in an ADO connection string for the provider what do you put to connect to a database owned by nodeA and nodeB. Do you just use the cluster name? Or does each node need a virtual name? Thanks in advance for any explanation.

  • Each node will have its own "virtual" name.

    Let's say nodeA and nodeB are your physical machine names. clustnode is your cluster name. You'll then have sqlA and sqlB - network names. The ADO connection string will specify "sqlA" or "sqlB\instB".

  • Thanks bbychkov, one more question. But after a failover say if nodeA fails over to nodeB I can still use the virtual name "sqlA" in my connection strings. If I'm understanding this correctly the virtual name and IP address of nodeB will be owned by nodeB after a failover?

  • Sorry bbychkov, I meant "the virtual name and IP address of nodeA will be owned by nodeB after a failover?"

  • Yes, Virtual name and IP address of the virtual sqlA would be owned by nodeB. Easy way to think about it:

    Cluster Name: Cluster1

    Physical Nodes: Physical1, Physical2

    Virtual Nodes: Virtual1, Virtual2

    Looking at it from an IP address side (I've chosen arbitrary IPs):

    Cluster1 - 192.168.1.5

    Physical1 - 192.168.1.6

    Physical2 - 192.168.1.7

    When I go to install the first instance (let's say I'm going to use a default instance), it'll ask me for a virtual server name as well as an IP address.

    Virtual1 - 192.168.1.8

    When I go to install the second instance, I only have the option of using a named instance. It'll ask me for three things, virtual name, ip address, and instance name.

    Virtual2 - 192.168.1.9

    I'll chose SQL2 as the instance name. So I'm looking at the following:

    Virtual1

    Virtual2\SQL2

    My clients will refer to those virtual names (and instance name) only. I won't point them to the physical names.

    Typically I'll put an instance on each physical node like so (and I'll put the Cluster name on Physical1 as well):

    Physical1 - Cluster1, Virtual1

    Physical2 - Virtual2\SQL2

    If I actually look at the IPs the servers are listening on, I'll see the following:

    Physical1 - 192.168.1.5, 192.168.1.6, 192.168.1.8

    Physical2 - 192.168.1.7, 192.168.1.9

    In the event of a fail-over, let's say Physical1 goes down, you'd see the following on Physical2:

    Physical2 - Cluster1, Virtual1, Virtual2\SQL2

    As far as IPs are concerned, you'd see

    Physical2 - 192.168.1.5, 192.168.1.7, 192.168.1.8, 192.168.1.9

    K. Brian Kelley

    http://www.truthsolutions.com/

    Author: Start to Finish Guide to SQL Server Performance Monitoring

    http://www.netimpress.com/

    K. Brian Kelley
    @kbriankelley

  • Thanks a lot for your help.

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply