Introduction

Users might choose to convert a Standalone Controller to a Controller Cluster:

  • The Controller Cluster provides high availability,
  • Use of the Controller Cluster is subject to the JS7 - License. Both JOC Cockpit and Controller instances require a license key being present:

Converting a Standalone Controller to a Controller Cluster offers to revert the Cluster at any later point in time, see JS7 - How to revert a Controller Cluster to a Standalone Controller.

Converting the Standalone Controller

Steps for converting a Standalone Controller correspond to the steps performed during JS7 - Initial Operation for Controller Cluster.

Starting the Primary Controller Instance

The Standalone Controller automatically becomes the active Primary Controller instance in a cluster. This change of role does not require the Standalone Controller being restarted.

For successful execution of the subsequent steps the Controller instance has to be up and running.

Preparing the Secondary Controller Instance

Users have to prepare the standby Secondary Controller instance to its role:

  • Users should specify the standby role from the Controller instance's controller.conf file:

    controller.conf file for Secondary Controller Instance
    # Cluster configuration
    js7.journal.cluster {
        node {
            is-backup = yes
        }
    }

    For details see JS7 - Controller Configuration Items

  • Users should remove an existing journal of the Secondary Controller instance. More precisely users should remove the contents of the Secondary Controller instance's state folder.

Starting the Secondary Controller Instance

In a next step the Secondary Controller instance is started like this:

Starting the Secondary Controller Instance for Unix
# starting the Standby Controller instance for Unix from the command line
./controller_instance.sh start

# starting the Standby Controller instance for Unix from systemd
sudo systemctl start controller.service
Starting the Secondary Controller Instance for Windows
@rem starting the Standby Controller instance for Windows from the command line
.\controller_instance.cmd start

@rem starting the Standby Controller instance Windows Service from the command line
.\controller_instance.cmd start-service

@rem alternatively the Standby Controller instance can be started from the Windows Service Panel


For details see JS7 - Controller - Command Line Operation.

Operating the Cluster Watch

A Controller Cluster requires the role of a Cluster Watch to be present, see JS7 - Controller Cluster.

This role can be taken either by JOC Cockpit or from an Agent.

Starting JOC Cockpit for Cluster Watch

For Unix JOC Cockpit is started from its Start Script or from JS7 - systemd Service Files for automated Startup and Shutdown with Unix Systems.

For Windows JOC Cockpit is started from its Windows Service.

For details see JS7 - JOC Cockpit - Command Line Operation


JOC Cockpit can be assigned the Cluster Watch starting from this release:

FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.2

Starting the Cluster Watch Agent

Users choose an existing Standalone Agent or Primary Director Agent in a JS7 - Agent Cluster to act as a Cluster Watch for the Controller Cluster.

An existing Agent can be re-used and does not require to be restarted. A new Agent is started like this:

Starting the Cluster Watch Agent for Unix
# starting the Cluster Watch Agent for Unix from the command line
./agent_<port>.sh start

# starting the Cluster Watch Agent for Unix from systemd
sudo systemctl start agent.service
Starting the Cluster Watch Agent for Windows
@rem starting the Cluster Watch Agent for Windows from the command line
.\agent_<port>.cmd start

@rem starting the Cluster Watch Agent Windows Service from the command line
.\agent_<port>.cmd start-service

@rem alternatively the Cluster Watch Agent can be started from the Windows Service Panel


For details see JS7 - Agent Command Line Operation

Configuring the Controller Cluster

The Controller's administrative menu is invoked from the JOC Cockpit user interface as follows:


From the list of Controllers displayed users select the "Edit" action menu item for the respective Controller:


When editing the Controller configuration the following popup window is offered:


The Standalone and Cluster radio buttons determine the Controller type.

  • Users should modify the Controller Type to Cluster.
  • For the Primary Controller instance users should enter the URL of the current Standalone Controller that is intended to act as the active Controller instance in a cluster.
  • For the Secondary Controller instance users should enter the URL of the standby Controller instance.
  • The Test Connection buttons can be used to verify if JOC Cockpit can establish a connection to both Controller instances.
  • For the Cluster Watch Role either JOC Cockpit or an Agent is specified, see next chapters.

Configuring JOC Cockpit a Cluster Watch

The Cluster Watch role for JOC Cockpit can be configured from a radio button like this:


FEATURE AVAILABILITY STARTING FROM RELEASE 2.5.2

Configuring an Agent as Cluster Watch

The Cluster Watch role can be assigned an Agent from a radio button like this:

Operating the Controller Cluster

With the previous steps being performed the Controller Cluster should become available within approx. 60s. 

  • The active and standby Controller instances will connect to each other and will perform coupling of the cluster.
  • The proxy service running in JOC Cockpit will connect to both Controller instances and will report status information with JOC Cockpit's Dashboard view.
    • Should this operation fail, then restart JOC Cockpit.
    • Consider that a JOC Cockpit cluster might automatically fail-over to the next JOC Cockpit instance and might require to restart all JOC Cockpit instances.
  • The JS7 - History Service might take up to 90s to connect to the Controller Cluster.
    • Should this operation fail, then restart the History Service from the JOC Cockpit's Dashboard view.

Further Resources