Cluster Installation Patterns


FastX was designed to fit multiple network configurations. Here is a list of common FastX usage patterns for settings up a cluster.

Requirements

Cheat Sheet

By default all components are enabled on the system (no setup required). To enable specific components set the environment variable to a comma separated list of components you want to enable of the system.

Components that can be enabled: user, manager, webserver, launcher

Cluster nodes are configured by setting the SERVICES environment variable. To edit that variable use the command:

systemctl edit fastx4.service

In the editor, set the environment variable like this:

### Editing /etc/systemd/system/fastx4.service.d/override.conf
### Anything between here and the comment below will become the new contents of the file

[Service]
Environment=SERVICES=user,manager...

### Lines below this comment will be discarded

Here is a cheat sheet of common use cases and which components to enable on the system

Homogeneous Cluster

Use Case

All systems on the cluster are the same. Users have login access to any system and can launch sessions on any system. Typically use is a lab environment where all users are on a LAN.

Set Up

COMPUTE_1, COMPUTE_2, … COMPUTE_N — Systems where users will log in and run sessions

Installation Instructions

No setup needed (default)

Point Client to any COMPUTE node.

Gateway Cluster

Use Case

All clients point to a HEAD node. All users login and run sessions on COMPUTE nodes. This configuration creates a gateway where there are no user accounts on the HEAD nodes allowing centralized access of clients.

Set Up

WEBSERVER_1, WEBSERVER_2, … WEBSERVER_N — Systems where clients will connect. No user logins on this system
COMPUTE_1, COMPUTE_2, … COMPUTE_N — Systems where users will log in and run sessions

Installation Instructions

for WEBSERVER_1 … WEBSERVER_N

  • Edit the SERVICES environment variable using the instructions above:
SERVICES=webserver,forward

for COMPUTE_1 … COMPUTE_N

  • Install fastx4, fastx4-advanced
  • Point Client to any WEBSERVER node.

Three Tier Architecture

Use Case

Modification of the three tier architecture where you have a Client, Server, and Database setup.

Move configuration to a central location on a different set of servers where MANAGER nodes can act as a defacto database. You may want to install the MANAGER nodes on the same systems as the TRANSPORTER nodes.

Users have login access to all COMPUTE nodes Typically use is a lab environment where all users are on a LAN.

Set Up

COMPUTE_1, COMPUTE_2, … COMPUTE_N — Systems where users will log in and run sessions
MANAGER_1, MANAGER_2, … MANAGER_N — Systems to store configuration and database info

Installation Instructions

for COMPUTE_1, … COMPUTE_N

  • Edit the SERVICES environment variable using the instructions above:
SERVICES=user,launcher,forward

for MANAGER_1, … MANAGER_N

  • Edit the SERVICEDIR environment variable using the instructions above:
SERVICEDIR=webserver,manager,forward

Point Client to any MANAGER node

Standard Distributed, Fault Tolerant Cluster

Use Case

For administrators who require full microservice architecture. Allows for maximum scalability, fault tolerance, and redundancy. Useful when components are installed as containers.

Set Up

WEBSERVER_1, WEBSERVER_2, … WEBSERVER_N — Systems where clients will connect
MANAGER_1, MANAGER_2, … MANAGER_N — Systems to store configuration info
COMPUTE_1, COMPUTE_2, … COMPUTE_N — Systems where users will log in and run sessions

Installation Instructions

Edit the SERVICES environment variable using the instructions above:

for WEBSERVER_1 … WEBSERVER_N

SERVICES=webserver,forward

for MANAGER_1, … MANAGER_N

SERVICES=manager

for COMPUTE_1, … COMPUTE_N

SERVICES=user,launcher,forward

Point Client to any WEBSERVER node

Advanced Distributed, Fault Tolerant Cluster

Use Case

For administrators who require full microservice architecture. Allows for maximum scalability, fault tolerance, and redundancy. Useful when components are installed as containers.

Note: Only separate the USER and COMPUTE node if absolutely necessary. You should probably use ther standard distributed fault tolerant cluster.

This use case exists if the COMPUTE nodes do not have user accounts and all sessions will run under the same username. This configuration adds extra security considerations and should only be used if you know what you are doing.

Set Up

WEBSERVER_1, WEBSERVER_2, … WEBSERVER_N — Systems where clients will connect
MANAGER_1, MANAGER_2, … MANAGER_N — Systems to store configuration info
USER_1, USER_2, … USER_N — Systems where users will log in
COMPUTE_1, COMPUTE_2, … COMPUTE_N — Systems where users run sessions

Installation Instructions

Edit the SERVICES environment variable using the instructions above:

for WEBSERVER_1, … WEBSERVER_N

SERVICES=webserver,forward

for MANAGER_1, … MANAGER_N

SERVICES=manager

for USER_1, … USER_NInstall fastx4, fastx4-advanced

SERVICES=user

for COMPUTE_1, … COMPUTE_N

SERVICES=launcher,forward

Point Client to any WEBSERVER node