Home > Learning Center > Tutorials > Clustering Adobe Connect Servers with Microsoft Network Load Balancing
Clustering Adobe Connect Servers with Microsoft Network Load Balancing
Frank S. DeRienzo, MBA, Adobe Systems
April 2009
Expertise Level: Administrator
1 Votes
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 and 2008 TCP/IP stack as a standard option. If configured properly, NLB can be used to cluster a pool of Adobe Connect servers and provide a means of IP-based failover. This article describes how to use NLB to cluster a pair of Adobe Connect servers running Connect Meeting with a full suite of options.
To complete this tutorial you will need to install the following software and files:
- Adobe Connect deployed on premise
- Microsoft Windows Server 2003 or 2008
Prerequisite knowledge
You need basic networking skills, familiarity with the Windows Server 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 Migrating, Installing, and Configuring ADOBE® CONNECT™ 8, and as such does not provide all the information needed to fully install and configure Adobe Connect servers.
Table of contents
Setting up DNS name resolution
Configuring the IP stack on each server to support NLB with Connect
Clustering Connect Enterprise Server with NLB
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 Adobe Connect 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 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 server, you will need a separate IP address and FQDN; you should not use the same IP address for Adobe Connect Server (origin) and the Adobe Connect Meeting server (external name) when employing NLB for reasons that I will explain later when I show you how to configure the IP stack on each server. The external name connectmtgc will be used on the server with the administrative name Criseyde and connectmtgt 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 |
connectmtgc.enterprisecluster.com |
|
10.10.10.6 |
connectmtgt.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 Adobe Connect cluster; the name corresponding to this virtual IP address (VIP) appears in the URL line of meetings and presentations that are hosted on the Adobe Connect 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 Adobe 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 Meeting server IP address. The second NIC on each server hosts the Adobe Connect application 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 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 Adobe Connect 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:
- On the second NIC on Criseyde, bind the IP address 10.10.10.2 corresponding to connectappc.enterprisecluster.com.
- On the second NIC on Troilus, bind the IP address 10.10.10.5 corresponding to connectappt.enterprisecluster.com.
- 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 connectappc.enterprisecluster.com (reply should be 10.10.10.2)
ping connectappt.enterprisecluster.com (reply should be 10.10.10.5)
ping connectmtgc.enterprisecluster.com (reply should be 10.10.10.3)
ping connectmtgt.enterprisecluster.com (reply should be 10.10.10.6)
The nslookup should be a basic test whether ping works or not and it applies to the next set of commands:
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 connectmtgc.enterprisecluster.com (should resolve to 10.10.10.3)
nslookup connectmtgt.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, the shared VIP address, 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 Server connectappt: 10.10.10.5 (see Figure 10). Check the Priority (unique host identifier): parameter. These must be different on each server giving priority to one of the servers over the other. You may toggle this to the number 2 on either server ? preferably the most powerful of the two should get a Priority designator of 1.

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 Adobe Connect) 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 should 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 quick and easy to review and troubleshoot NLB using the NLB manager GUI (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 an Adobe Connect cluster server license. This configuration will not work with a single server license. If you have not done so already, install Adobe Connect on each server following the procedure in Migrating, Installing, and Configuring ADOBE® CONNECT™ 8 up to the point of installing the license and adding administrators.
On each Connect 8.X server (not required for 7.x), add the following to the custom.ini file in the connect directory and to enable failover:
MEETING_TIMEOUT=0
MEETING_CONNECT_BACK_TIME=1
After your custon.ini files and server settings are configured, restart the Connect services beginning with the Connect Enterprise Service, followed by the Flash Management Server (FMS) service on each server.
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 Adobe Connect; then reselect NLB after the Adobe Connect installation is complete. NLB will maintain its settings through this process.
Following this example, when configuring Adobe 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 Adobe Connect.


Figure 13. Adobe Connect 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 application Server name connectappc.enterprisecluster.com, and by 10.10.10.5 on Troilus, which corresponds to the Connect application Server name connectappt.enterprisecluster.com.
Note also that you enter the names of each Adobe Connect Meeting server as the external name: connectmtgc.enterprisecluster.com corresponds to the administrative name Criseyde, and connectmtgt.enterprisecluster.com corresponds to the administrative name Troilus. When you configure these settings in Adobe Connect (external names under server seetings) on one of the servers, you will see the settings propagate and appear on the other server in the cluster.
Next, test your cluster:
- Log in to Adobe Connect from the client, and upload content (a JPG file is fine) to the Content Library. Make sure it can be viewed.
- Create an Adobe Connect meeting room and upload content into the room; make sure it can be viewed.
- Pull content into the meeting room from the Content Library, and make sure it can be viewed.
- While in a meeting room, click the Help tab and holding down the shift key, scroll to and click About Adobe Connect.
- 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.
- Shut down the Adobe Connect server that is hosting your Adobe Connect meeting (Troilus or Criseyde).
If your session indicator in the upper right corner of the meeting room goes from green to neutral and back to green, you have witnessed the failover of an Adobe Connect meeting room. Seamless Connect Meeting failover works with NLB if both Adobe Connect 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 Adobe 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 Connect Meeting Server IP addresses. The Adobe Connect application Server takes care of the load balancing and failover of the Connect Meeting servers; the purpose of NLB is to provide IP-level failover for the Adobe Connect application Server installations. By using NLB to make sure that an Adobe Connect application Server is always available, you ensure that it can accomplish its task of managing failover and load balancing of the Adobe Connect Meetings.
Where to go from here
Check out: Adobe Connect Servers and Hardware-based Load-balancing Devices. Also watch for future tutorials describing best practices for configuring Connect Pro 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.
About the author
Before joining BrightTiger/Allaire/Macromedia/Adobe in June 1997, Frank S. DeRienzo served with the U.S. Army Rangers and Special Forces. He is a graduate of Gordon College and holds an MBA from the University of Massachusetts. During his tenure with Adobe (and Macromedia before), he has focused on high availability and scalability through website clustering and web server integration with various hardware load-balancing and content-management platforms. Currently he is a Senior Technical Account Manager on the Technical Response Team where his primary focus is on Adobe Connect Server implementation and training.
<< Back to Tutorials main menu. ?>




Member Comments
Share your thoughts. Tell us what you think about this tutorial.
RPinto
APRIL 22, 2010
I enjoyed very much this tutorial. It helped me a lot, however there is something that is not clear to me: I didn´t understand the real purpose of the "administrative IP address" (the "10.10.10.1" and "10.10.10.4" used in this tutorial). In which circunstance are they used?Thanks a lot,
RPinto
roniedias@yahoo.com
chp
DECEMBER 04, 2010
Frank has the answers:""The real purpose of the "administrative IP address" (the "10.10.10.1" and "10.10.10.4" used in this tutorial) is no longer needed, and it was something a customer requested a long time ago. Disregard it. It was to access the Console page remotely, but you should just use vpn/remote desktop instead.""
chp
DECEMBER 04, 2010
There two FMS services on each server. They require their own FQDNs and IP address, and take care of the load balancing on their own with no third party application needed. The Microsoft NLB is for the Web application portion only.