(57)【要約】  現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるＨＡクラスタシステムを実現する。管理サーバ（１）は、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理部（２）と、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理部（３）と、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理部（４）とを有する。
2019171704.tif 000002
【特許請求の範囲】
【請求項１】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理手段と、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理手段と、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理手段と
を有する管理サーバ。
【請求項２】
前記サーバ監視処理手段は、さらに、前記サービス提供サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記サービス提供サーバによる前記所定のサービスの提供状態を監視し、
前記クラスタ制御処理手段は、さらに、前記サービス提供サーバにより前記所定のサービスが正常に提供されていない場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
請求項１に記載の管理サーバ。
【請求項３】
前記サービス提供サーバは、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）を備えたサーバであり、
前記サーバ監視処理手段は、さらに、前記サービス提供サーバの前記ＢＭＣに対し、前記サービス提供サーバの状態情報の返信を要求し、該状態情報に基づいて前記サービス提供サーバの状態を監視し、
前記クラスタ制御処理手段は、前記サービス提供サーバの異常を示す状態情報が前記ＢＭＣから得られた場合、前記ＢＭＣに対し前記サービス提供サーバの電源制御を要求する
請求項１又は２に記載の管理サーバ。
【請求項４】
前記サーバ監視処理手段又は前記クラスタ制御処理手段の少なくともいずれか一つの動作状態を監視する内部監視処理手段をさらに有する
請求項１乃至３のいずれか１項に記載の管理サーバ。
【請求項５】
前記所定のサービスを提供するサービス提供手段をさらに有する
請求項１乃至４のいずれか１項に記載の管理サーバ。
【請求項６】
所定のサービスを提供するための現用系サーバと、
前記所定のサービスを提供するための待機系サーバと、
前記現用系サーバ及び前記待機系サーバにおけるフェールオーバーを制御する管理サーバと、
を備え、
前記管理サーバは、
前記現用系サーバの動作を監視するための第１の監視スクリプトと、フェールオーバーについての前記現用系サーバの動作を制御するための第１の制御スクリプトとを前記現用系サーバに送信する処理と、前記待機系サーバの動作を監視するための第２の監視スクリプトと、フェールオーバーについての前記待機系サーバの動作を制御するための第２の制御スクリプトとを前記待機系サーバに送信する処理とを行う送信処理手段と、
前記現用系サーバ及び前記待機系サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記現用系サーバ及び前記待機系サーバの動作状態を監視するサーバ監視処理手段と、
前記現用系サーバの前記監視スクリプトの前記実行結果が前記現用系サーバの異常を示す場合、前記第１の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第２の制御スクリプトの実行を前記待機系サーバに要求するクラスタ制御処理手段と
を有する
クラスタシステム。
【請求項７】
前記サーバ監視処理手段は、さらに、前記現用系サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記現用系サーバによる前記所定のサービスの提供状態を監視し、
前記クラスタ制御処理手段は、さらに、前記現用系サーバにより前記所定のサービスが正常に提供されていない場合、前記第１の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第２の制御スクリプトの実行を前記待機系サーバに要求する
請求項６に記載のクラスタシステム。
【請求項８】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信し、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視し、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
クラスタシステムの制御方法。
【請求項９】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理ステップと、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理ステップと、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理ステップと
をコンピュータに実行させるプログラムが格納された非一時的なコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムに関する。
【背景技術】
【０００２】
サーバの監視に関する技術として様々技術が提案されている。例えば、特許文献１は、監視対象のコンピュータである監視対象サーバと、ジョブを監視するコンピュータであるジョブ監視サーバと、通信回線網を介してこのジョブ監視サーバと接続される遠隔監視サーバと、を備えるジョブ監視システムについて開示している。【０００３】
ところで、サーバを監視する処理は、ＨＡ（High Availability：高可用性）クラスタシステムにおいても必要とされる。一般的に、ＨＡクラスタシステムにおいては、現用系サーバと待機系サーバが、それぞれクラスタウェアを有している。そして、現用系サーバと待機系サーバがネットワーク経由で相互通信することで、ＨＡクラスタシステムを構成する。このような構成のＨＡクラスタシステムでは、現用系サーバは自サーバで正常に業務サービスを提供できているかどうかを監視し、待機系サーバは自サーバが正常に業務サービスを引き継げるかどうかを監視する。【０００４】
このような構成のＨＡクラスタシステムでは、業務サービス、アプリケーションソフトウェア、ミドルウェア、ハードウェアなどの監視を行うために、監視用エージェントプロセスを現用系サーバ及び待機系サーバに常駐することとなる。また、ＯＳ（Operating System）パニック発生時の対処やデータミラーリング等の機能を実現するためのエージェントもこれらのサーバに入れておく必要がある。すなわち、クラスタウェアを現用系サーバ及び待機系サーバにインストールしておく必要がある。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１５９０１１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
このように、上述したＨＡクラスタシステムを構築する場合には、管理対象のサーバ（現用系サーバ及び待機系サーバ）へのクラスタウェアのインストールが必要とされる。このため、クラスタシステムとなっていない既存のシステムをクラスタシステムへと変更する場合、クラスタウェアのインストール及びクラスタの構築により、サーバの再起動及びシステムの停止が発生してしまう。また、上述したＨＡクラスタシステムではクラスタウェアによる処理による負荷が過大となる恐れがある。
これに対し、特許文献１のジョブ監視システムは、ＨＡクラスタシステムではない。このため、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるＨＡクラスタシステムを実現するための技術が依然として求められている。【０００７】
そこで、本明細書に開示される実施形態が達成しようとする目的の１つは、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるＨＡクラスタシステムを実現することができる管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００８】
第１の態様にかかる管理サーバは、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理手段と、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理手段と、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理手段とを有する。【０００９】
第２の態様にかかるクラスタシステムは、所定のサービスを提供するための現用系サーバと、前記所定のサービスを提供するための待機系サーバと、前記現用系サーバ及び前記待機系サーバにおけるフェールオーバーを制御する管理サーバと、を備え、前記管理サーバは、前記現用系サーバの動作を監視するための第１の監視スクリプトと、フェールオーバーについての前記現用系サーバの動作を制御するための第１の制御スクリプトとを前記現用系サーバに送信する処理と、前記待機系サーバの動作を監視するための第２の監視スクリプトと、フェールオーバーについての前記待機系サーバの動作を制御するための第２の制御スクリプトとを前記待機系サーバに送信する処理とを行う送信処理手段と、前記現用系サーバ及び前記待機系サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記現用系サーバ及び前記待機系サーバの動作状態を監視するサーバ監視処理手段と、前記現用系サーバの前記監視スクリプトの前記実行結果が前記現用系サーバの異常を示す場合、前記第１の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第２の制御スクリプトの実行を前記待機系サーバに要求するクラスタ制御処理手段とを有する。【００１０】
第３の態様にかかるクラスタシステムの制御方法では、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信し、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視し、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する。【００１１】
第４の態様にかかるプログラムは、所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理ステップと、前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理ステップと、前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理ステップとをコンピュータに実行させる。
【発明の効果】
【００１２】
上述の態様によれば、現用系サーバ及び待機系サーバがクラスタウェアを有することに起因した問題の発生を回避することができるＨＡクラスタシステムを実現することができる管理サーバ、クラスタシステム、クラスタシステムの制御方法、及びプログラムを提供することができる。
【図面の簡単な説明】
【００１３】
【図１】実施形態の概要にかかる管理サーバの構成の一例を示すブロック図である。
【図２】実施の形態１にかかるＨＡクラスタシステムの一例を示すブロック図である。
【図３】実施の形態にかかる運用管理サーバのハードウェア構成の一例を示すブロック図である。
【図４】実施の形態１にかかるＨＡクラスタシステムにおけるクラスタの構築処理の動作の流れを示すフローチャートである。
【図５】実施の形態１にかかるＨＡクラスタシステムにおけるクラスタの起動の動作の流れを示すフローチャートである
【図６】実施の形態１にかかるＨＡクラスタシステムにおける監視動作の流れを示すフローチャートである。
【図７】実施の形態１にかかるＨＡクラスタシステムにおけるフェールオーバー動作を示すフローチャートである。
【図８】実施の形態１にかかるＨＡクラスタシステムにおけるスクリプトの実行に関する動作を示すフローチャートである。
【図９】実施の形態２にかかるＨＡクラスタシステムの一例を示すブロック図である。
【図１０】実施の形態２にかかるＨＡクラスタシステムにおけるＢＭＣを用いたサーバ監視及びサーバ制御の動作を示すフローチャートである。
【図１１】実施の形態３にかかるＨＡクラスタシステムの一例を示すブロック図である。
【発明を実施するための形態】
【００１４】
＜実施形態の概要＞
実施形態の説明に先立って、本発明にかかる実施形態の概要を説明する。
図１は、実施形態の概要にかかる管理サーバ１の構成の一例を示すブロック図である。管理サーバ１は、送信処理部２と、サーバ監視処理部３と、クラスタ制御処理部４とを有する。管理サーバ１は、ＨＡクラスタシステムを構成するサービス提供サーバ（図１において図示せず）と有線又は無線通信可能に接続される。なお、サービス提供サーバは、例えば、所定のサービスをクライアント装置（図示せず）に提供するサーバである。
【００１５】
送信処理部２は、サービス提供サーバの動作を監視するための監視スクリプトと、サービス提供サーバの動作を制御するための制御スクリプトとを、サービス提供サーバに送信する処理を行う。
【００１６】
サーバ監視処理部３は、サービス提供サーバに対し、監視スクリプトの実行及び実行結果の返信を要求する。したがって、サービス提供サーバは、管理サーバ１から送信された監視スクリプトを実行し、当該サービス提供サーバの動作状態を確認し、確認結果を管理サーバ１に返信することとなる。そして、サーバ監視処理部３は、返信された実行結果に基づいてサービス提供サーバの動作状態を監視する。
【００１７】
クラスタ制御処理部４は、監視スクリプトの実行結果がサービス提供サーバの異常を示す場合、フェールオーバーを行うための制御スクリプトの実行をサービス提供サーバに要求する。なお、クラスタ制御処理部４は、異常時おけるサービスの起動及び停止を含む一連の回復動作としてのフェールオーバーの制御に限らず、他の制御を行ってもよい。例えば、クラスタ制御処理部４は、正常時において、サービスの開始制御又はサービス移行（サービスの起動及び停止）制御を行ってもよい。
【００１８】
上述の管理サーバ１とサービス提供サーバを備えるＨＡクラスタシステムでは、管理サーバ１によってサービス提供サーバが異常状態であるか否かの判断が行われ、管理サーバ１によってフェールオーバーの実行が制御される。すなわち、管理サーバ１がネットワーク経由でサービス提供サーバのＯＳ機能提供状態やサービス機能提供状態などを監視し、障害が検出された場合には、管理サーバ１がシステムの回復動作を制御することができる。このように、管理サーバ１にクラスタウェアが備えられ、サービス提供サーバはクラスタウェアを有さなくてもよい。これにより、ＨＡクラスタシステムをエージェントレス方式で提供することができる。
【００１９】
管理サーバ１を備えずサービス提供サーバにクラスタウェアを有するＨＡクラスタシステム（以下、比較例にかかるクラスタシステムと称す。）では、クラスタウェアのインストール及びクラスタの構築により、サービス提供サーバの再起動及びシステムの停止が発生しまう。そのため、既存環境を活用せず、完全に新規のクラスタ環境を構築してから新システムへと移行する傾向がある。
【００２０】
一方、エージェントレス型のクラスタウェアの場合、管理対象サーバ（すなわち、サービス提供サーバ）毎にクラスタウェアをインストールする必要がなく、管理サーバ１のみにインストールすればよい。このため、システム停止など既存環境に影響を与えない。そして、完全に新規の環境を構築することも必要なく、既存環境を有効活用できる。クラスタウェアのバージョンアップやメンテナンスが必要な場合でも、システム停止や管理対象サーバ毎のインストール作業が不要になる。その結果、導入及び運用のコストを抑えることが可能となる。したがって、メンテナンス及びシステム拡大も簡単に行える。
【００２１】
また、比較例にかかるクラスタシステムにおいては、定期的にサービス提供サーバ同士間の生存確認処理、監視プロセスを監視する死活監視処理が行われるため、サービス提供サーバに過大な負荷をかけてしまう恐れがある。このため、サービス提供サーバが備えるリソースが少ないと監視が失敗してしまい、障害が発生したと誤判定されることがある。
【００２２】
これに対し、上述した管理サーバ１を有するＨＡクラスタシステムでは、高可用性を実現するための主な処理が管理サーバ１で行われるため、サービス提供サーバ（すなわち、クラスタサーバ）に与える負荷を抑制することができる。
【００２３】
次に、実施の形態の詳細について説明する。
＜実施の形態１＞
図２は、実施の形態１にかかるＨＡクラスタシステム１０の一例を示すブロック図である。また、図３は、運用管理サーバ１００のハードウェア構成の一例を示すブロック図である。
【００２４】
図２に示すように、ＨＡクラスタシステム１０は、運用管理サーバ１００と、現用系業務サーバ２００と、待機系業務サーバ３００とを有している。現用系業務サーバ２００及び待機系業務サーバ３００は、所定の業務サービスを提供するためのサーバであり、運用管理サーバ１００は、現用系業務サーバ２００及び待機系業務サーバ３００におけるフェールオーバーなどを制御するサーバである。
【００２５】
運用管理サーバ１００、現用系業務サーバ２００、及び待機系業務サーバ３００は、ネットワーク４００に接続されている。また、運用管理サーバ１００、現用系業務サーバ２００、及び待機系業務サーバ３００は、ネットワーク４０１によって相互に接続されている。
【００２６】
運用管理サーバ１００は、図１の管理サーバ１に対応しており、現用系業務サーバ２００及び待機系業務サーバ３００は、上述のサービス提供サーバに対応している。なお、ＨＡクラスタシステム１０において、現用系業務サーバ２００及び待機系業務サーバ３００がクラスタサーバであり、フェールオーバーにより現用系と待機系の切り替えが行われる。すなわち、フェールオーバーにより、現用系業務サーバ２００が待機系へと切り替わるとともに、待機系業務サーバ３００が現用系へと切り替わる。
なお、以下の説明では、現用系業務サーバ２００及び待機系業務サーバ３００について、管理対象サーバと称すことがある。
【００２７】
ネットワーク４００は、図示しないクライアント装置と接続可能なパブリックＬＡＮ（Local Area Network）である。現用系業務サーバ２００は、ネットワーク４００を介して業務サービスをクライアント装置に提供する。また、ネットワーク４００は、現用系業務サーバ２００による業務サービスの提供状態を運用管理サーバ１００から監視するためにも用いられる。
ネットワーク４０１は、運用管理サーバ１００、現用系業務サーバ２００、及び待機系業務サーバ３００を相互に接続するインタコネクトＬＡＮである。ネットワーク４０１は、運用管理サーバ１００と現用系業務サーバ２００若しくは待機系業務サーバ３００との内部通信（サーバの監視、業務サービスの制御、クラスタの制御などで用いられる通信）に利用される。
【００２８】
図２に示すように、ＨＡクラスタシステム１０においては、運用管理サーバ１００にクラスタウェア１１０が設けられている。クラスタウェア１１０は、クラスタ制御部１１１と、業務サービス制御部１１２と、サーバ監視部１１３と、内部監視部１１４と、スクリプト実行部１１５と、サーバ通信部１１６と、スクリプト記憶部１１７とを有する。
【００２９】
クラスタ制御部１１１は、ＨＡクラスタシステム１０を制御するための各種処理を行う。すなわち、クラスタ制御部１１１は、例えば、フェールオーバーの実行の制御などを行う。
業務サービス制御部１１２は、現用系業務サーバ２００の業務サービス提供部２０１及び待機系業務サーバ３００の業務サービス提供部３０１の起動及び停止を制御する。
【００３０】
サーバ監視部１１３は、現用系業務サーバ２００及び待機系業務サーバ３００の動作状態を監視する。例えば、サーバ監視部１１３は、現用系業務サーバ２００において正常に業務サービスが提供されているか否か、現用系業務サーバ２００及び待機系業務サーバ３００においてハードウェア及びソフトウェアなどの異常が発生していないかを監視する。
【００３１】
内部監視部１１４（内部監視処理部とも称す）は、クラスタ制御部１１１、業務サービス制御部１１２、及びサーバ監視部１１３の動作状態を監視する。なお、内部監視部１１４は、クラスタ制御部１１１、業務サービス制御部１１２、及びサーバ監視部１１３の全てについて監視することが好ましいが、これらの一部のみの動作状態を監視してもよいし、他のユニットの動作状態を監視してもよい。
また、内部監視部１１４は、これらの動作状態が異常であることを検知した場合、他の装置、又は運用管理者などに対し、異常の発生を報知してもよい。これにより、ＨＡクラスタシステム１０の異常が発生した場合の所定の処理の実行、又は運用管理者による所定の運用が可能となる。
内部監視部１１４は、具体的には、クラスタ制御部１１１、業務サービス制御部１１２、及びサーバ監視部１１３のプロセスの死活監視を行う。
【００３２】
スクリプト実行部１１５は、スクリプト記憶部１１７に記憶されたスクリプトを実行する。例えば、スクリプト実行部１１５は、サーバ監視部１１３の要求により、現用系業務サーバ２００及び待機系業務サーバ３００を監視するためのスクリプトを実行する。また、例えば、スクリプト実行部１１５は、業務サービス制御部１１２の要求により、現用系業務サーバ２００又は待機系業務サーバ３００における業務サービス提供部２０１、３０１の起動又は停止を行うためのスクリプトを実行する。また、スクリプト実行部１１５は、設定ファイルからスクリプトを生成し、生成したスクリプトを所定の鍵により暗号化するなどの処理を行う。
【００３３】
サーバ通信部１１６は、他のサーバとの通信の確立処理及び切断処理などを行う。
スクリプト記憶部１１７は、スクリプト及びスクリプトを生成するための基になる設定ファイルなどを記憶する記憶領域である。
【００３４】
現用系業務サーバ２００は、業務サービス提供部２０１と、スクリプト実行部２０２と、スクリプト記憶部２０３とを有する。同様に、待機系業務サーバ３００も、業務サービス提供部３０１と、スクリプト実行部３０２と、スクリプト記憶部３０３とを有する。
【００３５】
業務サービス提供部２０１、３０１は、所定の業務サービスをネットワーク４００を介して、ネットワーク４００に接続されたクライアント装置（図示せず）に提供する。すなわち、業務サービス提供部２０１、３０１は、所定の業務サービスを提供するアプリケーションプログラムである。
【００３６】
スクリプト実行部２０２は、運用管理サーバ１００からの要求に応じて、スクリプト記憶部２０３に記憶されたスクリプトを実行する。同様に、スクリプト実行部３０２は、運用管理サーバ１００からの要求に応じて、スクリプト記憶部３０３に記憶されたスクリプトを実行する。例えば、スクリプト実行部２０２は、現用系業務サーバ２００の動作状態をチェックするスクリプト、業務サービス提供部２０１の起動又は停止を行うスクリプトを実行する。同様に、スクリプト実行部３０２は、待機系業務サーバ３００の動作状態をチェックするスクリプト、業務サービス提供部３０１の起動又は停止を行うスクリプトを実行する。なお、スクリプト実行部２０２、３０２は、常駐プロセスではなく、運用管理サーバ１００からの要求に応じて一時に作成され、スクリプト記憶部２０３、３０３のスクリプトを実行する。
スクリプト記憶部２０３、３０３は、運用管理サーバ１００から受信したスクリプトを記憶する記憶領域である。
【００３７】
図３に示すように、運用管理サーバ１００は、例えば、ネットワークインタフェース１５０、メモリ１５１、及びプロセッサ１５２を含む。なお、運用管理サーバ１００は、これ以外に、ハードディスクドライブなどの記憶装置を含んでもよい。
【００３８】
ネットワークインタフェース１５０は、ネットワーク４００、４０１を介した通信を行うために使用される。ネットワークインタフェース１５０は、例えば、ネットワークインタフェースカード（ＮＩＣ）を含んでもよい。
【００３９】
メモリ１５１は、揮発性メモリ及び不揮発性メモリの組み合わせによって構成される。メモリ１５１は、プロセッサ１５２から離れて配置されたストレージを含んでもよい。この場合、プロセッサ１５２は、図示されていない入出力インタフェースを介してメモリ１５１にアクセスしてもよい。
【００４０】
メモリ１５１は、例えば、プロセッサ１５２により実行される、１以上の命令を含むソフトウェア（コンピュータプログラム）などを格納するために使用される。
【００４１】
このプログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えばフレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば光磁気ディスク）、Compact Disc Read Only Memory（CD-ROM）、CD-R、CD-R/W、半導体メモリ（例えば、マスクROM、Programmable ROM（PROM）、Erasable PROM（EPROM）、フラッシュROM、Random Access Memory（RAM））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００４２】
プロセッサ１５２は、例えば、マイクロプロセッサ、ＭＰＵ(Micro Processor Unit)、又はＣＰＵ(Central Processing Unit)であってもよい。プロセッサ１５２は、複数のプロセッサを含んでもよい。プロセッサ１５２は、メモリ１５１からコンピュータプログラムを読み出して実行することで、クラスタ制御部１１１、業務サービス制御部１１２、サーバ監視部１１３、内部監視部１１４、スクリプト実行部１１５、及びサーバ通信部１１６の処理を行う。また、スクリプト記憶部１１７は、例えばメモリ１５１により実現される。
【００４３】
なお、現用系業務サーバ２００及び待機系業務サーバ３００も、図３に示した構成と同様のハードウェア構成となっている。このため、現用系業務サーバ２００のプロセッサは、メモリからコンピュータプログラムを読み出して実行することで、業務サービス提供部２０１及びスクリプト実行部２０２の処理を行う。また、スクリプト記憶部２０３は、例えば現用系業務サーバ２００のメモリにより実現される。同様に、待機系業務サーバ３００のプロセッサは、メモリからコンピュータプログラムを読み出して実行することで、業務サービス提供部３０１及びスクリプト実行部３０２の処理を行う。また、スクリプト記憶部３０３は、例えば待機系業務サーバ３００のメモリにより実現される。
【００４４】
以下、図４から図８フローチャートを参照しつつ、ＨＡクラスタシステム１０の各構成要素の動作について説明する。
【００４５】
図４は、ＨＡクラスタシステム１０におけるクラスタの構築処理の動作の流れを示すフローチャートである。この構築処理により、各サーバに、スクリプトが配置される。以下、図４を参照しつつ動作の流れについて説明する。
【００４６】
ステップ１００（Ｓ１００）において、運用管理者は、運用管理サーバ１００のＧＵＩ（Graphical User Interface）を介して、クラスタ構築に必要とされる監視に関する設定情報などを入力する。具体的には、運用管理者は、監視対象（サーバ名、業務サービス、ディスク、プロセッサなど）、監視設定（インタバール、タイムアウト、リトライ回数など）、障害発生時の対処(プロセス再起動、フェールオーバー、サーバ再起動など)などを、指定する。
【００４７】
次に、ステップ１０１（Ｓ１０１）において、クラスタ制御部１１１は、ＧＵＩからの入力を受け付けると、入力内容に従った設定ファイルの作成をスクリプト実行部１１５に要求する。そして、ステップ１０２（Ｓ１０２）において、スクリプト実行部１１５は、設定ファイル生成用の所定のスクリプトを実行することにより、入力内容を基づく設定ファイルを作成し、スクリプト記憶部１１７に格納する。
【００４８】
次に、ステップ１０３（Ｓ１０３）において、クラスタ制御部１１１は、スクリプト実行部１１５に、設定ファイルに従った処理を実行するためのスクリプトの生成を要求する。そして、スクリプト実行部１１５は、スクリプト生成用の所定のスクリプトを実行する。これにより、ステップ１０４（Ｓ１０４）において、スクリプト実行部１１５は、スクリプト記憶部１１７から設定ファイルを取得し、ステップ１０５（Ｓ１０５）において、設定ファイルに従った処理を実行可能なスクリプトを生成する。スクリプト実行部１１５は、生成したスクリプトをスクリプト記憶部１１７に記憶する。
【００４９】
次に、ステップ１０６（Ｓ１０６）において、クラスタ制御部１１１は、ステップ１０５で生成された管理対象サーバ向けのスクリプトの転送をスクリプト実行部１１５に要求する。スクリプト実行部１１５は、転送用の所定のスクリプトを実行することにより、以下のようにスクリプトを管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）に転送する。
スクリプト実行部１１５は、ステップ１０７（Ｓ１０７）において、スクリプト記憶部１１７から管理対象サーバ向けのスクリプトを取得し、ステップ１０８（Ｓ１０８）において、所定の秘密鍵を使ってスクリプトを暗号化する。そして、スクリプト実行部１１５は、ステップ１０９（Ｓ１０９）において、暗号化したスクリプトを管理対象サーバに転送する。
【００５０】
現用系業務サーバ２００は、受信したスクリプトをスクリプト記憶部２０３に記憶し、待機系業務サーバ３００は、受信したスクリプトをスクリプト記憶部３０３に記憶する。したがって、本実施の形態では、管理対象サーバにおけるスクリプトの実行のたびに、スクリプトの転送を行う必要がなく、スクリプトの実行までに要する時間を抑制することができる。また、管理対象サーバでは暗号化されたスクリプトが記憶されるため、セキュリティを担保できる。
【００５１】
このように、クラスタ制御部１１１及びスクリプト実行部１１５は、図１の送信処理部２に対応している。すなわち、クラスタ制御部１１１及びスクリプト実行部１１５は、管理対象サーバの動作（管理対象サーバの状態）を監視するための監視スクリプトを、管理対象サーバに送信する処理を行う。また、クラスタ制御部１１１及びスクリプト実行部１１５は、フェールオーバーについての管理対象サーバの動作（例えば、業務サービス提供部２０１、３０１の起動、停止など）を制御するための制御スクリプトを、管理対象サーバに送信する処理を行う。
【００５２】
なお、クラスタの設定を変更する場合、クラスタ制御部１１１は、変更内容を基づいて設定ファイルを更新するようスクリプト実行部１１５に要求する。これに対し、スクリプト実行部１１５は、上記と同様の処理を行い、再度、暗号化されたスクリプトを管理対象サーバに転送する。
【００５３】
図５は、ＨＡクラスタシステム１０におけるクラスタの起動の動作の流れを示すフローチャートである。以下、図５を参照しつつ動作の流れについて説明する。
【００５４】
ステップ２００（Ｓ２００）において、内部監視部１１４は、クラスタ制御部１１１の動作状態の監視を開始する。すなわち、内部監視部１１４は、クラスタ制御部１１１のプロセスの死活監視を開始する。
【００５５】
次に、ステップ２０１（Ｓ２０１）において、クラスタ制御部１１１は、業務サービス制御部１１２を起動する。すなわち、クラスタ制御部１１１は、業務サービス制御部１１２のプロセスを開始させる。
業務サービス制御部１１２が起動すると、ステップ２０２（Ｓ２０２）において、内部監視部１１４は、業務サービス制御部１１２の動作状態の監視を開始する。すなわち、内部監視部１１４は、業務サービス制御部１１２のプロセスの死活監視を開始する。
【００５６】
次に、ステップ２０３（Ｓ２０３）において、クラスタ制御部１１１は、業務サービス制御部１１２に対し、現用系業務サーバ２００における業務サービス提供部２０１の起動を要求する。
ステップ２０４（Ｓ２０４）において、業務サービス制御部１１２は、スクリプト実行部１１５に対し、現用系業務サーバ２００における業務サービス提供部２０１の起動を要求する。
ステップ２０５（Ｓ２０５）において、スクリプト実行部１１５は、業務サービス提供部２０１の起動を現用系業務サーバ２００に要求するスクリプトを実行することにより、現用系業務サーバ２００にこれを要求する。
【００５７】
ステップ２０６（Ｓ２０６）において、運用管理サーバ１００から要求を受けた現用系業務サーバ２００のスクリプト実行部２０２は、業務サービス提供部２０１の起動用のスクリプトをスクリプト記憶部２０３から取得する。なお、業務サービス提供部２０１の起動用のスクリプトは、図４に示した処理により予めスクリプト記憶部２０３に記憶されている。
ステップ２０７（Ｓ２０７）において、現用系業務サーバ２００のスクリプト実行部２０２は、取得したスクリプトを実行することにより、業務サービス提供部２０１を起動する。これにより、現用系業務サーバ２００からクライアント装置（ユーザ）へのネットワーク４００を介した業務サービスの提供が開始される（ステップ２０８（Ｓ２０８））。
【００５８】
業務サービス提供部２０１の起動を要求した運用管理サーバ１００のクラスタ制御部１１１は、ステップ２０９（Ｓ２０９）において、サーバ監視部１１３を起動する。すなわち、クラスタ制御部１１１は、サーバ監視部１１３のプロセスを開始させる。
サーバ監視部１１３が起動すると、ステップ２１０（Ｓ２１０）において、内部監視部１１４は、サーバ監視部１１３の動作状態の監視を開始する。すなわち、内部監視部１１４は、サーバ監視部１１３のプロセスの死活監視を開始する。
【００５９】
図６は、ＨＡクラスタシステム１０における監視動作の流れを示すフローチャートである。以下、図６を参照しつつ動作の流れについて説明する。なお、継続的に監視を行うため、図６に示される動作は繰り返し実行される。
【００６０】
ステップ３００（Ｓ３００）において、サーバ監視部１１３は、現用系業務サーバ２００による業務サービスの提供状態を確認するための処理をスクリプト実行部１１５に要求する。具体的には、現用系業務サーバ２００の業務サービス提供部２０１によって提供される業務サービスにネットワーク４００を介して運用管理サーバ１００からアクセスできるか否かを確認する処理をスクリプト実行部１１５に要求する。
ステップ３０１（Ｓ３０１）において、スクリプト実行部１１５は、業務サービスの提供状態の確認用の所定のスクリプトを実行することにより、業務サービスへのアクセスパスを確認する。これにより、ネットワーク４００経由で正常に現用系業務サーバ２００の業務サービスにアクセスできるか否かが確認される。
【００６１】
また、ＨＡクラスタシステム１０においては、運用管理サーバ１００からのネットワーク４０１経由の要求に応じて、現用系業務サーバ２００及び待機系業務サーバ３００における監視用のスクリプトの実行が行われる。
具体的には、まず、ステップ３０２（Ｓ３０２）において、サーバ監視部１１３は、管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）の動作状態の確認をスクリプト実行部１１５に要求する。
ステップ３０３（Ｓ３０３）において、スクリプト実行部１１５は、動作確認を要求するための所定のスクリプトを実行することにより、管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）に対し、動作状態の確認を要求する。すなわち、スクリプト実行部１１５は、現用系業務サーバ２００に対し、現用系業務サーバ２００の監視用のスクリプトの実行を要求し、待機系業務サーバ３００に対し、待機系業務サーバ３００の監視用のスクリプトの実行を要求する。
【００６２】
ステップ３０４（Ｓ３０４）において、管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）は、監視用のスクリプトを実行することにより、自装置の状態を確認する。すなわち、運用管理サーバ１００から要求を受けた現用系業務サーバ２００のスクリプト実行部２０２は、監視用のスクリプトをスクリプト記憶部２０３から取得する。そして、現用系業務サーバ２００のスクリプト実行部２０２は、取得したスクリプトを実行することにより、現用系業務サーバ２００の動作状態を確認する。同様に、運用管理サーバ１００から要求を受けた待機系業務サーバ３００のスクリプト実行部３０２は、監視用のスクリプトをスクリプト記憶部３０３から取得する。そして、待機系業務サーバ３００のスクリプト実行部３０２は、取得したスクリプトを実行することにより、待機系業務サーバ３００の動作状態を確認する。なお、監視用のスクリプトは、図４に示した処理により予めスクリプト記憶部２０３、３０３に記憶されている。
監視用のスクリプトの実行により、管理対象サーバのハードウェア及びソフトウェアなどの状態情報が取得される。具体的には、例えば、アプリケーションのプロセスの死活状態、ディスクへのアクセスパスの動作状態、ＬＡＮケーブルのリンク状態、ＮＩＣの状態などの状態情報が取得される。スクリプト実行部２０２、３０２は、監視用のスクリプトの実行結果、すなわち管理対象サーバの状態情報を運用管理サーバ１００に送信し、運用管理サーバ１００のスクリプト実行部１１５によってこれが取得される（ステップ３０５（Ｓ３０５））。
【００６３】
ステップ３０６（Ｓ３０６）において、スクリプト実行部１１５は、ステップ３０１において得られた結果及びステップ３０５において得られた結果を、監視情報として、サーバ監視部１１３に出力する。
次に、ステップ３０７（Ｓ３０７）においては、サーバ監視部１１３は、ステップ３０６で取得した監視情報に基づいて、管理対象サーバが正常であるか否か、すなわち障害が発生していないか否かを判定する。なお、ステップ３０７における判定は、監視情報の分析（例えば、管理対象サーバが正常である場合に期待される監視結果と、実際の監視結果との比較）によって行われてもよい。
【００６４】
このように、サーバ監視部１１３及びスクリプト実行部１１５は、図１のサーバ監視処理部３に相当する。すなわち、サーバ監視部１１３及びスクリプト実行部１１５は、管理対象サーバに対し、監視用のスクリプトの実行及び実行結果の返信を要求し、この実行結果に基づいて管理対象サーバの動作状態を監視する。
【００６５】
図７は、ＨＡクラスタシステム１０におけるフェールオーバー動作を示すフローチャートである。ＨＡクラスタシステム１０は、現用系業務サーバ２００に障害が発生した場合、以下のような処理を行う。すなわち、図６のステップ３０７において、現用系業務サーバ２００の障害が検出された場合、ＨＡクラスタシステム１０は以下のような処理を行う。以下、図７を参照しつつ動作の流れについて説明する。
【００６６】
ステップ４００（Ｓ４００）において、現用系業務サーバ２００に障害が発生したことを検知したサーバ監視部１１３は、クラスタ制御部１１１に異常の発生を通知する。
次にステップ４０１（Ｓ４０１）において、異常の発生の通知を受けたクラスタ制御部１１１は、待機系業務サーバ３００が正常に業務サービスを引き継げるかどうかの確認をサーバ監視部１１３に要求する。サーバ監視部１１３は、図６のステップ３０７で得られた待機系業務サーバ３００の状態に基づいて、待機系業務サーバ３００が正常に業務サービスを引き継げるかどうかを判定する。サーバ監視部１１３は、待機系業務サーバ３００が正常である場合、待機系業務サーバ３００が正常に業務サービスを引き継げると判定する。
【００６７】
待機系業務サーバ３００が正常に業務サービスを引き継げる場合、クラスタ制御部１１１は、業務サービス制御部１１２にフェールオーバーを要求する。具体的には、以下のような処理が行われ、現用系業務サーバ２００による業務サービスの提供から、待機系業務サーバ３００による業務サービスの提供へとシステムの状態が切替えられる。
【００６８】
ステップ４０２（Ｓ４０２）において、クラスタ制御部１１１は、業務サービス制御部１１２に、現用系業務サーバ２００による業務サービスの提供を停止する制御を要求する。これに対し、業務サービス制御部１１２は、ステップ４０３（Ｓ４０３）において、スクリプト実行部１１５に対し、現用系業務サーバ２００における業務サービス提供部２０１の停止を要求する。
ステップ４０４（Ｓ４０４）において、スクリプト実行部１１５は、業務サービス提供部２０１の停止を現用系業務サーバ２００に要求するスクリプトを実行することにより、現用系業務サーバ２００にこれを要求する。すなわち、スクリプト実行部１１５は、現用系業務サーバ２００に対し、業務サービス提供部２０１の停止のためのスクリプトの実行を要求する。
そして、ステップ４０５（Ｓ４０５）において、要求を受けた現用系業務サーバ２００のスクリプト実行部２０２は、業務サービス提供部２０１を停止するためのスクリプトを実行する。すなわち、運用管理サーバ１００から要求を受けた現用系業務サーバ２００のスクリプト実行部２０２は、業務サービス提供部２０１の停止用のスクリプトをスクリプト記憶部２０３から取得する。そして、現用系業務サーバ２００のスクリプト実行部２０２は、取得したスクリプトを実行することにより、現用系業務サーバ２００による業務サービスの提供を停止する。なお、停止用のスクリプトは、図４に示した処理により予めスクリプト記憶部２０３に記憶されている。
【００６９】
また、ステップ４０６（Ｓ４０６）において、クラスタ制御部１１１は、業務サービス制御部１１２に、待機系業務サーバ３００による業務サービスの提供を開始する制御を要求する。これに対し、業務サービス制御部１１２は、ステップ４０７（Ｓ４０７）において、スクリプト実行部１１５に対し、待機系業務サーバ３００における業務サービス提供部３０１の起動を要求する。
ステップ４０８（Ｓ４０８）において、スクリプト実行部１１５は、業務サービス提供部３０１の起動を待機系業務サーバ３００に要求するスクリプトを実行することにより、待機系業務サーバ３００にこれを要求する。すなわち、スクリプト実行部１１５は、待機系業務サーバ３００に対し、業務サービス提供部３０１の起動のためのスクリプトの実行を要求する。
そして、ステップ４０９（Ｓ４０９）において、要求を受けた待機系業務サーバ３００のスクリプト実行部３０２は、業務サービス提供部３０１を起動するためのスクリプトを実行する。すなわち、運用管理サーバ１００から要求を受けた待機系業務サーバ３００のスクリプト実行部３０２は、業務サービス提供部３０１の起動用のスクリプトをスクリプト記憶部３０３から取得する。そして、待機系業務サーバ３００のスクリプト実行部３０２は、取得したスクリプトを実行することにより、待機系業務サーバ３００による業務サービスの提供を開始する。なお、起動用のスクリプトは、図４に示した処理により予めスクリプト記憶部３０３に記憶されている。
このようにして、待機系業務サーバ３００からの業務サービスの提供を可能とし、フェールオーバーを完了する。
【００７０】
このように、クラスタ制御部１１１、業務サービス制御部１１２、及びスクリプト実行部１１５は、図１のクラスタ制御処理部４に相当する。すなわち、クラスタ制御部１１１、業務サービス制御部１１２、及びスクリプト実行部１１５は、現用系業務サーバ２００が異常である場合、フェールオーバーを行うためのスクリプトの実行を管理対象サーバに要求する。
【００７１】
図８は、ＨＡクラスタシステム１０におけるスクリプトの実行に関する動作を示すフローチャートである。なお、図８において、上段は、運用管理サーバ１００が管理対象サーバにスクリプトを実行させる際の動作の流れを示し、下段は、運用管理サーバ１００においてスクリプトを実行する際の動作の流れを示す。以下、図８を参照しつつ動作の流れについて説明する。
【００７２】
まず、運用管理サーバ１００が管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）にスクリプトを実行させる際の動作（リモート実行の動作）の流れを説明する。
ステップ５００（Ｓ５００）において、運用管理サーバ１００のスクリプト実行部１１５は、サーバ通信部１１６に、管理対象サーバへの通信セッションの確立を要求する。これに対し、ステップ５０１（Ｓ５０１）において、サーバ監視部１１３は、管理対象サーバ、すなわち、現用系業務サーバ２００又は待機系業務サーバ３００への通信セッションを確立する。なお、図６のステップ３０１による処理が行われる場合、サーバ通信部１１６は、ネットワーク４００（パブリックＬＡＮ)での通信セッションを確立する。それ以外の場合は、サーバ通信部１１６は、ネットワーク４０１（インタコネクトＬＡＮ）での通信セッションを確立する。
【００７３】
次に、ステップ５０２（Ｓ５０２）において、業務サービス制御部１１２又はサーバ監視部１１３からの要求に従い、スクリプト実行部１１５は、管理対象サーバのスクリプト実行部２０２又は３０２に対し、スクリプトの実行を要求する。このとき、スクリプト実行部１１５は、暗号化されてスクリプト記憶部２０３、３０３に記憶されているスクリプトの復号に必要な鍵を送信する。
【００７４】
ステップ５０３（Ｓ５０３）において、スクリプト実行部２０２、３０２は、スクリプト記憶部２０３、３０３からスクリプトを取得する。そして、ステップ５０４（Ｓ５０４）において、受信した鍵を用いて、スクリプトを復号し、ステップ５０５（Ｓ５０５）において、復号したスクリプトを実行する。その後、ステップ５０６（Ｓ５０６）において、スクリプト実行部２０２、３０２は、スクリプトの実行結果を運用管理サーバ１００のスクリプト実行部１１５に送信する。
【００７５】
次に、ステップ５０７（Ｓ５０７）において、実行結果を管理対象サーバから取得したスクリプト実行部１１５は、サーバ通信部１１６に、管理対象サーバへの通信セッションの切断を要求する。これに対し、ステップ５０８（Ｓ５０８）において、サーバ監視部１１３は、管理対象サーバへの通信セッションを切断する。なお、実行結果を取得したスクリプト実行部１１５は、要求元である業務サービス制御部１１２又はサーバ監視部１１３に実行結果を出力する。
このように、本実施の形態では、運用管理サーバ１００から管理対象サーバへのリモートログインによるスクリプトの実行が行われる。なお、リモートログインでは、ＳＳＨ（Secure Shell）が用いられてもよい。
【００７６】
次に、運用管理サーバ１００においてスクリプトを実行する際の動作（ローカル実行の動作）の流れを説明する。この場合、図８の下段に示されるように、通信セッション確立、切断、スクリプトの復号などの処理は行われず、スクリプト記憶部１１７にあるスクリプトが実行される。すなわち、ステップ５５０（Ｓ５５０）において、スクリプト実行部１１５は、スクリプト記憶部１１７から実行対象のスクリプトを取得する。そして、ステップ５５１（Ｓ５５１）において、スクリプト実行部１１５は、取得したスクリプトを実行する。このような処理により、運用管理サーバ１００におけるクラスタウェア１１０のプロセス監視（内部監視部１１４による監視）などが実行される。この場合、スクリプト実行部１１５の実行結果は、要求元の内部監視部１１４に出力される。
【００７７】
以上、実施の形態１について説明した。実施の形態１にかかるＨＡクラスタシステム１０では、運用管理サーバ１００に、上述したクラスタウェア１１０が設けられており、管理対象サーバは、クラスタウェア１１０からの要求によりスクリプトの実行及び実行結果の返信を行う。このため、管理対象サーバがクラスタウェアを有することに起因した問題（例えば、既存環境を有効活用できない、クラスタウェアの処理負荷がかかるなどの問題）の発生を回避することができる。
【００７８】
また、ＨＡクラスタシステム１０では、図６を用いて説明したように、運用管理サーバ１００は、クライアント装置に対して業務サービスを提供するために利用されるネットワーク４００を介して、管理対象サーバによる業務サービスの提供状態を監視する。そして、運用管理サーバ１００は、そのような監視により、管理対象サーバにより業務サービスが正常に提供されていないことを検出した場合、フェールオーバーについての管理対象サーバの動作を制御するためのスクリプトの実行を管理対象サーバに要求する。
ところで、業務サービスを提供できているかを判断するのが提供元のサーバである場合、実際に外部のクライアント装置に対し、ネットワーク４００経由で正常に業務サービスを提供できているかを確実に判定できない。
これに対し、ＨＡクラスタシステム１０は、実際の外部のクライアント装置と同等のアクセスが行われるため、業務サービスが正常に提供できているか否かをより正確に判定することができる。
【００７９】
＜実施の形態２＞
次に、実施の形態２について説明する。なお、以下の説明では、実施の形態１と重複する構成、動作については説明を割愛する。本実施の形態では、管理対象サーバが備えるＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）に対する処理を運用管理サーバが行う点で、上述の実施の形態と異なっている。
【００８０】
図９は、実施の形態２にかかるＨＡクラスタシステム２０の一例を示すブロック図である。図９に示すように、現用系業務サーバ２００はＢＭＣ２０４を備え、同様に、待機系業務サーバ３００は、ＢＭＣ３０４を備えている。ＢＭＣ２０４、３０４は、ＯＳとは独立に動作して、プロセッサ、メモリなどといったサーバを構成するハードウェアの監視機能と、サーバの起動及び停止の制御などを行う。ＢＭＣ２０４、３０４は、例えばＩＰＭＩ(Intelligent Platform Management Interface)規格に準拠しており、ＢＭＣとの通信用のＬＡＮ（ＢＭＣ  ＬＡＮ）であるネットワーク４０２に接続されている。ＢＭＣ２０４、３０４は、ハードウェア障害等のために管理対象サーバのＯＳがダウンしている際においても、障害通報機能およびリモートコントロール機能を運用管理サーバ１００に提供する。
管理対象サーバのＯＳがダウンした場合、運用管理サーバ１００からネットワーク４０１経由で管理対象サーバにスクリプトを実行させることにより管理対象サーバを監視及び制御することが不可能になる。そのような場合であっても、管理対象サーバにＢＭＣが搭載されている本実施の形態においては、図１０に示すように、運用管理サーバ１００からネットワーク４０２経由で管理対象サーバを監視・制御(死活監視、強制停止など)することができる。
【００８１】
図１０は、ＨＡクラスタシステム２０におけるＢＭＣを用いたサーバ監視及びサーバ制御の動作を示すフローチャートである。以下、図１０を参照しつつ動作の流れについて説明する。
【００８２】
ステップ６００(Ｓ６００)において、サーバ監視部１１３は、管理対象サーバ（現用系業務サーバ２００及び待機系業務サーバ３００）の動作状態の確認をスクリプト実行部１１５に要求する。
ステップ６０１（Ｓ６０１）において、スクリプト実行部１１５は、管理対象サーバの状態情報を要求するための所定のスクリプトを実行する。すなわち、スクリプト実行部１１５は、ＢＭＣ２０４、３０４から管理対象サーバの動作状態を取得するためのコマンド（監視用のＩＰＭＩコマンド）をネットワーク４０２経由で送信する。
【００８３】
ステップ６０２（Ｓ６０２）において、コマンドを受信したＢＭＣ２０４、３０４は、ハードウェアの各種情報（ＣＰＵ情報、メモリ情報、ＯＳ状態等）である監視情報（状態情報とも称す）を取得する。
そして、ステップ６０３（Ｓ６０３）において、ＢＭＣ２０４、３０４は、運用管理サーバ１００に監視情報を送信する。
ステップ６０４（Ｓ６０４）において、ＢＭＣ２０４、３０４から監視情報を取得した運用管理サーバ１００のスクリプト実行部１１５は、監視情報をサーバ監視部１１３に出力する。
ステップ６０５（Ｓ６０５）において、サーバ監視部１１３は、ステップ６０４で取得した監視情報を分析し、管理対象サーバの状態を確認する。すなわち、サーバ監視部１１３は、管理対象サーバが正常であるか否か、すなわち障害が発生していないか否かを判定する。
【００８４】
ステップ６０５においてサーバ監視部１１３が管理対象サーバの異常を検出した場合、ステップ６０６（Ｓ６０６）において、サーバ監視部１１３は、クラスタ制御部１１１に管理対象サーバにおける異常の発生を通知する。
ステップ６０７（Ｓ６０７）において、通知を受けたクラスタ制御部１１１は、スクリプト実行部１１５に、障害発生時の処理（管理対象サーバの再起動等）を要求する。
ステップ６０８（Ｓ６０８）において、スクリプト実行部１１５は、障害発生時の処理をＢＭＣ２０４、３０４に要求するための所定のスクリプトを実行する。すなわち、スクリプト実行部１１５は、例えば、ＢＭＣ２０４、３０４に管理対象サーバの電源オフコマンド又は電源オンコマンド（電源制御用のＩＰＭＩコマンド）をネットワーク４０２経由で送信する。
ステップ６０９（Ｓ６０９）において、コマンドを受信したＢＭＣ２０４、３０４は、管理対象サーバの電源制御を行う。これにより、例えば、障害発生時の処理として、障害が発生した管理対象サーバの再起動が行われる。または、例えば、障害発生時の処理として、障害が発生した現用系業務サーバ２００の停止及び待機系業務サーバ３００の起動が行われる。なお、待機系業務サーバ３００が停止している状態において現用系業務サーバ２００の障害を検出した場合、現用系業務サーバ２００を電源オフにし、待機系業務サーバ３００を電源オンにすれば、ＩＰ（Internet Protocol）アドレス等の衝突が発生しない。すなわち、クライアント装置からの接続の切り替えが不要になる。
【００８５】
ステップ６０９におけるＢＭＣ２０４、３０４による処理が行われると、ステップ６１０（Ｓ６１０）において、処理の実行結果が運用管理サーバ１００のスクリプト実行部１１５に返信される。また、ステップ６１１（Ｓ６１１）において、クラスタ制御部１１１は、この実行結果をスクリプト実行部１１５から取得する。
【００８６】
このように、本実施の形態では、運用管理サーバ１００は、管理対象サーバのＢＭＣに対し、管理対象サーバの状態情報の返信を要求し、この状態情報に基づいて管理対象サーバの状態を監視する。そして、運用管理サーバ１００は、管理対象サーバの異常を示す状態情報がＢＭＣから得られた場合、ＢＭＣに対し管理対象サーバの電源制御を要求する。このような構成によれば、管理対象サーバにおいて監視用又は制御用のスクリプトが実行できないような状況において、適切に対応することができる。
【００８７】
＜実施の形態３＞
次に、実施の形態３について説明する。本実施の形態は、業務サービスを提供するサーバのいずれかが運用管理サーバとしても用いられる点で、実施の形態１と異なっている。以下、実施の形態１と異なる点について説明し、実施の形態１と同様の構成及び動作に関しては説明を割愛する。
【００８８】
図１１は、実施の形態３にかかるＨＡクラスタシステム３０の一例を示すブロック図である。図１１に示すように、ＨＡクラスタシステム３０は、運用管理・待機系業務サーバ５００と、現用系業務サーバ２００とを有している。図１１に示すように、運用管理・待機系業務サーバ５００は、クラスタウェア１１０の他に業務サービス提供部１２０を有する点で、実施の形態１にかかる運用管理サーバ１００と異なる。すなわち、運用管理・待機系業務サーバ５００は、実施の形態１にかかる運用管理サーバ１００において、業務サービス提供部１２０が追加されたサーバともいえる。業務サービス提供部１２０は、上述した業務サービス提供部２０１、３０１と同様の動作を行う。
【００８９】
なお、本実施の形態において、運用管理・待機系業務サーバ５００が自サーバを監視する際、サーバ監視部１１３は、図８の下段に示した動作と同様に、スクリプト実行部１１５に対し、スクリプト記憶部１１７のスクリプトをローカルで実行するよう要求する。また、業務サービス提供部１２０を起動又は停止する際も、図８の下段に示した動作と同様に、スクリプト実行部１１５に対し、スクリプト記憶部１１７のスクリプトをローカルで実行するよう要求する。
【００９０】
このように、運用管理を行うサーバが業務サービス提供部１２０を有することにより、当該サーバを運用管理だけでなく、待機系のサーバとしても利用することができる。また、このような構成によれば、待機系のサーバとして用意するサーバの台数を削減することもできるため、システムの導入コストを抑制することができる。
【００９１】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。例えば、実施の形態３において、実施の形態２で説明したＢＭＣを用いた制御が行われてもよい。
【００９２】
以上、実施の形態を参照して本願発明を説明したが、本願発明は上記によって限定されるものではない。本願発明の構成や詳細には、発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【００９３】
この出願は、２０１８年３月６日に出願された日本出願特願２０１８−３９３９０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００９４】
１    管理サーバ
２    送信処理部
３    サーバ監視処理部
４    クラスタ制御処理部
１０、２０、３０    ＨＡクラスタシステム
１００    運用管理サーバ
１１０    クラスタウェア
１１１    クラスタ制御部
１１２    業務サービス制御部
１１３    サーバ監視部
１１４    内部監視部
１１５、２０２、３０２    スクリプト実行部
１１６    サーバ通信部
１１７、２０３、３０３    スクリプト記憶部
１２０、２０１、３０１    業務サービス提供部
１５０    ネットワークインタフェース
１５１    メモリ
１５２    プロセッサ
２００    現用系業務サーバ
３００    待機系業務サーバ
４００、４０１、４０２    ネットワーク
５００    運用管理・待機系業務サーバ
【図１】
2019171704.tif 000003
【図２】
2019171704.tif 000004
【図３】
2019171704.tif 000005
【図４】
2019171704.tif 000006
【図５】
2019171704.tif 000007
【図６】
2019171704.tif 000008
【図７】
2019171704.tif 000009
【図８】
2019171704.tif 000010
【図９】
2019171704.tif 000011
【図１０】
2019171704.tif 000012
【図１１】
2019171704.tif 000013
【手続補正書】
【提出日】令和2年8月17日(2020.8.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理手段と、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理手段と、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理手段と
を有する管理サーバ。
【請求項２】
前記サーバ監視処理手段は、さらに、前記サービス提供サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記サービス提供サーバによる前記所定のサービスの提供状態を監視し、
前記クラスタ制御処理手段は、さらに、前記サービス提供サーバにより前記所定のサービスが正常に提供されていない場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
請求項１に記載の管理サーバ。
【請求項３】
前記サービス提供サーバは、ＢＭＣ（Ｂａｓｅｂｏａｒｄ  Ｍａｎａｇｅｍｅｎｔ  Ｃｏｎｔｒｏｌｌｅｒ）を備えたサーバであり、
前記サーバ監視処理手段は、さらに、前記サービス提供サーバの前記ＢＭＣに対し、前記サービス提供サーバの状態情報の返信を要求し、該状態情報に基づいて前記サービス提供サーバの状態を監視し、
前記クラスタ制御処理手段は、前記サービス提供サーバの異常を示す状態情報が前記ＢＭＣから得られた場合、前記ＢＭＣに対し前記サービス提供サーバの電源制御を要求する
請求項１又は２に記載の管理サーバ。
【請求項４】
前記サーバ監視処理手段又は前記クラスタ制御処理手段の少なくともいずれか一つの動作状態を監視する内部監視処理手段をさらに有する
請求項１乃至３のいずれか１項に記載の管理サーバ。
【請求項５】
前記所定のサービスを提供するサービス提供手段をさらに有する
請求項１乃至４のいずれか１項に記載の管理サーバ。
【請求項６】
所定のサービスを提供するための現用系サーバと、
前記所定のサービスを提供するための待機系サーバと、
前記現用系サーバ及び前記待機系サーバにおけるフェールオーバーを制御する管理サーバと、
を備え、
前記管理サーバは、
前記現用系サーバの動作を監視するための第１の監視スクリプトと、フェールオーバーについての前記現用系サーバの動作を制御するための第１の制御スクリプトとを前記現用系サーバに送信する処理と、前記待機系サーバの動作を監視するための第２の監視スクリプトと、フェールオーバーについての前記待機系サーバの動作を制御するための第２の制御スクリプトとを前記待機系サーバに送信する処理とを行う送信処理手段と、
前記現用系サーバ及び前記待機系サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記現用系サーバ及び前記待機系サーバの動作状態を監視するサーバ監視処理手段と、
前記現用系サーバの前記監視スクリプトの前記実行結果が前記現用系サーバの異常を示す場合、前記第１の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第２の制御スクリプトの実行を前記待機系サーバに要求するクラスタ制御処理手段と
を有する
クラスタシステム。
【請求項７】
前記サーバ監視処理手段は、さらに、前記現用系サーバがクライアント装置に対して前記所定のサービスを提供するために利用されるネットワークを介して、前記現用系サーバによる前記所定のサービスの提供状態を監視し、
前記クラスタ制御処理手段は、さらに、前記現用系サーバにより前記所定のサービスが正常に提供されていない場合、前記第１の制御スクリプトの実行を前記現用系サーバに要求するとともに前記第２の制御スクリプトの実行を前記待機系サーバに要求する
請求項６に記載のクラスタシステム。
【請求項８】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信し、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視し、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求する
クラスタシステムの制御方法。
【請求項９】
所定のサービスを提供するサービス提供サーバの動作を監視するための監視スクリプトと、フェールオーバーについての前記サービス提供サーバの動作を制御するための制御スクリプトとを、前記サービス提供サーバに送信する処理を行う送信処理ステップと、
前記サービス提供サーバに対し、前記監視スクリプトの実行及び実行結果の返信を要求し、該実行結果に基づいて前記サービス提供サーバの動作状態を監視するサーバ監視処理ステップと、
前記監視スクリプトの前記実行結果が前記サービス提供サーバの異常を示す場合、前記制御スクリプトの実行を前記サービス提供サーバに要求するクラスタ制御処理ステップと
をコンピュータに実行させるプログラム。
【国際調査報告】
2019171704.tif 000014
2019171704.tif 000015
2019171704.tif 000016
2019171704.tif 000017