Use WLBS to combat Web server delays in your IIS 4.0 clusters
Comedian Rodney Dangerfield's memorable punch line, "I get no respect," could easily be the Web server administrator's motto. Those of us who manage Web servers are expected to have Web pages readily available for download at any time under any network conditions. Although some customers might be patient while standing in line at the local fast-food restaurant or stacking up on the airport runway, they're not as patient when it comes to Web server delays. Queuing browser requests results in users going elsewherein other words, you lose business.
One way in which Web server administrators can combat Web server delays is by using clustering technology to provide fault-tolerant Web services. Microsoft entered the Web-clustering arena with Windows NT Load Balancing Service (WLBS), which the company acquired in 1998. With WLBS, you can have as many as 32 servers providing high-availability services such as IIS, FTP, VPN, and Microsoft Proxy Server. Let's explore the ins and outs of WLBS on IIS 4.0.
How WLBS Works
WLBS provides fault tolerance and clustering at the network layer rather than at the application layer. This distinction is important because the clustering software isn't aware of problems that might exist with IIS. Because WLBS operates at the network layer and below, it detects breaks in network connectivity and catastrophic server failures, including loss of power, hardware failures, and blue screens. The failover process in WLBS is reliable and swift. In most cases, packet loss is limited to just one packet. However, WLBS isn't designed to detect an application-layer failure, such as a failing Active Server Pages (ASP) application or a back-end database problem.
WLBS performs its clustering function through a TCP/IP-based message called a heartbeat. Heartbeats are multicast messages that a node (i.e., server) sends once a second to every server in the cluster. When a Web request arrives, the node sends it to every server in the cluster. The servers then use a dynamic algorithm to determine which server should handle the request. Should one of the servers in the cluster fail to respond, the other servers in the cluster take over and redistribute the load from the failed server.
WLBS works best with sites that contain only static Web pages. Web sites that keep stateful connections (e.g., Web sites that rely on or update back-end databases) enjoy only limited support in WLBS. WLBS uses affinitya concept I cover later in this articleto support connections that require state, such as Secure Sockets Layer (SSL) connections. In addition, WLBS can support multiple virtual IP addresses, providing support for hosting multiple Web sites on one WLBS cluster. Hardware and ongoing support costs change dramatically when you add multiple Web sites on a cluster. If such additions are the case in your environment, examine other clustering technologies, such as hardware-based load balancing, which can be more cost-effective.
Speaking of costs, here's the good news and the bad news. The good news is that WLBS is freely available for download from the WLBS home page at http://www.microsoft.com/ntserver/nts/downloads/winfeatures/wlbs/default.asp. WLBS 2.2 was the latest version at the time of this writing. The bad news is that you can license WLBS only for use with NT Server, Enterprise Edition (NTS/E), which can make for an expensive clustering solution, especially if you're thinking about using more than just a few nodes. (Note that although the licensing agreement allows for the use only of NTS/E, you can install and run WLBS on the much less expensive NT Server 4.0, Standard Edition.) If you plan to run multiple sites and clusters, you might be able to save money by using a hardware-based cluster.
Before you install WLBS, you need to have two servers with comparable hardware. I strongly recommend that you also use identical hardware for each node in your cluster. Using dissimilar hardware and software increases support difficulties. When it comes time to troubleshoot, patch, or upgrade your servers, having similar equipment makes life much easier.
The WLBS documentation states that WLBS requires only one NIC. However, I strongly recommend that you use two NICs because then the network bindings are much easier to understand and configure. With two NICs, one card is dedicated to serving Web requests, and the other card is dedicated to passing heartbeat status messages about the health of that NIC's node in the cluster. Figure 1 shows a diagram of what a two-server WLBS cluster usually looks like. Note that the two public-facing interfaces share the same IP address172.16.25.1. You can uniquely address servers through their dedicated IP addresses.
Installing WLBS on Your Servers
Now that you understand the basics, let's install and configure WLBS. Extract the WLBS installation files into a temporary directory. WLBS installs as a new network adapter called WLBS virtual NIC. To install WLBS, right-click Network Neighborhood, then select Properties. In the Network dialog box, click the Adapters tab, then click Add. From the Select Network Adapter menu, click Have Disk. In the Insert Disk dialog box, enter the temporary directory that you chose for the installation files. Click OK twice to begin installation. (You'll receive a warning about ensuring that the bindings are correctly mapped.)
In the Windows NT Load Balancing Setup dialog box, you configure a particular node in the cluster. You can configure almost every aspect of the cluster from this dialog box, including identifying which cluster you want to join, defining some of the host parameters, and setting the server load that this node will be handling. In the Cluster parameters portion of the dialog box, which Figure 2 shows, enter the primary address, the primary subnet mask, the full Internet name (i.e., www.your domain.com), the dedicated IP address, and the dedicated subnet mask.
1º - Eu configurei o NLB no windows 2000, porém não estou conseguindo acessar a página de uma outra máquina. Como não trabalho com DNS coloquei no arquivo de HOST da minha máquina o IP 172.18.90.209 e o nome www.cluster.com, mas não vai. Apenas consigo acessar pelo caminho http://www.cluster.com/pagina no servidor local.
2º- No nó primário sempre apresenta o erro 0xC0070015, mas já verifiquei e estou com a mesma numeração na porta para ambos.
O que esta faltando? Agradeço quem me ajudar!!
rhomer February 25, 2004