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-4.<x>.service という名前のLinuxサービスとして実行されます。フェールオーバーマネージャーによって監視される各データベースクラスターは、レプリケーションクラスターの各ノードでサービスのコピーを実行します。

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

systemctl start edb-efm-4.<x>

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

systemctl stop edb-efm-4.<x>

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

systemctl status edb-efm-4.<x>

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

[root@ONE ~]}> systemctl status edb-efm-4.10
  edb-efm-4.10.service - EnterpriseDB Failover Manager 4.10
   Loaded: loaded (/usr/lib/systemd/system/edb-efm-4.10.service; disabled; vendor preset: disabled)
   Active: active (running) since Thu 2024-04-11 11:02:31 EDT; 4h 11min ago
  Process: 58125 ExecStart=/bin/bash -c /usr/edb/edb-efm-4.10/bin/runefm.sh start ${CLUSTER} (code=exited, status=0/SUCCESS)
 Main PID: 58180 (java)
   CGroup: /system.slice/edb-efm-4.10.service
           └─58180 /usr/lib/jvm/java-11-openjdk-11.0.20.0.8-1.el7_9.x86_64/bin/java -cp /usr/edb/efm-4.10/lib/EFM-4.10.jar -Xmx128m...