Windows 2008 Failover Clustering: Configuring SQL 2008 for Failover Clustering
[LEFT][CODE]http://itprosecure.com/blogs/windows_2008_admnistration/archive/2009/08/03/windows-2008-failover-clustering-configuring-sql-2008-for-failover-clustering-part-1-of-3.aspx[/CODE][B][SIZE=3]
PART-1[/SIZE][/B]
Configuring Windows 2008 Failover Clustering is another mechanism we have to make Applications 'Highly Available' for End Users. Many of the 'Windows Core Infrastructure Applications' (Operations Manager 2007, Configuration Manager 2007, etc.) require a specific version of Microsoft SQL as the Core Database Engine and/or Core Reporting Services Engine to function. In this multi-part Blog entry I will review some of the configuration steps to offer SQL 2008 Services on a Windows 2008 Failover Cluster.
Here are the Blog entries that comprise the aggregate solution:
[B]Windows 2008 Failover Clustering: Configuring SQL 2008 for Failover Clustering - Part 1 of 3 [B](this Blog entry!)[/B][/B]
[B]Windows 2008 Failover Clustering: Configuring SQL 2008 for Failover Clustering - Part 2 of 3 [/B]
[B]Windows 2008 Failover Clustering: Configuring SQL 2008 for Failover Clustering - Part 3 of 3[/B]
First, I will build the Windows 2008 Failover Cluster using 3 Nodes and a Node Majority for the Quorum Configuration. Here is that completed work.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0057.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0057-mini.gif[/IMG][/URL]
[B]Figure A[/B] - 3 Node Windows 2008 Failover Cluster. This is built in Blog Part 1 and 2.
Then I will build the Application Cluster running Windows 2008 Failover Clustering and SQL 2008 Failover Clustering Services.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1_C-0013.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1_C-0013-mini.gif[/IMG][/URL]
[B]Figure B[/B] - 3 Node Windows 2008 Failover Cluster with SQL 2008 Failover Cluster across all Nodes. This is built in Blog Part 3.
***************************************************************************
***************************************************************************
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0000.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0000-small.gif[/IMG][/URL]
[B]Figure 1[/B] - I begin with 3 Nodes configured as Windows 2008 x64 Enterprise Edition Servers. These Servers are Patched through July 2009 and include the following Feature:
[I]Failover Clustering[/I]
In addition, I am using the [URL="http://www.starwindsoftware.com/starwind-server-iscsi-san"]StarWind iSCSI Server[/URL] as the iSCSI Target and the [URL="http://www.microsoft.com/downloads/details.aspx?FamilyID=12cb3c1a-15d6-4585-b385-befd1319f825&DisplayLang=en"]Microsoft iSCSI Initiator[/URL] application provided as part of the Operating System for Windows 2008.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0001.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0001-small.gif[/IMG][/URL]
[B]Figure 2[/B] - The 'Disk Management' MMC in Server Manager shows the LUNs presented over iSCSI to all three Failover Cluster Nodes. I always configure a 'Quorum Drive', even for a configuration like this (with 3 Nodes) that does not require a Quorum Drive.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0002.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0002-small.gif[/IMG][/URL]
[B]Figure 3[/B] - I get underway by using Server Manager invoking the 'Add Roles' function. It is my intention to add the 'Application Server' Role initially.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0003.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0003-small.gif[/IMG][/URL]
[B]Figure 4[/B] - The initial screen for the 'Add Roles Wizard' confirms details specific to proceeding.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0004.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0004-small.gif[/IMG][/URL]
[B]Figure 5[/B] - In the 'Add Roles Wizard' I select 'Application Server'. The paradigm of 'Application Servers' encompasses many different aspects of running an Application on the Windows 2008 Platform, and is most focused on Web Services.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0005.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0005-small.gif[/IMG][/URL]
[B]Figure 6[/B] - Upon adding the 'Application Server' Role the prerequisite 'Features' offer a Confirmation of addition of such Features. Specifically, the 'Application Server' Role requires 'Windows Process Activation'.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0006.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0006-small.gif[/IMG][/URL]
[B]Figure 7[/B] - After confirmation of the Features required by the Application Server Role the 'Add Roles Wizard' offers validation of the scope of Services provided by adding the 'Application Server' Role.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0007.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0007-small.gif[/IMG][/URL]
[B]Figure 8[/B] - One of the primary reasons for adding the 'Application Server' Role is addition of 'Data Transformation Services'. Here, I confirm addition of both 'Incoming Remote Transactions' and 'Outgoing Remote Transactions'.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0008.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0008-small.gif[/IMG][/URL]
[B]Figure 9[/B] - Upon confirmation of both the Role and Features I am ready to 'Install' to proceed.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0009.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0009-small.gif[/IMG][/URL]
[B]Figure 10[/B] - Installation successful! Next I will proceed to confirm the COM+ Application configuration.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0010.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0010-small.gif[/IMG][/URL]
[B]Figure 11[/B] - Here I review the COM+ Application configuration resulting from the choices for both 'Role' and 'Features' for the 'Application Server' Role.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0011.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0011-small.gif[/IMG][/URL]
[B]Figure 12[/B] - Previously, I installed the 'Feature' of 'Failover Clustering' that includes the 'Failover Clustering Tools'. This occurred while configuring the iSCI Initiator and iSCSI Target parameters.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0012.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0012-small.gif[/IMG][/URL]
[B]Figure 13[/B] - Upon opening the 'Failover Clustering Management' MMC, the recommended approach is to select 'Validate a Configuration (Cluster Configuration)' from the 'Management' leaf of the MMC.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0013.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0013-small.gif[/IMG][/URL]
[B]Figure 14[/B] - The 'Validate a Configuration Wizard' presents relevant information on proceeding through the Validation Process.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0014.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0014-small.gif[/IMG][/URL]
[B]Figure 15[/B] - In the next step of the 'Validate a Configuration Wizard' I input the Host by Name (b01-node-1.corp.itpslab.local) and proceed to confirmation Test Parameters.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0015.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0015-small.gif[/IMG][/URL]
[B]Figure 16[/B] - The default value of 'Run All Tests' is reasonable seeing this is the first Node in a multi-Node Cluster Configuration.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0016.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0016-small.gif[/IMG][/URL]
[B]Figure 17[/B] - Selecting 'Run All Tests' provides a Summary of both Servers (Nodes) targeted for Testing and the Test List.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0017.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0017-small.gif[/IMG][/URL]
[B]Figure 18[/B] - Upon completion of the 'Validate a Configuration Wizard' Summary Information is provided in both condensed and detailed format. The detailed format is available by selecting 'View Report' from the Summary screen.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0018.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0018-small.gif[/IMG][/URL]
[B]Figure 19[/B] - Upon review of the 'Validate a Configuration Wizard' Summary Report, and in observing no Critical Errors I proceed to 'Create a Cluster' using the 'Create a Cluster' Wizard.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0019.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0019-small.gif[/IMG][/URL]
[B]Figure 20[/B] - The initial information from the 'Create a Cluster Wizard' introduces details pertinent to Cluster Creation.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0020.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0020-small.gif[/IMG][/URL]
[B]Figure 21[/B] - This is the first Node and as such I simply add 'bo1-node-1.corp.itpslab.local' to the 'Selected Servers' list.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0022.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0022-small.gif[/IMG][/URL]
[B]Figure 22[/B] - In a step not show here I add 'app-cluster-01' as the 'Cluster Name' (Cluster Name Object, or CNO). Additionally, I assign the CNO an IP Address of 192.168.1.65 from the IP Schema for the 'Public Network'. The 'Create a Cluster Wizard' confirms the ability to proceed to completion in creating a single Node Cluster on Windows 2008.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0024.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0024-small.gif[/IMG][/URL]
[B]Figure 23[/B] - The 'Create Cluster' Report provides Summary Detail on the Cluster Creation process for further review.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0025.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0025-small.gif[/IMG][/URL]
[B]Figure 24[/B] - The additional relevant Detail from the 'Create a Cluster' Summary Report.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0026.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0026-small.gif[/IMG][/URL]
[B]Figure 25[/B] - Moving back to the 'Failover Cluster Management' MMC we observe several details about this Cluster Configuration. Node 'b01-node-1.corp.itpslab.local' includes a Single Node, the Quorum Configuration is 'Node Majority', and 2 Separate IP Networks provide Services for this Cluster Configuration.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0027.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0027-small.gif[/IMG][/URL]
[B]Figure 26[/B] - Selecting 'Storage' from the 'Failover Cluster Management' MMC indicates 'No Storage' selected for the Cluster Configuration. I can easily 'Add a Disk' using the 'Action Menu' or by 'Right Mouse Clicking' the 'Storage' leaf.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0028.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0028-small.gif[/IMG][/URL]
[B]Figure 27[/B] - Selection of 'Cluster Network 1 (the Default Name given)' indicates this is the IP Interface for the 'Public Network' for this configuration. The 'Public Network' provides Client Connectivity Traffic to/from the Cluster Node.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0029.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0029-small.gif[/IMG][/URL]
[B]Figure 28[/B] - The 'Private Network' handles the 'Heartbeat Traffic' between Cluster Nodes.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0030.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0030-small.gif[/IMG][/URL]
[B]Figure 29[/B] - Next, I move to Node 2 to add the Failover Cluster Services to the Cluster title 'app-cluster-01.corp.itpslab.local'. This second Node is configured exactly like the first Node.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0031.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0031-small.gif[/IMG][/URL]
[B]Figure 30[/B] - I begin with the 'Validate a Configuration Wizard' as previously completed on Node 1.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0032.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0032-small.gif[/IMG][/URL]
[B]Figure 31[/B] - Once initiated, the 'Validate a Configuration Wizard' provides the detail required to add the second Node to this Failover Cluster configuration.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0033.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0033-small.gif[/IMG][/URL]
[B]Figure 32[/B] - I add the current Cluster Node (bo1-node-1) and the targeted Cluster Node (b01-node-2) to this process of Validation.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0034.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0034-small.gif[/IMG][/URL]
[B]Figure 33[/B] - I select 'Run All Tests' and initiate the Validation process.
[URL="http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0035.gif"][IMG]http://itprosecure.com/filestorage/CommunityServer.Components.SiteFiles/configs/win2k8_failover_sql2k8/itps_failover_cluster_install_1-0035-small.gif[/IMG][/URL]
[B]Figure 34[/B] - Here is the Summary of 'Servers to Test' and 'Test Selected by the User' for the 'Validate a Configuration Wizard'. Output of these Tests will confirm/deny the ability to add a second Node to the Cluster.
[COLOR=#008000][/COLOR]
[/LEFT]