SQL Server 2000 failover clustering can be used to provide almost instantaneous availability of a secondary node in a failover cluster configuration in case the primary node fails for any reason. Failover clustering provides a higher level of availability than the use of standby servers. In this lesson, you will be introduced to the Microsoft Cluster Service (MSCS). You will learn about the use of active/active and active/passive failover clusters. You will also learn how to create and configure a SQL Server virtual server on a failover cluster. Finally, you will learn about maintaining a failover cluster.
MSCS is a service of Windows 2000 and Windows NT 4.0 that is used to form server clusters (also called failover clusters). A server cluster is a group of independent computer systems working together as a single system and sharing a common storage system (generally a RAID system). Each computer frequently has identical hardware. Windows 2000 Data Center supports up to four nodes (each server in a cluster is called a node). Windows 2000 Advanced Server and Windows NT 4.0 Enterprise Edition support two nodes. Applications run on a server cluster, rather than on a specific node in the server cluster. The MSCS clustering software monitors each node and ensures that an application running on the server cluster continues to run regardless of the failure of an individual node. See Figure 16.21.
SQL Server 2000 runs as a virtual server across two or more nodes in the server cluster. To install SQL Server 2000 on an existing server cluster, run the SQL Server Setup program on one of the nodes in the server cluster. The Setup program automatically detects the presence of the server cluster. Select the Virtual Server option button in the Computer Name page to define a virtual server and install the executable files on each node in the server cluster (for example, to C:\Program Files\Microsoft SQL Server on each node). This enables each node to run SQL Server executable programs if necessary. The data files (for system and user databases) for the virtual server can only be installed in the shared RAID system. This enables the data files to be available to any node.
During setup, you define a virtual server name and assign an IP address to the virtual server. A virtual server can use multiple IP addresses to support multiple subnets that provide redundancy in the event of a network adapter or router failure. SQL Server clients connect to this virtual server, rather than to any individual node. By default, the virtual server runs on the node on which you are installing SQL Server, although you can select another node as the primary node.
One or more secondary nodes in the server cluster function as the failover nodes, ready to pick up the load of the primary node in the event of failure.
A node in a server cluster can be either active or passive. You can create up to 16 instances of SQL Server 2000 in a server cluster. Each instance can run on any node in the server cluster. You must plan to have sufficient hardware resources (memory and processor) in each failover node to provide services in the event a primary node fails. There are several ways to accomplish this.
There are a number of installation and configuration considerations you must be aware of when running SQL Server 2000 in a clustered environment.
In the event the primary node used by a virtual server fails, a secondary node takes over. A recovery of the database occurs automatically, and the failover node takes over and handles all user connections (user connections to not need to be reestablished). User processes are oblivious to the change, other than a minor wait for the failover to complete.
To recover, run the Setup program to remove the failed node from the configuration. This takes approximately one minute. Next, repair or replace the failed node. Finally, rerun the Setup program and add the rebuilt node. The Setup program takes care of the rest of the process. The active node does not have to be stopped during this process, so users can continue working.
Failover clustering provides the highest level of availability for SQL Server 2000 installations. Failover clustering is based on MSCS and is available only on Windows 2000 Data Center, Windows 2000 Advanced Server, and Windows NT 4.0 Enterprise Edition. When the SQL Server Setup program detects a server cluster, you can choose to install a virtual server, selecting one of the nodes in the server cluster as the primary node. If this node fails, the virtual server will automatically fail over to a secondary node. The secondary node can either be inactive or function as the primary node for another virtual server.