(57)【特許請求の範囲】
【請求項１】
故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成されるクラスタシステムで、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）におけるクラスタシステム復旧方法であって、
前記現用機の状態確認手段が、前記現用機の前記状態管理手段を介して前記状態管理情報記憶手段から故障状態情報を取得する故障状態取得ステップと、
前記故障状態情報が強制電源断機能の故障を示している場合には、前記予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力ステップと、
ACTへ遷移可能かどうかは不明な状態（SBY：online）の前記予備機側で前記保守端末から導通確認が指示されると、該予備機の導通確認手段が、前記現用機側のハードウェア制御手段に対して導通を確認し、導通が確認された場合には、該予備機側の強制電源断機能の故障として、該予備機の前記状態管理手段が前記状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、前記現用機からの系切り替えを可能とする状態（SBY：online）に遷移する故障回数クリアステップと、
を有することを特徴とするクラスタシステム復旧方法。
【請求項２】
前記故障状態取得ステップにおいて取得した前記故障状態情報が、ネットワーク故障を示している場合には、前記予備機側の導通確認手段からルータまでの導通を確認し、導通が失敗した場合には、前記保守端末に対してエラー出力するネットワークエラー出力ステップ
を更に有することを特徴とする請求項１記載のクラスタシステム復旧方法。
【請求項３】
前記故障状態取得ステップにおいて取得した前記故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、前記保守端末に対してエラー出力するディスクエラー出力ステップ
を更に有することを特徴とする請求項１記載のクラスタシステム復旧方法。
【請求項４】
故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）にある場合のクラスタシステム復旧システムであって、
前記現用機は、
前記状態管理手段を介して前記状態管理情報記憶手段から故障状態情報を取得する故障状態取得手段と、
前記故障状態情報が強制電源断機能の故障を示している場合には、前記予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力手段と、
を有し、
前記予備機は、
ACTへ遷移可能かどうかは不明な状態（SBY：online）であるとき、前記保守端末から導通確認が指示されると、前記現用機側のハードウェア制御手段に対して導通を確認する導通確認手段と、
前記導通確認手段で導通が確認された場合には、該予備機側の強制電源断機能の故障として、前記状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、前記現用機からの系切り替えを可能とする状態（SBY：online）に遷移させる故障回数クリア手段と、
を有することを特徴とするクラスタシステム復旧システム。
【請求項５】
前記現用機は、
前記故障状態取得手段にて取得した前記故障状態情報が、ネットワーク故障を示している場合には、ルータまでの導通を確認するルータ導通手段と、
前記ルータ導通手段による導通が失敗した場合には、前記保守端末に対してエラー出力するネットワークエラー出力手段と、
を更に有することを特徴とする請求項４記載のクラスタシステム復旧システム。
【請求項６】
前記現用機は、
前記故障状態取得手段にて取得した前記故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、前記保守端末に対してエラー出力するディスクエラー出力手段、
を更に有することを特徴とする請求項４記載のクラスタシステム復旧システム。
【請求項７】
故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTへ遷移可能かどうかは不明な状態（SBY：online）にある場合に現用機として動作するサーバであって、
前記状態管理手段を介して故障状態情報を取得する故障状態取得手段と、
前記故障状態情報が強制電源断機能の故障を示している場合には、前記予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力手段と、
前記故障状態取得手段にて取得した前記故障状態情報が、ネットワーク故障を示している場合には、ルータまでの導通を確認するルータ導通手段と、
前記ルータ導通手段による導通が失敗した場合には、前記保守端末に対してエラー出力するネットワークエラー出力手段と、
前記故障状態取得手段にて取得した前記故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、前記保守端末に対してエラー出力するディスクエラー出力手段と、
を有することを特徴とするサーバ。
【請求項８】
故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）にある場合に、予備機として動作するサーバであって、
保守端末から導通確認が指示されると、前記現用機側のハードウェア制御手段に対して導通を確認する導通確認手段と、
前記導通確認手段で導通が確認された場合には、該予備機側の強制電源断機能の故障として、前記状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、前記現用機からの系切り替えを可能とする状態（SBY：online）に遷移させる故障回数クリア手段と、
を有することを特徴とするサーバ。
【請求項９】
請求項７または８に記載のサーバを構成する各手段としてコンピュータを機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタシステム復旧方法及びサーバ及びプログラムに係り、特に、複数のサーバシステムを連携して一つのシステムとして運用するシステムにおいて、障害発生したサーバの故障を検出し、復旧させるためのクラスタシステム復旧方法及びサーバ及びプログラムに関する。
【背景技術】
【０００２】
サービスの重要性が増すにつれ、ダウンタイムの少ないシステムの要求が高まっている。このため、複数のサーバで冗長構成されたクラスタシステムを構築し、何らかの故障が発生したときに自動的にサーバを切り替えることにより、サービスの継続を可能とするＨｅａｒｔｂｅａｔおよびＰａｃｅｍａｋｅｒなどの高可用性クラスタソフトが開発されている（非特許文献１参照）。
【０００３】
高可用性クラスタソフトでは、サーバ上のリソース、ネットワーク、共有ディスク等を監視しており、サービス稼働中のサーバで故障を検知すると、予め待機しているサーバに切り替え、サービスを継続させる。
【０００４】
図１に、高可用性クラスタソフトを用いたクラスタシステムの概略図を示す。クラスタシステムは、ネットワークに接続されている複数のサーバ（現用機及び予備機）と、これらの複数のサーバで共有して用いられる共有ディスクとを有する。
【０００５】
現用機及び予備機は、オペレーティングシステム（ＯＳ）と、高可用性クラスタソフトと、サービスを提供するために必要な構成要素であるリソースとをそれぞれ有する。高可用性クラスタソフトは、現用機での故障の発生を検知し、故障が発生したときに自動的に予備機に切り替える。サーバにおけるサービスの稼働状態、リソースの稼働状態及び故障状態は、内蔵ディスクの状態管理情報記憶部に格納され、故障箇所等の詳細な情報は内蔵ディスクのログ記憶部に格納され、故障状態を含むサーバのクラスタ状態の管理情報は状態管理情報記憶部に格納される。
【０００６】
現用機及び予備機は、サービスLANと呼ばれるネットワークに接続されており、リソースによるサービスをクライアントに提供する。また、現用機及び予備機は、インターコネクトLANと呼ばれるネットワークに接続されており、サーバにおけるサービスの稼働状態、リソースの稼働状態、故障状態等の情報を交換する。更に、現用機及び予備機は、管理LANと呼ばれるネットワークに接続されており、保守端末からのコマンドを受け付けることができる。
【０００７】
また、現用機及び予備機は、高可用性クラスタソフトに故障時に他サーバの電源を強制的に切断する強制電源断機能を含めることができる。強制電源断機能は、管理LANを経由して他サーバのハードウェア制御ボードに対して電源を切断する指示を送信することにより、他サーバの電源を切断する。
【０００８】
共有ディスクは、サービスの一貫性を保つために、サービス提供に用いられるデータを保存する記憶装置である。共有ディスクにより、現用機から予備機に切り替わった後も、同じデータを用いてサービスを継続できる。
【０００９】
このように、高可用性クラスタソフトでリソースの故障を監視しているため、リソース故障が発生した場合に、予備機でサービスを継続させることができる。予備機に系切り替えを行った後は、予備機でサービスが継続される（特許文献１参照）。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特許第４３５３００５号，「クラスタ構成コンピュータシステムの系切り替え方法」
【非特許文献】
【００１１】
【非特許文献１】三井  一能  他，「サービスの可用性を向上させるＯＳＳミドルＨｅａｒｔｂｅａｔの開発」，ＮＴＴ技術ジャーナル，２００９年３月，４６〜４９ページ
【発明の開示】
【発明が解決しようとする課題】
【００１２】
上記従来の技術は、高可用性クラスタソフトは、現用機での故障の発生を検知し、故障が発生したときに自動的に予備機に切り替えることができるが、これは、予備機側に故障が発生していないことが前提となる。例えば、図２に示すように、予備機側に内蔵ディスク故障、ネットワーク故障、共有ディスク故障の少なくともいずれか１つの故障が発生していても、現用機側が正常にサービスを稼動している場合には問題がないが、現用機側で何らかの障害が発生した場合に予備機側に系切り替えを行おうとしても、系切り替えを行うことができず、現用機は、当該現用機側で実施されている停止処理が正常に終了するのを待機している"SBY[遷移中]"という状態になってしまう。
【００１３】
また、図３に示すように、現用機または予備機のいずれかに強制電源断機能の故障が考えられる場合は、クラスタ・ソフトウェアの強制電源断機能が正常に実行できなくなるが、現用機のサービス稼動状況には影響はなく、系切り替え処理が発生したとしても予備機に切り替えることができる。しかし、系切り替え時にサービス停止に失敗した場合には、強制電源断機能が実行されず、現用機は上記と同様に"SBY[遷移中]"という状態になってしまうという問題がある。
【００１４】
本発明は、上記の点に鑑みなされたもので、クラスタシステムの現用機として動作するサーバが、故障等による系切り替えが発生したが、リソース停止失敗等により系切り替えが終了していない状態に陥ることを回避することが可能なクラスタシステム復旧方法及びサーバ及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明のクラスタシステム復旧方法（請求項１）は、故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成されるクラスタシステムで、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）におけるクラスタシステム復旧方法であって、
現用機の状態確認手段が、現用機の状態管理手段を介して状態管理情報記憶手段から故障状態情報を取得する故障状態取得ステップと、
故障状態情報が強制電源断機能の故障を示している場合には、予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力ステップと、
ACTへ遷移可能かどうかは不明な状態（SBY：online）の予備機側で保守端末から導通確認が指示されると、該予備機の導通確認手段が、現用機側のハードウェア制御手段に対して導通を確認し、導通が確認された場合には、該予備機側の強制電源断機能の故障として、該予備機の状態管理手段が状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、現用機からの系切り替えを可能とする状態（SBY：online）に遷移する故障回数クリアステップと、を有する。
【００１６】
また、本発明（請求項２）は、故障状態取得ステップにおいて取得した故障状態情報が、ネットワーク故障を示している場合には、予備機側の導通確認手段からルータまでの導通を確認し、導通が失敗した場合には、保守端末に対してエラー出力するネットワークエラー出力ステップを更に有する。
【００１７】
また、本発明（請求項３）は、故障状態取得ステップにおいて取得した故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、保守端末に対してエラー出力するディスクエラー出力ステップを更に有する。
【００１８】
本発明（請求項４）は、故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）にある場合のクラスタシステム復旧システムであって、
現用機は、
状態管理手段を介して状態管理情報記憶手段から故障状態情報を取得する故障状態取得手段と、
故障状態情報が強制電源断機能の故障を示している場合には、予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力手段と、
を有し、
予備機は、
ACTへ遷移可能かどうかは不明な状態（SBY：online）であるとき、保守端末から導通確認が指示されると、現用機側のハードウェア制御手段に対して導通を確認する導通確認手段と、
導通確認手段で導通が確認された場合には、該予備機側の強制電源断機能の故障として、状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、現用機からの系切り替えを可能とする状態（SBY：online）に遷移させる故障回数クリア手段と、を有する。
【００１９】
また、本発明（請求項５）の現用機は、故障状態取得手段にて取得した故障状態情報が、ネットワーク故障を示している場合には、ルータまでの導通を確認するルータ導通手段と、
ルータ導通手段による導通が失敗した場合には、保守端末に対してエラー出力するネットワークエラー出力手段と、を更に有する。
【００２０】
また、本発明（請求項６）の現用機は、故障状態取得手段にて取得した前記故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、前記保守端末に対してエラー出力するディスクエラー出力手段、を更に有する。
【００２１】
本発明（請求項７）は、故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTへ遷移可能かどうかは不明な状態（SBY：online）にある場合に現用機として動作するサーバであって、
状態管理手段を介して故障状態情報を取得する故障状態取得手段と、
故障状態情報が強制電源断機能の故障を示している場合には、予備機側の強制電源断機能の故障が疑われるため、保守端末に対してエラー出力する強制電源断機能エラー出力手段と、
故障状態取得手段にて取得した故障状態情報が、ネットワーク故障を示している場合には、ルータまでの導通を確認するルータ導通手段と、
ルータ導通手段による導通が失敗した場合には、保守端末に対してエラー出力するネットワークエラー出力手段と、
故障状態取得手段にて取得した故障状態情報が、共有ディスクまたは内蔵ディスクの故障を示している場合には、保守端末に対してエラー出力するディスクエラー出力手段と、を有する。
【００２２】
本発明（請求項８）は、故障状態を監視する故障監視手段と、故障状態に基づいて現用機及び予備機のサービス稼働状態を示すクラスタ状態を管理する状態管理手段と、サービス稼動中の状態（ACT）、ACTに遷移できる状態またはACTへ遷移可能かどうかは不明な状態（SBY：online）を含むクラスタ状態及び故障状態情報を格納する状態管理情報記憶手段と、をそれぞれ含む現用機と予備機、及び、該現用機と該予備機で共有する共有ディスクとで構成され、該現用機がクラスタ構成に組み入れられ、該予備機がACTに遷移可能か不明な状態（SBY:online）にある場合に、予備機として動作するサーバであって、
保守端末から導通確認が指示されると、現用機側のハードウェア制御手段に対して導通を確認する導通確認手段と、
導通確認手段で導通が確認された場合には、該予備機側の強制電源断機能の故障として、状態管理情報記憶手段の強制電源断機能監視リソースの故障回数をクリアし、現用機からの系切り替えを可能とする状態（SBY：online）に遷移させる故障回数クリア手段と、を有する。
【００２３】
本発明（請求項９）は、請求項７または８に記載のサーバを構成する各手段としてコンピュータを機能させるためのプログラムである。
【発明の効果】
【００２４】
上記のように、本発明によれば、クラスタシステムの現用機がクラスタ構成に組み入れられている状態において、何らかの障害が発生し、予備機に系切り替えを行う際に、状態管理情報からネットワーク故障か、強制電源断機能故障か、または、共有ディスク・内蔵ディスクの故障であるかを判断し、ネットワーク故障または共用ディスクの故障である場合は予備機は切り替えが不可能なクラスタ状態であると判断し、予備系の強制電源断機能故障である場合は、系切り替えが可能なクラスタ状態であると判断することが可能となるため、強制電源断機能を復旧させることにより、対故障性を向上させることが可能となる。
【図面の簡単な説明】
【００２５】
【図１】高可用性クラスタソフトを用いたクラスタシステムの概略図である。
【図２】予備機の故障状態を示す図である。
【図３】現用機または予備機の強制電源断機能の故障を示す図である。
【図４】本発明の一実施の形態におけるクラスタシステムの機能ブロック図である。
【図５】状態管理部で管理されるクラスタ状態の状態遷移図である。
【図６】本発明の一実施の形態における状態管理情報記憶部に格納される情報の例である。
【図７】本発明の一実施の形態における通常運用状態から復旧手順終了後の状態を示す図である。
【図８】本発明の一実施の形態における故障検出手順のフローチャートである。
【図９】本発明の一実施例における図８のステップ１０２の動作を示す図である。
【図１０】本発明の一実施例における図８のステップ１０３の動作を示す図である。
【図１１】本発明の一実施例における図８のステップ１０４の動作を示す図である。
【図１２】本発明の一実施例における図８のステップ１０５の動作を示す図である。
【図１３】本発明の一実施例における図８のステップ１０６の動作を示す図である。
【発明を実施するための形態】
【００２６】
以下図面と共に、本発明の実施の形態を説明する。
【００２７】
本発明の実施例に係るクラスタシステム及び方法を詳細に説明する前に、まず、本発明の実施例で用いられる用語について説明する。
【００２８】
・クラスタ構成：複数のサーバを相互に接続し、サービスを提供するユーザ又は他サーバに対して全体で１つのサーバであるかのように振舞わせる技術のことを言う。クラスタ構成により、１つのサーバが故障しても、システム全体でサービスを継続させることができ、また、サービス継続中に故障修理や交換を行うことができる。
【００２９】
・現用機：クラスタシステムにおいて、サービス提供を開始して故障が発生していないときに、サービス稼働中であるサーバのことを言う。
【００３０】
・予備機：クラスタシステムにおいて、現用機の故障発生時にサービスを引き継ぐサーバのことを言う。予備機は、１つの現用機のサービスを引き継いでもよく、複数の現用機のサービスを引き継いでもよい。すなわち、現用機と予備機との関係は、１対１の関係でもよく、Ｎ対１の関係でもよい。
【００３１】
・高可用性クラスタソフト：クラスタ構成を提供するためのソフトウェアのことを言う。高可用性クラスタソフトは、サーバの故障を監視し、故障時に系切り替えを実施する。
【００３２】
・リソース：サービスを提供するために必要な構成要素のことを言う。クラスタ構成におけるリソースとは、高可用性クラスタソフトが起動、停止、監視等の制御対象とするアプリケーションを示す。リソースには、データベース等が含まれる。
【００３３】
・クラスタ状態：サーバにおけるサービスの稼働状態を言う。クラスタ状態には、"ACT"と、"SBY［online］"と、"SBY［standby］"と、"SBY［遷移中］"と、"OUS"と、"NONE"とが含まれる。
【００３４】
・リソース状態：サーバにおけるリソースの稼働状態を言う。リソース状態には、他サーバでリソース稼働中である状態と、自サーバでリソースが稼働中である状態と、リソースが停止中である状態と、リソースの管理を行わない状態とが含まれる。
【００３５】
・"ACT"：サーバでサービス稼働中の状態を言う。クラスタ構成において、データベース等のサービスを提供するリソースが稼働しているサーバの状態を言う。
【００３６】
・"SBY［online］"：ＡＣＴへ遷移できる状態を言う。クラスタ構成において、故障等による系切り替えが発生した場合、ＡＣＴからリソースを切り替えることが可能なサーバの状態をと言う。
【００３７】
・"SBY［standby］"："ACT"への遷移が抑止されている状態を言う。クラスタ構成において、故障等による系切り替えが発生した場合でも、"ACT"に遷移しないように抑止されているサーバの状態を言う。
【００３８】
・"SBY［遷移中］"：系切り替え中の状態を言う。クラスタ構成において、故障等による系切り替えが発生したが、リソース停止に失敗して系切り替えが終了していないサーバの状態を言う。
【００３９】
・"OUS"：サーバでリソース故障中の状態を言う。クラスタ構成において、リソース故障が発生している状態を言う。
【００４０】
・"NONE"：サーバがクラスタ構成に組み込まれていない状態を言う。高可用性クラスタソフトが停止している状態のように、クラスタ構成に組み込まれていないサーバの状態を言う。
【００４１】
＜クラスタシステムの構成＞
図４は、本発明の一実施の形態におけるクラスタシステムの機能ブロック図を示す。クラスタシステムは、相互に接続されている複数のサーバ（現用機１０及び予備機２０）と、これらの複数のサーバで共有して用いられる共有ディスク３０とを有する。現用機１０及び予備機２０は、ルータ４０を介してクライアントにサービスを提供する。なお、現用機１０の性能は、予備機２０の性能より優れていてもよい。また、クラスタシステムは、２つ以上の現用機と１つの予備機とで構成されてもよい。
【００４２】
現用機１０は、リソース１０１、高可用性クラスタソフト１１０、実行制御部１２０、状態管理情報記憶部１１９、オペレーティングシステム（ＯＳ）１５１、電源制御部１５３、電源１５５を有する。
【００４３】
高可用性クラスタソフト１１０は、状態管理手段であり、故障監視部１１１と、リソース起動・停止部１１３と、状態管理部１１５と、強制電源断機能部１１６、強制電源断機能監視部１１７から構成される。具体的には、本発明では、高可用性クラスタソフトを用いるものとする。
【００４４】
制御実行部１２０は、導通確認部１２３と、クラスタ構成起動部１２５と、系切り替え指示部１２７と、状態確認部１３１と、コマンド実行部１３３から構成される。
【００４５】
予備機２０は、リソース２０１、高可用性クラスタソフト２１０、実行制御部２２０、状態管理情報記憶部２１９、オペレーティングシステム（ＯＳ）２５１、電源制御部２５３、電源２５５を有する。
【００４６】
高可用性クラスタソフト２１０は、状態管理手段であり、故障監視部２１１と、リソース起動・停止部２１３と、状態管理部２１５、強制電源断機能部２１６、強制電源断機能監視部２１７とから構成される。
【００４７】
制御実行部２２０は、導通確認部２２３と、クラスタ構成起動部２２５と、系切り替え指示部２２７と、状態確認部２３１と、コマンド実行部２３３から構成される。
【００４８】
リソース１０１及び２０１は、クライアントにサービスを提供するアプリケーションである。リソース１０１及び２０１は、クラスタ状態がサービス稼働中"ACT"のサーバで起動している。
【００４９】
高可用性クラスタソフト１１０，２１０の故障監視部１１１及び２１１は、サーバの故障状態を監視する。例えば、リソース、ネットワーク、共有ディスク・内臓ディスク等を監視する。リソースはサービス稼働中"ACT"のサーバのみで監視されるが、ネットワーク及び共有ディスク・内蔵ディスクは、現用機１０と予備機２０の双方で監視される。現用機１０で故障が検知された場合、故障状態は、状態管理部１１５を介して状態管理情報記憶部１１９に格納される。例えば、故障状態として、故障回数や、故障発生タイミング（リソース開始失敗、リソース監視時の故障、リソース停止失敗）を示すエラーステータスが状態管理情報記憶部１１９に格納される。以下に説明するように、現用機１０の故障状態は、状態管理部１１５から予備機の状態管理部２１５を介して状態管理情報記憶部２１９にも格納される。予備機２０で故障が検知された場合も同様に、予備機の故障状態が、状態管理部２１５を介して状態管理情報記憶部２１９に格納され、更に、現用機１０の状態管理部１１５を介して状態管理情報記憶部１１９に格納される。
【００５０】
リソース起動・停止部１１３及び２１３は、クラスタ状態及び故障状態に基づいてリソースを起動及び停止させる。サーバのクラスタ状態がＡＣＴへ遷移できる状態"SBY[online]"のときに他サーバのリソースが停止した場合、リソース起動・停止部１１３及び２１３は、リソースを起動させる。サーバのクラスタ状態がサービス稼働中"ACT"のときに故障が発生した場合、リソース起動・停止部１１３及び２１３は、リソースを停止させる。
【００５１】
状態管理部１１５及び２１５は、故障状態に基づいてクラスタ状態を管理する。現用機１０の状態管理部１１５と予備機２０の状態管理部２１５は、互いに状態管理情報記憶部に格納された故障状態（故障回数、エラーステータス）、クラスタ状態等の情報を交換し、各サーバの情報を状態管理情報記憶部１１９及び２１９に格納する。
【００５２】
強制電源断機能部１１６，２１６は、対向機（現用機であれば予備機、予備機であれば現用機）のハードウェア制御ボードを保守管理用LAN経由で監視し、その監視がタイムアウトの場合は、状態管理情報記憶部の対向機の故障回数を"１"、エラーステータスを"２"とする。
【００５３】
強制電源断機能監視部１１７，２１７は、自装置内の強制電源断機能部１１６，２１６を監視し、当該強制電源断機能部のプロセス故障の場合に、状態管理情報記憶部の故障回数を"１"、エラーステータスを"２"とする。
【００５４】
図５に、状態管理部１１５及び２１５で管理されるクラスタ状態の状態遷移図を示す。クラスタ状態には、"ACT"と、"SBY［online］"と、"SBY［standby］"と、"SBY［遷移中］"と、"OUS"と、"NONE"とが含まれる。"ACT"のサーバにリソース故障が発生した場合、クラスタ状態は"ACT"から"OUS"になる（Ｔ１）。"ACT"のサーバにリソース以外の故障（ネットワーク、共有ディスク等の故障）が発生した場合、クラスタ状態は"ACT"から"SBY［遷移中］"になる（Ｔ２）。"OUS"のサーバの故障状態がクリアされた場合、クラスタ状態は"OUS"から"SBY［standby］"になる（Ｔ３）。故障等により系切り替えが発生して、"SBY［online］"のサーバがサービスを引き継ぐ場合、クラスタ状態は"SBY［online］"から"SBY［遷移中］"になり（Ｔ４）、更に、"ACT"になる（Ｔ５）。"ACT"のサーバから他サーバにサービスを引き継ぐために"ACT"のサーバでサービスの稼働が抑止された場合、クラスタ状態は"ACT"から"SBY［standby］"になる（Ｔ６）。"SBY［standby］"のサーバで"ACT"への遷移抑止が解除された場合、クラスタ状態は"SBY［standby］"から"SBY［standby］"になる（Ｔ７）。"SBY［standby］"のサーバでＡＣＴへの遷移が抑止された場合、クラスタ状態は"SBY［standby］"から"SBY［standby］"になる（Ｔ８）。また、電源の停止、オペレーティングシステムの停止又は高可用性クラスタソフト自体の停止により、高可用性クラスタソフトが停止した場合、クラスタ状態は"NONE"になる（Ｔ９〜Ｔ１３）。高可用性クラスタソフトが起動した場合、クラスタ状態は"NONE"から"SBY［online］"になる（Ｔ１４）。また、現用機及び予備機の双方のクラスタ状態がＮＯＮＥのときに高可用性クラスタソフトが起動した場合、クラスタ状態はＮＯＮＥからＡＣＴになる（Ｔ１５）。
【００５５】
状態管理情報記憶部１１９及び２１９は、各サーバ毎にクラスタ状態及び故障状態を格納する。具体的には、状態管理情報記憶部１１９及び２１９は、現用機１０の情報と予備機２０の情報との双方をそれぞれ格納し、状態管理部１１５と状態管理部２１５との情報交換によって、状態管理情報記憶部１１９に格納される情報と状態管理情報記憶部２１９に格納される情報とは同一に保持される。なお、状態管理情報記憶部１１９，２１９を参照する際には、サーバID等のサーバを一意に識別できる識別子を用いるものとする。
【００５６】
図６に、状態管理情報記憶部１１９及び２１９に格納される情報の例を示す。状態管理情報記憶部１１９及び２１９は、サーバ毎にクラスタ状態、故障回数、エラーステータス、リソース状態、及び、インタフェース属性値を格納する。状態管理情報記憶部１１９及び２１９は、クラスタ状態として、"ACT"と、"SBY［online］"と、"SBY［standby］"と、"SBY［遷移中］"と、"OUS"と、"NONE"とのうちいずれかを記憶する。故障回数として、故障が発生した回数（０〜Ｎの値）を記憶する。故障発生タイミングを示すエラーステータスとして、エラー無しの状態と、リソース開始に失敗した状態と、リソース監視時に故障を検知した状態と、リソース停止に失敗した状態とのうちいずれかを記憶する。リソース状態として、他サーバでリソース稼働中である状態と、自サーバでリソースが稼働中である状態と、リソースが停止中である状態と、リソースの管理を行わない状態とのうちいずれを記憶する。インタフェース属性値として、エラー無し"０"、PINGエラーがあり、"Link is failure"が表示されている状態"１"、ディスクエラーがあり"Disk is failure"が表示されている状態"２"を記憶する。
【００５７】
導通確認部１２３は、状態確認部１３１で故障箇所がネットワーク故障であると推定された場合には、ルータ４０までの導通を確認する。導通確認が成功した場合には、ネットワークの瞬断による一時的な故障と考えられる。また、状態確認部１３１で故障箇所が電源制御部（ハードウェア制御ボード）２５３であると推定された場合には、他サーバ（予備機２０）の電源制御部（ハードウェア制御ボード）２５３までの導通を確認する。これらの導通確認には、PINGが用いられてもよい。
【００５８】
状態確認部２３１で故障箇所が強制電源断機能の故障であると推定された場合に、導通確認部２２３は、現用機１０の電源制御部１５３までの導通を確認する。導通確認には、PINGが用いられてもよい。導通確認が成功した場合には、ネットワークの瞬断による一時的な故障と考えられる。
【００５９】
クラスタ構成起動部１２５は、現用機１０をクラスタ構成に組み込み、状態管理情報記憶部１１９に格納された現用機のクラスタ状態をサービス稼働中へ遷移できる状態へ遷移させる。具体的には、クラスタ構成起動部１２５は、現用機１０の高可用性クラスタソフト１１０を起動させる。例えば、クラスタ構成起動部１２５が状態管理部１１５を起動させ、状態管理部１１５が故障管理部１１１及びリソース起動・停止部１１３を起動させてもよい。この起動により、状態管理部２１５を介して、状態管理情報記憶部２１９に格納された現用機１０のクラスタ状態も遷移し、現用機１０のクラスタ状態は、"SBY［online］"になる。予備機２０のクラスタ構成起動部２２５も同様である。
【００６０】
系切り替え指示部１２７は、状態管理部１１５を介して、予備機２０から現用機１０への系切り替えを指示する。具体的には、状態管理情報記憶部１１９に格納された予備機２０のクラスタ状態をサービス稼働中への遷移が抑止されている状態へ遷移させる。この遷移抑止により、現用機１０のクラスタ状態はサービス稼働中へ遷移する。この結果、状態管理部２１５を介して、状態管理情報記憶部２１９に格納された予備機２０及び現用機１０のクラスタ状態も遷移し、予備機２０のクラスタ状態は"SBY［standby］"になり、現用機１０のクラスタ状態はＡＣＴになる。そして、予備機２０のリソース２０１が停止し、現用機１０のリソース１０１が起動する。予備機２０の系切り替え指示部２２７も同様である。
【００６１】
状態確認部１３１は、状態管理部１１５を介して、状態管理情報記憶部１１９に格納された情報を確認する。例えば、現用機１０及び予備機２０の双方のクラスタ状態、故障回数、エラーステータス及びリソース状態を確認する。予備機２０の状態確認部２３１も同様である。
【００６２】
オペレーティングシステム１５１，２５１は、サーバ上で高可用性クラスタソフト１１０，２１０やアプリケーション等を動作させるための基本ソフトウェアである。
【００６３】
電源制御部１５３は、本実施の形態では、他サーバ（予備機２０）の強制電源断機能部２１６から強制的に電源を切断する指示を受信し、サーバに電力を供給する電源１５５をオン及びオフにする。予備機の電源制御部２５３も同様である。
【００６４】
まず、現用機１０と予備機２０の故障状態について説明する。
【００６５】
図７は、本発明の一実施の形態における通常運用状態から復旧手順終了の状態を示す。
【００６６】
（１）同図（a）に示すように、現用機１０は、クラスタ状態が"ACT"であるため、サービス稼動中であり、予備機２０は、"SBY[online]"状態であり、"ACT"へ遷移可能な状態である。
【００６７】
（２）上記の状態から、図２に示すように、予備機２０が強制電源断機能部２１６の故障、または、インタフェース故障により、"ACT"に遷移可能かどうかは不明な状態になっている（図７（ｂ））。このとき、リソース１０１は現用機１０で稼動しているため、何もアクションは起こっていない状態である。つまり、この時点における現用機１０、予備機２０の状態は、
（現用機）
クラスタ状態："ACT"
故障回数：０
エラーステータス：０
リソース状態：１（Started）
I/F属性値：０
（予備機）
クラスタ状態："SBY[online]"
故障回数：０
エラーステータス：０
リソース状態：０
I/F属性値：１or２
である。予備機２０では、状態管理情報記憶部２１９のインタフェース（I/F）属性値が"１"または"２"であるため、ネットワーク故障か、ディスク故障のいずれかであると推測できる。この場合、現用機１０から予備機２０に系切り替え処理が発生した場合、I/F属性値が"０"以外の値をとっているため、系切り替えは実行できずに、現用機１０が故障等による系切り替えが発生したが、リソース停止に失敗して系切り替えが終了していないサーバの状態である"SBY[遷移中] "のクラスタ状態となってしまう。
【００６８】
また、図７（b）の状態として図３のようなケースが考えられる。
【００６９】
図３の例は、現用機１０、予備機２０のいずれかの強制電源断機能部に故障が発生した場合である。
【００７０】
このときの現用機１０と予備機２０の状態は、
（現用機）
クラスタ状態："ACT"
故障回数：０
エラーステータス：０
リソース状態：１（Started）
I/F属性値：０
（予備機）
クラスタ状態："SBY[online]"
故障回数：１
エラーステータス：２
リソース状態：０
I/F属性値：０
である。上記では、予備機２０のエラーステータスが"２"（リソース監視時にエラーを検出）となっている。この場合、強制電源断機能部２１６が正常に実行できなくなるが、サービス稼動状況には影響がなく、現用機１０から予備機２０への系切り替え処理が発生した場合でも予備機２０に切り替えることが可能である。但し、系切り替え時にサービス停止に失敗した場合は強制電源断機能部２１６の処理が実行されず、現用機１０は図２と同様に、"SBY[遷移中]"のクラスタ状態となってしまう。
【００７１】
本発明は、上記のような状態（図７（ｂ））において、予備機２０のみの故障復旧処理を行うことで、図７（ｃ）に示すように、現用機１０からの系切り替え発生時に、予備機２０を"ACT"へ遷移可能な状態"SBY[online]"に遷移させるものである。
【００７２】
図８は、本発明の一実施の形態における故障検出手順のフローチャートである。
【００７３】
ステップ１０１）  保守端末から現用機１０、予備機２０にログインする。このとき、予備機２０へのログインに成功した場合はステップ１０２に移行し、失敗した場合はステップ１０３に移行する。この時点の現用機１０と予備機２０の状態は以下の通りである。
【００７４】
（現用機）
クラスタ状態："ACT"
故障回数：０
エラーステータス：０
リソース状態：１（Started）
I/F属性値：０
（予備機）
クラスタ状態："SBY[online]"
故障回数：０or１
エラーステータス：０or２（エラー無しまたは、リソース監視時にエラー検出）
リソース状態：０（他サーバでリソース稼動中）
I/F属性値：１or２（エラー無しまたはリンクエラー）
ステップ１０２）  現用機１０の状態確認部１３１は、状態確認コマンドを高可用性クラスタソフト１１０に実行させることにより、状態管理情報記憶部１１９の状態管理情報を取得する。取得した状態管理情報が故障回数"１"、エラーステータス"２"である場合は、予備機２０の強制電源断機能部２１６の監視タイムアウトまたは、予備機２０の強制電源断機能部２１６のプロセスが故障したと推測されるため、強制電源断機能のエラーを保守端末に出力して、ステップ１０５に移行する。それ以外の場合（故障回数"０"、エラーステータス"０"）は、別原因であるので、ステップ１０３に移行する。
【００７５】
ステップ１０３）  現用機１０の状態確認部１３１は、状態確認コマンドを高可用性クラスタソフト１１０に実行させることにより、状態管理情報記憶部１１９の状態管理情報を取得する。取得した状態管理情報のI/F属性値の値から、故障箇所の推定を行う。I/F属性値が"１"（Link is failure）の場合は、予備機２０からルータ４０間（ネットワーク）の通信が遮断していると推測されるためステップ１０４に移行する。I/F属性値が"２"（Disk is failure）の場合は、ディスク故障と推測されるため、ステップ１０７に移行する。
【００７６】
ステップ１０４）  予備機２０の導通確認部２２３において、故障推定精度を向上させるため、ルータ４０に対してPINGコマンドによる導通確認を行い、導通が不可である場合はステップ１０７に移行する。導通できた場合にはステップ１０６に移行する。
【００７７】
ステップ１０５）  ステップ１０２において予備機２０の強制電源断機能部２１６の故障であると判断された場合は、保守端末は現用機１０からエラーが表示されるので、保守者は、予備機２０のログインし、予備機２０に対して、現用機１０の電源制御部１５３に対する導通確認を指示する。これにより、予備機２０の導通確認部２２３は、故障推定精度を向上させるため、現用機１０の電源制御部１５３に対してPINGコマンドを実行し導通確認を行う。導通できた場合は、ハードウェア制御ボード１６０の故障ではなく、予備機側の強制電源断機能部２１６のプロセスの一時的な故障と推測されるため、ステップ１０６に移行する。導通が不可であった場合はステップ１０７に移行する。
【００７８】
ステップ１０６）  ステップ１０４において、ルータ４０との導通に成功する、または、ステップ１０５において現用機１０の電源制御部１５３との導通に成功した場合は、現用機１０の状態管理部１１５及び予備機２０の状態管理部２１５は状態管理情報記憶部１１９の強制電源断機能監視リソースの故障数を０クリアし、ステップ１０８に移行する。この処理によって、故障などによる系切り替え時にリソース停止失敗が発生しても、強制電源断機能を利用できるようになる。
【００７９】
ステップ１０７）  エラーを保守端末に出力する。
【００８０】
ステップ１０８）  ログアウトする。
【００８１】
上記のような処理を行うことにより、図７（ｃ）のように、予備機２０の状態管理部２１０が予備機２０状態管理情報記憶部２１９の状態を"ACT"へ遷移可能な状態にすることで、予備機２０では、現用機１０の系切り替え指示部１２７による系の切り替え処理に備えることが可能となる。
【実施例】
【００８２】
以下では、図８のフローチャートに沿って、図４に示す現用機１０の故障監視部１１１、リソース起動・停止部１１３、状態管理部１１５からなる構成を高可用性クラスタソフト１１０、及び、予備機２０の故障監視部２１１、リソース起動・停止部２１３、状態管理部２１５を、高可用性クラスタソフト２１０として説明する。
【００８３】
ステップ１０１）  保守端末５０から現用機１０、予備機２０にログインする。双方へのログインが成功すればステップ１０２に移行し、予備機２０のログインに失敗した場合は、ステップ１０３に移行する。
【００８４】
ステップ１０２）  図９に示すように、制御実行部１２０の状態確認部１３１は、高可用性クラスタソフト１１０に状態確認コマンドを実行させ、予備機２０の故障回数、エラーステータスを要求する。
【００８５】
これにより、高可用性クラスタソフト１１０は、状態管理情報記憶部１１９を参照し、予備機２０が、
・故障回数"１"；
・エラーステータス"２"；
の場合は、強制電源断機能の故障と考えられるため、ステップ１０５に移行する。一方、予備機２０が、
・故障回数"０"；
・エラーステータス"０"；
の場合は、故障原因が別原因であるため、ステップ１０３に移行する。
【００８６】
ステップ１０３）  制御実行部１２０の状態確認部１３１は、図１０に示すように、高可用性クラスタソフト１１０に状態確認コマンドを実行させ、状態管理情報記憶部１１９に予備機２０のI/F属性値を要求する。予備機２０のI/F属性値が"１"（リンクエラー）の場合は通信エラーと推定できるため、ステップ１０４に移行する。一方、予備機２０のI/F属性値が"２"（ディスクエラー）の場合は、ディスク故障と推定できるため、保守端末５０に対してエラーを出力してログアウトする。
【００８７】
ステップ１０４）  制御実行部１２０の導通確認部１２３は、図１１に示すように、OS機能にあるPINGを実行し、ルータ４０までの間の導通を確認する。導通が不可の場合は導線やルータ故障と考えられるため、保守端末５０にエラーを出力してログアウトする。
【００８８】
ステップ１０５）  ステップ１０２において、強制電源断機能の故障と推定された場合には、保守端末５０は予備機２０にログインし、図１２に示すように、予備機２０の制御実行部２２０の導通確認部２２３より、OS機能であるPINGを実行し、現用機１０の電源制御部１５３までの導通を確認する。予備機２０からのPINGが成功した場合には、現用機１０の電源制御部１５３は正常であるため、予備機２０の高可用性クラスタソフト２１０内の強制電源断機能部２１６の故障が予測される。
【００８９】
ステップ１０６）  予備機２０の制御実行部２２０のコマンド実行部２３３は、図１３に示すように、高可用性クラスタソフト２１０に故障回数クリアコマンドを実行させる。クリアコマンドを実行することにより、高可用性クラスタソフト１１０、２１０で管理している状態管理情報記憶部１１９、２１９の故障回数"１"、エラーステータス"２"を故障回数"０"、エラーステータス"０"に更新する。
【００９０】
上記のように、故障回数及びエラーステータスの両方の値が"０"になることにより、現用機１０から予備機２０への系切り替え時に、リソース停止失敗が発生しても高可用性クラスタソフトの強制電源断機能が使用できるようになるため、現用機１０において、"SBY[遷移中]"（故障等による系切り替えが発生したが、リソース停止に失敗して系切り替えが終了していない状態）となることを回避することが可能となる。
【００９１】
説明の便宜上、本発明の実施例に係るシステムは機能的なブロック図を用いて説明しているが、本発明のシステムは、ハードウェア、ソフトウェア又はそれらの組み合わせで実現されてもよい。例えば、サーバ（現用機及び予備機）の各機能部がソフトウェアで実現され、オペレーションシステム上にインストールされてもよい。また、各機能部が必要に応じて組み合わせて使用されてもよい。
【００９２】
以上、本発明の実施の形態及び実施例について説明したが、本発明は、上記の実施の形態及び実施例に限定されることなく、特許請求の範囲内において、種々の変更・応用が可能である。
【符号の説明】
【００９３】
１０  サーバ（現用機）
２０  サーバ（予備機）
３０  共有ディスク
４０  ルータ
５０  保守端末
１０１，２０１  リソース
１１０，２１０  高可用性クラスタソフト
１１１，２１１  故障監視部
１１３，２１３  リソース・起動停止部
１１５、２１５  状態管理部
１１６，２１６  強制電源断機能部
１１７，２１７  強制電源断監視部
１１９，２１９  状態管理情報記憶部
１２０，２２０  制御実行部
１２３，２２３  導通確認部
１２５，２２５  クラスタ構成起動部
１２７，２２７  系切り替え指示部
１３１，２３１  状態確認部
１３３，２３３  コマンド実行部
１５１，２５１  ＯＳ（オペレーティングシステム）
１５３，２５３  電源制御部
１５５，２５５  電源
【図１】
0005285044.tif 000002
【図２】
0005285044.tif 000003
【図３】
0005285044.tif 000004
【図４】
0005285044.tif 000005
【図５】
0005285044.tif 000006
【図６】
0005285044.tif 000007
【図７】
0005285044.tif 000008
【図８】
0005285044.tif 000009
【図９】
0005285044.tif 000010
【図１０】
0005285044.tif 000011
【図１１】
0005285044.tif 000012
【図１２】
0005285044.tif 000013
【図１３】
0005285044.tif 000014