Blackboard Learn

 

1Introduction

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.

1.1Document 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.

1.2Intended 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™.

1.3Prerequisites

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
  • The Application Servers must have the relevant JDK and JRE installed.
  • A Microsoft SQL Server must be installed

For additional information about the prerequisites, please refer to the Blackboard Learn, Installation Guide.

2Blackboard Learn Template

KEMP has developed a template containing our recommended settings for Microsoft Dynamics CRM. This template can be installed on the LoadMaster and used when creating Virtual Services. Using a template automatically populates the settings in the Virtual Services. 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.

Download released templates from the Templates section on the KEMP documentation page: http://kemptechnologies.com/documentation/.

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

For steps on how to manually add and configure each of the Virtual Services, refer to the Load Balancing Blackboard Learn™ section of this document.

3Load Balancing Blackboard Learn™

Figure 3‑1: Example Blackboard Architecture

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 LoadMaster is primarily used for load balancing and providing HA for the web/application servers and collaboration servers. The collaboration server can also be optionally load balanced. For more information on how to load balance the collaboration server, refer to this link: https://help.blackboard.com/en-us/Learn/9.1_2014_04/Administrator/070_Server_Management_and_Integrations/Performance_Optimization/Load_Balancing_-_Configuration_and_Best_Practices

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™.

3.1Configure the LoadMaster

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

3.1.1Configure Global Settings

The following sections explain how to configure various settings globally.

3.1.1.1Enable 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.

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.

To enable Subnet Originating Requests globally, follow the steps below:

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

Figure 3‑2: Subnet Originating Requests

  1. Tick the Subnet Originating Requests check box.
3.1.1.2L7 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.

Figure 3‑3: X-Forwarded-For

  1. 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.

3.1.2Configure 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.

Figure 3‑4: Add a Content Rule

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

a)Enter X_Forwarded_Proto as the Rule Name.

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

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

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

e)Click the Create Rule button.

3.1.3Configure 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.

3.1.3.1Configure 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.

Figure 3‑5: HTTP Virtual Service Recommended Parameters

  1. Enter a valid IP address in the Virtual Address text box.
  2. Enter 80 as the Port.
  3. Enter a recognizable Service Name, such as Blackboard Learn HTTP.
  4. Click Add this Virtual Service.
  5. Expand the Standard Options section.
  6. 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.

Table 3‑1: HTTP Server Virtual Service Recommended Settings

  1. Enter the relevant Real Server Address.

This is the address of the backend server.

  1. Enter 80 as the Port.

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

  1. Click Add This Real Server.
  2. Repeat steps 8 to 10 to add more Real Servers, as needed.
3.1.3.2Configure 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:

http://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_ssl/ssl_about.htm

KEMP only supports SSL offloading on Blackboard Learn version 9.1 SP8 and above.

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

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

Figure 3‑6: Virtual Service Parameters

  1. Enter a valid Virtual Address.
  2. Enter 443 as the Port.
  3. Enter a recognizable Service Name, for example Blackboard Learn HTTPS.
  4. Click Add this Virtual Service.
  5. Enter the details shown in the following table:

Section

Option

Value

Comments

SSL Properties

Enabled

Selected

 

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

Click Set Cookie.

 

Scheduling Method

least connection

 

Real Servers

Real Server Check Parameters

HTTP Protocol

 
 

URL

/webapps/portal/healthCheck

Click Set URL then click New.

Table 3‑1: HTTPS Virtual Service Recommended Settings

  1. Enter the relevant Real Server Address.

This is the address of the backend server.

  1. Enter 80 as the Port.

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

  1. Click Add This Real Server.
  2. Repeat steps 7 to 9 to add any other Real Servers as needed.
  3. Expand the Advanced Properties section.

Figure 3‑7: Advanced Properties

In the Advanced Properties section, make the following selections:

  1. Select No VIP Selected from the Port Following drop-down list.
  1. Select the Enable Caching check box.

Figure 3‑8: Add a Content Rule

  1. Add the content rule added in Section 3.1.2.

a)Click the Show Header Rules button.

b)In the Request Rules section, expand the Rule drop-down list.

c)Select the X_Forwarded_Proto rule.

d)Click Add.

  1. Select 20% as the Maximum Cache usage.
  2. Select the Enable Compression check box.
  3. Select X-Forwarded-For (+Via) from the Add HTTP Headers drop-down list.
  4. Click the Add HTTP Redirector button.
  5. Expand the Real Servers section.

Figure 3‑9: Real Servers

References

For further information, refer to the following links:

Blackboard Learn Performance Optimization Guidehttp://library.blackboard.com/d/?6692a745-b472-4360-b004-3c69b58c2b44 Blackboard Load Balancer Guidelineshttp://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_planning/planning_load_balance.htm Blackboard – About SSL and SSL Choicehttp://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_ssl/ssl_about.htm

Blackboard – Load Balancing – Configuration and Best Practiceshttps://help.blackboard.com/en-us/Learn/9.1_2014_04/Administrator/070_Server_Management_and_Integrations/Performance_Optimization/Load_Balancing_-_Configuration_and_Best_Practices

Blackboard – Set up the Hardware Load Balancerhttp://library.blackboard.com/ref/df5b20ed-ce8d-4428-a595-a0091b23dda3/Content/_admin_server_install/install_load_balancer.htm Web User Interface (WUI), Configuration Guidehttps://support.kemptechnologies.com Blackboard Learn, Installation Guide

http://www.google.com/url?sa=t&rct=j&q=blackboard%20learn%209.1%20installation%20guide&source=web&cd=1&ved=0CBoQFjAA&url=http%3A%2F%2Flibrary.blackboard.com%2Fd%2F%3F6968c5f7-7cb7-4251-87a0-d36f2b4c5bf5&ei=gWq8TpSqJcGIgwfgg9SjBw&usg=AFQjCNHnEqRJdrzNJJO8Ss7YVxgaMEwMVw&cad=rja

Virtual Services and Templates, Feature Description

 

Document History

Date

Change

Reason for Change

Version

Resp.

Oct 2014

Initial draft

First draft of document

1.0

LB

Nov 2014

Minor change

Defect resolved

1.1

LB

Jan 2015

Release updates

Updates for 7.1-24 release

1.2

LB

Jan 2015

Minor change

Defect resolved

1.3

LB

June 2015

Release updates

Updates for 7.1-28 release

1.4

KG

Oct 2015

Release updates

Updates for 7.1-30 release

3.0

LB

Dec 2015

Release updates

Updates for 7.1-32 release

4.0

LB

Jan 2016

Minor change

Updated

5.0

LB

Feb 2016

Template change

Updated for release

6.0

KG

Mar 2016

Release updates

Updates for 7.1-34 release

7.0

LB

July 2016

Release updates

Updates for 7.1.35 release

8.0

LB

Jan 2017

Minor change

Enhancements made

9.0

LB

July 2017

Template change

Updated to new template

10.0

POC

Was this article helpful?

0 out of 0 found this helpful

Comments