Installing SQL Server 2008/2008R2 Failover Cluster- Part7(Adding Passive Node to SQL Cluster)

In the Part-6 of this Series, I’ve shown you how to Install a SQL Server Failover Cluster. In this Part Let’s add a Passive Node(Node2 in our case) to our Failover cluster. I assume you’ve followed all the parts in this series upto this point as shown without any issues.

Now, your very first step would be..You’ve to go to your passive node(node2) and insert your SQL Server  installation media. At this Point your MSDTC, SQL Sever Service, Quorum Disk…literally all your resources are running on your node1. In other words, Node1 is hosting every application and service on your cluster.

Open you setup.exe and again annoyingly on my Node2 as well it asked me to install (KB942288)  which i did just by clicking OK and it required a restart of your machine:(  Well, once rebooted i opened my setup.exe and now I’m welcomed with typical SQL Server Installation Screen. This time You’ve to choose “Add Node to a SQL Server Failover Cluster” in the below screenshot.

It does a basic Rule check, once finished with no errors/warnings click OK. Choose your SQL Edition(in my case Eval Enterprise) and accept license terms and Next -> Install. It’ll do some Windows Installer actions/extracts all the required setup files. Once finished, you’ll be welcomed with the below screen where it does a thorough Rule check for your cluster settings.

Once everything is Green, you can proceed further by clicking Next and now at this point, SQL is smart enough to automatically identify your SQL Network name and SQL Instance name(Since we’ve only one Instance at this point, if you’ve multiple Instances you’ve to select from the drop down menu) and all you need is just click NEXT blindly as shown below:)

Now enter your Service account(s) password(s) and Click Next as shown below.

Next ->Next(choose Error Reporting to be sent to MSFT if you need). It will now do a validation on Add Node Rules as shown below.

Click Next and INSTALL. That’s all you need to do..So basically It’s nothing but a blind game where you have to click couple of NEXT, OKAY,INSTALL buttons to add a node to your existing SQL Cluster 😉

Hurrayyyyyyyyyyyyyy! We are done Guys…Now let’s failover our SQL Server back and forth and actually let’s see from SSMS.

I’ve opened my SSMS on NODE2 and connected to SQL Server and issued

select serverproperty(‘computernamephysicalnetbios’) to verify the current physical node under which SQL is running under as shown below.

Now, let’s failover SQL to node2 and let’s issue the same command once again(please note I’m not changing any connection strings….That’s the magic of Clustering).

Now, as you can see in the below Screenshot you can verify from T-SQL under which node SQL is currently running under(it says Node2 as expected).

Prestooooooooooo!! We did it…See how Simple it is to create a Cluster in your LAB Environment. Please note, I’ve violated all the enterprise rules in this world by disabling my Firewall and Not checking my Partition Alignments on my drives…but, as i mentioned this demo is just to create your Lab environment. If you’ve enough patience dealing with all those Firewall rules, Please explore those as well:)

BTW, in your Failover Cluster Manager there’s my favorite feature something called as dependency report…which gives awesome pictorial representation of all your services dependencies along with brief verbiage. You can pull that report as shown below.

As you can see SQL Agent is dependent on SQL Server, SQL is dependent on Physical Disks and Network name, Network name is dependent on Network IP =>Agent is actually dependent on all and SQL Server is dependent on above shown disk drives and Network name, but not on Agent and SQL Network name is dependent on IP Address….Everything is self explanatory in this Awesome report which MSFT is offering us starting Windows Server 2008. Kudos to Microsft:)

Let’s see how to apply Patches to your SQL Server cluster in next part of this Series!

Installing SQL Server 2008/2008R2 Failover Cluster- Part6

In part5 of this series I’ve shown you how to create a windows cluster. In this part of this Series, let’s proceed further installing and configuring Active-Passive configuration of your SQL Cluster. Before proceeding any further, let me tell you, I’ve created 2 domain accounts called “sqldbengine” and “sqlagent” in my Domain controller machine(in my case SANDC) with non-expiring passwords. I’ll be using these accounts as my service accounts for SQL installation. Also, I’ve created a Group for DBAops and created few dummy accounts and added to that group just for simulating a real environment in my lab.

Okay…Being said that, at this point we are all set to go ahead and create SQL Cluster, but we’ve to actually install “APPLICATION ROLE” on all the nodes which are participating in our Cluster. So…Go to your Serve manager in both the nodes and enable Application role as shown below.

Next->Next and choose Distribution transactions as well(this is needed if your SQL has to deal with Distributed Queries(MSDTC) using your Linked Servers) as shown below.

Next-> and Install. Go ahead and do the same on Node2 as well. This might take a while depending on your server capabilities and it may require server reboot. You should be seeing something similar to

Once you are Done with Installing application role. Now go to your Node1 and create MSDTC clustered service prior to SQL Server Installation. So, on NODE1 go to your failover cluster manager and follow the below screenshots sequentially.

Note: MSDTC clustered service has it’s own IP and service name & we already created a dedicated LUN M$ for MSDTC if you remember.   It will validate and now it’s time to choose the LUN which we’ve already created. In my case it’s LUN M$. I’ve selected accordingly as shown below

you should see the final confirmation as shown below.

Click on Next and It’ll configure all the required Resources in our windows cluster. Please note, we haven’t yet came to actual SQL Server cluster installation. We are just preparing our Box for SQL Cluster Installation. If every thing went smooth, now you should see     

You can add preferred Owners by just right clicking on winclustdtc in your left pane and going to properties. FYI I’ve chosen Node1 and Node2 in the same order as preferred owners.

Okay, now let’s start SQL Installation. I’ve inserted my SQL Server evaluation edition DVD into my DVD drive. You can also provide an ISO path in your VMWare Workstation if you have your installation media as an ISO file. Go to Node1 in your VMWare Workstation and

Once you click Ok, now you should be seeing that DVD being inserted in your Node1. Run Setup.exe and at this point you might get an annoying message saying that you need .Net frame work and latest version of Windows Installer(KB942288) even though you’ve already installed it. Just click Ok and it’ll install and asks for a system reboot. Just click OK. Once rebooted, launch Setup.exe again and now you should be welcomed with the SQL Installation Center. Select New SQL Server Failover Cluster Installation as shown below

It’ll do a very high level basic rule check and let you know if finds any potential issues which might prevent successful installation.

Click OK to proceed further. Choose your Edition and License key(if you’ve any). I’ve chosen Eval Enterprise Edition and accept the License terms and Click on “Install Setup Support Files”. This basically performs some windows installer actions,Normalize and validate Registry permissions and creates the required SQL Setup Bootstrap files under path “C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap” by default. Once you click OK, it again does a detailed Rule check. You should not see any errors or Warnings in your real environment(here in my lab I actually got Network Binding Order Issue, we can safely ignore that here in lab). Click Next and choose

It’s upto you what to choose. In this Demo I’m selecting only bare minimum Database Engine and SSMS components considering my Server Configuration.  Click Next and you will be asked for Instance Configuration. here I’ve chosen “sreeprod” as my SQL network name and i’ve selected named Instance(prod1)  as shown below, which makes my work easy if i’ve any plans to make it an Active-Active cluster in future.

Click Next. It checks for Disk Space requirements. Click Next. Now, It’s time to select our SQL Resource Group name. You can Just click Next for defaults or you can choose your own fancy name if you’ve any standards for your naming conventions.

Click Next and now it’s time to configure our Disk Drives, In the below Screenshot, you can see Disks 1 and 2 are already reserved for Quorum and MSDTC, so you’ll have an option to select from remaining Disks. In this case, I’ve chosen all the available disks for me.

Click Next and now, it’s time to configure our Networks. Uncheck “DHCP” and provide a Static IP address for your SQL Network as shown below. I’ve chosen 192.168.1.118

Next and choose Service SID’s as shown below. In Windows Server 2003, we’ve to provide Domain Groups.

Click Next and Choose your Service Accounts. Remember I told that I’ve created two accounts prior to starting this installation. I’ll use those accounts as my service accounts as shown below.

Click Next and now it’s time to configure our DB engine. I’ve selected Mixed Mode Authentication and added my SQLDBA group as Administrators on this SQL Instance as shown below.

Now Don’t click Next, Instead go to Data directories tab for configuring your Data, Log and Backup Drives as shown below as per our LUNS created.

That’s pretty much it…..Just clik Next ->Next -> and Install as shown Below.

That’s it Guys!! This will take decent amount of time depending on your server configuration. Go and grab a cup of hot coffee(btw, don’t forget to keep your fingers crossed ;p). After 17 minutes, i’m welcomed with below screenshot:)

Hurrayyyyyyyyyyyyy..We did it!! See how simple it is…. Okay let’s go to our failover manager and also open SSMS and see how it looks like. See below Sreenshots!

Note: I’ve manually added Node2 to our Preferred owners List(Optional). Once, you add Node2 to our cluster, you will be seeing Node2 and Node1 as possible owners for your SQL-Sreeprod.

Let’s see how to add a node to our SQL Server Failover cluster and also I’ll show you how to patch your Clustered SQL Instance by applying SQL Server 2008 SP1. Stay tuned!

Installing SQL Server 2008/2008R2 Failover Cluster- Part5

In part-4   , I’ve covered how to configure SAN using Starwind software and we’ve successfully attached our LUNS to Node1. In this part of the series, let’s Install Windows cluster. Before proceeding any further, let us initiate ISCSI service on Node2 as well and add our SANDC machine as portal for discovering targets, very similar to what we’ve done on previous part.

Okay, now let’s start creating our windows cluster.
Very first step should be Enabling “Failover Cluster Feature” in all your nodes which are participating in clustering. In our case Node1 and Node2.
Go to Server Manager and follow the below shown on both the nodes.

Next-> Install. It’ll do some mumbo jumbo behind the scenes and you should be seeing failover cluster management option on both the nodes in your Administrative tools once this feature has been enabled successfully.

Now, let’s go to Node1 and open Failover cluster management from Start->Administrative Tools->Failover cluster management.

Let’s do a validate cluster configuration before installing our actual cluster.  This is a very very useful tool which will identify any potential issues with our current cluster configuration. Please consider this as mandatory while configuring clustering in your real environments.
Note: The user which you are currently logged in should have administrative privileges on all the nodes of the cluster.

Step1:

Step2:

Step3:

Step4:

Once validation is completed(you should be seeing all green check marks in the validation report) we can proceed to create actual cluster as shown below.

Now instead of choosing validate a cluster, select on create a cluster and add node1 and node2. Now, give a name for your windows cluster and select a ip address as well.

you should be seeing something similar to following if everything has been done accurately upto this point as mentioned in this part of the series.        

Click NEXT and that’s all we need to do for creating a Windows cluster. Basically it’s two Next-Next buttons:) Remember how pain it was creating a cluster in Windows Server 2003?? Aaaah…what a relief starting Win Server 2008:)                                                                                         

Tadaaaaaaaaaaaaaaaa…..that’s it for today! If you observe closely, you are seeing a red and warning signs in the above screenshot, that because i powered down Node2 just to show you all that our cluster installation is really working as expected! Let’s see SQL Server Cluster Installation in the Next part of this Series.

Installing SQL Server 2008/2008R2 Failover Cluster- Part4

In the third part of this series InstallCluster-Part3, I’ve shown you how we can create a Domain/DNS and add rest of the Nodes to that domain, configuring NIC’s and all that Cool stuff.
In this part of the series let’s see how can we configure our SAN.
As I already mentioned in earlier, I’ll use Starwind Software to build my SAN. Just download and copy the exe to my SANDC machine and double click on the executable. It will be pretty straight forward Installation with Next->next choosing all the defaults.
Note: Microsoft ISCI Initiator service should be turned ON and set to start automatically.
Once Installation is complete and you should be seeing the below screen if you open the Starwind Management Console.

Right click on the Starwind Servers and choose Add Host as shown above.

Enter the IP Address of the machine which you are planning to act as our SAN. In our case it’s machine SANDC.

Once the Host has been added, now you’ve to connect to it. User: Root/ PWD:starwind.
You’ve to now apply the license key which comes with the free download. You can follow the below steps for installing license. Host – Registration ->

Browse to the folder where the key is located and hit “OKAY”.
Now we are all set to create our LUN’S using this management console.
Creating LUNs using Starwind:
Once you are successfully connected to the Host, you’ve the ability to add as many targets as we need. You can add targets by following the below screenshots in sequence.

Next and Finish. Similarly go ahead and create Drives with names MSDTC, SQL1DATA,SQL2DATA, SQL1LOG,SQL2LOG,SQL1BAK,SQL2BAK,SQL1TEMPDB,SQL2TEMPDB. (All the PROD2 LUNS can be easily added to cluster in future if you are planning to make it an A-A cluster from A-P).

I’ve created all the required LUN’s for my Active-Passive Installation of Cluster as shown below.

Prestoooo……! That’s all we need to configure your SAN Drives in Starwind.
Now we are just left with initiating those SAN Drives from Windows, so that our Servers can see them as Drives. All we need is just going to iSCSI Initiator and discover our SAN Server.(Remember Starwind SAN is typical iSCSI, not Fiber channel(HBA) based) Let’s see how can we do that below.
Login to Node1 with Administrator Account and go to Start->Administrative tools and Run iSCSI Initiator as Administrator as shown below.

In Discovery Tab click “Add Portal”. Enter the SANDC machine IP Address.

Now, switch to Targets Tab and you should be seeing all the Starwind targets we created as shown below.

Now, select a target and click on “Log On” button and dont forget to select “Automatically restore connection when the computer starts” option as shown below.

Click OK and do the same for all the targets. Once done, you should be seeing something similar to the below screenshot.

Now….Let’s see what’s in there inside “My Computer”….

Hmmmmmm…..Looks like Computer didn’t recognized our new drives!! So what are we missing here???

Storage Manager: Right Click on my computer and Manage and Go to Storage and Prestooooo…..now we are able to see those targets as Offline. All we need here is to Bring those drives Online and do a Quick Format and Lable them and assign them with a Drive letter. Let me show you guys what i’m saying for one drive…Follow the screenshots below sequencially.





Now you will be seeing drive is Online but not Initialized…You’ve to Right click again and Click “Initialize Disk” as shown below.




Choose MBR if asked for and Click Ok. Now You can see your Drive as Online, but you still need to Format the Disk with NTFS.

RC again and click New Simple Volume

You’ll be welcomed with a simple Wizard as follows…

Now let’s go to My Computer and see how it looks now….Keep your Fingers crossed!!

Hohooooooooooo……..There we Go!!!! We did it:) Now do the same with all the drives as an exercise for yourself. I’ll do the same and My computer now looks like below

Perfect….Okay Guys We’ll continue with creating a Windows Cluster in the next part of this series.

Installing SQL Server 2008/2008R2 Failover Cluster- Part3

This is the 3rd part of the SQL Cluster 2008 Installation Series.
In the 2nd part InstallCluster-Part2 I’ve explained how to Install Windows Server 2008 on your Virtual Machine(s). In this part let’s try to configure our DC and join rest of the Nodes into our domain.
why to wait, Let’s start!!
Before proceeding any further let me tell you what I’ve done so far.
I’ve Installed all the latest windows Updates(Including SP1) to all my three machines(you’ll get .Net framework 3.5 SP1 along these updates).
I’ve Disabled Firewall and UAC (User Account Control) on all the machines(This makes our cluster installation little bit easy dealing with Ports and IP’s and etc. Since this is a LAB environment, I’m Okay here. On your real environment you shouldn’t disable Firewall).
I’ve renamed the Computer names to SANDC, NODE1 and NODE2 as per our game plan. By default Windows comes up with some goofy names! To rename your computer, Right click on My computer – >Properties->change settings ->change button(system properties window)  and give a name and OK ->OK. Reboot Server.

Configuring your 1st domain controller in your forest:
Very Very Imp: My NIC Settings on SANDC Machine























Go to your SANDC machine and Start ->Run and type “dcpromo” without double quotes.
You will be welcomed with the below screen.

Note: BTW, if you want that background information what I’m pulling on my Desktop you can download a software called “BGINFO”:)

Now, let’s proceed further by clicking Next -> Next. You should be getting the screen as shown below.

Choose Create a New domain in a forest. Give a name(FQDN) for your domain.(I’ve chosen sree.local in my case). Choose Forest Functional level as 2008 as shown below and click Next(we would not have any issue because all of our servers are running on Windows Server 2008).

Select DNS Server and proceed further as shown below.

It might pop up a warning message, you can ignore that for our lab. In the Next Screen it asks for Active Directory Database locations and Sysvol locations. Leave it to default and proceed further. It’ll ask to configure Directory mode Restore Admin Password. Choose a strong pwd and proceed next. If everything goes well upto this point, you should be seeing the below screen

It will take some time to do all the MuboJumbo behind the scenes and configure all our settings. Finish and Restart. Once you restart the machine, you should be seeing, the machine is part of a Domain called “sree”, not anymore a work group member…hurray!!!! 🙂
Now, if you go to Start->Administrative tools, you will be seeing all the Active Directory related stuff being created on our Domain Controller. I’ve created a spl user and added him as a Domain Admin(just in case needed for any emergencies).

Joining Other Servers(Node1 and Node2) to Domain:
Okay! Now it’s time to join our two other machines Node1 and Node2 to our newly created domain.
I’ll show you joining Node1. You can follow exactly the same for adding Node2 to (y)our domain.
Joining Node1 to sree.local Domain:
Login to Node 1 with administrator account and go to the same place where you renamed the Server name to Node1.
Change Member of Workgroup to Domain as shown below. (In my case I’ve created a domain called sree.local)


Once you click Ok, it will ask for credentials which has necessary permissions to add new servers to domain. In my case I’ve chosen the Domain Admin account to perform this task. If everything has been followed accurately till now, you should be seeing the below display message.(A reboot is required to apply these changes)

Perform the same on Node2 as well to add it into domain.

FYI You can see my Network(NIC and IP Addresses) Settings in below Screen shots.

My NIC Settings for Node2 machine:

192.168.1.102 – Public(Bridged)
192.168.2.11 – Private(host only)

Public:




















Private:























NIC Settings for Node1:
Exactly similar settings except the change in IP Addresses.

192.168.1.101 – Public(bridged)
192.168.2.10 – private(host only)

Very Important: The preferred DNS IP address should be our SANDC machine IP(192.168.1.100 in my case) on Public NIC’s for both Node1 and Node2 machines.

Let’s see how to configure SAN using Starwind Software and create a windows cluster in the next part of this series.