Configure failover

XL Deploy allows you to store the repository in a relational database instead of on the filesystem. If you use an external database, then you can set up failover handling by creating multiple instances of XL Deploy that will use the same external database.

Important: The scenario described in this topic is not an active/active setup, only one instance of XL Deploy can access the external database at a time. The failover setup uses only the internal worker for each XL Deploy instance.

For more information about active/hot-standby in XL Deploy, see Configure active/hot-standby mode.

Requirements

Initial setup

To set up the main node (called node1) and a failover node (called node2):

  1. Follow the instructions to configure the XL Deploy repository on node1.
  2. Start the XL Deploy server and verify that it starts without errors. Create at least one configuration item for testing purposes (you will check for this item on node2).
  3. Stop the server.
  4. Copy the entire installation folder (XL_DEPLOY_SERVER_HOME) to node2.
  5. Start the XL Deploy server and verify that you can see the configuration items that you created on node1. Note: You can remove the CIs created for testing purposes.
  6. Stop the server.
  7. Start the server on node1.

Switching to another node

When the main node (node1) fails, you must manually start the XL Deploy server on the failover node (node2). If there were pending or running tasks on the main node, first copy the contents of its XL_DEPLOY_SERVER_HOME/work directory to the failover node. The failover node will attempt to recover the tasks.

If you want to switch back to the main node after it recovers, you must first shut down XL Deploy on the failover node.