ページの先頭行へ戻る
Enterprise Postgres 15 クラスタ運用ガイド(データベース多重化編)

C.1 フェンシングコマンド

形式

Mirroring ControllerプロセスまたはMirroring Controller裁定プロセスがフェンシングコマンドを呼び出す際の引数は以下です。

データベースサーバのフェンシングコマンドの場合
フェンシングコマンド名 フェンシングコマンドの実行契機 Mirroring Controllerが行う縮退操作 サーバ識別子 サーバ識別子 センタ種別
裁定サーバのフェンシングコマンドの場合
フェンシングコマンド名 フェンシングコマンドの実行契機 Mirroring Controllerが行う縮退操作 サーバ識別子 

入力

データベースサーバのフェンシングコマンドの場合
フェンシングコマンドの実行契機

monitor: Mirroring Controllerプロセスの自動監視による異常検知

command: Mirroring Controllerのコマンド実行(mc_ctlコマンドのswitchモードまたはdetachモード)

Mirroring Controllerが行う縮退動作

switch: 切り替え

detach: 切り離し

サーバ識別子

フェンシングコマンドを呼び出したデータベースサーバのサーバ識別子

サーバ識別子

フェンシング対象のデータベースサーバのサーバ識別子

センタ種別

固定値(“primarycenter”が設定されます)

裁定サーバのフェンシングコマンドの場合
フェンシングコマンドの実行契機

monitor: Mirroring Controllerプロセスの自動監視による異常検知

command: Mirroring Controllerのコマンド実行(mc_ctlコマンドのswitchモードまたはdetachモード)

Mirroring Controllerが行う縮退動作

switch: 切り替え

detach: 切り離し

サーバ識別子

フェンシング対象のデータベースサーバのサーバ識別子

出力

復帰値

0: Mirroring Controllerによる縮退処理を継続します。

0以外: Mirroring Controllerによる縮退処理を中断します。

説明

入力のサーバ識別子を元にフェンシング対象のデータベースサーバを特定し、不安定なデータベースサーバをクラスタシステムから隔離する処理を実装します。

注釈

参考

フェンシングコマンドの実装方法の一つとして、OSやサーバを停止する方法があります。例えば、データベースサーバの電源を停止する場合は、標準ハードウェア規格であるIPMI(Intelligent Platform Management Interface)に対応したHW制御ボードが装備されている環境で、本ボードを制御するユーティリティを利用する方法があります。

Linuxの場合

IPMItoolを利用した、データベースサーバの電源を停止するフェンシングコマンドのサンプルスクリプトを、以下に提供しています。

サンプルのシェルスクリプトのパス
/インストールディレクトリ/share/mcarb_execute_fencing.sh.sample
Windowsの場合

IPMIUTILを利用した、データベースサーバの電源を停止するフェンシングコマンドのサンプルスクリプトを、以下に提供しています。

サンプルのシェルスクリプトのパス
インストールディレクトリ\share\mcarb_execute_fencing.bat.sample