Solved

How does the second instance in a SQL 2008 R2 cluster handle the virtual server and IP routing?

Posted on 2010-09-21
13
1,536 Views
Last Modified: 2012-05-10
Ok - we are trying to clarify some questions we are having with our SQL cluster...
OS: Windows 2008 R2
SQL: 2008 R2 Ent

DNS: mosssql.mydomain.net

Virtual server name: net-moss
instance one:  moss      192.168.1.2
instance wanted to add: dw 792.168.1.3

It is our assumption that each instance is assigned it's own IP and resource group.  That part is fine with the first instance running on NODE 1.  When you create the first instance it asks you for the virtual server name as it appears to the network as that IP addres of that instance.
What we want to do is add a second instance to run on NODE 2 but still be in the same virtual server.  Basically going to an Active/Active situation( yes it's actually two active/passive instances).
1)Is this configuration possible and how is the routing done from DNS to virtual server through to the actual instance name itself since it has a different IP?
2) we are assuming that DNS will point to the instance we want.
3) IF we make DNS point the IP directly then what's the point of the Virtual Server appearing on the network?  It woudln't be wise to use any virtual server name in a connection for the ability to move the instance to a new server whithout app recinfiguration.  So if DNS points all the way to the instance what's the point of the instance name in the connection other than just more required info?
4) We are also assuming ecah instance can fail to the other server and allocated to the nodes independently.

Confused since the virtual server would point to only one instance IP???

Thanks to anyone who can clarify this process
0
Comment
Question by:yoked2000
  • 5
  • 5
  • 2
  • +1
13 Comments
 

Author Comment

by:yoked2000
ID: 33730201
I forgot oto add that the second instance would have its own DNS dw.mydomain.net for example poitning to its IP address..

Thanks again.
0
 
LVL 8

Expert Comment

by:avirups
ID: 33733272
It is not possible to use the same virtual IP which would in turn point to two different machine at the same time.

You will have to choose a different Virtual Name and a separate Resource Group in order to run what you want. Two active-passive clusters are ultimately two exclusive setups and has to be treated as separate.

0
 
LVL 45

Expert Comment

by:Vitor Montalvão
ID: 33734444
yoked, I think you are confusing Virtual Server with Virtual Name.
In the same Virtual Server you can have more than one Virtual Name. Each SQL Server instance have only one Virtual Name and each Virtual Name have one Virtual IP.

Too much virtual huh? :)
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 33734705
Each instance is in it's own clustergroup.

The clustergroup has:
Ipaddress
DNS Name
SAN disk (or equivalent)
sql services
Shares if any is needed (they need to failover too if an application reads/writes files for sql proc)

So ip/name/disk/instance is one atomic unity. It will be hosted by one node at a time.

This node will respond to all cluster DNS names it hosts, using all clustergroups ip adresses and so forth.

Does this answer your question?

//Marten
0
 

Author Comment

by:yoked2000
ID: 33736098
So scaling from a single machine with a server name with multiple instances isn't possible in a cluster and keeping the same server/instance naming heirarchy? Every instance has both a unique instance name AND a unique virtual srver name?
Everyone talks about adding instances and just running the installer - but I haven't seen anyone adress this part of it.
If the instance name is unique anyway why didn't they jsut make it so we could point ONE DNS record to the entire cluster since we have to specify the unique instance name anyway still???
It seems like it automatially creates a DNS pointer as the virtual server name anyway - but you can't just repoint it when you migrate a database.  So from a DNS perspective it's duplicating that part.
But if that's the final rationale then it is what it is...
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 33736258
Youre correct, youre duplicating both virtual servername AND instance. A common naming convention is like:
sqlcluster1\instance1, sqlcluster2\instance2 etc etc

//Marten
0
Find Ransomware Secrets With All-Source Analysis

Ransomware has become a major concern for organizations; its prevalence has grown due to past successes achieved by threat actors. While each ransomware variant is different, we’ve seen some common tactics and trends used among the authors of the malware.

 
LVL 8

Expert Comment

by:avirups
ID: 33741240
Well, if you choose to run multiple instances in one Node of a cluster that is possible to configure within a servergroup and in that case all the instances failover together. In that case you can use SQLcluster1\instance1, sqlcluster1\instance2, etc.
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 33741767
avirups: Youre correct, but you cant divide them into different nodes. In this case there parts in the same cluster group.

So its not multiple clustered instances, since they can't failover one by one.

//Marten
0
 

Author Comment

by:yoked2000
ID: 33746817
What I understand is that each instance has its own IP.  So my confusion is how do you have two instances in the same server group? We already have SQLCluster1/instance1 - how do you create SQLCluster1/instance2???  If each instance needs it's own IP, Virtual Server name and instance name.  When you specify the virtual server name it created the virtual server object on the network.  How does that point to two seperate instance IPs?
That's where the confusion is coming in...

I appreciate everyone's input - it just seems there isn't very much documentation on HOW the technology actually works so we can make decisions and operate within the different options.
0
 
LVL 20

Accepted Solution

by:
Marten Rune earned 125 total points
ID: 33746977
you don't create another SQLCluster1/instance2, you create SQLCluster2/instance2. This is done in its own cluster group.

This thread discusses these questions: http://social.msdn.microsoft.com/Forums/en-US/sqldisasterrecovery/thread/0ffc73e1-44d7-44d3-849d-2340aef8fa3d

If you have any other questions ask away.

//Marten
0
 

Author Comment

by:yoked2000
ID: 33748037
RIght - that's my understanding - I was refering to what AVIRUPS said above.  I keep getting conflicting information all over the place.  Once I get the reality of how the archicture works it's easy to implement.  We keep staying in the land of unsure exactly what our options are.

It makes more and more sense as it goes on. Just the scale up process from standalone to cluster isn't what it appears to be - but that's ok once we know.
0
 
LVL 20

Expert Comment

by:Marten Rune
ID: 33751316
AVIRUPS will have to answer for this one. I guess it cane be done by moving cluster resources from one cluster group to another, excluding ip and name. Then you'll have to run:

EXEC sp_dropserver '<old_name>'
GO
EXEC sp_addserver '<new_name>', 'local'
GO

to SQLServer1 from SQLServer2 in our example above. But all this is guesses out of my head. Lets see what AVIRUPS answer.

Regards Marten
0
 

Author Comment

by:yoked2000
ID: 33792198
Thanks martenrune -
That was the clarification i've been looking for.  Beating my head against the wall going through so many differnt pieces of information all contradictory.  It kind of makes sense since the entire cluster is basically one big SQL instnace - so we have to play by the rules like only one default instance in the entire cluster etc.
I think a lot of the confusion comes between the difference between a cluster group and the whole "cluster" of nodes.  Then mix in the virtual name...
I appreciate all the info!

Brock
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Join & Write a Comment

Suggested Solutions

I have written a PowerShell script to "walk" the security structure of each SQL instance to find:         Each Login (Windows or SQL)             * Its Server Roles             * Every database to which the login is mapped             * The associated "Database User" for this …
This is basically a blog post I wrote recently. I've found that SARGability is poorly understood, and since many people don't read blogs, I figured I'd post it here as an article. SARGable is an adjective in SQL that means that an item can be fou…
Sending a Secure fax is easy with eFax Corporate (http://www.enterprise.efax.com). First, Just open a new email message.  In the To field, type your recipient's fax number @efaxsend.com. You can even send a secure international fax — just include t…
This video demonstrates how to create an example email signature rule for a department in a company using CodeTwo Exchange Rules. The signature will be inserted beneath users' latest emails in conversations and will be displayed in users' Sent Items…

746 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now