(57)【要約】【課題】本発明は、複数のノードから構成されるクラスタシステムにおけるノードの調査用資料を採取する情報採取プログラム、情報採取装置および情報採取方法に関し、異常発生ノードの調査用資料の採取を確実に行うと共に異常発生ノードの電源を断し共用資源の同時アクセスなどによる誤動作を防止してシステムの信頼性の向上を図ることを目的とする。【解決手段】各ノードが他のノードの異常検出するステップと、異常を検出したときに、共用資源を参照して当該異常検出したノードが調査用資料を採取中で採取完了していない状態を検出するステップと、採取中で採取完了していない状態が検出されたときに、採取完了するのを待って当該異常検出したノードの電源断するステップとして機能させるものである。【選択図】  図１
2004246621.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードから構成されるクラスタシステムにおけるノードの調査用資料を採取する情報採取プログラムであって、
コンピュータに、
各ノードが他のノードの異常検出するステップと、
前記異常を検出したときに、共用資源を参照して当該異常検出したノードが調査用資料を採取中で採取完了していない状態を検出するステップと、
前記採取中で採取完了していない状態が検出されたときに、採取完了するのを待って当該異常検出したノードの電源断するステップとして機能させるための情報採取プログラム。
【請求項２】
前記採取中が検出されなかったときに、所定時間経過後に当該異常検出したノードの電源断するステップとして機能させるための請求項１に記載の情報採取プログラム。
【請求項３】
前記異常発生したノードは、前記共用資源に調査用資料の採取中を設定すると共に当該ノードの調査用資料を記憶装置に書き込んで採取し、採取完了したときに採取完了を設定するステップとして機能させるための請求項１あるいは請求項２に記載の情報採取プログラム。
【請求項４】
複数のノードから構成されるクラスタシステムにおけるノードの調査用資料を採取する情報採取装置であって、
各ノードが他のノードの異常検出する手段と、
前記異常を検出したときに、共用資源を参照して当該異常検出したノードが調査用資料を採取中で採取完了していない状態を検出する手段と、
前記採取中で採取完了していない状態が検出されたときに、採取完了するのを待って当該異常検出したノードの電源断する手段と
を備えたことを特徴とする情報採取装置。
【請求項５】
複数のノードから構成されるクラスタシステムにおけるノードの調査用資料を採取する情報採取方法であって、
各ノードが他のノードの異常検出するステップと、
前記異常を検出したときに、共用資源を参照して当該異常検出したノードが調査用資料を採取中で採取完了していない状態を検出するステップと、
前記採取中で採取完了していない状態が検出されたときに、採取完了するのを待って当該異常検出したノードの電源断するステップと
を有する情報採取方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、複数のノードから構成されるクラスタシステムにおけるノードの調査用資料を採取する情報採取プログラム、情報採取装置および情報採取方法に関するものである。
【０００２】
【従来の技術】
従来のクラスタシステムは、例えば図６の（ａ）に示すように、クラスタを構成する各ノード１，２・・・が相互にその生死確認を専用通信路を介して行っていた。この際、専用通信路などの故障により各ノード１，２・・・間の生死確認ができなかった状態（スプリットブレインと呼ぶ）で運用を継続してしまうと、互いのノードが相手側のノードダウンと判断し最悪の場合、各ノードから共用資源を同時にアクセスしてしまう現象が発生してしまう。この結果としてファイル破壊等の問題を引き起す。これらの状態を回避するために、いずれかのノードで他のノードの異常発生を検知すると、そのノードの電源断を行うようにしていた。
【０００３】
また、現用サーバと予備サーバを設けたシステムにおいて、現用サーバに障害発生したときに共用ディスクに記録されたステータス情報を参照して予備サーバが業務系製品を再起動させるようにしていた（特許文献１）。
【０００４】
【特許文献１】特開平１１−２５９３２６号公報の図１と〔０００７〕などを参照。
【０００５】
【発明が解決しようとする課題】
このため、図６の（ｂ）に示すように、異常発生したノードで内部の調査用資料をローカルディスクに書き込んで採取開始し採取が終了しないうちに、他のノードから電源断されてしまうと採取中の調査用資料が途中で中断されてしまい調査ができなくなってしまうという問題があった。また、異常検知したノードを電源断しないと、共用資源を同時アクセスしてファイル破壊が生じてしまうことを防止できないという問題もあった。
【０００６】
また、前記後者の手法では、クラスタシステムを構成するノード（現用）に異常が発生してダウンした場合に、ノード（予備）が共用ディスクから現用ノードのステータス情報を参照して該当する業務系製品を再起動して業務を引続くものであって、ダウンした現用ノードの調査用資料を確実に採取できないという問題があった。
【０００７】
本発明は、これらの問題を解決するため、複数のノードから構成されるシステムにおいて、あるノードに障害発生したときに共用資源に調査用資料採取中フラグを設定して調査用資料を採取し、採取完了したときにフラグを設定し、他のノードは共用資源中のフラグを参照して調査用資料採取完了後に当該ノードの電源断あるいは所定時間経過後に当該ノードの電源断し、異常発生ノードの調査用資料の採取を確実に行うと共に異常発生ノードの電源を断し共用資源の同時アクセスなどによる誤動作を防止してシステムの信頼性の向上を図ることを目的としている。
【０００８】
【課題を解決するための手段】
図１を参照して課題を解決するための手段を説明する。
【０００９】
図１において、ノード１，２は、クラスタシステム１１を構成する複数のノードであって、ここでは、障害発生時に調査用資料２０を保存する対象のノードであり、異常検出手段１２、電源切断指示手段１６、および資料採取手段１８などから構成されるものである。
【００１０】
異常検出手段１２は、他のノードの異常を検出するものである。
電源切断指示手段１６は、異常発生して調査用資源２０の採取を完了した後に、あるいは所定時間経過後に、異常発生のノードの電源を切断する指示を通知するものである。
【００１１】
資料採取手段１８は、ノード異常の調査用資料２０を採取するものである。
共用資源２１は、複数のノードが共用してアクセスするものであって、ここでは、ノードの調査用資料採取フラグ２２を設定するものである。
【００１２】
次に、動作を説明する。
ノードを構成する異常検出手段１２が他のノードの異常を検出した時に、電源切断指示手段１６が共用資源２１中の調査用資料採取フラグ２２を参照して当該異常検出したノードが調査用資料を採取中で採取完了していない状態を検出したときに、採取完了するのを待って当該異常検出したノードの電源断の指示を通知し、電源断させるようにしている。
【００１３】
この際、採取中が検出されなかったときに、所定時間経過後に当該異常検出したノードの電源断の指示を通知するようにしている。
【００１４】
また、異常発生したノードは、共用資源２１中の調査用資源採取フラグ２２に調査用資料の採取中を設定すると共に、当該ノードの調査用資料２０をローカル資源１９に書き込んで採取し、採取完了したときに採取完了を設定するようにしている。
【００１５】
また、電源断したノードを、監視対象リストから削除するようにしている。
従って、複数のノードから構成されるクラスタシステムにおいて、あるノードに障害発生したときに共用資源２１に調査用資料採取中フラグ２２を設定して調査用資料２０を採取し、採取完了したときにフラグ２２を設定し、他のノードは共用資源２１中のフラグ２２を参照して調査用資料採取完了後に当該ノードの電源断あるいは所定時間経過後に当該ノードの電源断することにより、異常発生ノードの調査用資料の採取を確実に行うと共に異常発生ノードの電源を断し共用資源２０の同時アクセスなどによる誤動作を防止してクラスタシステムの信頼性の向上を図ることが可能となる。
【００１６】
【発明の実施の形態】
次に、図１から図５を用いて本発明の実施の形態および動作を順次詳細に説明する。
【００１７】
図１は、本発明のシステム構成図を示す。
図１において、ノード１，２は、クラスタシステム１１を構成する複数のノードであって、ここでは、障害発生時に調査用資料２０をローカル資源２１に保存する対象のノードであり、異常検出手段１２、タイマ監視手段１３、採取完了設定手段１４、アクセス機構１５、電源切断指示手段１６、電源機構１７、資料採取手段１８、およびローカル資源１９などから構成されるものである。
【００１８】
異常検出手段１２は、監視対象リストに登録されている全てのノードのアドレスをもとに、当該アドレスのノードと通信することを所定時間毎に順次繰り返し、他のノードの異常を検出するものである。
【００１９】
タイマ監視手段１３は、所定時間毎に他のノードの異常監視を繰り返したり、所定時間経過しても相手ノードから応答がないときに当該ノードを異常と検出したりするときの当該所定時間を生成するものである。
【００２０】
採取完了設定手段１４は、ノード内の調査用資料２０をローカル資源１９に書き込んで採取を完了したときに、共用資源２１中の調査用資料採取フラグ２２に調査用資料２０の採取完了を表すフラグを設定するものである（図３参照）。
【００２１】
アクセス機構１５は、共用資源２１をアクセスするものであって、ここでは、調査用資料採取フラグ２２を設定するものである。
【００２２】
電源切断指示手段１６は、電源切断の指示を異常発生したノードに通知し、電源切断を行わせるものである。
【００２３】
電源機構１７は、図示外の電源を切断するものである。
資料採取手段１８は、ノード内の異常を調査するために必要な調査用資料２０をローカル資源１９に書き込んで採取するものである。
【００２４】
調査用資料２０は、ノードの異常を調査するために必要な調査用資料（異常発生時のメモリ、レジスタなどの内容）である。
【００２５】
共用資源２１は、複数のノードが共用する資源であって、ここでは、共用するディスク装置であり、調査用資料採取フラグ２２を設定するものである。
【００２６】
調査用資料採取フラグ２２は、ノード毎に正常、異常発生して採取中、採取完了を設定し、他のノードに知らせるためのものである（図３参照）。
【００２７】
次に、図２のフローチャートの順番に従い、図１の構成の動作を詳細に説明する。
【００２８】
図２は、本発明の動作説明フローチャートを示す。
図２において、Ｓ１は、ＯＳ異常を検出したら、共用資源２１に調査用資料採取中フラグ２２を設定する。これは、図１の例えばノード１のＯＳ異常などの障害が発生して当該ノード１が共用資源２１中の調査用資料採取フラグ２２を調査用資料採取中を表すように”１”に設定する。
【００２９】
Ｓ２は、調査用資料２０をローカル資源１９に出力する。
Ｓ３は、調査用資料の採取が完了したら、調査用資料採取完了フラグを設定する。これは、例えばノード１が共用資源２１中の調査用資源採取フラグ２２を”２”（調査用資料採取完了を表す）に設定する。
【００３０】
以上のＳ１からＳ３によって、障害発生（例えばＯＳ異常）したノードで、共用資源２１中の調査用資料採取フラグ２２を”１”（調査用資料採取中を表す）に設定した後、調査用資料２０をローカル資源１９に退避を開始し、終了したときに、共用資源２１中の調査用資料採取フラグ２２を”２”（調査用資料採取完了を表す）に設定し、当該異常発生したノードで障害の調査用資料をローカル資源（外部記憶装置）に確実に保存することが可能となる。
【００３１】
Ｓ１１は、監視ノードとの通信を行う。これは、例えば図１のノード２が監視ノードのリスト中からここでは、ノード１（そのアドレス）を取り出して正常動作中かを監視するための通信を行う。
【００３２】
Ｓ１２は、通信異常を検出か判別する。これは、ノード２がＳ１１で監視ノードのうちのここでは、ノード１と通信してノード１の異常が受信されたか、あるいは所定時間経過してタイムオーバとなっても応答がなく異常と判明したかを判別する。ＹＥＳの場合には、ここでは、ノード１自身あるいはその通信路に異常発生と判断し、Ｓ１３で他ノードの停止保証プログラム４５（Ｓ２１からＳ２６、Ｓ３１からＳ３４）を起動する。そして、Ｓ１１で次の監視対象のノードについて繰り返す。
【００３３】
以上のＳ１１からＳ１３によって、監視対象のノードについて順次通信して異常検出時に、異常検出した他ノード毎に他ノードの停止保証プログラム４５を起動することが可能となる。
【００３４】
Ｓ２１は、Ｓ１３で起動された停止保証プログラム４５がフラグ”１”，”２”かチェックする。これは、Ｓ１３で起動された例えばノード２中で動作する停止保証プログラム４５が共用資源２１中の調査用資料採取フラグ２２を参照して”１”（調査用資料採取中を表す）、”２”（調査用資料採取完了を表す）のいずれかと設定されているか否かを判別する。ＹＥＳの場合には、Ｓ２２に進む。ＮＯの場合には、フラグが”０”で正常と設定されていると判明し、当該異常検出のノードがハングアップして共用資源２１中の調査用資料採取フラグ２２を”１”あるいは”２”に設定不可と判明したので、Ｓ３１からＳ３４のノード１のハングアップ時の処理を実行する。
【００３５】
Ｓ２２は、監視ノードのリストを更新する。これは、Ｓ２１のＹＥＳで、障害発生したノード、例えば図１のノード１に異常発生と判明したので、監視ノードリスト中から当該異常発生のノード１を削除（あるいは異常発生中）と更新し、監視対象ノードから除外する。
【００３６】
Ｓ２３は、状態遷移する。
Ｓ２４は、フラグ”２”か判別する。これは、停止保証プログラム４５が、異常発生のノード、ここでは、図１のノード１の共用資源２１中の調査用資料採取フラグ２２が”２”（調査用資料採取完了を表す）か判別する。ＹＥＳの場合には、ここでは、ノード１が調査用資料２０をローカル資源１９に退避し、Ｓ３でフラグを”２”に設定したと判明したので、Ｓ２６で電源断のパケット送信し、異常発生したノード１の電源断を行わせる。一方、Ｓ２４のＮＯの場合には、フラグが”１”（調査用資料採取中）であると判明したので、Ｓ２５に進む。
【００３７】
Ｓ２５は、タイムオーバーか判別する。これは、フラグが”１”の状態が所定時間以上経過しても”２”に設定されず、ここでは、ノード１が調査用資料２０をローカル資源１９に退避する処理が中断して障害発生か判別する。ＹＥＳの場合には、ここでは、ノード１に調査用資料２０の退避中に障害発生と判明したので、Ｓ２６で電源断のパケット送信し、異常発生したノード１の電源断を行わせる。一方、Ｓ２５のＮＯの場合には、Ｓ２４を繰り返す。
【００３８】
以上のＳ２１からＳ２６によって、障害検出したノード、ここでは、ノード１が共用資源２１中の調査用資料採取フラグ２２を”１”に設定して調査用資料２０をローカル資源１９に退避中と判明したので、共用資源２１中の調査用資料採取フラグ２２をチェックし、”２”（調査用資料採取完了）を確認した時点で当該障害検出したノード１の電源断のパケットを送信して電源断させ、一方、共用資源２１中の調査用資料採取フラグ２２をチェックし、タイムオーバーとなったときは当該障害検出したノード１の調査用資料２０の退避中に異常発生と判断し、障害検出したノード１の電源断のパケットを送信して電源断させる。これらにより、障害発生したノード１で確実に調査用資料２０をローカル資源１９に退避したことを確認し、他のノードが電電断のパケットを当該ノード１に送信して電源断させ、一方、一定時間経過しても調査用資料採取フラグ２２が”１”から”２”に遷移しないときは当該障害検出したノード１の調査用資料２０の退避中に障害発生と判断して電源断のパケットを送信して強制的に電源断させることが可能となる。
【００３９】
図３は、本発明の調査用資料採取フラグ例を示す。調査用資料採取フラグ２２は、ここでは、図示のように下記の情報を対応づけて設定するものである。
【００４０】
・ノード（監視対象のノード）：
・フラグ：
・設定日時：
・その他：
ここで、ノードは監視対象のノードであって、例えば一意のノード名、更に、通信のためのアドレスを持つものである。フラグは、ノードの状態を表すものであって、
０：正常
１：調査用資料採取中
２：調査用資料採取完了
の状態をそれぞれ表す。設定日時は、フラグを設定した日時（年月日時分秒など）である。
【００４１】
以上のように、共用資源２１中に設けた調査用資料採取フラグ２２中に、監視対象の全てのノードについて、フラグ（０，１，２）のいずれかを設定することにより、全監視対象のノードの調査用資料採取の状態をいずれのノードも参照して認識し、既述した図２のＳ１１からＳ１３、Ｓ２１からＳ２６、Ｓ３１からＳ３４の処理を実行し、障害発生したノードが調査用資料２０をローカル資源１９に退避することを確実に保証することが可能となる。
【００４２】
図４は、本発明の説明図を示す。
図４の（ａ）は、ノード１に障害発生前の状態を示す。ここでは、ノード１、２のアプリ４２がＯＳ４１の制御のもとで共用資源２２をそれぞれ排他的にアクセスなどしてそれぞれの業務処理をそれぞれ独立に並列に実行している。
【００４３】
図４の（ｂ）は、ノード１に障害発生後の状態を示す。このときの動作を以下に説明する。
【００４４】
（１）ＯＳ異常が発生したノード１では、ＯＳ異常終了ルーチン４３が共用資源２１中の調査用資料採取フラグ２２の当該ノード１のフラグを”０”から”１”に更新した後（図２のＳ１）、当該ノード１の調査用資料２０をローカル資源１９に書込み（退避）を開始し、完了した時点で共用資源２１中の調査用資料採取フラグ２２を”１”から”２”に更新し、調査用資料２０の退避完了を設定する（図２のＳ２、Ｓ３）。
【００４５】
（２）一方、ノード２では、生存監視プログラム４４が専用通信路を介して監視対象のノード１と通信したがここでは、応答がなくタイムオーバーして生死確認失敗したので、ノード１の異常と判断し、停止保証プログラム４５を起動する（図２のＳ１１からＳ１３）。起動された停止保証プログラム４５は、共用資源２１中の当該異常検出したノード１の調査用資料採取フラグ２２を参照し、
・”０”（正常）のときは当該ノード１がハングアップしてフラグを”１”あるいは”２”に設定できなかったと判断し、一定時間の間繰り返して待機し、タイムオーバーしたときに電源断のパケットをノード１に送信して電源断させると共に監視対象のノードリストから当該ノード１を削除する。
【００４６】
・”１”（調査用資料採取中）あるいは”２”（調査用資料採取完了）のときは当該ノード１が調査用資料採取を開始あるいは終了したと判明したので、監視対象リストから当該ノード１を削除た後、調査用資料採取完了を待って電源断のパケットをノード１に送信して電源断させる。一方、”１”から”２”へ所定時間経過しても遷移しないときはノード１で調査用資料２０をローカル資源１９に退避する処理が中断して進まないと判断し、電源断のパケットをノード１に送信して電源断させる。
【００４７】
図５は、本発明の具体的回路例を示す。ここでは、
ＬＡＮ（業務ＬＡＮ）は、クラスタシステムを構成する複数のノード１，２・・・などを接続して相互にデータを授受して業務処理を実行させる通信路である。
【００４８】
ＬＡＮ（専用通信路）は、ノード１，２・・・の間で相互に通信して生死などを判定する通信路である。
【００４９】
ＳＣＳＩあるいはＦｉｂｒｅ  Ｃｈａｎｎｅｌは、共用資源２１をノード１，２・・・などが高速アクセスさせるインタフェースである。
【００５０】
ＲＳＢ３１は、リモートサービスボードであって、ノード１の電源の投入、切断を制御するものであり、他のノードから電源断のパケットを送信して強制的に該当ノードの電源断を実行させるためのものである。
【００５１】
以上の通信路（ＬＡＮ（業務用ＬＡＮ）、ＬＡＮ（専用通信路））、ＳＣＳＩ（あるいはＦｉｂｒｅ  Ｃｈａｎｎｅｌ）などを設けて相互に通信、データアクセスし、更に、図１から図４のノード１，２内に設けた各種手段、ＯＳ，プログラムによって、既述した図２、図４で説明したように、動作するものである。
【００５２】
【発明の効果】
以上説明したように、本発明によれば、複数のノードから構成されるクラスタシステムにおいて、あるノードに障害発生したときに共用資源２１に調査用資料採取中フラグ２２を設定して調査用資料２０を採取し、採取完了したときにフラグ２２を設定し、他のノードは共用資源２１中のフラグ２２を参照して調査用資料採取完了後に当該ノードの電源断あるいは所定時間経過後に当該ノードの電源断する構成を採用しているため、異常発生ノードの調査用資料の採取を確実に行うと共に異常発生ノードの電源を断し共用資源２１の同時アクセスなどによる誤動作を防止してクラスタシステムの信頼性の向上を図ることが可能となる。
【図面の簡単な説明】
【図１】本発明のシステム構成図である。
【図２】本発明の動作説明フローチャートである。
【図３】本発明の調査用資料採取フラグ例である。
【図４】本発明の説明図である。
【図５】本発明の具体的回路例である。
【図６】従来技術の説明図である。
【符号の説明】
１、２：ノード
１１：クラスタシステム
１２：異常検出手段
１３：タイマ監視手段
１４：採取完了設定手段
１５：アクセス機構
１６：電源切断指示手段
１７：電源気候
１８：資料採取手段
１９：ローカル資源
２０：調査用資料
２１：共用資源
２２：調査用資料採取フラグ
３１：ＲＳＢ（リモートサービスボード）
４１：ＯＳ（クラスタ制御）
４２：アプリ
４３：ＯＳ異常終了ルーチン
４４：生存監視プログラム
４５：停止保証プログラム
【図１】
2004246621.tif 000003
【図２】
2004246621.tif 000004
【図３】
2004246621.tif 000005
【図４】
2004246621.tif 000006
【図５】
2004246621.tif 000007
【図６】
2004246621.tif 000008