Configuring a centralized global datastore
In order to set up high availability MFT Server clusters, all nodes in the cluster must have exactly the same server configurations. In a default installation of MFT Server, server configuration data is stored in a built-in H2 database that serves as the server's global datastore. The H2 database cannot be used for high availability purposes. High availability requires that the MFT Server database be a relational database type, created using a relational database management system (RDBMS) like MySQL, MS SQL Server, Oracle, or PostgreSQL. The relational database will serve as a shared or centralized global datastore to all nodes in the HA cluster. This implementation means that any changes made to the server configuration of one MFT Server instance will be automatically applied to all other nodes in the cluster.
When you perform an installation of MFT Server and specify a relational database during the installation, that database is supported in a high availability configuration.
The documentation for each installation (see the links below), provide instructions on how to set up MFT Server using a relational database. In all cases, you must create the database first, before starting the installation process. For a MAC and Windows installations, select the "Custom" option when configuring the database portion of the installation. For the Linux, AIX and Solaris installations, specify a relational database by using the js-database-configuration command that includes the URL, User and Password options.
To summarize, if you initially installed MFT Server using a relational database, that database is supported in an HA environment. If you initially installed MFT Server and opted to use the default H2 database, that database does not support an HA environment. As an option, you can migrate the H2 data to a relational database by following the instructions outlined here: Migrating existing data to a centralized global datastore
Next, after you have an MFT Server installation configured using an RDBMS, subsequent MFT Server installations (that are part of the HA solution) can be managed as follows:
-
Install MFT Server using the default, built-in H2 database.
-
From the first installation (configured using a RDBMS), copy the
<MFT Server Installation directory> etc/database.properties
file (which includes the RDBMS database URL).-
If you want multiple nodes use the same centralized global datastore, make sure all services are bound to 0.0.0.0. See Connecting to the centralized global datastore
-
-
Stop the MFT Server service on the new (H2) installation.
-
Paste the
etc/database.properties
file in the appropriate MFT Server installation directory (overwrite the existing file). -
Start the MFT Server service.
This satisfies the requirement that in high availability MFT Server clusters, all nodes in the cluster must have exactly the same server configurations.
Next, below you will find information regarding the handling of Triggers
and Directory Monitors
in a high availability MFT Server environment.
-
Triggers that occur due to user activity (e.g. file upload, download) are tied to the node that is managing the user session.
-
Triggers that are time-based are raised on all nodes. However, if you wish the trigger to only run on one node, you can use the Health Monitor Trigger Action to accomplish this.
-
Directory Monitor behavior is determined by the setting of the
Raise events on <First> <All> instance(s)
field - when adding or editing a Directory Monitor.-
If
First
is selected, the first server in the cluster (the active MFT Server) will listen for directory monitor events. If the active (First) server should go down, the other server in the queue will automatically listen for directory events. This is to avoid duplicate events when using a cluster. -
If
All
is selected, all servers in the Active/Active cluster will listen for directory monitor events. Note: When MFT Server HA is configured using an Active/Passive configuration - onlyFirst
is applicable.
-