データベースサーバのユーザー出口の作成について説明します。
ユーザー出口には、以下の種類のユーザーコマンドがあり、Mirroring Controller管理プロセスから呼び出されます。
これらは必要に応じて利用者が作成します。
作成したユーザーコマンドはデータベースサーバのサーバ定義ファイル内のパラメータに指定します。パラメータの詳細については、“A.4.1 データベースサーバのサーバ定義ファイル“を参照してください。
ユーザーコマンドの種類
フェンシングコマンド
Mirroring Controllerが裁定処理を行った結果、不安定なデータベースサーバと判断した場合に、フェンシングを行うためのユーザーコマンドです。
裁定コマンド
裁定サーバを設置しない場合に、裁定サーバの代わりに裁定処理を行うユーザーコマンドです。
状態遷移コマンド
Mirroring Controllerがデータベースサーバの状態遷移を行った際に呼び出されるユーザーコマンドです。
本コマンドには以下があります。
昇格後コマンド
スタンバイサーバがプライマリサーバに昇格した後に呼び出されるユーザーコマンドです。
切り離し前コマンド
スタンバイサーバがクラスタシステムから切り離される前に呼び出されるユーザーコマンドです。
切り離し前コマンドがプライマリサーバ、スタンバイサーバの両方に指定されている場合、スタンバイサーバ側、プライマリサーバ側の順に呼び出されます。
スタンバイサーバを切り離す際にスタンバイサーバのインスタンスを強制停止させる設定を行っている場合、スタンバイ側の切り離し前コマンドの呼び出し後に、スタンバイサーバのインスタンスの停止が行われます。
組み込み後コマンド
スタンバイサーバがクラスタシステムに組み込まれた後に呼び出されるユーザーコマンドです。
組み込み後コマンドがプライマリサーバ、スタンバイサーバの両方に指定されている場合、プライマリサーバ側、スタンバイサーバ側の順に呼び出されます。
ポイント
裁定サーバを利用して自動縮退を行う運用では、裁定サーバ側のみのフェンシングコマンドで要件を満たすことが可能な場合、データベースサーバ側でのフェンシングコマンドは不要です。また、データベースサーバ側のみのフェンシングコマンドで要件を満たすことが可能な場合には、裁定サーバ側では、実装を伴わない終了処理だけのフェンシングコマンドを作成してください。
ユーザーコマンド | OS/サーバの生死監視においてハートビート異常を検出した場合の動作 | 呼び出し元の | ||||
---|---|---|---|---|---|---|
メッセージ出力 | 裁定サーバによる自動縮退 | 裁定コマンドによる自動縮退 | 無条件に自動縮退 | プライマリサーバ | スタンバイサーバ | |
フェンシングコマンド | ○(注1) | ○(注2) | ◎ | × | ○ | ○ |
裁定コマンド | × | × | ◎ | × | ○ | ○ |
昇格後コマンド | ○ | ○ | ○ | ○ | ○ | × |
切り離し前コマンド | ○ | ○ | ○ | ○ | ○ | ○(注3) |
組み込み後コマンド | ○ | ○ | ○ | ○ | ○ | ○(注3) |
◎:必須
○:利用可能
×:利用不可
注1) mc_ctlコマンドで強制切り替え、または強制切り離しを実行した場合にのみ呼び出されます。
注2) データベースサーバ側でのフェンシングコマンドの作成は任意ですが、裁定サーバ側での作成は必須です。
注3) メッセージ出力または無条件に自動縮退する動作を選択している場合には、プライマリサーバからのみ呼び出されます。
参照
各ユーザーコマンドについては、“付録C ユーザーコマンド”を参照してください。