3.2.1 PFM - Agentホストに障害が発生した場合のフェールオーバー
- 〈この項の構成〉
(1) フェールオーバー時の処理概要
PFM - Agent for Microsoft SQL Serverを実行しているPFM - Agentホストでフェールオーバーが発生した場合の処理を次の図に示します。
PFM - Agent for Microsoft SQL Serverのフェールオーバー中に,PFM - Web Consoleで操作すると,「There was no answer(-6)」というメッセージが表示されます。この場合は,フェールオーバーが完了するまで待ってから操作してください。
PFM - Agent for Microsoft SQL Serverのフェールオーバー後に,PFM - Web Consoleで操作すると,フェールオーバー先のノードで起動したPFM - Agent for Microsoft SQL Serverに接続されて,操作できます。
(2) フェールオーバー時のペンディング機能
(a) ペンディング機能とは
ペンディング機能は,PFM - Agent for Microsoft SQL Serverの起動後に,Microsoft SQL Serverに接続する処理を一定時間遅らせる機能です。
この機能を使用すると,フェールオーバーが発生した場合に,待機系ノードでトランザクションのリカバリ処理が完了したあとでPFM - Agent for Microsoft SQL ServerがMicrosoft SQL Serverに接続するようにできます。これによって,Microsoft SQL Serverのリカバリ処理待ちによるPFM - Agent for Microsoft SQL ServerのDB接続遅延を回避できます。
ペンディング機能を使用した場合の処理の流れを次の図に示します。
(b) ペンディング時間の設定
ペンディング時間は,次に示す方法で設定できます。
-
jpcconf inst setupコマンドによるインスタンス環境設定時
-
PFM - Web Consoleの画面の,Agent ConfigurationプロパティのSTARTUP_PENDINGの変更
設定できる値は0〜3,600(単位:秒)です。0を指定した場合はペンディングしません。また,範囲外の値は無効です。
なお,フェールオーバー発生時,Microsoft SQL Serverでのリカバリ処理に掛かる時間は,マシン構成やMicrosoft SQL Serverにアクセスするアプリケーションの処理内容などによって異なります。ペンディング時間は,実際の運用環境で必要な時間を計測し,その時間より長く設定してください。
jpcconf inst setupコマンドによるペンディング時間の設定については,「2.1.4(2) インスタンス環境の設定」を参照してください。
(c) ペンディング機能使用時の注意事項
-
ペンディング中は,PFM - Web Consoleの画面からPFM - Agent for Microsoft SQL Serverへの接続と操作はエラーとなります。
-
ペンディング中にjpctool service listコマンドで状態確認を行う場合には,ステータス管理機能をdisableに設定しないでください。disableに設定されている場合,jpctool service listコマンドはペンディング終了までブロックし,状態を返却しません。
-
ペンディング中にPFM - Agent for Microsoft SQL Serverを終了させる場合,クラスタ構成のときはクラスタソフトから,クラスタ構成でないときはWindowsの[スタート]メニューの[管理ツール]−[サービス]から終了させてください。なお,クラスタ構成であるかどうかに関係なく,ペンディング中のPFM - Agent for Microsoft SQL Serverに対するjpcspm stopコマンドはエラーとなります。
-
PFM - Agent for Microsoft SQL Serverを起動中に,PFM - Web Consoleの画面からペンディング値を変更した場合,値が動作に反映されるのは次回起動時からになります。
-
PFM - Agent for Microsoft SQL Serverがペンディング中の場合,jpctool service listコマンドはStatusをStartingと表示します。