Controlling the Failover Manager service
========================================

フェールオーバーマネージャークラスター内の各ノードは、サービススクリプトによって制御されるフェールオーバーマネージャーエージェントをホストします。デフォルトでは、サービススクリプトは以下を検出することを想定しています。

- Failover Managerサービスが使用するプロパティを含む\ ``efm.properties``
  という名前の構成ファイル。レプリケーションシナリオの各ノードには、ノードに関する情報を提供するプロパティファイルが含まれている必要があります。

- クラスターメンバーのリストを含む\ ``efm.nodes``
  という名前のクラスターメンバーファイル。レプリケーションシナリオの各ノードには、クラスターメンバーリストが含まれている必要があります。

単一のノードで複数のクラスターを実行している場合、クラスター固有の名前で構成ファイルを手動で作成し、対応するクラスターのサービススクリプトを変更する必要があります。

Failover Managerサービスを制御するコマンドはプラットフォーム固有です。

RHEL/Rocky Linux/AlmaLinux 8.x以降でのsystemctlユーティリティの使用
-------------------------------------------------------------------

RHEL/Rocky Linux/AlmaLinux 8.x以降では、Failover
Managerは、\ ``/usr/lib/systemd/system``
にあるデフォルトで\ ``edb-efm-5.<x>.service``
という名前のLinuxサービスとして実行されます。フェールオーバーマネージャーによって監視される各データベースクラスターは、レプリケーションクラスターの各ノードでサービスのコピーを実行します。

次のsystemctlコマンドを使用して、RHEL/Rocky Linux/AlmaLinux
8.x以降のホストにあるFailover Managerエージェントを制御します。

``systemctl start edb-efm-5.<x>``

``start`` コマンドは、現在のノードでFailover
Managerエージェントを起動します。ローカルフェールオーバーマネージャーエージェントはローカルデータベースを監視し、他のノード上のフェールオーバーマネージャーと通信します。フェールオーバーマネージャークラスター内のノードは、任意の順序で起動できます。このコマンドは、ルートによって呼び出される必要があります。

``systemctl stop edb-efm-5.<x>``

現在のノードでフェールオーバーマネージャーを停止します。このコマンドは、ルートによって呼び出される必要があります。

``systemctl status edb-efm-5.<x>``

``status`` コマンドは、呼び出されたFailover
Managerエージェントのステータスを結果ます。任意のノードでstatusコマンドを呼び出して、ステータスとサーバー起動情報を返すようにフェールオーバーマネージャーに指示できます。

.. code:: text

   [root@ONE ~]}> systemctl status edb-efm-5.0
   ● edb-efm-5.0.service - EnterpriseDB Failover Manager 5.0
        Loaded: loaded (/usr/lib/systemd/system/edb-efm-5.0.service; disabled; preset: disabled)
        Active: active (running) since Fri 2025-03-07 19:28:54 UTC; 6s ago
       Process: 10559 ExecStart=/bin/bash -c /usr/edb/efm-5.0/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS)
      Main PID: 10641 (java)
         Tasks: 38 (limit: 50116)
        Memory: 193.1M
           CPU: 2.964s
        CGroup: /docker/c43e0e153c7726711f77b91735d40c26073c4ac9fdd061551669b25b4b3763a9/system.slice/edb-efm-5.0.service
                └─10641 /usr/lib/jvm/java-11-openjdk-11.0.25.0.9-3.el9.aarch64/bin/java -cp /usr/edb/efm-5.0/lib/EFM-5.0-SNAPSHOT.jar -Xmx128m com.enterprisedb.efm.main.ServiceCom>

   Mar 07 19:28:49 bnode1 sudo[10750]:      efm : PWD=/ ; USER=postgres ; COMMAND=/usr/edb/efm-5.0/bin/efm_db_functions readpgversion /etc/edb/efm-5.0/efm.properties
   Mar 07 19:28:49 bnode1 bash[10624]: 2025-03-07 19:28:49 The local database is not in recovery. Continuing startup in primary mode.
   Mar 07 19:28:49 bnode1 bash[10624]: 2025-03-07 19:28:49 Agent logs will be written to /var/log/efm-5.0/efm.log
   Mar 07 19:28:49 bnode1 bash[10624]: 2025-03-07 19:28:49 The virtual.ip property is not set, starting EFM with VIP support disabled.
   Mar 07 19:28:51 bnode1 bash[10624]: 2025-03-07 19:28:51
   Mar 07 19:28:51 bnode1 bash[10624]: 2025-03-07 19:28:51 -------------------------------------------------------------------
   Mar 07 19:28:51 bnode1 bash[10624]: 2025-03-07 19:28:51 GMS: address=bnode1-17436(bnode1), cluster=efm, physical address=172.17.0.2:7800
   Mar 07 19:28:51 bnode1 bash[10624]: 2025-03-07 19:28:51 -------------------------------------------------------------------
   Mar 07 19:28:54 bnode1 bash[10624]: 2025-03-07 19:28:54 Now monitoring database.
   Mar 07 19:28:54 bnode1 systemd[1]: Started EnterpriseDB Failover Manager 5.0
