モニタデーモンは、両ノード間で互いに確認データの送受信を繰り返すことで正本のデータベースの監視を行います。
以下の事象を検知した場合、通信環境または、相手ノードに異常が発生したと認識します。
副系ノードのモニタデーモンにおいて、正系ノードからの確認データを受信したあとに指定されたタイムアウト時間を超えても次の確認データが到着しない場合
正系ノード、または副系ノードにて通信環境の異常を検知した場合
異常発生を認識したあとの動作は、ノード間の監視設定の自動ノード切替えの指定により異なります。
自動ノード切替えを行う場合
両ノードの動作状態により、正系ノードでの運用継続、またはノードの自動切替えを行います。
自動ノード切替えを行わない場合
ユーザ判断により、正系ノードでの運用継続、またはノードの強制切替えを行ってください。
異常を認識したときの動作を、以下に示します。
異常の種類 | 自動ノード切替えを行う(注) | 自動ノード切替えを行わない |
---|---|---|
通信環境の異常 | 以下のいずれかとなります。
| 正系ノードを継続して使用するか、またはノード切替えを行うかの判断をしてください。
|
正系ノードのダウン | 自動ノード切替えを行います。 | 副系ノードにて、dxswitchコマンドのnオプションを実行し、副本のデータベースを正本に切替えてください。 |
副系ノードのダウン | 正系ノードを継続して使用します。 | 正系ノードでの運用を継続してください。 |
注) GCMが停止している場合は、自動ノード切替えを行わない場合と同じ対処を行ってください。
設計の方針
モニタデーモンによるノード間の監視を正しく動作させるために、各パラメタを業務要件に合わせて、誤検知や検知の遅延がないように設計する必要があります。
本設計は、「どの程度で異常と判断するか」などを考慮して設計してください。
以下に設計の方針または推奨値を説明します。特に理由がない場合、以下を基準に設計および実機確認することを推奨します。
POLL_TIME(送受信間隔時間):1000ミリ秒(省略値と同じ)
POLL_WAITOUT(タイムアウト時間):5秒(省略値と同じ)
一時的な負荷などで誤検知しない時間を指定します。例えば、専用の強固なネットワークで接続している場合は、5秒を設定します。
GCM_FAILOVER:YES(省略値はNO)
ノード間の通信環境に異常が発生した場合に、正系ノードを使用するか、副系ノードに切替えるかを自動で判断します。運用を継続できるようにYESを設定することを推奨します。この場合、GCMが必要となります。
(1) DBミラーリング動作環境ファイルに指定した間隔で、データを送信します。
(2) 次のデータがDBミラーリング動作環境ファイルに指定したタイムアウト時間を超えても届かない場合は、メッセージを出力します。
(3) DBミラーリング動作環境ファイルに再開間隔を指定した場合は、指定された時間を経過するとポーリングを再開します。
再接続時に接続再開のメッセージを出力します。再接続が行えない場合は、再度再開間隔に指定された時間の経過後に再接続を行います。