Achieve High Availability and Scalability Using ARR and NLB for Shared Hosters

Updated: November 5, 2009

Applies To: Windows 7, Windows Server 2008, Windows Server 2008 R2, Windows Vista

This topic describes how to use Application Request Routing (ARR) and network load balancing (NLB) to achieve high availability and scalability. ARR is a proxy-based routing module that uses HTTP headers, server variables, and load balance algorithms to determine how to forward HTTP requests to content servers. You can deploy ARR in active/passive mode to achieve only high availability, or you can deploy ARR in active/active mode to achieve both high availability and scalability. NLB is a service that enhances the availability and scalability of application servers by combining the resources of two or more servers and distributing incoming client requests across the servers in a server farm. Combined, ARR and NLB let you deploy core ARR scenarios in your environment while achieving overall high availability and scalability.

ARR uses the URL Rewrite module to inspect incoming HTTP request headers and server variables to make routing decisions. Because routing decisions are made at the application level (layer 7), you can write routing rules based on application-level information. NLB makes routing decisions on the data level (layer 3); therefore, application-specific information, such as HTTP headers and server variables, cannot be used to provide application level based routing. For more information, see Achieve High Availability and Scalability Using ARR and NLB.

In a shared hosting deployment, you can use the host name affinity feature in ARR to maximize your server resources and evenly distribute traffic across all your servers. When there is an incoming request, ARR load balances and affinitizes the request to a Web server. The Web server retrieves content from a file share, and then sends a response back to the client that sent the original request.

For more information about shared hosting in ARR, see Configure Shared Hosting Using ARR.

In active/passive mode, there are typically two ARR servers: one to process requests and one to act as a failover server. This configuration can achieve high availability but is still limited by the maximum capacity of one ARR server.

You must meet the following conditions before you continue:

  • ARR configured for shared hosting with the host name affinity provider.

    To configure the host name affinity feature in ARR for shared hosting, see Configure Shared Hosting Using ARR. The host name affinity feature affinitizes requests to a particular server based on the host name.

  • External Cache enabled and configured.

    To enable and configure the External Cache feature, see Use Multiple Instances of ARR Servers. The External Cache feature shares and maintains runtime state information, such as the affinitized mapping between host names and content servers, between multiple ARR servers.

Configuring NLB requires the following steps:

  1. Install the NLB feature.

  2. Create an NLB cluster for ARR.

  3. Configure NLB for active/passive deployment.

  1. Open Server Manager.

  2. In the left pane, click Features.

  3. In the Features pane, click Add Features.

  4. In the Add Features wizard, on the Select Features page, select Network Load Balancing. Click Next.

  5. On the Confirm Installation Selections page, click Install.

  6. On the Installation Results page, verify that Network Load Balancing installed successfully, and then click Close.

  7. Repeat these steps on all ARR servers.

  1. Go to Start > All Programs > Administrative Tools > Network Load Balancing Manager.

  2. In the Network Load Balancing Manager window, in the left pane, right-click Network Load Balancing Clusters, and then select New Cluster.

  3. In the New Cluster dialog box, on the Connect page, enter the server address of an ARR server in the Host box. You can also enter the server address where you want to create the NLB cluster. Click Next.

  4. On the Host Parameters page, select 1 from the Priority (unique host identifier) list. In active/passive mode, priority determines the order in which failover takes place. By default, the server with priority 1 set is the active node. Click Next.

  5. On the Cluster IP Addresses page, click Add.

  6. In the Add IP Address dialog box, enter a virtual IP address that the clients will communicate with. Click OK.

  7. On the Cluster IP Addresses page, click Next.

  8. On the Cluster Parameters page, accept the default values, and then click Next.

  9. On the Port Rules page, click Finish.

  10. To add additional members to your NLB cluster, right-click the newly created cluster in the Network Load Balancing Manager, and then select Add Host to Cluster. Follow steps 3—9 above, entering the server addresses of the members that you want to add, and setting appropriate and unique priority assignments for each member.

  1. Open Network Load Balancing Manager.

  2. In the left pane, right-click the newly created cluster, and then select Cluster Properties.

  3. In the Properties dialog box, on the Port Rules tab, click Edit.

  4. In the Add/Edit Port Rule dialog box, select Single host, and then click OK.

In active/active mode, two or more ARR servers are used to achieve both high availability and scalability. The ARR servers use a shared configuration for active/active mode similar to active/passive mode. To use all ARR servers simultaneously, you must configure the NLB cluster port rule using multiple host mode.

You must meet the following conditions before you continue:

  • ARR configured for shared hosting with the host name affinity provider.

    To configure the host name affinity feature in ARR for shared hosting, see Configure Shared Hosting Using ARR. The host name affinity feature affinitizes requests to a particular server based on the host name.

  • External Cache enabled and configured.

    To enable and configure the External Cache feature, see Use Multiple Instances of ARR Servers. The External Cache feature shares and maintains runtime state information, such as the affinitized mapping between host names and content servers, between multiple ARR servers.

Configuring NLB requires the following steps:

  1. Install the NLB feature.

  2. Create an NLB cluster for ARR.

  3. Configure NLB for active/active deployment.

  1. Open Server Manager.

  2. In the left pane, click Features.

  3. In the Features pane, click Add Features.

  4. In the Add Features wizard, on the Select Features page, select Network Load Balancing. Click Next.

  5. On the Confirm Installation Selections page, click Install.

  6. On the Installation Results page, verify that Network Load Balancing installed successfully, and then click Close.

  7. Repeat these steps on all ARR servers.

  1. Go to Start > All Programs > Administrative Tools > Network Load Balancing Manager.

  2. In the Network Load Balancing Manager window, in the left pane, right-click Network Load Balancing Clusters, and then select New Cluster.

  3. In the New Cluster dialog box, on the Connect page, enter the server address of an ARR server in the Host box. You can also enter the server address where you want to create the NLB cluster. Click Next.

  4. On the Host Parameters page, select 1 from the Priority (unique host identifier) list. In active/passive mode, priority determines the order in which failover takes place. By default, the server with priority 1 set is the active node. Click Next.

  5. On the Cluster IP Addresses page, click Add.

  6. In the Add IP Address dialog box, enter a virtual IP address that the clients will communicate with. Click OK.

  7. On the Cluster IP Addresses page, click Next.

  8. On the Cluster Parameters page, accept the default values, and then click Next.

  9. On the Port Rules page, click Finish.

  10. To add additional members to your NLB cluster, right-click the newly created cluster in the Network Load Balancing Manager, and then select Add Host to Cluster. Follow steps 3—9 above, entering the server addresses of the members that you want to add, and setting appropriate and unique priority assignments for each member.

  1. Open Network Load Balancing Manager.

  2. In the left pane, right-click the newly created cluster, and then select Cluster Properties.

  3. In the Properties dialog box, on the Port Rules tab, click Edit.

  4. In the Add/Edit Port Rule dialog box, do the following:

    • For the filtering mode, select Multiple host.

    • For the affinity setting, select None.

  5. Click OK.

See Also

Community Additions

ADD
Show: