Failover Clustering
adTempus is not "cluster aware," but it can be managed as a generic service in a Windows failover cluster to provide an active/passive failover configuration. This topic explains how to set this up. For an approach that does not use Windows clustering, see Disaster Recovery Standby Server.
This topic assumes that you are familiar with setting up and administering Windows clustering, and that you are using a standalone SQL Server instance (not the SQL Server Express instance installed with adTempus).
How It Works
adTempus stores almost all of its data in its database, including job definitions, history, and the current state of each job. Therefore adTempus can be installed on several nodes of a cluster, all using the same database. Only one node runs the adTempus service at a time; if the active node fails, the cluster starts the service on another node, which takes over job execution. adTempus prevents a second instance from starting while another instance is using the database (see Database Ownership).
Captured Files are stored on disk rather than in the database, so the data folder must be on shared storage that all nodes can access.
adTempus can run only programs and scripts that are installed on the same computer. All software that your jobs run must be installed on every node.
Preparation
- Install and configure SQL Server. SQL Server should also be clustered or otherwise redundant so that it does not become a single point of failure.
- Create a folder on a shared storage device that is accessible from all nodes, to hold the adTempus data folder.
Primary Node
- Install adTempus on the primary node, and configure it to use your SQL Server instance (during installation, or afterward using the Database Configuration Wizard).
- Stop the adTempus service.
- In the Registry Editor, go to HKEY_LOCAL_MACHINE\SOFTWARE\Arcana Development\adTempus\Instances\Default (replace "Default" if you are using a named instance) and set the "DataPath" string value to the folder you created on shared storage. See Moving the Data Folder.
- Start the service.
- Create and run a test job that captures a file (for example, using a File Capture Action). Confirm that you can view the captured file in the job's history.
Secondary Nodes
- Install adTempus on the secondary node. When the Database Configuration Wizard runs, cancel it; you do not need to create a database.
- Stop the adTempus service on the secondary node.
- On the primary node, export the Registry key HKEY_LOCAL_MACHINE\SOFTWARE\Arcana Development\adTempus\Instances\Default to a file, and import it on the secondary node. This copies the database connection settings, the data folder location, and the machine ID.
- If adTempus uses Windows integrated security to connect to the database, grant the secondary node's computer account access to the database (see SQL Server Computer Account).
- Stop the service on the primary node, then start it on the secondary node.
- Start the Console and confirm that the test job appears, that you can view the captured file from the previous run, and that the job runs correctly on the secondary node.
- Stop the service on the secondary node and start it again on the primary node.
Cluster Configuration
Using the Windows cluster administration tools, configure the cluster to manage the adTempus service as a generic service, so that Windows starts it on a secondary node during failover.
Job Configuration
No special configuration is needed for jobs to run on any node. If the active node fails, jobs that were running are reported with a status of "Abandoned," and jobs continue to run according to their triggers on the new node.
To have an interrupted job restarted after failover, use the option to restart the job if the service terminated unexpectedly while it was running, on the Recovery page of the job's properties. Use this option only if the programs the job runs can safely be restarted (for example, if they can detect and skip work they have already done).
Licensing
In an active/passive configuration, where adTempus is active on only one node at a time, only one license is required. Contact technical support to obtain a license that can be used for all nodes of the cluster, and provide your License Account number, the name of the cluster, and the names of the nodes.