Disaster Recovery Process

Before Beginning the DR Process

On the DR Server, ensure the following are true:

  • The JAMS Services are disabled (Includes the JAMS Executor, JAMS Scheduler, and JAMS Server)
  • Host files on the JAMS Server and Agent Nodes are pointing to the DR Servers
  • Common.config is pointing to the local SQL Server (located at C:\Program Files\MVPSI\JAMS\Scheduler\Common.config by default)

Restore the SQL Database

Create a backup of the JAMS Production Database and then restore the JAMS Production Database in DR.

Truncate the Failover Table

Truncate the failover table on the DR Server.

NOTE: The failover table details the GUID of the JAMS Server that is running against this database. This GUID should match the Installed GUID found in the Server Configuration file (located at C:\Program Files\MVPSI\JAMS\Scheduler\Server.config by default).

Back up the Current Monitor View state

On the JAMS DR Server:

  • Start the JAMS Server Service.
  • Within the JAMS DR Client, go to the Monitor View and take screenshots of the current Jobs within the Monitor View.
  • Stop the JAMS Server service.
NOTE: The Failover table on the DR Server must be truncated before the JAMS Server is started. The JAMS Server will then automatically add the required entries to the table.

Update the JAMS Server Agents/Nodes to Point to the DR Servers

The JAMS Nodes must be updated to point to the DR Servers instead of Production Servers. In this example, all Sequences and Jobs within JAMS refer to a JAMS Queue, rather than point to an Agent Node directly. With this Queue configuration, re-directing the Nodes will be a simple case of updating the Production Queues to point to the DR Nodes.

JAMS will not allow existing nodes to be deleted if any running or pending Jobs that point to those Queues/Nodes are within the Schedule/Monitor view. Therefore, in order to allow the nodes to be updated, all Jobs will need to be cleared from the Monitor View using the Reset Schedule process detailed below.

Reset the JAMS Schedule

On the JAMS DR Server

  • Ensure the JAMS Scheduler Service is stopped. The JAMS Scheduler service should be stopped so the Reset Schedule command (explained later) does not re-schedule Jobs before the queue nodes have been updated.
  • Run the JAMSDBA executable as an administrator.
  • Enter RESET SCHEDULE and press Enter.

When JAMS starts up against a restored database, it checks to see if the Schedule is more than 48 hours old. If it is, it automatically rebuilds the schedule from the current time. Otherwise, it will continue with the current schedule as-is. As the JAMS Database will likely be less than 48 hours old on DR, the 'Reset Schedule" process will have to be manually run using the JAMSDBA utility.

Once the Scheduler Service starts, the Schedule will be built based on the current time. To rebuild the Schedule against a different time, the /Restart switch can be specified.

Enable Access to the JAMS Client

Start the JAMS Server Service on the DR Server. To successfully connect to the Server from a JAMS Client, the JAMS Server service needs to be enabled and started. View the status of the JAMS Server at the bottom left corner of the JAMS client.

Update the JAMS Server Nodes

  • Ensure the JAMS Client is opening against the DR Server and that all Jobs have been cleared from the Monitor View.
  • Run the Update Queues PowerShell script to update the JAMS Queues to point to DR Nodes.
    NOTE: Because the JAMS Scheduler is still disabled, run the Update Queues script outside JAMS.
  • Ensure the Queues have been successfully re-pointed in the front end by viewing the Agents and Queue Nodes.

Start the JAMS Services

On the DR Server, manually start the JAMS Scheduler Service and the JAMS Executor Service. Starting the JAMS Scheduler results in the Schedule being rebuilt within the Monitor view, as defined by the JAMSDBA utility.

NOTE: Sequences or Jobs that were scheduled before DR that were still pending when production went offline may need manual attention.

Run Test Processes

On the DR Server, run a test process in JAMS to validate that the Scheduler is working as expected.

Licensing DR

The JAMS DR Server requires a unique JAMS License.

Agents will be consumed as follows:

The JAMS License is on the JAMS Server and it will detail the number of available Agent licenses. When the JAMS Server is restarted, the number of allocated Agent licenses is set to zero. As Jobs consume Agents, the allocated License count is incremented.