Setting up a Two-node SQL Server 2008 Cluster from the Command Prompt - Preparation
September 16, 2008
SQL Server failover clustering provides the best high-availability solution for an entire SQL Server instance. When the active node in a SQL Server cluster goes offline due to hardware problems, OS problems or scheduled reboots, the SQL Server failover instance configured on the cluster automatically fails over to another node and continues running there. With the release of SQL Server 2008 RTM, the installation process of SQL Server cluster has significantly changed. We have two options now. They are Integrated installation and Advanced/Enterprise installation. In the Integrated installation, we first create a single-node SQL Server failover cluster instance. Then we run Setup on each node that we want to add to the cluster, and add the node to the cluster using the Add Node functionality in Setup. In Advanced/Enterprise installation, we prepare each node in the failover cluster to join the cluster using the Prepare Failover Cluster functionality in Setup. After we prepare the nodes, we complete the failover cluster instance on the active node and make it operational using the Complete Failover Cluster functionality in Setup.
In part I of this series, I will show you how to prepare for SQL Server cluster setup.
Before installing a SQL Server cluster, we need to configure a Microsoft Windows Server 2003/2008 cluster. In our example, we configure a Windows Server 2003 cluster with two computers, Node1 and Node2. Each node has two network interface cards (NICs) that connect to two networks individually, public and private. The public network is for communications between domain controller, client machines and the cluster. The private network is for heartbeat messages between the two cluster nodes. The two nodes share a quorum disk, Q:, which stores cluster configuration database checkpoints and log files that help manage the cluster and maintain consistency. It also acts as a tiebreaker if all network communication fails between cluster nodes. The cluster has two more shared disks SQL Data (Physical Disk D:), and SQL Log (Physical Disk L:), which will be used to store SQL Server data. We will use Disk D: to store the data files of the new SQL Server failover instance, and disk L: to store the log files. Moreover, the group contains a network name and an IP address assigned to the Windows server cluster. The cluster configuration is shown in the figure below.
We also need to cluster the Microsoft Distributed Transaction Coordinator resource (MS DTC). 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 MS DTC resource is clustered in a group called "MSDTC Group". This group contains the MS DTC resource, a shared Physical Disk M: to store MS DTC log files, a network name, and an IP Address. Before clustering MS DTC, network MS DTC 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.
In addition to the shared disks (D: and L:), there are some other resources that need to be prepared.
We also need to make sure the domain network is the first bound network. In our example, the public network connection needs to have a higher network binding order than the private network connection. Otherwise, a warning will be generated during the setup configuration checks. You change the network order by running ncpa.cpl. This command opens a Network Connections window. On the Advanced menu, click Advanced Settings.
On the Adapters and Bindings tab, make sure the public network connection is above the private network connection. Otherwise, use the arrow buttons to move them.
In this article, we discuss briefly the prerequisites for SQL Server cluster installation. In Part II and III of this series, we will provide step-by-step examples of SQL Server 2008 cluster installation.