2 Introduction

Blackboard Learnâ„¢ is a Learning Management System (LMS) developed by Blackboard Inc. It is web-based server software which features course management, customizable open architecture and scalable design that allows integration with student information systems and authentication protocols. Its main purpose is to add online elements to courses which are traditionally delivered face-to-face and develop completely online courses with little or no face-to-face meetings.

To improve performance and provide High Availability (HA), Blackboard Learnâ„¢ supports using a hardware or software load balancer and multiple application servers. The KEMP LoadMaster can be used to load balance Blackboard Learnâ„¢ traffic.

2.1 Document Purpose

The purpose of this document is to describe how to configure the LoadMaster to load balance Blackboard Learnâ„¢. This document is based on Blackboard Learn 9.1 SP8. KEMP supports other versions of Learn, but there may be some features that do not work with older versions of Learn.

2.2 Intended Audience

This document is intended to be used by anyone who is interested in finding out how to configure the LoadMaster to load balance Blackboard Learnâ„¢.

2.3 Prerequisites

The following prerequisites must be satisfied before configuring the LoadMaster to work with Blackboard Learnâ„¢:

The Blackboard Learnâ„¢ application must be deployed and successfully tested

3 Template

KEMP has developed a template containing our recommended settings for this workload. You can install this template to help when creating Virtual Services, as it automatically populates the settings. This is quicker and easier than manually configuring each Virtual Service. If needed, changes can be made to any of the Virtual Service settings after using the template.

For more information and steps on how to import and use templates, refer to the Virtual Services and Templates, Feature Description on the KEMP Documentation Page.

For steps on how to manually add and configure each of the Virtual Services using the recommended settings, refer to the steps in this document.

4 Load Balancing Blackboard Learnâ„¢

The above diagram depicts a typical load-balanced configuration. Load-balanced configurations include multiple application servers, a database server (or failover cluster), a file system server and a collaboration server. A network switch is used to handle communications from the client machines to the application servers and the collaboration server. A separate switch is used to handle a secure, private connection between the application servers and the file system and database servers. The database and file system must be on a secure, private network.

The diagram above also shows integration with an LDAP server (or servers) to handle authentication and a Student Information System (SIS) to share data with Blackboard Learnâ„¢.

4.1 Configure the LoadMaster

The following sections describe how to configure the LoadMaster and associated Virtual Services.

4.1.1 Configure Global Settings

The following sections explain how to configure various settings globally.

4.1.1.1 L7 Configuration

The Additional L7 Header field in the LoadMaster must be set to X-Forwarded-For. To do this, follow the steps below in the LoadMaster Web User Interface (WUI):

1. In the main menu of the WUI, go to System Configuration > Miscellaneous Options > L7 Configuration.

2. Select X-Forwarded-For as the Additional L7 Header.

The Blackboard Learnâ„¢ server must be configured to look at this header. If you are using IIS, an Internet Server Application (ISAPI) filter must be used to see the X-Forwarded-For header.

4.1.1.2 Enable Subnet Originating Requests Globally

It is best practice to enable the Subnet Originating Requests option globally.

In a one-armed setup (where the Virtual Service and Real Servers are on the same network/subnet) Subnet Originating Requests is usually not needed. However, enabling Subnet Originating Requests should not affect the routing in a one-armed setup.

In a two-armed setup where the Virtual Service is on network/subnet A, for example, and the Real Servers are on network B - Subnet Originating Requests should be enabled on LoadMasters with firmware version 7.1-16 and above.

When Subnet Originating Requests is enabled, the LoadMaster will route traffic so that the Real Server will see traffic arriving from the LoadMaster interface that is in that network/subnet not the Virtual Service address.

When Subnet Originating Requests is enabled globally, it is automatically enabled on all Virtual Services. If the Subnet Originating Requests option is disabled globally, you can choose whether or not to enable Subnet Originating Requests on a per-Virtual Service basis.

1. In the main menu of the LoadMaster Web User Interface (WUI), go to System Configuration > Miscellaneous Options > Network Options.

2. Tick the Subnet Originating Requests check box.

4.1.2 Configure a Content Rule for the HTTPS Virtual Service

To add a content rule, make the following selections:

1. In the main menu, select Rules & Checking > Content Rules.

2. Click the Create Newâ€¦ button.

3. In the Create Rule screen, make the following selections:

- Enter X_Forwarded_Proto as the Rule Name.

- Select Add Header from the Rule Type drop-down list.

- Enter X_Forwarded_Proto in the Header Field to be Added text field.

- Enter https as the Value of Header Field to be Added.

- Click the Create Rule button.

4.1.3 Configure the Virtual Services

Either a HTTP or HTTPS Virtual Service needs to be created and configured in the LoadMaster to load balance Blackboard Learnâ„¢. Refer to the relevant section below for step-by-step instructions on how to create the relevant Virtual Service.

4.1.3.1 Configure a HTTP Virtual Service

To configure a HTTP Virtual Service, follow the steps below in the LoadMaster WUI:

1. In the main menu, select Virtual Services > Add New.

2. Enter a valid IP address in the Virtual Address text box.

3. Enter 80 as the Port.

4. Enter a recognizable Service Name, such as Blackboard Learn HTTP.

5. Click Add this Virtual Service.

6. Expand the Standard Options section.

7. Enter the details shown in the following table:

Section

Option

Value

Comments

Standard Options

Transparency

Disabled

Persistence Mode

Active Cookie

Timeout

4 Hours

If the default timeout (3 hours) in Blackboard Learnâ„¢ is increased, the timeout value in the LoadMaster should be higher.

Cookie name

KEMPBBCookie

Scheduling Method

least connection

Advanced Properties

Enable Caching

Enabled

Maximum Cache usage

20%

Enable Compression

Enabled

Add HTTP Headers

X-Forwarded-For (+Via)

Real Servers

Real Server Check Parameters

HTTP Protocol

URL

/webapps/portal/healthCheck

Click Set URL then click New.

8. Enter the relevant Real Server Address.

This is the address of the backend server.

9. Enter 80 as the Port.

The Port, Forwarding method and Weight values are set by default. These can be changed by an administrator.

10. Click Add This Real Server.

11. Repeat steps 8 to 10 to add more Real Servers, as needed.

4.1.3.2 Configure a HTTPS Virtual Service

SSL offloading must also be configured on the Blackboard Learnâ„¢ servers. To find out how to configure SSL offloading on the Blackboard Learnâ„¢ servers, refer to the following page: