Hitachi

ノンストップデータベース HiRDB Version 9 システム運用ガイド(UNIX(R)用)


26.6.7 サーバ障害以外の障害が発生した場合に系を切り替える方法

ここでは,次に示す障害が発生した場合に系を切り替える方法について説明します。

〈この項の構成〉

(1) サーバプロセスの異常終了が多発した場合に系を切り替える方法

サーバプロセスの異常終了が多発すると,新たなサービスを受け付けられないことがあります。しかし,サーバプロセスの異常終了では,HiRDBは異常終了しませんが,実質オンライン停止状態になります。また,HiRDBが異常終了しないため,系を切り替えられません。このオンライン停止状態になったときに系を切り替える方法を説明します。

(a) 系を切り替えるための準備作業

pd_down_watch_procオペランドを指定します。サーバプロセスの異常終了回数が一定時間内にpd_down_watch_procオペランドの値を超えた場合,HiRDB(HiRDB/パラレルサーバの場合は該当するユニット)を異常終了します。これをプロセスの異常終了回数監視機能といいます。この機能を使用して,オンライン停止状態になったときにHiRDBを異常終了させて系を切り替えます。プロセスの異常終了回数監視機能については,「サーバプロセスの異常終了回数の監視(プロセスの異常終了回数監視機能)」を参照してください。

(b) 相互系切り替え構成の場合

系を切り替えると同一サーバマシン上で複数のHiRDBが稼働するため,逆にトラフィックが上昇して効果が得られないことがあります。相互系切り替え構成でプロセスの異常終了回数監視機能を使用する場合は,HiRDBの異常終了時に系を切り替えないことをお勧めします。異常終了した系でHiRDBを再開始するため,pd_mode_conf = MANUAL1を指定してください。

(c) 系の切り替え時間を短縮する方法

サーバプロセスの異常終了が多発すると,トラブルシュート情報が大量に出力されて系の切り替えに時間が掛かることがあります。次に示すオペランドを指定すると,トラブルシュート情報の出力を抑止するため,サーバプロセスの異常終了が多発したときに系の切り替え時間を短縮できます。

  • pd_dump_suppress_watch_time

  • pd_cancel_dump = noput

  • pd_client_waittime_over_abort = N

また,pd_ha_switch_timeoutオペランドにYを指定すると,系切り替え時の実行系HiRDBの内部停止処理がサーバ障害監視時間を超えた場合に,実行系HiRDBの内部停止処理を待たないで系を切り替えられます。

(2) RDエリアの入出力エラー(パス障害)が発生した場合に系を切り替える方法

ここでは,RDエリアの入出力エラー(パス障害)が発生した場合に系を切り替える方法について説明します。なお,ここでいう入出力エラーとは,HiRDBがファイルを操作したときにHiRDBが判別できない理由でファイル操作に失敗したエラーを意味し,HiRDBファイルシステムに対するアクセス要求から返されるエラーコードに-1544が出力されるエラーのことです。

(a) 系を切り替えるための準備作業

pd_db_io_error_actionオペランドを指定します。pd_db_io_error_actionオペランドにunitdownを指定すると,RDエリアの入出力エラーが発生したときにHiRDB(HiRDB/パラレルサーバの場合はユニット)が異常終了するため,系を切り替えられます。入出力エラーの要因がパス障害の場合は,系の切り替え後に入出力処理ができるようになるため,業務をそのまま続行できます。なお,ここでいうパス障害とは,HiRDBとファイル間の通信経路が何かの要因で切断されているため,ファイルをアクセスできない状態を意味しています。

pd_db_io_error_actionオペランドにunitdownを指定する場合は,「RDエリアの入出力エラー(パス障害)が発生したときの対処方法」を参照してください。

(b) 運用方法

入出力エラーが発生してHiRDBが異常終了した場合は系を切り替えて処理を続行します。出力されたメッセージを調査して対策してください。対策後,必要に応じて再度系を切り替えるか,又はHiRDBを一度終了して再度開始してください。なお,系の切り替え後も入出力エラーが発生するとRDエリアは障害閉塞します。この場合,データベース回復ユティリティ(pdrstrコマンド)でRDエリアを回復してください。