In a ThinLinc High Availability deployment, which configuration is automatically synchronised between the active and passive Broker nodes, and which configuration must be manually replicated?
Specifically:
Which ThinLinc configuration files should be kept in sync between Broker nodes?
Are there any recommended methods or best practices for maintaining configuration consistency across Brokers?
Which configuration is intentionally local to each Broker and should not be synchronised?
I updated the lab to the 4.21 Beta and noticed that some settings in the web admin console between the brokers was not in sync.
From a ThinLinc perspective, all configuration across both HA nodes should be completely identical. The only thing that ThinLinc’s HA functionality syncs across is the session database, so any ThinLinc configuration changes applied to one HA node should be manually reproduced on the other. You can use, for example, rsync on the /opt/thinlinc directory to achieve this.
Note that not all system configuration will be identical, since the two HA nodes will have different hostnames and IP addresses, for example. But from a ThinLinc perspective, the configuration should be identical.
Thanks for the clarification. Is /opt/thinlinc “the configuration” directory and safely synchronised between HA Brokers (excluding host-specific configuration), or are there specific files/directories under /opt/thinlinc that should not be copied between brokers?
Is the Web Access configuration stored under /opt/thinlinc and therefore expected to be manually synchronised between HA Brokers, or is there a supported mechanism for keeping Web Access branding and configuration consistent across HA nodes?
The only thing ThinLinc HA synchronizes automatically is the session database (the active-session state under /var/lib/vsm). Everything else, including all web admin
settings, is configuration and is not replicated. That’s why your changes on one broker didn’t appear on the other. It’s expected, not a bug.
So configuration does have to be kept identical by hand, and rsync is a good way to do it. All the config lives under /opt/thinlinc/etc:
conf.d/*.hconf (vsmserver, vsmagent, cluster, HA, webaccess, tlwebadm, …)
TLS certs/keys in /opt/thinlinc/etc/tlwebaccess/ and /opt/thinlinc/etc/tlwebadm/
licenses in /opt/thinlinc/etc/licenses/
So syncing /opt/thinlinc/etc covers your whole config surface, and Web Access is included in it (webaccess.hconf plus its cert/key under /opt/thinlinc/etc/tlwebaccess/). No separate mechanism needed.
Two smaller points:
Restart the affected services on the target node after syncing (vsmserver, vsmagent, tlwebaccess, and tlwebadm).
If your masters also act as agent servers, /vsmagent/agent_hostname (in vsmagent.hconf) is genuinely per-host and should not be copied.