Note: For FastX Version 2 clustering, click here
Multiple FastX servers can be connected together to create a cluster. Clustering allows users to connect to any system and view/interact with/launch sessions in the cluster.
Clustering offers better security and load distribution over a single machine. Gateway servers can be used as the client access point while session servers can be hidden behind a firewall to do the heavy computing. Combined with load balancing, the power of FastX can be seen. New sessions can be routed to servers giving the implementers complete control of where sessions are started. Power users can integrate their own job scheduling software into the FastX cluster launching sessions when the server resources become available.
Setting up a cluster
Installing the cluster package
- Download the FastX plugins package
- Extract the files
tar xzf fastx-plugins.tgz
- copy the extracted plugins directory to var
mv plugins /usr/lib/fastx/var
- Restart the web server
service fastx3 restart
Configuring a cluster member
To join a cluster, a cluster member needs two pieces of information
- One (or more) url(s) of the FastX distributed database
- Each cluster member comes with its own distributed database. It is sufficient to have the url of a different FastX web server in your cluster
- The public keys of the other cluster members
- Public keys are automatically stored by default in /usr/lib/fastx/var/authorized_keys
Background
FastX uses a distributed database architecture to communicate messages from one cluster member to another. Communication is done using HTTPS with JSON Web Tokens for authenticating servers. Messages are encrypted using destination server’s public key preventing unauthorized snooping on the system.
Adding the first cluster member
- Log in as an administrator
- Go to the System section
- Click on Clustering > Servers
- Click New Server
- Add the url of the FastX distributed database (usually, a different cluster member)
- Optionally add any https agent options. Agent options can enforce added security measures when making a connection to the FastX distributed database
- Save
- Repeat Steps 4 – 6 to add multiple FastX distributed database urls for fault tolerance
- Restart the web server
service fastx3 restart
Adding additional cluster members
You can repeat the steps above on each server that you want in the cluster. However, as a convenience, FastX stores the cluster configuration in /usr/lib/fastx/var/config/cluster.json. You can copy this file over from one server to another to quickly get up and running.
- Copy the /usr/lib/fastx/var/config/cluster.json from the initial cluster member to the new cluster member
- Restart the web server
service fastx3 restart