形式
Mirroring ControllerプロセスまたはMirroring Controller裁定プロセスがフェンシングコマンドを呼び出す際の引数は以下です。
フェンシングコマンド名 フェンシングコマンドの実行契機 Mirroring Controllerが行う縮退操作 サーバ識別子 サーバ識別子 センタ種別
フェンシングコマンド名 フェンシングコマンドの実行契機 Mirroring Controllerが行う縮退操作 サーバ識別子
入力
monitor: Mirroring Controllerプロセスの自動監視による異常検知
command: Mirroring Controllerのコマンド実行(mc_ctlコマンドのswitchモードまたはdetachモード)
switch: 切り替え
detach: 切り離し
フェンシングコマンドを呼び出したデータベースサーバのサーバ識別子
フェンシング対象のデータベースサーバのサーバ識別子
フェンシングコマンドを呼び出したセンタ種別
primarycenter:運用センタ
standbycenter:待機センタ
monitor: Mirroring Controllerプロセスの自動監視による異常検知
command: Mirroring Controllerのコマンド実行(mc_ctlコマンドのswitchモードまたはdetachモード)
switch: 切り替え
detach: 切り離し
フェンシング対象のデータベースサーバのサーバ識別子
出力
0: Mirroring Controllerによる縮退処理を継続します。
0以外: Mirroring Controllerによる縮退処理を中断します。
説明
入力のサーバ識別子を元にフェンシング対象のデータベースサーバを特定し、不安定なデータベースサーバをクラスタシステムから隔離する処理を実装します。
注釈
フェンシングコマンドは、Mirroring Controller、またはMirroring Controller裁定プロセスを起動したOSユーザーで実行されます。そのため、特定のOSユーザーで実行する場合は、フェンシングコマンド内で実行ユーザーを意図するOSユーザーに変更してください。
Mirroring ControllerまたはMirroring Controller裁定プロセスを起動したOSユーザーに対して、フェンシングコマンドに実行権限を付与する必要があります。実行権限がない場合は、縮退処理を中断します。
セキュリティの観点から、意図しないOSユーザーにフェンシングコマンドを書き換えられて不当な動作が行われないように、必要に応じてアクセス権の設定を行ってください。
フェンシングコマンドが0以外で復帰した場合、Mirroring Controllerは縮退処理を中断するため、利用者はサーバの状態を確認し、必要に応じて手動で切り替えや切り離しを行う必要があります。
フェンシング対象のサーバが既にフェンシングが行われている状態の場合、フェンシング処理が異常終了しないように、事前に状態を確認してから、フェンシング処理を実行するようにしてください。
フェンシングコマンドの実行中にタイムアウトが発生した場合、Mirroring Controllerはフェンシングコマンドを停止させ、エラーメッセージを出力して、縮退処理を中断します。
データベース多重化運用、または待機センタでデータベース多重化機能を利用しない災害対策運用の場合、センタ種別は“primarycenter”が設定されます。
参考
フェンシングコマンドの実装方法の一つとして、OSやサーバを停止する方法があります。例えば、データベースサーバの電源を停止する場合は、標準ハードウェア規格であるIPMI(Intelligent Platform Management Interface)に対応したHW制御ボードが装備されている環境で、本ボードを制御するユーティリティを利用する方法があります。
IPMItoolを利用した、データベースサーバの電源を停止するフェンシングコマンドのサンプルスクリプトを、以下に提供しています。
サンプルのシェルスクリプトのパス
/インストールディレクトリ/share/mcarb_execute_fencing.sh.sample
IPMIUTILを利用した、データベースサーバの電源を停止するフェンシングコマンドのサンプルスクリプトを、以下に提供しています。
サンプルのシェルスクリプトのパス
インストールディレクトリ\share\mcarb_execute_fencing.bat.sample