(57)【要約】【課題】通信障害の生じた診断プロセッサを特定することができ、かつ、診断プロセッサ間のネットワーク障害が発生した場合の切断シーケンスを正常に実行することのできる、クラスタシステムを提供する。【解決手段】システムの診断を行う診断プロセッサ１３、２３の間を接続するネットワーク６の通信状態を監視する監視ユニット３を有する。監視ユニット３は、ネットワーク６を介した通信が不通となった診断プロセッサを検出すると、ネットワーク６を通じて他の診断プロセッサに対して、通信が不通となった診断プロセッサへの通信確認を指示する。他の診断プロセッサは、監視ユニット３からの通信確認指示に従ってネットワーク６を通じて、通信が不通となった診断プロセッサとの間の通信確認を行う。監視ユニット３は、他の診断プロセッサによる通信確認の結果に基づいて、通信が不通となった診断プロセッサを判断する。【選択図】図１
2007249389.tif 000002
【特許請求の範囲】
【請求項１】
それぞれが診断プロセッサを有する複数のコンピュータシステムと、
前記診断プロセッサの間を接続するネットワークの通信状態を監視する監視ユニットと、を有し、
前記診断プロセッサは、設けられているコンピュータシステムの動作状態の診断を行い、
前記監視ユニットは、前記ネットワークを介した通信が不通となった診断プロセッサを検出すると、前記ネットワークを通じて他の診断プロセッサに対して前記通信が不通となった診断プロセッサへの通信確認を指示し、
前記通信確認の指示を受け付けた診断プロセッサは、前記ネットワークを通じて、前記通信が不通となった診断プロセッサとの間の通信確認を行う、ことを特徴とするクラスタシステム。
【請求項２】
前記監視ユニットは、前記通信確認の指示を受け付けた診断プロセッサによる通信確認の結果に基づいて、前記ネットワークの通信障害を発生した診断プロセッサを、前記通信が不通となった診断プロセッサと断定する、請求項１に記載のクラスタシステム。
【請求項３】
前記複数のコンピュータシステムのそれぞれは、該システム間の通信インターフェースを通じた通信を制御するとともに、該通信インターフェースの障害発生時に閉塞処理を実行するインターフェースコントローラをさらに有し、
前記監視ユニットは、前記通信確認の指示を受け付けた診断プロセッサに対して、前記通信インターフェースの障害発生時に該通信インターフェースの閉塞処理を実行する旨の指示を出し、
前記閉塞処理の実行指示を受け付けた診断プロセッサは、前記インターフェースコントローラに対して、前記通信インターフェースの閉塞処理の実行を予約する、請求項１に記載のクラスタシステム。
【請求項４】
前記監視ユニットと接続されるコンソール端末をさらに有し、
前記監視ユニットは、前記ネットワークの通信障害を発生した診断プロセッサに関するメッセージを前記コンソール端末上で表示させる、請求項１から３のいずれか１項に記載のクラスタシステム。
【請求項５】
それぞれが診断プロセッサを有する複数のコンピュータシステムと、前記診断プロセッサの間を接続するネットワークの通信状態を監視する監視ユニットと、を有する、クラスタシステムの障害検出方法であって、
前記監視ユニットが、前記ネットワークを介した通信が不通となった診断プロセッサを検出すると、前記ネットワークを通じて他の診断プロセッサに対して前記通信が不通となった診断プロセッサへの通信確認を指示するステップと、
前記通信確認の指示を受け付けた診断プロセッサが、前記ネットワークを通じて、前記通信が不通となった診断プロセッサとの間の通信確認を行うステップとを含む、クラスタシステムの通信障害検出方法。
【請求項６】
前記監視ユニットが、前記通信確認の指示を受け付けた診断プロセッサによる通信確認の結果に基づいて、前記ネットワークの通信障害を発生した診断プロセッサを、前記通信が不通となった診断プロセッサと断定するステップをさらに含む、請求項５に記載のクラスタシステムの障害検出方法。
【請求項７】
前記複数のコンピュータシステムのそれぞれに設けられたインターフェースコントローラが、該コンピュータシステム間の通信インターフェースを通じた通信を制御するステップと、
前記監視ユニットが、前記他の診断プロセッサに対して、前記通信インターフェースの障害発生時に該通信インターフェースの閉塞処理を実行する旨の指示を出すステップと、
前記閉塞処理の実行指示を受け付けた診断プロセッサが、前記インターフェースコントローラに対して、前記通信インターフェースの閉塞処理の実行を予約するステップと、
前記閉塞処理の実行を予約したインターフェースコントローラが、前記通信インターフェースの障害発生時に閉塞処理の実行するステップと、をさらに含む、請求項５に記載のクラスタシステムの障害検出方法。
【請求項８】
前記監視ユニットが、前記ネットワークの通信障害を発生した診断プロセッサに関するメッセージをコンソール端末上で表示させるステップを、さらに含む、請求項５から７のいずれか１項に記載のクラスタシステムの障害検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータシステム（サーバまたはノード）を接続してなるクラスタシステムの障害処理方法に関するものである。
【背景技術】
【０００２】
システム障害の診断が可能なクラスタシステムとして、特許文献１には、複数のノードと、これらノードを接続するノード間接続網とからなり、各ノードおよびノード間接続網のそれぞれが診断プロセッサを有する、マルチノードシステムが記載されている。各診断プロセッサは、診断専用バスを介して相互に接続されており、各自で診断した結果を互いに送受信することが可能である。このマルチノードシステムでは、ノード間でデータを転送している間に、あるノードにおいて、ノード間接続網とのインターフェース部で障害が発生した場合には、その障害が発生したノードの診断プロセッサが、診断専用バスを通じて、他の診断プロセッサに障害発生の通知を行う。この障害発生の通知により、他のノートは、障害の発生したノードを認識する。
【特許文献１】特開平１０−３３３９３２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
しかし、従来のクラスタシステムでは、診断プロセッサ間のネットワーク（診断専用バス）に障害が発生した場合に、どの診断プロセッサの通信障害であるかを判断することができない。このため、診断プロセッサの通信障害を生じたノードにおいて、インターフェース部での障害発生により、シャットダウン処理（インターフェースの閉塞処理）が行われた場合、診断プロセッサ間でインターフェースの切断シーケンスを正常に実行することができず、他のノードでは、診断プロセッサの通信障害を生じたノードがインターフェースの閉塞処理を実行することなく、突然、通信が切断されてしまったように見えてしまう。この結果、他のノードは、システム間インターフェース切断の障害が発生したとご認識し、インターフェース切断障害によるシステムダウンが発生する。
【０００４】
加えて、どの診断プロセッサの通信障害であるかを判断することができないため、ネットワーク障害発生時の被疑の指摘もできなかった。このため、ネットワークの通信障害の復旧作業時に、システム管理者は、各診断プロセッサの状態を確認して、どの診断プロセッサの通信障害であるかを調べる必要があった。
【０００５】
本発明の目的は、上記問題を解決し、通信障害の生じた診断プロセッサを特定することができ、かつ、診断プロセッサ間のネットワーク障害が発生した場合の切断シーケンスを正常に実行することのできる、クラスタシステムを提供することにある。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、本発明は、それぞれが診断プロセッサを有する複数のコンピュータシステムと、前記診断プロセッサの間を接続するネットワークの通信状態を監視する監視ユニットと、を有し、前記診断プロセッサは、設けられているコンピュータシステムの動作状態の診断を行い、前記監視ユニットは、前記ネットワークを介した通信が不通となった診断プロセッサを検出すると、前記ネットワークを通じて他の診断プロセッサに対して前記通信が不通となった診断プロセッサへの通信確認を指示し、前記通信確認の指示を受け付けた診断プロセッサは、前記ネットワークを通じて、前記通信が不通となった診断プロセッサとの間の通信確認を行う、ことを特徴とする。
【０００７】
上記の構成によれば、診断プロセッサ間のネットワーク（診断専用バス）に障害が発生すると、その障害が監視ユニットによって検知される。監視ユニットは、ネットワークの障害を検知すると、障害の発生していない診断プロセッサに対して、通信が不通となった診断プロセッサへの通信確認を指示する。通信確認指示を受けた診断プロセッサは、通信が不通となった診断プロセッサへの通信確認を行う。この通信確認により、診断プロセッサは、通信障害を生じた診断プロセッサを認識することができるので、診断プロセッサ間でインターフェースの切断シーケンスを正常に実行することが可能となる。
【０００８】
また、通信確認の結果に基づいて、ネットワークの通信障害を発生した診断プロセッサを断定することが可能である。
【発明の効果】
【０００９】
本発明によれば、診断プロセッサ間のネットワーク障害が発生している状態でも、診断プロセッサ間でインターフェースの切断シーケンスを正常に実行することができるので、インターフェース切断障害によるシステムダウンの発生を防ぐことができる。
【００１０】
また、ネットワークの通信障害を発生した診断プロセッサを断定することができるので、ネットワークの通信障害の復旧作業時に、システム管理者は、各診断プロセッサの状態確認を確認する必要がなく、その分、作業が簡単になる。
【発明を実施するための最良の形態】
【００１１】
次に、本発明の実施形態について図面を参照して説明する。
図１は、本発明の一実施形態であるクラスタシステムの概略構成を示すブロック図である。図１を参照すると、クラスタシステムは、コンピュータシステム１、２、システムユニット３、およびコンソール端末４からなる。
【００１２】
コンピュータシステム１は、メモリ１０、複数のプロセッサ１１、高速インターフェースコントローラ１２、および診断プロセッサ１３からなる。メモリ１０は、半導体メモリやハードディスクなどに代表される記憶装置であって、高速インターフェースコントローラ１２を通じてデータの読み出しおよび書き込みが行われる。
【００１３】
各プロセッサ１１は、各種演算処理を実行するものである。高速インターフェースコントローラ１２は、メモリ１０、複数のプロセッサ１１および診断プロセッサ１３のそれぞれと接続されている。高速インターフェースコントローラ１２は、システム間インターフェース５を介して、他のコンピュータシステムとの間で通信を行う。高速インターフェースコントローラ１２は、システム間インターフェースの障害を検出するとともに、システム間インターフェース５の障害発生を診断プロセッサ１３に通知する。
【００１４】
診断プロセッサ１３は、コンピュータシステム１における動作状態を診断するとともに、高速インターフェースコントローラ１３を通じて、システム間インターフェース５における接続処理および切断処理（システム間インターフェースの閉塞処理）の制御を行う。診断プロセッサ１３は、ネットワーク６を介して他のコンピュータシステムの診断プロセッサおよびシステム監視ユニット７と接続されている。ネットワーク６は、専用の制御バスまたはＬＡＮ（Local Area network）である。
【００１５】
コンピュータシステム２も、コンピュータシステム１と同様の構成であって、メモリ２０、複数のプロセッサ２１、高速インターフェースコントローラ２２、および診断プロセッサ２３からなる。
【００１６】
システム監視ユニット３は、診断プロセッサ１３、２３間を接続するネットワーク６の通信状態を定期的に監視する。コンソール端末４は、コンピュータシステム１、２およびシステム監視ユニット７を制御するためのコンピュータシステムである。コンソール端末４は、システム監視ユニット３から供給される情報の表示（被疑表示を含む）が可能である。
【００１７】
次に、本実施形態のクラスタシステムの動作について具体的に説明する。
【００１８】
図２は、診断プロセッサ１３、２３間のネットワーク障害発生時の開通確認動作を説明するための模式図である。以下、図１および図２を参照して、開通確認動作を説明する。
【００１９】
システム監視ユニット３は、定期的に診断プロセッサ１３、２３の接続状態を監視している。ここでは、コンピュータシステム２側で、ネットワーク６を介した通信に障害が発生していると仮定する。
【００２０】
システム監視ユニット３は、コンピュータシステム２の診断プロセッサ２３との間のネットワークが不通であることを確認すると（図２の「（１）開通確認」）、コンピュータシステム１の診断プロセッサ１３に対して、コンピュータシステム２の診断プロセッサ２３とのネットワークの開通状態を確認するように指示を出す（図２の「（２）確認指示」）。
【００２１】
診断プロセッサ１３は、システム監視ユニット３からの確認指示に従って、コンピュータシステム２の診断プロセッサ２３に対してネットワークの開通を確認する（図２の「（３）開通確認」）。そして、診断プロセッサ１３は、システム監視ユニット３に対して、その確認結果であるネットワークの開通状態を報告する（図２の「（４）状態報告」）。
【００２２】
システム監視ユニット３は、診断プロセッサ１３からのネットワークの開通状態を報告に基づいて、コンピュータシステム１の診断プロセッサ１３とコンピュータシステム２の診断プロセッサ２３との間のネットワークが開通しているか否かを判別する。そして、ネットワークが不通であると判断した場合は、システム監視ユニット３は、障害の被疑はコンピュータシステム２の診断プロセッサ２３であると判断し（図２の「（５）被疑判断」）、障害の被疑がコンピュータシステム２の診断プロセッサ２３である旨のメッセージをコンソール端末４に表示させる（図２の「（６）被疑表示」）。
【００２３】
図３は、診断プロセッサ１３、２３間のネットワーク障害発生時の開通確認におけるコンピュータシステム１、２およびシステム監視ユニット３のそれぞれの処理を示すフローチャートである。以下、図１および図３を参照して、開通確認の具体的な動作を説明する。
【００２４】
コンピュータシステム１、２はともに運用中で、システム監視ユニット３が、定期的に診断プロセッサ１３、２３の接続状態を監視している（ステップ１００、１０１）。ここでも、コンピュータシステム２側で、ネットワーク６を介した通信に障害が発生していると仮定する。したがって、ステップ１０１の、診断プロセッサ２３に対するネットワーク開通確認の処理において、診断プロセッサ２３からの応答が無いことになる。
【００２５】
システム監視ユニット３は、診断プロセッサ２３からの応答が無いので、ネットワークが不通である、と判断して（ステップ１０２）、診断プロセッサ１３に対して、ネットワーク開通確認指示を出す（ステップ１０３）。
【００２６】
システム監視ユニット３からネットワーク開通確認指示を受けた診断プロセッサ１３は、診断プロセッサ２３に対して、ネットワーク開通確認を行う（ステップ１０４）。この診断プロセッサ２３に対するネットワーク開通確認の処理において、診断プロセッサ２３からの応答は無い。
【００２７】
診断プロセッサ１３は、診断プロセッサ２３からの応答が無いので、ネットワークが不通である、と判断して、システム監視ユニット３に対して、ネットワークが不通である旨の報告を行う（ステップ１０５）。
【００２８】
診断プロセッサ１３からネットワークが不通である旨の報告を受けたシステム監視ユニット３は、診断プロセッサ２３におけるネットワーク障害が発生したと判断して、被疑の指摘を行う（図２の「（５）被疑判断」および「（６）被疑表示」）。被疑の指摘後、システム監視ユニット３は、診断プロセッサ１３に対して、次インターフェース障害発生時にインターフェース閉塞処理を行うように指示を出す（ステップ１０７）。
【００２９】
インターフェース閉塞処理の実施指示を受けた診断プロセッサ１３は、次インターフェース障害発生時にインターフェース閉塞処理が実行されるように高速インターフェースコントローラ１２を設定する。
【００３０】
次に、インターフェース障害発生時の動作を説明する。図４に、インターフェース障害発生時のコンピュータシステム１、２のそれぞれの処理を示す。以下、図１および図４を参照してインターフェース障害発生時の動作を具体的に説明する。
【００３１】
コンピュータシステム１、２はともに運用中で、すでに、上述の図３に示した処理に従って、コンピュータシステム１の高速インターフェースコントローラ１２では、次インターフェース障害発生時にシステム間インターフェースの閉塞処理を実行する処理の予約が設定されている。
【００３２】
コンピュータシステム２において、ＯＳ（Operating System）によるシャットダウンの処理が開始されると（ステップ２００）、高速インターフェースコントローラ２２が、システム間インターフェースの閉塞処理を実行する（ステップ２０１）。その後、コンピュータシステム２の電源がオフされる（ステップ２０２）。
【００３３】
高速インターフェースコントローラ２２によるシステム間インターフェース５の閉塞処理の実行により、コンピュータシステム２がシステム間インターフェース５から切り離されたことを示す切断信号が、システム間インターフェース５から高速インターフェースコントローラ１２に供給される。コンピュータシステム１では、高速インターフェースコントローラ１２が、システム間インターフェース５からの切断信号に基づいて、システム間インターフェースが切断されたことを検出し、システム間インターフェース障害の発生を診断プロセッサ１３に通知する（ステップ２０３）。そして、高速インターフェースコントローラ１２が、診断プロセッサ１３による予約に従い、システム間インターフェースの閉塞処理を実施する（ステップ２０４、２０５）。
【００３４】
以上のステップ１００〜１０８、ステップ２００〜２０５の処理によれば、以下のような効果がある。
【００３５】
従来のクラスタシステムでは、例えば、２台のコンピュータシステムＡ１、Ａ２を有する場合で、例えば、コンピュータシステムＡ２の診断プロセッサ側でネットワークが不通の状態とされている場合、コンピュータシステムＡ２側のシャットダウンが実施されると、コンピュータシステムＡ１は、コンピュータシステムＡ２側のシャットダウン処理の開始を認識することができない。このため、コンピュータシステムＡ１側では、コンピュータシステムＡ２側がシステム間インターフェースの閉塞処理を実行することなく、突然切断されてしまったように見えてしまう。この結果、コンピュータシステムＡ１にて、システム間インターフェースの切断障害が検出され、システムダウンとなる。
【００３６】
本実施形態のクラスタシステムによれば、システム監視ユニット３が、診断プロセッサ１３、２３の間のネットワークの状態を監視しており、診断プロセッサ２３側でのネットワーク不通を検出した場合には、診断プロセッサ１３に対して、診断プロセッサ２３とのネットワークの開通確認を指示する。そして、診断プロセッサ１３が、システム監視ユニット３からの開通確認指示に従って診断プロセッサ２３との間のネットワークの状態を確認する。このネットワークの状態確認により、診断プロセッサ１３は、コンピュータシステム２側でのネットワーク６の不通状態を認識することができる。
【００３７】
また、システム監視ユニット３は、診断プロセッサ１３からのネットワークの状態報告に基づいて、診断プロセッサ２３側でネットワーク障害が発生したと判断して、被疑の指摘を行うとともに、診断プロセッサ１３に対して、次インターフェース障害発生時にインターフェース閉塞処理を行うように指示を出す。診断プロセッサ１３が、その指示に従って、次インターフェース障害発生時にインターフェース閉塞処理が実行されるように高速インターフェースコントローラ１２を設定する。そして、高速インターフェースコントローラ１２が、コンピュータシステム２側でシステム間インターフェースが切断されたことを検出すると、システム間インターフェース障害の発生を診断プロセッサ１３に通知するとともに、予約されていたシステム間インターフェースの閉塞処理を実施する。これにより、コンピュータシステム１が、インターフェース障害により、システムダウンとなることを防止する。
【００３８】
加えて、システム監視ユニット３による被疑の指摘に基づき、コンソール端末４にて、被疑の表示が行われるので、クラスタシステムの運用者は、コンソール端末４に表示された被疑の情報に基づいて、どのコンピュータシステムにネットワーク障害が発生しているかを簡単に知ることができる。
【００３９】
なお、以上の説明では、図３のステップ１００〜１０８の処理と、図４のステップ２００〜２０５の処理とを別々に説明したが、これらの処理は一連の処理である。
【００４０】
以上説明した本実施形態のクラスタシステムは、本発明の一例であり、その構成および動作は発明の趣旨を逸脱しない範囲で適宜変更可能である。
【００４１】
例えば、図１に示したシステムにおいて、コンピュータシステムは３台以上であってもよい。この場合は、システム監視ユニット３は、各コンピュータシステムの診断プロセッサ間のネットワークの状態を監視し、いずれかの診断プロセッサでネットワーク不通を検出した場合には、他の診断プロセッサに対してネットワークの開通確認指示を出す。ネットワーク不通が検出されたコンピュータシステムでは、図３および図４に示した処理のうちコンピュータ２の一連の処理が実行される。これ以外のコンピュータシステムでは、図３および図４に示した処理のうちコンピュータ１の一連の処理が実行される。
【図面の簡単な説明】
【００４２】
【図１】本発明の一実施形態であるクラスタシステムの概略構成を示すブロック図である。
【図２】診断プロセッサ間のネットワーク障害発生時の開通確認動作を説明するための模式図である。
【図３】診断プロセッサ間のネットワーク障害発生時の開通確認におけるコンピュータシステムおよびシステム監視ユニットのそれぞれの処理を示すフローチャートである。
【図４】インターフェース障害発生時のコンピュータシステムのそれぞれの処理を示すフローチャートである。
【符号の説明】
【００４３】
１、２  コンピュータシステム
３  システム監視ユニット
４  コンソール端末
５  システム間インターフェース
６  ネットワーク
１０、２０  メモリ
１１、２１  プロセッサ
１２、２２  高速インターフェースコントローラ
１３、２３  診断プロセッサ
【図１】
2007249389.tif 000003
【図２】
2007249389.tif 000004
【図３】
2007249389.tif 000005
【図４】
2007249389.tif 000006