Before Installing Failover Clustering

SQL Server Setup

Before you install a SQL Server failover cluster, you must select the hardware and the operating system on which SQL Server will run. You must also configure Microsoft Cluster Service (MSCS), and review network, security, and considerations for other software that will run on your failover cluster.

Preinstallation Checklist

Before you begin the failover cluster installation process, review the items below.

Verify Your Hardware Solution

  • For Windows Server 2003, your hardware must be listed on the Windows Catalog and Hardware Compatibility List. The hardware system must appear under the category of a cluster solution. Windows Server 2008 has a utility that assesses hardware compatibility for failover cluster solutions.
    Important:
    Individual cluster components added together do not constitute an approved system for failover clustering. Only systems purchased as a cluster solution and listed in the cluster group are approved. When checking the Windows Catalog and Windows Hardware Compatibility List, specify "cluster" as the category. All other categories are for OEM use. For more information, see The Microsoft support policy for server clusters, the Hardware Compatibility List, and the Windows Server Catalog.

  • Special hardware compatibility testing is necessary when implementing a failover server cluster on a Storage Area Network (SAN). The entire hardware solution must be in the Cluster/Multi-cluster Device category of the Windows Catalog and Hardware Compatibility List.
  • If the cluster solution includes geographically-dispersed cluster nodes, additional items like network latency and shared disk support must be verified. The entire solution must be on the Geographic Cluster Hardware Compatibility List. For more information, see Windows clustering and geographically separate sites in the Microsoft Knowledge Base.
  • SAN configurations are also supported on Windows 2000 Advanced Server and Datacenter Server editions. The Windows Catalog and Hardware Compatibility List category "Cluster/Multi-cluster Device" lists the set of SAN-capable storage devices that have been tested and are supported as SAN storage units with multiple MSCS clusters attached. By matching the devices on this list with the complete cluster configurations defined in the Windows Catalog and Hardware Compatibility List cluster category, it is possible to deploy a set of Windows servers and clusters on a SAN fabric with shared storage devices in a way that is supported by Microsoft. For more information, see The Datacenter Program and Windows 2000 Datacenter Server Product in the Microsoft Knowledge Base.
  • If you deploy a SQL Server failover cluster on iSCSI technology components, we recommend that you use appropriate caution. For more information, see Support for SQL Server 2000 on iSCSI technology components in the Microsoft Knowledge Base.
  • For support information, see SQL Server support policy for Microsoft Clustering in the Microsoft Knowledge Base.
  • Consider quorum disk resource sharing. In a server cluster, the quorum disk contains a master copy of the server cluster configuration, and is also used as a tie-breaker if all network communication fails between cluster nodes. Depending on the type of server cluster you implement, the quorum disk may or may not be a physical disk on the shared cluster disk array. Although it is best to reserve an entire cluster disk for use as the quorum disk, resources other than the quorum resource may be permitted to access the quorum disk.
    However, making the quorum resource share the same disk with other resources forces you to choose between two undesirable alternatives. Either you must configure the resource so that its failure does not affect the group, or you must allow the group to be affected by the other resource's failures. In the first case, you lose failover support for the resource; in the second, the quorum resource fails over along with the rest of the group that contains both the quorum resource and the failed resource. As a result, the entire cluster is offline for as long as it takes the group to fail over.
    For more information about proper quorum drive configuration, see the Microsoft Knowledge Base article, Quorum Drive Configuration Information.
  • To install a SQL Server failover cluster when the source installation files and the cluster exist on different domains, copy the installation files to the primary node of the cluster, then start the installation from the primary node.

Verify Your Operating System Settings

  • Make sure that your operating system is installed properly and designed to support failover clustering. For more information, see Hardware and Software Requirements for Installing SQL Server 2008.
  • Enable Windows Cryptographic Service Provider (CSP) on Windows Server 2003. If the CSP service is stopped or disabled on any cluster node, SQL Server Setup fails with a Windows Logo Requirement dialog.
  • SQL Server supports mount points; the clustered installations of SQL Server are limited to the number of available drive letters. Assuming that you use only one drive letter for the operating system, and all other drive letters are available as normal cluster drives or cluster drives hosting mount points, you are limited to a maximum of 25 instances of SQL Server per failover cluster.
    A mounted volume, or mount point, allows you to use a single drive letter to refer to many disks or volumes. If you have a drive letter D: that refers to a regular disk or volume, you can connect or "mount" additional disks or volumes as directories under drive letter D: without the additional disks or volumes requiring drive letters of their own.
    Additional mount point considerations for SQL Server failover clustering:
    • SQL Server Setup requires that the base drive of a mounted drive has an associated drive letter. For failover cluster installations, this base drive must be a clustered drive. Volume GUIDs are not supported in this release.
    • The base drive, the one with the drive letter, cannot be shared among failover cluster instances. This is a normal restriction for failover clusters, but is not a restriction on stand-alone, multi-instance servers.
    • Take extra care when setting up your failover cluster to ensure that both the base drive and the mounted disks or volumes are all listed as resources in the resource group. SQL Server Setup validates drive configuration as part of a failover cluster installation.
  • SQL Server Setup automatically sets dependencies between the SQL Server cluster group and the disks that will be in the failover cluster. Do not set dependencies for disks before Setup.
  • To enable Kerberos authentication with SQL Server 2008, see How to use Kerberos authentication in SQL Server in the Microsoft Knowledge Base.

Configure Microsoft Cluster Server

  • Microsoft Cluster Server (MSCS) must be configured on at least one node of your server cluster. MSCS is only supported if it is installed on a hardware configuration that has been tested for compatibility with the MSCS software. You must also run SQL Server Enterprise or SQL Server Standard in conjunction with MSCS. SQL Server Enterprise supports failover clusters with up to 8 nodes. SQL Server Standard supports 2-node failover clusters.
    For more information about installing and configuring MSCS on Windows Server 2003, see Server clusters.
  • The resource DLL for the SQL Server service exports two functions used by MSCS Cluster manager to check for availability of the SQL Server resource. There is a simple check, LooksAlive, that queries the service status through the Windows NT Service Control Manager. There is also a more stringent check, IsAlive, that connects to SQL Server as a user probe to perform a simple query. By default, LooksAlive is fired every 5 seconds, and IsAlive is fired every 60 seconds. The LooksAlive and IsAlive polling intervals can be changed in MSCS Cluster Administrator from the Advanced tab for the SQL Server resource or by using the Cluster.exe command prompt utility.
  • MSCS must be able to verify that the failover clustered instance is running by using the IsAlive check. This requires connecting to the server by using a trusted connection. By default, the account that runs the cluster service is not configured as an administrator on nodes in the cluster, and the BUILTIN\Administrators group does not have permission to log into SQL Server. These settings change only if you change permissions on the cluster nodes.
    Ensure that the group or account that the Cluster Service is running under can log into SQL Server for the IsAlive check. If it cannot, the IsAlive check will fail. At a minimum, the MSCS Cluster Service account must have public rights to SQL Server so that it can run SELECT @@servername on a regular basis.
  • When you install MSCS, it is very important to use separate service accounts to log on to MSCS and SQL Server. Otherwise, the cluster service password cannot be changed using the cluster command.
  • When using MSCS, one node must be in control of the shared SCSI bus prior to the other node coming online. Failure to do this can cause application failover to go into an online pending state and either prevent failover to the other node, or totally fail. If your cluster system has a proprietary install process, the proprietary process should be used.

Install Microsoft Distributed Transaction Coordinator

Before installing SQL Server on a failover cluster, determine whether the Microsoft Distributed Transaction Coordinator (MSDTC) cluster resource must be created. If you are installing only the Database Engine, the MSDTC cluster resource is not required. If you are installing the Database Engine and SSIS, Workstation Components, or if you will use distributed transactions, you must install MSDTC. Note that MSDTC is not required for Analysis Services-only instances.

Configure Microsoft Distributed Transaction Coordinator

After you install the operating system and configure your cluster, you must configure MSDTC to work in a cluster by using the Cluster Administrator. Failure to cluster MSDTC will not block SQL Server Setup, but SQL Server application functionality may be affected if MSDTC is not properly configured.

Other Software Considerations

  • Ensure that all cluster nodes are configured identically, including COM+, disk drive letters, and users in the administrators group.
  • Verify that the cluster interconnect (heartbeat) is properly configured. For more information, see the Knowledge Base article, Recommended private "Heartbeat" configuration on a cluster server.
  • Verify that you have cleared the system logs in all nodes and viewed the system logs again. Ensure that the logs are free of any error messages before continuing.
  • For SQL Server installations in side-by-side configurations with previous versions, SQL Server services must use accounts found only in the global domains group. Additionally, accounts used by SQL Server services must not appear in the local Administrators group. Failure to comply with this guideline will result in unexpected security behavior.
  • Windows Server 2003 cluster nodes in an environment where there are no pre-existing Windows Server 2003 domain controllers, see Windows 2000 and Windows Server 2003 cluster nodes as domain controllers.
  • To use encryption, install the server certificate with the fully-qualified DNS name of the MSCS cluster on all nodes in the SQL Server failover cluster. For example, if you have a two-node cluster, with nodes named "Test1.DomainName.com" and "Test2.DomainName.com" and a SQL Server failover cluster instance named "Virtsql", you must get a certificate for "Virtsql.DomainName.com" and install the certificate on the test1 and test2 nodes. Then you can select the Force protocol encryption check box on the SQL Server Configuration Manager to configure your failover cluster for encryption.
    Important:
    Do not select the Force protocol encryption check box until you have certificates installed on all participating nodes in your failover cluster instance.

  • Verify that anti-virus software is not installed on your MSCS cluster. For more information, see the Microsoft Knowledge Base article, Antivirus software may cause problems with cluster services.
  • Verify that the disk where SQL Server will be installed is uncompressed. If you attempt to install SQL Server to a compressed drive, SQL Server Setup fails.
  • When naming a cluster group for your failover cluster installation, you must not use any of the following characters in the cluster group name:
    • Less than operator (<)
    • Greater than operator (>)
    • Double quote (")
    • Single quote (')
    • Ampersand (&)
    Also verify that existing cluster group names do not contain unsupported characters.

Network, Port, and Firewall Considerations

  • Verify that you have disabled NetBIOS for all private network cards before beginning SQL Server Setup.
  • The network name and IP address of your SQL Server should not be used for any other purpose, such as file sharing. If you want to create a file share resource, use a different, unique network name and IP address for the resource.
    Important:
    Microsoft recommends that you do not use file shares on data drives, as they can affect SQL Server behavior and performance.

  • Even though SQL Server supports both Named Pipes and TCP/IP Sockets over TCP/IP within a cluster, Microsoft recommends that you use TCP/IP Sockets in a clustered configuration.
  • To ensure correct failover cluster functionality, add exceptions to firewall configuration settings for the SQL Server port, SQL Browser port, File and Printer Sharing (TCP 139/445 and UDP 137/138), and Remote Procedure Call (TCP port 135).
  • The Remote Registry service must be up and running.
  • Remote Administration must be enabled.
  • For the SQL Server port, use SQL Server Configuration Manager to check the SQL Server network configuration for the TCP/IP protocol for the instance you want to unblock. You must enable the TCP port for IPALL if you want to connect to SQL Server using TCP after installation. By default, SQL Browser listens on UDP port 1434.

Other Considerations

  • To create a failover cluster, you must be a local administrator with permissions to log on as a service, and to act as part of the operating system on all nodes of the failover cluster instance.
  • Before you install or update a SQL Server failover cluster, disable all applications and services that might use SQL Server components during installation, but leave the disk resources online.
  • On Windows Server 2008, service SIDs are generated automatically for use with SQL Server 2008 services. For SQL Server 2008 failover cluster instances upgraded from SQL Server 2000 or SQL Server 2005, existing domain groups and ACL configurations will be preserved.
  • On Windows Server 2003, create domain groups for the clustered services that will be installed as part of your SQL Server failover cluster. The SQL Server service, SQL Server Agent service, Analysis Services service, and iFTS service must run as domain accounts that are members of the domain group. If necessary, ask your domain administrator for the names of existing domain groups, or to create domain groups for your failover cluster. For more information, see Domain Groups for Clustered Services.
  • SQL Server failover clustering is not supported where cluster nodes are domain controllers.
  • Configure Domain Name Service (DNS) or Windows Internet Name Service (WINS). A DNS server or WINS server must be running in the environment where your SQL Server failover cluster will be installed. SQL Server Setup requires dynamic domain name service registration of the SQL Server IP interface virtual reference. If the dynamic registration cannot be completed, Setup fails and the installation is rolled back. If no dynamic registration is available, you must have pre-registered your server in DNS.
  • Review content in Security Considerations for a SQL Server Installation.
  • Review content in Check Parameters for the System Configuration Checker.
  • Consider whether the SQL Server tools, features, and components you want to use are supported with failover clustering. For more information, see Getting Started with SQL Server 2008 Failover Clustering.
  • Consider how you will monitor and maintain your failover cluster to achieve your high availability goals. For more information, see Maintaining a Failover Cluster and Using SQL Server Tools with Failover Clustering.
  • To reduce the time required to install a SQL Server failover cluster, you can pre-install .NET Framework 2.0 2.0 on all failover cluster nodes before running SQL Server Setup.

See Also