Page History
Table of Contents |
---|
Introduction
Users might choose to convert a Standalone Controller to a Controller Cluster:
- the Controller Cluster provides high availability,
- the Controller Cluster is subject to the JS7 - License. Both JOC Cockpit and Controller instance require a license keying 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 convert a Controller Cluster to a Standalone Controller.
Converting the Standalone Controller
...
Starting the Active Controller
...
As a prerequisite both active and standby Controller instances have to be terminated.
Reverting the Controller Journal
Users decide which Controller instance should become the Standalone Controller to continue operations.
Instance
The Standalone Controller automatically becomes the active 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 started.
Preparing the Standby Controller Instance
Users have to prepare the standby Controller instance to its role:
Users should specify the standby role from the Controller instance's
controller.conf
file:Code Block title controller.conf file for Standby 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 standby Controller instance
- In most situations this will be the previously active Controller instance.
- Users should remove the journal of the Controller instance that is no longer in use. More precisely users should remove the contents of the unused standby Controller instance's
state
folder. This measure prevents a situation when later on the unused Controller instance will be started by chance and will invite the Standalone Controller instance to re-establish the cluster.
Starting the Standby Controller Instance
In a next step the standby Controller instance is started like thisReverting the Controller journal can be performed with the following command:
Code Block | ||
---|---|---|
| ||
# revertingstarting the Standby Controller journalinstance for Unix withfrom nothe runningcommand Controller instancesline ./controller_instance.sh revokestart # revertingstarting Controller journal for Unix with a running the Standby Controller instance thatfor isUnix stoppedfrom andsystemd sudo reverted (available starting from release 2.5.1) ./controller_instance.sh stop --revokesystemctl start controller.service |
Code Block | ||
---|---|---|
| ||
@rem revertingstarting the Standby Controller journalinstance for UnixWindows withfrom nothe runningcommand Controller instancesline ./\controller_instance.cmd revokestart @rem revertingstarting Controllerthe journal for Unix with a running Standby Controller instance that is stopped and reverted (available starting from release 2.5.1) Windows Service from the command line .\controller_instance.cmd stop --revoke |
Explanation:
- Running the above script will remove any cluster related items from the Controller instance's journal.
- This allows the Controller instance to be started as a Standalone Controller.
- Standalone Controllers
- do not connect to a Cluster Watch Agent,
- do not connect nor can be connected to/from a second Controller instance acting in a standby role.
Configuring the Standalone Controller
...
start-service
@rem alternatively the Standby Controller instance can be started from the Windows Service Panel |
For details see JS7 - Controller - Command Line Operation.
Starting the Cluster Watch Agent
Users choose an existing Standalone Agent or a 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
...
...
...
At the point in time when submitting the changes the Controller will not be started. Therefore the Test Connection function cannot be used.
Starting the Standalone Controller
With the Controller type being reverted users can start the Standalone Controller from the command line like this:
Code Block | ||
---|---|---|
| ||
# starting the Cluster StandaloneWatch ControllerAgent for Unix from the command line ./controlleragent_instance<port>.sh start # starting the Cluster StandaloneWatch ControllerAgent for Unix from systemd sudo systemctl start controlleragent.service |
Code Block | ||
---|---|---|
| ||
@rem starting the Cluster StandaloneWatch ControllerAgent for Windows from the command line .\controlleragent_instance<port>.cmd start @rem starting the Cluster StandaloneWatch ControllerAgent Windows Service from the command line .\controlleragent_instance<port>.cmd start-service @rem alternatively the Cluster StandaloneWatch ControllerAgent 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 radio buttons Standalone and Cluster 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.
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
- JS7 - Controller Configuration Items
- JS7 - Controller - Command Line Operation
- JS7 - Agent Command Line Operation
- JS7 - How to convert a Controller Cluster to a Standalone Controller