Note: this article refers to Syncplify.me Server! v3.x; As of Syncplify.me Server! v4.0 support for high-availability (HA) has become even better; you can read more about v4.0 HA features here.
One of the main new features in Syncplify.me Server! v3.0 is the ability to run in high availability (HA) configurations.
A highly available configuration is a deployment in which 2 or more servers share the same storage and configuration/user database. A network balancer is then used to decide whether to operate such servers in an active/active mode (where all nodes accept incoming client connections simultaneously) or in an active/passive mode (where some nodes accept client connections, and some other nodes kick in to substitute one of the active nodes that has stopped working).
This article explains how to configure Syncplify.me Server! (with HA licenses) in order to operate in a highly available configuration. Please, read on…
1) Preparing the database and the storage server
First step is to prepare a server that will act as a shared database server. On the same computer or VM you can also instantiate the shared storage, or you can use a separate computer/VM for an even greater resiliency.
The database server to be used is Firebird SQL, which is a free, high performance, robust DMBS and can be downloaded here. Make sure you download and install the latest release for your operating system.
It is generally a good idea to configure the DBMS (upon installation) to run on a non-standard port. By default Firebird SQL runs on port 3050, we at Syncplify commonly use port 3059, but you can use the port you prefer. Also, do not forget to set a strong password for the SYSDBA user profile.
Once you have done the above, please, copy the CONFIG.FDB database from any of the Syncplify.me Server! instances onto the physical disk of the database server. Any folder will work. For the sake of this example let’s create a C:\SyncplifyDatabases\ directory and put the CONFIG.FDB in there.
With regards to the storage part, the ideal solution is to deploy a volume using the iSCSI target feature of your operating system. This will prevent you from having to cope with the tedious permission (ACL) configuration that – in the Windows OS – prevents the virtual user “LocalSystem” from accessing UNC paths on other computers on the network. It can be overcome, but it’s much easier and straightforward to use iSCSI.
2) Setting up your HA instances
On each computer that will be running an HA instance of Syncplify.me Server!, please, make sure you activate your Pro HA (or Enterprise) license, then do the following:
Run the Instance Controller push the “Create New” button to start the wizard that will guide you through the creation process for your new instance. Pick any instance name you like (must be the same for all HA nodes) and admin username/password (must also be the same for all HA instances).
Then, at the second step of the wizard, please provide the necessary data to access the database server you installed and configured during point #1 of this tutorial.
Once the instance is created, you can move on to the next computer or VM in your HA deployment and do exactly the same.
3) Configure your network load balancer
Now that the whole infrastructure is ready, the last step is to properly configure your network load balancer. Depending on brand and model the configuration may vary a lot, therefore with regards to this particular point, we have to remand you to your specific network equipment configuration guide. But our support team is always eager to help, so in case of need, please, don’t hesitate and contact us.