Clustering SQL 2008 on Windows 2008 R2 what can go wrong   12 comments

 

Ok this post is not only on how to setup a sql 2008 cluster but more on what can go wrong and more important how to solve this.

As much as I hate an installation that goes wrong and you spent day’s on how to solve this because you can ‘t bing your problem.

Here is what I have on hardware in this case a two node cluster windows 2008 R2 RC build 7100 and the SQL 2008 DVD

I have more than enough disk space in may case I have two disk of 100 GB but I will use only one disk per instance this is not Best Practice but handy in a test lab.

So I downloaded the SQL DVD and hit the setup.

clip_image002 clip_image004 clip_image006

I love the warning but as every one I do not read it and click run program 2x , finaly there is the setup splash.

So First I do the Prereq. This is nice this way you can see if the configuration you use is ok for the job.

clip_image008 clip_image010 clip_image012

Well I have a pending reboot and a .NET security warning , mmm strange I can’t connect to the Web .  first a reboot.

Since this is not tux I rebooted the kernel.

clip_image014  clip_image016 clip_image018

ok after the Reboot I hit setup again and I click the setup failover cluster , now there is no pending reboot here and I can go further

clip_image020 clip_image022 clip_image024

Remember that You must use the same product key on your Cluster nodes !!!!

Yes I agree who reads this any way I just wanna do a fast setup my boss want the sql cluster ready today. Yes I can.

 

clip_image026 clip_image028 clip_image030

Yes next
next eh No MSDTC ? do I need it ? mmmm network binding error firewall error can’t the setup handle this for me ?

clip_image032 clip_image034 

Troubleshoot the install errors:

 

Ok it seems is will not be a next next finish I agree setup Right. and this is whay you must read the guides!! except in a demo where things must go wrong.

So first we do a MSDTC setup this is needes if You wanna do Transactions

We also need to cluster the Microsoft Distributed Transaction Coordinator resource (MSDTC). Although MS DTC is not required for Database Engine-only installation, without it being clustered, you would receive a warning message during the setup configuration checks because of the incompliance of the Cluster_IsDTCClustered rule. If you need to install SSIS, Workstation Components or use distributed transactions, then MS DTC must be clustered. In our example, the MSDTC resource is clustered in a group called "Your name MSDTC Group". This group contains the MSDTC resource, a shared Physical Disk T: to store MSDTC log files, a network name, and an IP Address. Before clustering MSDTC, network MSDTC access must be enabled on both nodes. For more information, please refer to http://support.microsoft.com/kb/817064/. The MSCS Cluster Service account will need to have public rights to SQL Server so that it can run SELECT @@servername for the IsAlive cluster checks.

Setup MSDTC :

This is the easy part Go in you FCM ( Failover Cluster Manger ) configure a service or application and select the MSDTC.

clip_image002[4] clip_image004[4] clip_image006[4]

So I give the MSDTC the IP and point it to the new disk for the log files. I use a separate disk for the MSDTC so that I can move the resource where and whan I want.

clip_image008[4] clip_image010[4] clip_image012[4]

clip_image014[8] 

Done I just created my MSDTC failover cluster resource !

Network binding Order : 

clip_image032 This error is easy to fix and it is new I have never seen this error ( or I did always ther right steps ) so go to your network tab eh yes but where is it. well it take me almost a minute to find it.

Go to Control Panel\Network and Internet\Network Connections

click organize and layout and check the menu bar now you can go to advanced.

clip_image016[4] clip_image018[4] Change the order and done.

Back to the SQL backup :

 

So Again I swing the SQL setup

clip_image036 clip_image038 clip_image040

I named the first instance and changed the default

clip_image042 clip_image044 clip_image046

clip_image048 clip_image050 clip_image052

So whay would you use DHCP ?? just give it a fixed IP

clip_image054 clip_image056 clip_image058

I use the same service account for all the services added the administrator to the sql admins.  You should create a group and put users in i. but you can do this later.

clip_image060  What is this \\?\volume{

Ok this is strange I give the SQL server disk 4 , lets see what the problem is. Oh ok this is a CSV disk CSV = cluster shared volume.

You can’t use this disk!.

So I added a fresh new iscsi target to the nodes and run the setup again.

clip_image061 clip_image063 clip_image065

No errors

clip_image067  clip_image069 clip_image071 

clip_image073 clip_image075 clip_image077

As in the settings above I filling the items and go.

clip_image079 clip_image081 clip_image083

Ok Now I have more disks to use and I do not choose a CSV volume , and no I do not wanna use DHCP

clip_image085 clip_image087 clip_image089

Same services account

clip_image091 clip_image093 clip_image095

Now as you can see I can see the disk letter this is great and almost done.

clip_image097 clip_image099 clip_image101

Yes I do believe in the error roporting this way we can make the product better.

clip_image103 clip_image105 clip_image107

No the filestream does not need an update I’m using Windows 2008 R2 RC state of the art server. I saved the config file maybe I do a command line setup later if I want to reinstall this cluster.

C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20090604_212627\ConfigurationFile.ini

clip_image109 clip_image111

As you can see the ini file is easy to read and to adjust where needed.

clip_image113 clip_image115 clip_image117

What another error ;-( kerberos , Well this is a nice error bink it and you will see not much errors or resolution about this.

Did I miss something I solved all the other errors.

So what is it :

RequireKerberos

Controls whether or not the Network Name resource can be brought online without Kerberos authentication. The choices are:

RequireKerberos is set to 1. The next time this resource is brought online, clients using this resource will be authenticated using Kerberos. That is, a computer object for the Network Name resource will be created or updated before that resource comes online.

RequireKerberos is set to 0. Disables this option, that is, no computer object is created for the Network Name resource. This is the default. The Cluster service will try to detect if a computer object already exists for the Network Name resource; if a computer object is present, the resource will fail to come online. If this property were previously set to 1, setting it back to zero will disable the computer object created for this Network Name resource, if any.

Do not rename a Network Name resource and change the Kerberos authentication setting at the same time. Instead, allow time for changes to replicate after performing each action.

clip_image119 clip_image121 clip_image123

When I looked at my install I can’t see anything about a sql cluster only the network name. ah no ip settings.let me fix this.

clip_image125 clip_image127 clip_image129

Done fixed the IP and bring it online start the sql manager and go. NO  it won’t work. You know whay. YOU missed the error in the beginning.

SQL 2008 cluster this is saying USE SP1  my download came without sp1 and I can download sp1 but how to use it.

Well it is not easy, yes it is.

First copy the files from the DVD to a disk location.

use robocopy .

robocopy “sqlDVD” to “ disklocation” ( change the names !)

download the sp1 sql 2008 software details.aspx-FamilyID=66ab3dbb-bf3e-4f46-9559-ccc6a4f9dc19

Extract the sp1 files to the hardisk loaction

SQLServer2008SP1-KB968369-x86-ENU.exe /x:v:\SQLSERVER2008_FullSP1\PCU
SQLServer2008SP1-KB968369-x64-ENU.exe /x:v:\SQLSERVER2008_FullSP1\PCU
SQLServer2008SP1-KB968369-ia64-ENU.exe /x:v:\SQLSERVER2008_FullSP1\PCU

Change the Setup files

robocopy SQLSERVER2008_FullSP1\PCU v:\SQLSERVER2008_FullSP1 setup.rll
robocopy SQLSERVER2008_FullSP1\PCU v:\SQLSERVER2008_FullSP1 setup.exe

robocopy v:\SQLSERVER2008_FullSP1\pcu\ia64 v:\SQLSERVER2008_FullSP1\ia64 /xf  Microsoft.SQL.Chainer.PackageData.dll
robocopy v:\SQLSERVER2008_FullSP1\pcu\x64 v:\SQLSERVER2008_FullSP1\x64 /xf  Microsoft.SQL.Chainer.PackageData.dll
robocopy v:\SQLSERVER2008_FullSP1\pcu\x86 v:\SQLSERVER2008_FullSP1\x86 /xf  Microsoft.SQL.Chainer.PackageData.dll

and merge the sp1 files.

And change the installation path in the DefaultSetup.ini located in the ia64,x64,x86

PCUSOURCE="z:\SQLSERVER2008_FullSP1\PCU"

So I did the complete setup again but now with SP1 and I can login in the SQL manager

SQL 2008 cluster SQL 2008 cluster SQL 2008 cluster

 

Watch the servername instance you can see this in de FC manager netbios name and sql name.

Now that we are installed SQL on node 2 we must install SQL2008 SP1 on node 2.

clip_image002[6] clip_image004[6] clip_image006[6]

Just add the node to the cluster and follow the guide fillin the serial

clip_image008[6] clip_image010[6] clip_image012[6]

clip_image014[10] image SQL 2008 cluster

Fill in the password and next

image SQL 2008 cluster

I hope I showed you that alot can go wrong and a setup can always be tricky if you want to to this to fast.

I will mesh this configuration so that I hopefully have
nice errors to solve.

In the next session I will add a second instance.

positive comments are welcome

Advertisements

12 responses to “Clustering SQL 2008 on Windows 2008 R2 what can go wrong

Subscribe to comments with RSS.

  1. This is a great post! Thank you!

  2. Great post.
    Q: I am getting error while installing SQL cluster. The error is thrown during installation(pls see below). What does cause this? I chose available SQL cluster name + IP but getting error somehow related to it.

    Feature: Database Engine Services
    Status: Failed: see logs for details
    Reason for failure: An error occurred during the setup process of the feature.
    Next Step: Use the following information to resolve the error, uninstall this feature, and then run the setup process again.
    Component name: SQL Server Database Engine Services Instance Features
    Component error code: 0x86D80001
    Error description: The resource ‘SQL IP Address 1 (NAMEOFCLUSTER)’ of type ‘IP Address’ could not be created in group ‘SQL Server (MSSQLSERVER)’. There was a failure to call cluster code from a provider. Exception message: Generic failure . Status code: 5010. Description: The object already exists. ..
    Error help link: http://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=11.0.2100.60&EvtType=0xE8049925%400x42B4DED7&EvtType=0xE8049925%400x42B4DED7

    • Hi igor,

      like the error the IP or netbios name already exist on your network, you have to use unique ip’s and names in the cluster.

      See also my other blogs, how I did install sql 2012 on windows 2012 / win 8

      • Hello Robert thank your for the greate article….i have a very unusual large cluster set up as explained beow and need you feed back if possible…

        I have a 5 node A/A/A/A/P SQL 2008 R2 cluster on Windows 2008 R2 cluster. As of today, Node 1 has a named SQL Instance running on it and is set to Failover to Node2 and they both are the preferred owners/failover partners. Next, Node 3 has a named SQL instance installed on it and is set to failover to Node 5 and they both are preferred owners/failover partners in cluster. Node 4 doesn’t have anything running on it but it is in the windows cluster.
        The task I was given is to now first change the failover partner(preferred owners) of Node 1 to Node 5(this is Node 2 at present) and then install a new named SQL cluster instance on the Node 2 and set it to failover to Node 5. Next thing I need to do is, install another named SQL instance on the Node 4 and set it to failover to Node 5. The ultimate goal here is all the first 4 nodes will have once single named instance running on each of them and they will all be set to failover to ONLY Node 5 in case any one goes down. Yeah Node 5 has all the resources like memory, CPU to handle the load of 4 nodes at a time.
        In order to accomplish this here is my plan…
        1. On Node 5, I run the SQL setup and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner for instance on Node 1 to Node 5. While doing this step in “Cluster Node Configuration” I will select the name of instance on Node 1 in “SQL Server Instance name” option.
        2. Now I change the Failover partner instance on Node 1 to Node 5 and make Node 1 and Node 5 preferred owners.
        3. Now I run the set up on Node 2 and select the “New SQL Server failover cluster Installation” and install new instance on Node 2.
        4. On Node 5, I run the SQL setup again and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner/preferred owners for instance on Node 2 to Node 5. While doing this step in “Cluster Node Configuration” I will select the name of instance on Node 2 in “SQL Server Instance name” option.
        5. Now I run the set up on Node 4 and select the “New SQL Server failover cluster Installation” and install new instance on Node 4.
        6. On Node 5, I run the SQL setup again and do “Add node to the SQL failover cluster”. This is in preparation to make the failover partner for instance on Node 4 to Node 5. While doing this step in “Cluster Node Configuration” I will select the name of instance on Node 4 in “SQL Server Instance name” option.
        7. Finally I will have to remove the Node 2 which was being used by Instance 1 on Node 1 earlier as a failover partner. I will perform this by following the Maintenance tab of install media and select the option to remove the node.

        Please let me know if these steps are correct or if I am missing anything here. Any help will be very appreciated and will make my install smooth as I already have 2 production instances up and running in this cluster and I would like to make sure I don’t mess those during the install.

      • I Would first install all the SQL instances on the machines that you need, Test the failover of your SQL instances on the new nodes, make sure you have also patched the fresh installed sql instance as in your current SQL instances.

        If all is ok then I would remove the SQL instances from the node .

      • Thanks Very Much Robert for the quick response. Yes i agree removing any nodes will be the last step which is #7 as i mentioned. Do the other steps i have outlined make sense to you or am i missing anything in there?

  3. Pingback: Sql Server High Availability (6) « Kemal Salihçavuşoğlu

  4. It seams ok. But make sure the new instances have the same updates as the current instances. You don’t want to failover to a low patched instance or higher.
    Good luck.

    There is a special forum for all your cluster Q&A
    http://social.technet.microsoft.com/Forums/en-US/winserverClustering/threads

  5. Hey I am so glad I found your website, I really found
    you by accident, while I was researching on Askjeeve for
    something else, Regardless I am here now and
    would just like to say thanks a lot for a marvelous post and a all round interesting blog (I also love the theme/design),
    I don’t have time to read through it all at the moment but I have saved it and also added your RSS feeds, so when I have time I will be back to read a lot more, Please do keep up the excellent work.

  6. When creating a DTC resource in SQL 2008, I would get this error:

    “An error occurred while creating the Distributed Transaction Coordinator (DTC).
    An error occurred while creating a client access point for ’60DTF5SRSQ01′.
    Failed to save client access point changes.
    Failed to update the network name.
    An error occurred renaming resource ’60DTF5SRSQ01 (2)’ to ’60DTF5SRSQ01′.
    Cannot create a file when that file already exists.”

    We found that the problem was that the resource volume we chose to home the DTC resource on had the same name as the DTC resource. Once we renamed the disk volume, it worked!

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 )

Google+ photo

You are commenting using your Google+ 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 )

w

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.

  • Twitter

  • Advertisements
    %d bloggers like this: