ノード切替えの注意事項を説明します。
ノード切替えを開始してから完了するまでの間はデータベースへのアクセスはできません。
ノード切替え中は、データベースへのSQLやRDBコマンドの操作を実行しないでください。
ノードの生存監視は、正系ノードと副系ノード間のネットワークを利用して実現しているため、ネットワーク障害が発生した場合でもノード間の監視異常として検知することがあります。
DBミラーリングシステムがノードの生存監視の異常を認識すると、以下のメッセージをシステムログに出力し、利用者判断を促します。
SYMFOWARE_SYMDX: ERROR: 32031: An error occurred in the communication environment(IPアドレスまたはホスト名) between nodes. The communication to the other node is terminated.
このメッセージが出力された場合、利用者は正系ノードのデータベースの状態を調査して、以下のいずれかの対処を行ってください。
正系ノードを継続して使用する場合
通信切断やタイムアウトの原因を調査して(モニタデーモンやネットワークの状態など)、必要な対処を行ってください。この場合、現状の正系ノードのデータベースで業務を継続します。
正系ノードはデータベースの整合性を保証するため、データベースの更新が待ち状態になっています。正系ノードでのdxaccumコマンドの実行により、RERUNログを正系ノードに蓄積し、利用者業務を再開してください。
副系ノードを使用する場合
正系ノードのデータベースやOSの強制停止を行うことで、正系ノードのデータベースを停止してください。その後、副系ノードにおいて、強制ノード切替えを実施して、利用者業務を継続してください。
自動ノード切替えを行う場合の異常検知
Mirroring Controllerを利用している場合で、ノード間通信異常時の自動ノード切替えを行うときに異常を検知した際は、両ノードの動作状態により、DBミラーリングシステムが以下のいずれかを行います。
正系ノードでの運用を継続します。副系ノードはSymfoware/RDBを強制停止し、DBミラーリングサービスは自動的にリカバリ停止します。
自動ノード切替えを行います。
ポイント
dxaccumコマンドを実行すると、副系ノードをリカバリするまでの間、RERUNログは正系ノードに蓄積されます。
参照
ノード間通信異常時の自動ノード切替えについては、 “C.5.1 ノード間通信異常時の自動ノード切替え”を参照してください。
ノード間の通信環境が異常となった場合は、以下を実施できません。
dxswitchコマンド(オプションなし)によるノード切替え
副系ノードのデータベース異常のメッセージ出力
Mirroring Controllerを利用している場合のDBミラーリングシステムによる自動ノード切替え
このような場合、以下の方法でノード切替えを実施することで利用者業務を継続してください。
DBミラーリングシステムでは、ノード間の通信環境の異常を検知すると、副系ノードに以下のメッセージを出力します。この場合、正系ノードのデータベースの状態を確認し、データベースが正常な場合、早急にノード間の通信環境をリカバリしてください。
データベースに異常が発生している場合は、正系ノードのデータベースを停止した後で、副系ノードからdxswitchコマンドのnオプションを実行することで、強制ノード切替えを行うことができます。
相手ノードとの通信切断を検知した場合:
SYMFOWARE_SYMDX: ERROR: 32031: An error occurred in the communication environment(IPアドレスまたはホスト名) between nodes. The communication to the other node is terminated.
注意
RERUNログが蓄積状態の時に、dxswitchコマンドのnオプションを実行すると蓄積中のRERUNログを反映せずに強制ノード切替えを行います。
ポイント
正系ノードのOSやハードに無応答などの異常が発生し、正系ノードの状態が確認できない場合や、Symfoware/RDBの強制停止ができない場合も、正系ノードのシャットダウンなどを行いdxswitchコマンドのnオプションを実行することでノード切替えが可能です。
参照
ノード間通信異常時の自動ノード切替えについては、 “C.5.1 ノード間通信異常時の自動ノード切替え”を参照してください。
計画的にノードを切り替える場合や正系ノードと副系ノードの保守を交互に行う場合、DBミラーリングサービスの通常停止は、Symfoware/RDBを停止せずにノードを切り替えます。この場合は、アプリケーションサーバの操作として以下の点に注意してください。
DBミラーリングサービスの通常停止にオプションを省略したdxsvstopコマンドを使用する場合
ノード切替えの前に業務アプリケーションのコネクションを一旦停止してください。また、停止したコネクションはノードの切替え後に再開してください。
ノード切替えの前の、正系ノードのDBミラーリングサービス停止を行う前にアプリケーションサーバのConnection Managerを停止してください。
ノード切替えの後、正系ノードのDBミラーリングサービスを開始してからアプリケーションサーバのConnection Managerを再起動してください。
DBミラーリングサービスの通常停止にmcオプションを指定したdxsvstopコマンドを使用する場合
DBミラーリングサービスの通常停止中に業務アプリケーションのコネクションが強制切断されます。強制停止されたコネクションは、ノードの切替え後に再開してください。
参照
計画的なノード切替えについては“7.1.3 ノードの計画切替えの運用”を参照してください。
正系ノードと副系ノードの保守を交互に行う手順については“7.2.1.1 正系ノードと副系ノードを交互に行う保守”を参照してください。
業務アプリケーション作成時の注意事項については “4.2.6.3 アプリケーション作成時の注意事項”を参照してください。