Load Balancing on FTP Servers for High Availability

For mission critical file transfer services, learn to set up your JSCAPE MFT Gateway to provide load balancing across your FTP servers for high availability.
  1. Blog

This post was originally published on July 8, 2012 but was updated on October 27, 2018

Overview

In this post, I'm going to take you through the steps of setting up JSCAPE MFT Gateway to establish load balancing across two FTP servers. Load balanced FTP servers can help you achieve high availability for mission critical file transfer services. We're going to start by creating a new FTP cluster consisting of two FTP servers. Once that FTP cluster is ready, we'll then make it accessible to clients by creating an FTP reverse proxy service that will forward client requests to that cluster.

Prerequisites

Before you configure your JSCAPE MFT Gateway, make sure you already have the following in place:

1. Two (2) redundant JSCAPE MFT Server instances with FTP services enabled.

By "redundant" we mean that these two servers should have the same configurations, i.e. same groups, same users, same services, etc. The easiest way to ensure that your MFT Servers will have the same settings is to have them use an external RDBMS like MySQL, PosgreSQL, Oracle, or MS SQL Server as a shared global datastore.

These two videos demonstrate how to achieve that:

Migrating JSCAPE MFT Server Configuration Data

from the Embedded H2 Database to a MySQL Database

Do this on MFT Server 1

Acquiring MFT Server Configuration Data from an Existing Datastore in MySQL

Do this on MFT Server 2

2. One (1) JSCAPE MFT Gateway running on a machine equipped with two NICs.

One NIC on your JSCAPE MFT Gateway should connect to the network containing your servers, while the other NIC should connect to the network containing your client(s). Please refer to the network configuration below.

I've included the IP addresses I used in my lab to serve as reference for the succeeding discussion. You may of course use your own.

jscape mft gateway v3 with load balancing resized 600

Launch your JSCAPE MFT Gateway now and let's get started.

Adding a new FTP cluster

Go now to the Clusters section and click the Add button.

add_mft_gateway_cluster

Give your cluster a name(e.g. "FTPcluster") and select FTP from the Protocol drop-down list.

Next, select your desired load balancing algorithm. JSCAPE MFT Gateway supports several load balancing algorithms, including: Round Robin, Weighted Round Robin, Random, Least Connections, and Weighted Least Connections. For now, just select the default β€” Round Robin.

After that, click the upper Add button to start adding your existing FTP servers to this cluster.

add_ftp_node_to_cluster

Enter the hostname or IP address of the first FTP server into the Host field. Also enter the port number into the Port field. Since this is a regular FTP service, then the port number should be 21. Specify a Timeout value and then check the Enabled check box. When you're done, click the Add button.

add_1st_ftp_host

Repeat the process for the second FTP server. Make sure you change the value in the Host field to the appropriate hostname or IP address.

add_2nd_ftp_host

After you click Add, you should see those two FTP servers in the list of hosts for this cluster. If everything looks good, click the lower Add button.

add_ftp_cluster

You'll then be brought back to the main screen where you should be able to see your newly created cluster in the Clusters section.

newly_added_ftp_cluster

Making the FTP service accessible to users

What we've done so far is create an FTP cluster. The service delivered by that cluster should be made available to your users. Here's how you do it.

Navigate to your Services section and click the Add button.

add_ftp_services

Select FTP from both the Client protocol drop-down list and the Server protocol drop-down list, then click OK.

client_protocol_server_protocol

In the succeeding screen, start by expanding the Local host drop-down list. You'll see a couple of IP addresses associated with your MFT Gateway machine. Select the IP address facing your clients. You can also select 0.0.0.0 (the default) to have the service listen on all network interfaces.

Select the port number of your FTP service (21).

Select the Cluster option button and then select the cluster you created earlier (e.g. "FTP Cluster")

Click the Add or Add/Start (to start the service immediately after adding) button.

add_ftp_ftp_reverse_proxy_service

Here's the newly created FTP reverse proxy service.

newly_created_ftp_ftp_reverse_proxy_cluster

That's it!

Summary

You have just learned how to load balance FTP services for high availability. To provide load balancing to your other file transfer services, just follow exactly the same process we outlined here. Of course, make sure you change the protocols and the port numbers. To view a complete list of all supported client and server protocols, see the table on this page.

Downloads

Want to try this out yourself? Download the free, fully-functional Starter Edition of JSCAPE MFT Gateway now.

Download Now