Many software-based server load-balancing and failover options have prematurely reached the end of the product life cycle. The market prediction that effectively swept software-based options off the enterprise landscape was that the price of superior hardware-based solutions would decrease enough to make the software options superfluous. The problem with this prediction is obvious to anyone who has tried to cluster a small pool of application servers on a tight budget: the price of the hardware options that are worth having have not dropped enough to fill the niche occupied by software clustering applications.

Although the hardware-based options are more robust, the niche for software options remains even though options have diminished. The key player left in this field of diminishing options is Microsoft Network Load Balancing (NLB); it is built into the Microsoft Windows Server 2003 TCP/IP stack as a standard option. If configured properly, NLB can be used to cluster a pool of Connect Enterprise servers and provide a means of IP-based failover. This article describes how to use NLB to cluster a pair of Connect Enterprise servers running with a full suite of Connect options.

Requirements

To complete this tutorial you will need to install the following software and files:

  • Adobe Connect Enterprise Server 6
  • Try and Buy Microsoft Windows Server 2003

Prerequisite knowledge

You need basic networking skills, familiarity with the Windows Server 2003 IP stack and NLB as well as with DNS name resolution.

Note: This article is intended as a supplement to the NLB documentation provided by Microsoft; it is not exhaustive and does not serve as a replacement for NLB documentation. For details on NLB, see the Windows Server 2003 Network Load Balancing (NLB) Technical Library. This article is also a supplement to the Connect EnterpriseInstallation and Configuration Guide, and as such does not provide all the information needed to fully install and configure Adobe Connect Enterprise servers.

Setting up DNS name resolution

As with any major web server deployment, it is best to begin in a lab environment where you can become familiar with the configuration. The place to start is on your lab DNS server, where you will map out the name resolution and reserve IP addresses for the cluster. In this article, you will configure a two-server cluster with a remote SQL database server.

You will need a fully qualified domain name (FQDN) as an administrative address for each of the Connect Enterprise servers (see Table 1); if you do not have a DNS server in your test lab, you may use host files.

Table 1. FQDNs for Adobe Connect Enterprise Server

IP Address

Hostname

10.10.10.1

criseyde.enterprisecluster.com

10.10.10.4

troilus.enterprisecluster.com

You will need an FQDN for each Adobe Connect Enterprise Server running on each server platform; since you will need one for each server, the name connectappc will be used on the server with the administrative name Criseyde and connectappt will be used on the server with the administrative name Troilus, as shown in Table 2.

Table 2. NLB Host Application Names

IP Address

Hostname

10.10.10.2

connectappc.enterprisecluster.com

10.10.10.5

connectappt.enterprisecluster.com

For each Adobe Connect Professional server, you will need a separate IP address and FQDN; you should not use the same IP address for Adobe Connect Enterprise Server and the Adobe Connect Professional server when employing NLB for reasons that I will explain later when I show you how to configure the IP stack on each server. The name connectprofc will be used on the server with the administrative name Criseyde and connectproft will be used on the server with the administrative name Troilus (see Table 3).

Table 3. Meeting Names

IP Address

Hostname

10.10.10.3

connectprofc.enterprisecluster.com

10.10.10.6

connectproft.enterprisecluster.com

You will need a FQDN for a shared NLB address that will serve as the primary name used to gain access to the Connect Enterprise cluster; the name corresponding to this virtual IP address (VIP) appears in the URL line of meetings and presentations that are hosted on the Connect Enterprise cluster, as shown in Table 4.

Table 4. NLB Shared VIP Name

IP Address

Hostname

10.10.10.7

connect.enterprisecluster.com

If your proof of concept lab includes a SQL server, and at least one client to test connectivity, the DNS server will look like Figure 1.

Figure 1. DNS server

Configuring the IP stack on each server to support NLB with Connect

Each server must have at least two network interface cards (NICs). If your infrastructure requires that your administrative FQDNs be hosted on a separate subnet, then each server will need three NICs. For simplicity, I will use the two-NIC configuration in this example.

The first NIC on each server hosts the administrative IP address and the Adobe Connect Professional server IP address. The second NIC on each server hosts the Adobe Connect Enterprise Server IP address and the shared NLB VIP address (see Figure 2).

Figure 2. NIC Configuration

Do not enable NLB on the first NIC; leave the check box for NLB in Local Area Connection Properties deselected on the first NIC on each server (see Figure 3). For this example, keep the Adobe Connect Professional server IP address on a NIC separate from the NIC on which we will run NLB.

Figure 3. NIC 1 properties

Note: If the NLB option does not appear in Local Area Connection Properties on each NIC, you will need to install NLB through the Add or Remove Programs > Windows Programs option in the server Control Panel.

Open Advanced TCP/IP Properties and bind 10.10.10.1 and 10.10.10.3 to the first NIC on the Connect Enterprise server with the administrative name Criseyde as depicted in Figure 2 earlier (see Figure 4).

Figure 4. NIC 1 Advanced TCP/IP settings

Similarly, on the first NIC on the second Connect Enterprise server with the administrative name Troilus, bind 10.10.10.4 and 10.10.10.6; as on Criseyde, do not enable NLB on this NIC, but make sure it is installed on the server and appears as an option.

At this point you have configured the first NIC on each server; next, follow these steps to get ready to configure NLB on to the second NIC:

  1. On the second NIC on Criseyde, bind the IP address 10.10.10.2 corresponding to connectappc.enterprisecluster.com.
  2. On the second NIC on Troilus, bind the IP address 10.10.10.5 corresponding to connectappt.enterprisecluster.com.
  3. Save the settings.

Before you configure NLB, test the current configuration of the IP stack by opening a command prompt and testing the names with the Packet Internet Groper (ping):

ping criseyde.enterprisecluster.com (reply should be 10.10.10.1) ping troilus.enterprisecluster.com (reply should be 10.10.10.4) ping appc.enterprisecluster.com (reply should be 10.10.10.2) ping connectappt.enterprisecluster.com (reply should be 10.10.10.5) ping connectprofc.enterprisecluster.com (reply should be 10.10.10.3) ping connectproft.enterprisecluster.com (reply should be 10.10.10.6)

If any names fail to respond, check the NICs for correct configuration and then test DNS name resolution with the nslookup command:

nslookup criseyde.enterprisecluster.com (should resolve to 10.10.10.1) nslookup troilus.enterprisecluster.com (should resolve to 10.10.10.4) nslookup connectappc.enterprisecluster.com (should resolve to 10.10.10.2) nslookup connectappt.enterprisecluster.com (should resolve to 10.10.10.5) nslookup connectprofc.enterprisecluster.com (should resolve to 10.10.10.3) nslookup connectproft.enterprisecluster.com (should resolve to 10.10.10.6)

Edit DNS as needed.

After you have confirmed that all the names correctly respond to ping, enable NLB on the second NIC on each server by selecting the check box beside the NLB option under Local Area Connection Properties (see Figure 5); this process may take a few minutes to complete.

Figure 5. NIC 2 properties

On Criseyde, open the NLB Properties dialog box and enter the IP address corresponding to the VIP in the shared IP address block, 10.10.10.7; in the Full Internet name text box, enter the FQDN of the outward-facing NLB VIP (nlbappvip.enterprisecluster.com) and choose the Multicast cluster operation mode (see Figure 6).

Figure 6. NIC 2 NLB properties

Next, click the Host Parameters tab and enter the IP address of the Adobe Connect Enterprise Server connectappc: 10.10.10.2 (see Figure 7), and then save your changes.

Figure 7. NIC 2 NLB host parameters

Next, go to Advanced TCP/IP Settings on the same NIC and bind 10.10.10.7 to the NIC directly under the host IP address, 10.10.10.2 (see Figure 8). Save the changes.

Figure 8. NIC 2 advanced TCP/IP settings

On Troilus, open the NLB Properties dialog box and enter the IP address corresponding to the VIP in the shared IP address block: 10.10.10.7; in the Full Internet name text box, enter the FQDN of the outward-facing NLB VIP (connect.enterprisecluster.com) and choose the Multicast cluster operation mode (see Figure 9).

Figure 9. NIC 2 NLB properties

Next, click the Host Parameters tab and enter the IP address of the Adobe Connect Enterprise Server connectappt: 10.10.10.5 (see Figure 10).

Figure 10. NIC 2 NLB host parameters

Save your changes, then go to Advanced TCP/IP Settings on the same NIC and bind 10.10.10.7 to the NIC directly under the host IP address, 10.10.10.5 (see Figure 11). Save the changes.

Figure 11. NIC 2 advanced TCP/IP settings

Note: To review the potential effects and behavior of NLB in multicast mode, see the article entitled, Adjusting Multicast Parameters. In some cases (if your servers are connected to a hub instead of directly to a switch) you may need to select the check box in NLB for IGMP Multicast. Discuss this with your network infrastructure administrator to make sure that you configure Multicast to limit port flooding and work in harmony with your switches and hubs.

Restart both NLB (soon to be Connect Enterprise) servers, and then test the NLB shared IP address with ping:

ping connect.enterprisecluster.com

If the ping command fails, review the NICs for correct configuration and test name resolution with the nslookup command; make sure your test client is pointed to the correct DNS server.

nslookup connect.enterprisecluster.com

You may also view and troubleshoot the NLB configuration with the NLB manager. To ensure that NLB is not using server affinity, select Start > All Programs > NLB Manager > Cluster > Connect to Existing.

Type in the IP address on of an NLB host: 10.10.10.3. When connected, go to the cluster level, right-click the little computer pair beside the host name and select Cluster Properties > Port Rules > Edit. Under Filtering Mode, verify that the Multiple Host option is selected and set affinity to None.

It is good practice to use the NLB manager, but in some cases you will find it necessary to directly configure NLB under the Local Area Connection Properties on the individual servers; anything that can be configured through the NLB manager can also be configured directly under Local Area Connection Properties on each server. It is always good practice to review and troubleshoot NLB using the NLB manager (see Figure 12).

Figure 12. NLB Cluster Manager view

The IP stack on each server is now configured with NLB to accommodate Connect; now you can integrate Connect with NLB.

Clustering Connect Enterprise Server with NLB

Make sure you have a Connect Enterprise Cluster license. This configuration will not work with a single server license. If you have not done so already, install Connect on each server following the procedure in the Connect Installation and Configuration Guide up to the point of installing the license and adding administrators.

Note: You may want to disable the NLB cluster temporarily by deselecting the NLB check box on the second NIC on each server before installing Connect; then reselect NLB after the Connect installation is complete. NLB will maintain its settings through this process.

Following this example, when configuring Connect, you place the names shown in Figure 13 into the Host and External name text boxes under Network Settings on the Server Settings screen of Connect (Start > All Programs > Adobe Connect Enterprise Server > Configure Adobe Connect Enterprise Server > Server Settings).

Figure 13. Adobe Connect Enterprise Server settings

The Connect Host parameter is the name corresponding to the shared NLB address, connect.enterprisecluster.com. Through NLB, this shared address is hosted by 10.10.10.2 on Criseyde, which corresponds to the Adobe Connect Enterprise Server name connectappc.enterprisecluster.com, and by 10.10.10.5 on Troilus, which corresponds to the Adobe Connect Enterprise Server name connectappt.enterprisecluster.com. Note also that you enter the names of each Adobe Connect Professional server as the external name: connectprofc.enterprisecluster.com corresponds to the administrative name Criseyde, and connectproft.enterprisecluster.com corresponds to the administrative name Troilus. When you configure these settings in Connect on one of the servers, you will see the settings propagate and appear on the other server in the cluster.

Next, test your cluster:

  1. Log in to Adobe Connect Professional meeting from the client, and upload content (a JPG file is fine) to the content tab. (You will need author permission.) Make sure it can be viewed.
  2. Create a Connect Professional meeting room and upload content into the room; make sure it can be viewed.
  3. Pull content into the meeting room from the content library, and make sure it can be viewed.
  4. While in a meeting room, click the Help tab and holding down the shift key, scroll to and click About Connect Meeting.
  5. Determine from the RTMP path whether you are on Troilus or Criseyde; the second named parameter presented in the string shows which platform is hosting the Meeting room, while the first server displayed shows the path to the Meeting room.
  6. Shut down the Connect server that is hosting your Adobe Connect Professional meeting (Troilus or Criseyde).

If your session goes from green to neutral and back to green, you have witnessed the failover of an Adobe Connect Professional meeting room. Seamless Adobe Connect Professional Meeting failover works with NLB if both Connect Enterprise servers are running when the meeting is initialized; when the server on which a meeting is hosted shuts down, the meeting will be reestablished on the remaining server in a matter of about 10 seconds. In the rare case that only one server is running when a meeting room is opened, a second server is brought online, and then the server hosting the meeting shuts down, the session will have to be reestablished manually.

You have successfully clustered Connect with NLB. Figure 14 depicts how the lab environment might look if you followed the example closely.

Figure 14. The lab environment

View a demonstration of Connect Enterprise server failover in action:

 

 

Resist the temptation to cluster the Adobe Connect Professional IP addresses. The Adobe Connect Enterprise Server takes care of the load balancing and failover of the Adobe Connect Professional servers; the purpose of NLB is to provide IP-level failover for the Adobe Connect Enterprise Server installations. By using NLB to make sure that Adobe Connect Enterprise Server is always available, you ensure that it can accomplish its task of managing failover and load balancing of the Adobe Connect Professional servers.

Where to go from here

Check out "Running OpenSSL with NLB-clustered Adobe Connect Enterprise Server" (TechNote kb403794) Also watch for future Adobe Connect Enterprise Resource Center articles describing best practice procedures for configuring Adobe Connect Enterprise Server pools behind hardware load-balancing devices. In the meantime, enjoy the savings commensurate with employing failover without investing in load-balancing hardware; with NLB, you are employing one of the last software-based load-balancing options widely available in the enterprise.

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy