ページの先頭行へ戻る
Symfoware Server V11.0.0 Mirroring Controller運用ガイド
Symfoware

2.3.5 ノード切替えの注意事項

ノード切替えの注意事項を説明します。

2.3.5.1 ノード切替え中のデータベースへのアクセス

ノード切替えを開始してから完了するまでの間はデータベースへのアクセスはできません。
ノード切替え中は、データベースへのSQLやRDBコマンドの操作を実行しないでください。

2.3.5.2 ノード間の監視異常によるノード切替え

ノードの生存監視は、正系ノードと副系ノード間のネットワークを利用して実現しているため、ネットワーク障害が発生した場合でもノード間の監視異常として検知することがあります。ノード間の監視異常を検知した場合、正系ノードの状態を確認してください。

DBミラーリングシステムがノードの生存監視の異常を認識すると、以下のメッセージをシステムログに出力し、利用者判断を促します。

このメッセージが出力された場合、利用者は正系ノードのデータベースの状態を調査して、以下のいずれかの対処を行います。

ポイント

GCMを使用すると、ノード間の監視異常が発生したときの業務継続の判断をDBミラーリングシステムが自動的に行うため、正系ノードに異常が発生した場合は自動ノード切替えを行うことが可能となります。

2.3.5.3 通信環境異常時のノード切替え

ノード間の通信環境が異常となった場合は、DBミラーリングシステムによる自動ノード切替え、およびdxswitchコマンド(オプションなし)によるノード切替え、副系ノードのデータベースの異常をメッセージ出力することができません。
このような場合、以下の方法でノード切替えを実施することで利用者業務を継続してください。

DBミラーリングシステムでは、ノード間の通信環境の異常を検知すると、副系ノードに以下のメッセージを出力します。この場合、正系ノードのデータベースの状態を確認し、データベースが正常な場合、早急にノード間の通信環境をリカバリしてください。
データベースに異常が発生している場合は、正系ノードのデータベースを停止した後で、副系ノードからdxswitchコマンドのnオプションを実行することで、強制ノード切替えを行うことができます。

SYMFOWARE_SYMDX: WARNING: 22001: Timeout occurred by other node monitoring.

ポイント

  • GCMを使用すると、通信環境異常が発生したときの業務継続の判断をDBミラーリングシステムが自動的に行うため、正系ノードに異常が発生した場合は自動ノード切替えを行うことが可能となります。

  • 正系ノードのOSやハードに無応答などの異常が発生し、正系ノードの状態が確認できない場合や、Symfoware/RDBの強制停止ができない場合も、正系ノードのシャットダウンなどを行いdxswitchコマンドのnオプションを実行することでノード切替えが可能です。

2.3.5.4 計画切替えまたは保守でのノード切替え

計画的にノードを切り替える場合や正系ノードと副系ノードの保守を交互に行う場合、DBミラーリングサービスの通常停止は、Symfoware/RDBを停止せずにノードを切り替えます。この場合は、アプリケーションサーバの操作として以下の点に注意してください。

DBミラーリングサービスの通常停止にオプションを省略したdxsvstopコマンドを使用する場合

DBミラーリングサービスの通常停止にmcオプションを指定したdxsvstopコマンドを使用する場合

DBミラーリングサービスの通常停止中に業務アプリケーションのコネクションが強制切断されます。強制停止されたコネクションは、ノードの切替え後に再開してください。

参照

2.3.5.5 DBミラーリングシステム資源異常時のノード切替え

DBミラーリングシステムの資源の異常によって、次のいずれかの事象が発生することがあります。

上記の場合には、以下のノード切替えができません。

業務の継続を最優先するためにノードを切替える場合は、forceオプションを指定したdxswitchコマンドによる強制ノード切替えを実行してください。

注意

forceオプションを指定したdxswitchコマンドの実行によるノード切替えを実施した場合、正系ノードから副系ノードにすべてのRERUNログが反映されず、一部データロストが発生している可能性があります。この場合は、旧正系ノードをリカバリした後で、データの調査を行ってください。

2.3.5.6 DSIの初期化中のノード切替え

DSIの初期化処理中にノード切替えを実施する場合の注意事項を説明します。

参照

DBミラーリングサービス運用中のDSIの初期化については“4.4.3 DBミラーリングサービス運用中のDSIの初期化”を参照してください。

DSI初期化処理中のノード切替えへの考慮

以下の条件下でのDSIの初期化処理には、割付け量に依存した処理時間が必要です。このため、DSIの初期化中にノード切替えが行われると、ノード切替えに時間を要します。ノード切替えがタイムアウトとなりノード切替えが失敗する場合があります。

割付け量に依存した処理時間が必要となる条件

DSIの初期化中にRERUNログの反映遅延を通知するエラーメッセージが出力されたときは、ノード切替えが中断します。この場合は、DSIの初期化完了を通知するメッセージを確認してから、いったんDBミラーリングサービスのリカバリ停止し、DBミラーリングサービスを開始することで、ノード切替えを再開してください。

ポイント

表のDSI定義やインデックスのDSI定義を行った直後にDSIの初期化を実施する場合には、DBミラーリングサービスが停止している状態で、定義操作を行った後に続けて両ノードでSymfoware Serverのrdbfmtコマンドを実行してください。

DSI初期化処理中にノード切替えわれた場合の対処

DSIの初期化処理中に、異常発生などによりノード切替えが行われた場合は、旧正系ノードでノード組込みを実施した後、Symfoware/RDBの起動、DSIの初期化を行ったデータベースのリカバリを実施して、DBミラーリングサービスを再開してください。

なお、DSIの初期化中にSymfoware/RDBが停止した場合には、ダウンリカバリの異常が原因で該当DSIがアクセス禁止状態となる場合があります。

操作の手順

データベースサーバ1の操作

  1. モニタデーモンを起動します。

    $ dxstart
  2. dxrebuildコマンドを実行して、ノード組込みを行います。

    $ dxrebuild
  3. データベースサーバを起動します。

  4. 監視プロセスを起動します。

  5. BC管理DBのメモリ常駐をします。

  6. ダウンリカバリの異常が原因のアクセス禁止状態となったDSIをリカバリします。

  7. 副系ノードのDBミラーリングサービスを再開します。

    $ dxsvstart -r

データベースサーバ2の操作

  1. Symfoware ServerのrdbinfコマンドまたはRDBREPORTに出力されたメッセージによりDSIの初期化状態を確認します。

    rdb: INFO: qdg20748i:RERUNログ反映によるDSIの初期化が完了しました DSI名='DB名.DSI名' RLP名='RLP名'
  2. DSIの初期化が確認できなかった場合は、Symfoware Serverのrdbfmtコマンドの実行によりDSIを初期化します。

参照