Cluster installation

In this section, we will describe how to add agent servers to form a ThinLinc cluster; allowing session load balancing and redundancy.

Note

This section does not address configuration of high availability. For information on configuring your ThinLinc cluster for high availability, see High availability.

A ThinLinc cluster consists of one master server (or two master servers in a high availability configuration) with multiple agent servers. While ThinLinc in its simplest configuration may be run with both the master and agent installed on the same machine, running ThinLinc in a cluster configuration conveys numerous advantages:

  1. A cluster configuration allows load balancing of sessions across multiple agents

  2. Having multiple agents offers redundancy; for example, if one agent goes down or is taken out of service for maintenance, other agents are still available to handle user sessions

  3. A cluster configuration is scalable. Since most of the workload is taken up by the agents and not the master, adding more capacity to your ThinLinc installation is generally as easy as installing one or more new agent servers

Prerequisites

This chapter assumes you already have a ThinLinc master server running, installed according to Installing the ThinLinc server. It also assumes you can authenticate using the same system credentials on all nodes in the ThinLinc cluster.

New agent configuration

Firstly, ThinLinc needs to be installed and configured on the new node that is to be part of the agent pool:

Note

It is recommended that all agent nodes in the cluster are kept consistent in terms of configuration and software installed. This way the user gets the same experience regardless of agent node.

Similarly, keeping user home directories on a central file server is recommended for a consistent experience over all agent nodes.

  1. Install ThinLinc on the new agent node according to Installing the ThinLinc server. Select Agent when asked for the type of ThinLinc server to configure.

  2. Set /vsmagent/master_hostname to the domain name or IP of the pre-existing machine running the master service (vsmserver), for example:

    $ sudo tl-config /vsmagent/master_hostname=master.example.com
    
  3. For the browser client Web Access to work as intended, set /webaccess/login_page to the URL of the Web Access login page on the master server, for example:

    $ sudo tl-config /webaccess/login_page=https://master.example.com:300/
    
  4. Restart the agent and Web Access service (vsmagent and tlwebaccess) on the new agent node:

    $ sudo systemctl restart vsmagent tlwebaccess
    

Master configuration

The machine running the master service then need to be made aware of the agent node configured in the last step:

  1. Add the newly created agent to /vsmserver/subclusters/<name>/agents of the subcluster where the extra capacity is needed. If you are not using the subcluster features of ThinLinc, add it to the Default subcluster:

    $ # Get the current list of agents in the Default subcluster
    $ tl-config /vsmserver/subclusters/Default/agents
    127.0.0.1
    $ # Add the new agent (new-agent.example.com) to the agent list
    $ sudo tl-config /vsmserver/subclusters/Default/agents=\
    "127.0.0.1 new-agent.example.com"
    
  2. Restart the master service:

    $ sudo systemctl restart vsmserver
    

Next steps

Your new agent node is now ready to accept new sessions. For further information about further configuring and maintaining your ThinLinc cluster, see Cluster configuration.