Controlling the Failover Manager Service

Each node in a |variable_prod_name| cluster hosts a |variable_prod_name| agent that is controlled by a service script. By default, the service script expects to find:

  • A configuration file named efm.properties that contains the properties used by the |variable_prod_name| service. Each node of a replication scenario must contain a properties file that provides information about the node.

  • A cluster members file named efm.nodes that contains a list of the cluster members. Each node of a replication scenario must contain a cluster members list.

Note that if you are running multiple clusters on a single node you will need to manually create configuration files with cluster-specific names and modify the service script for the corresponding clusters.

The commands that control the |variable_prod_name| service are platform-specific.

Using the service Utility on RHEL 6.x and CentOS 6.x

On RHEL 6.x and CentOS 6.x, |variable_prod_name| runs as a Linux service named (by default) edb-efm-|variable_prod_version| that is located in /etc/init.d. Each database cluster monitored by |variable_prod_name| will run a copy of the service on each node of the replication cluster.

Use the following service commands to control a |variable_prod_name| agent that resides on a RHEL 6.x or CentOS 6.x host:

service edb-efm-|variable_prod_version| start

The start command starts the |variable_prod_name| agent on the current node. The local |variable_prod_name| agent monitors the local database and communicates with |variable_prod_name| on the other nodes. You can start the nodes in a |variable_prod_name| cluster in any order. This command must be invoked by root.

service edb-efm-|variable_prod_version| stop

Stop the |variable_prod_name| on the current node. This command must be invoked by root.

service edb-efm-|variable_prod_version| status

The status command returns the status of the |variable_prod_name| agent on which it is invoked. You can invoke the status command on any node to instruct |variable_prod_name| to return status information. For example:

[witness@localhost ~]# service edb-efm-|variable_prod_version| status
edb-efm-|variable_prod_version| (pid 50836) is running...
service edb-efm-|variable_prod_version| help

Display online help for the |variable_prod_name| service script.

Using the systemctl Utility on RHEL/CentOS 7.x and RHEL/CentOS 8.x

On RHEL/CentOS 7.x and RHEL/CentOS 8.x, |variable_prod_name| runs as a Linux service named (by default) edb-efm-3.10.service that is located in /usr/lib/systemd/system. Each database cluster monitored by Failover Manager will run a copy of the service on each node of the replication cluster.

Use the following systemctl commands to control a |variable_prod_name| agent that resides on a RHEL/CentOS 7.x and RHEL/CentOS 8.x host:

systemctl start edb-efm-|variable_prod_version|

The start command starts the |variable_prod_name| agent on the current node. The local |variable_prod_name| agent monitors the local database and communicates with |variable_prod_name| on the other nodes. You can start the nodes in a |variable_prod_name| cluster in any order. This command must be invoked by root.

systemctl stop edb-efm-|variable_prod_version|

Stop the |variable_prod_name| on the current node. This command must be invoked by root.

systemctl status edb-efm-|variable_prod_version|

The status command returns the status of the |variable_prod_name| agent on which it is invoked. You can invoke the status command on any node to instruct |variable_prod_name| to return status and server startup information.

[root@ONE ~]}> systemctl status edb-efm-|variable_prod_version|
  edb-efm-|variable_prod_version|.service - EnterpriseDB Failover Manager |variable_prod_version|
   Loaded: loaded (/usr/lib/systemd/system/edb-efm-|variable_prod_version|.service; disabled; vendor preset: disabled)
   Active: active (running) since Wed 2013-02-14 14:02:16 EST; 4s ago
  Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-|variable_prod_version|/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS)
 Main PID: 58180 (java)
   CGroup: /system.slice/edb-efm-|variable_prod_version|.service
           └─58180 /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64/jre/bin/java -cp /usr/edb/edb-efm-|variable_prod_version|/lib/EFM-|variable_prod_version|.0.jar -Xmx128m -agentlib:jdwp=transport...