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
- See 4.X FastX Clustering Guide for installation requirements.
- fastx4-advanced should already be installed on the cluster nodes
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, socket, forward
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,socket,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