This chapter teaches you how to increase the availability of a data center by creating a Microsoft Network Load Balancing (NLB) cluster. After reading this chapter, you will be able to create an NLB cluster to work with secondary servers maintained by using log shipping, transactional replication, or database backups.
The implementation steps include annotation to help you understand the selected configuration choices. The configuration options presented in this chapter have been designed by using input from the field, reviewed thoroughly by Microsoft Product Support Services (PSS), and tested by an independent team to ensure accuracy and functionality.
On This Page
Understanding Network Load BalancingNetwork Load Balancing is a component of Windows clustering technology that comes with Microsoft Windows 2000 Advanced Server and Microsoft Windows 2000 Datacenter Server. An NLB cluster provides a way to provide a single server name and an IP address through which clients connect to one or more servers. You usually use NLB to automatically distribute (load balance) client requests across a number of servers providing the same service to the client, such as Internet Information Services (IIS). With a production database that allows updates however, only one server can be active. In a high-availability environment, you create an NLB cluster to easily route client requests from the original primary server to a promoted secondary server without having to update each client directly. Although NLB requires you to manually reconfigure the NLB cluster to point clients to a secondary server, manually modifying the NLBis much faster than manually changing the connection information for each client. You can use NLB with a standby server that participates in log shipping, with a subscriber that participates in transactional replication, or with a secondary server that contains a database restored from backup. NLB setup is simple and switching to an alternative server is quick; however, NLB requires that each server that participates in an NLB cluster be on the same subnet. To implement an NLB solution, you need to have certain things in place:
For more information about NLB, see "Microsoft Clustering Solutions" on the Microsoft TechNet Web site at http://www.microsoft.com/technet/archive/community/columns/tips/w2kclust.mspx. Also see "Network Load Balancing Technical Overview" on the Microsoft TechNet Web site at http://www.microsoft.com/technet/prodtechnol/windows2000serv/deploy/confeat/nlbovw.mspx. Deploying NLBYou will successfully implement an NLB cluster if you avoid shortcuts and parallel installations. If the setup program fails or you cancel the setup program, remove any Domain Name System (DNS) entries that relate to the failed setup before you continue. Also, verify that the server name and IP address you plan to use for NLB are unused immediately before installing NLB. You can check for conflicts by pinging the service name and proposed IP address. This chapter assumes the following with respect to each participating server in the NLB solution:
The logical design of the NLB cluster built in this chapter is described below, followed by the detailed steps required to build this high-availability solution. Understanding the Logical DesignFigure 4.1 shows the logical design of an NLB cluster. The design shows a secondary server in the local site and a secondary server in a remote site. You need not implement both secondary servers. The remote site provides redundancy in case the local site becomes unusable. The virtual local area network (VLAN) connecting the local and remote sites allows NLB NICS to be on the same subnet, which is a requirement for an NLB operation. Client traffic and NLB management traffic use the same network. You can use a second network within the local site for log shipping or replication traffic between servers to reduce the load on the public network within the local site. When you deploy a remote site, you must ensure that the connection to the remote site supports sufficient bandwidth for all network traffic between the sites. Clients use the NLB cluster address to connect to SQL Server. In the configuration shown in Figure 4.1, the NLB cluster address is the x.y.z.5 IP address. NLB is configured so that only the current primary server responds to the cluster address. When a secondary server is promoted to become the primary server, use NLB management commands to change the server that responds to client requests directed to the NLB cluster address. On each server (node) that will be part of the NLB cluster, an instance of Windows 2000 Advanced Server or Windows 2000 Datacenter Server is installed. The steps required to implement this logical design are below, followed by the steps in detail. To implement an NLB cluster
Obtaining the Public IP Address, Server Name, and PortBefore configuring an NLB cluster, obtain a server name, IP address, and port number for the NLB cluster.
You will use this information when configuring the NLB cluster. Configuring the NLB NIC and Installing and Configuring NLBBefore you install NLB on each node, you must configure the IP address for the NIC that you plan to use for NLB communication. If you have multiple NICs in the server, choose the NIC connected to the corporate network. You will install NLB on only one NIC in the server. If the NLB cluster is geographically dispersed and you are using a virtual private network (VPN) to connect the sites, you must also configure the default gateway and preferred DNS server for the NIC. After you configure the NLB NIC, install and configure NLB on the NLB NIC. Use the same cluster parameters for each node in the NLB cluster. Use a unique host IP address for each node, but be sure each node is on the same subnet. Use port rules to determine how traffic will be distributed across the nodes in the cluster. For SQL Server databases that are not read-only, you must configure the port rules so that only one server (the current primary server) will handle all network traffic for SQL Server. Before you begin, log on by using an account that is a member of the Administrators local group. To configure the NLB NIC
To install NLB on a node
To configure the NLB cluster
To add the cluster IP address to the NLB NIC
Note: Repeat these procedures on each node participating in the NLB cluster. After you have configured all the nodes, verify with your network administrator that there is a DNS entry for the virtual cluster name. If you are using the cluster IP address instead of the cluster name when connecting to SQL Server, the network administrator should add the cluster IP address and name to the DNS reverse lookup table. Enabling the Primary Server NodeAfter you have configured the NLB cluster on all nodes participating in the NLB cluster, enable the node servicing the primary server. Do not enable any nodes servicing secondary servers. When you enable a node, a convergence process occurs that determines the servers that will respond to client traffic directed to the NLB cluster name and IP address. This convergence process evaluates the nodes that are enabled and the NLB configuration settings for the cluster. To enable the primary server node
Changing the Primary Server with NLBNLB supports automatic and manual failover modes to change the server that receives traffic directed to the NLB clusters virtual IP address. The automatic failover mode is designed to be used when NLB is automatically distributing client requests across a number of servers that are providing the same service to the client. When NLB is used as a part of a SQL Server high-availability solution, however, manual failover must be used. Before changing the NLB cluster configuration to point to a secondary server, you must prepare the secondary server to receive client requests. The steps required to prepare the secondary server vary depending on the high-availability solution used with NLB.
After the secondary server is ready to receive client requests, stop all traffic through NLB to the current primary server and then enable traffic to the secondary server. To disable client traffic to the primary server
Note: This procedure is required only if you are performing a planned failover. If the primary server has failed, skip this procedure. To enable client traffic to the secondary server
Note: To point clients to the original primary server, prepare the original primary server to receive client requests, and then use the two procedures above to disable client traffic to the current primary server and to point client traffic to the original primary server. | In This Article |