(57)【要約】【課題】障害毎に、当該障害の発生時における各コンピュータの動作状況を的確に検証することができる障害時動作検証装置を提供する。【解決手段】定常負荷発生部１１はクラスタリングシステム５０の各サーバ５１ａ，５１ｂに対して定常的な負荷を継続的に与える。障害発生部１２はシステム５０に特定の障害を発生させる。処理速度計測部１３は、各サーバ５１ａ，５１ｂに対して負荷を継続的に与え始めた後に障害発生部１２がシステム５０に特定の障害を発生させた場合に、少なくとも当該障害が発生してからシステム５０が復旧するまでの間、サーバ５１ａ，５１ｂ毎に、負荷に対する当該サーバからの返値を受信し、当該返値に基づいて当該サーバのスループットを計測する。中央処理装置１６はその計測された結果に基づいて各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフを生成し、表示装置１５に表示させる。【選択図】図１
2005050084.tif 000002
【特許請求の範囲】
【請求項１】
一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証装置であって、
前記各コンピュータに対して定常的な負荷を与える定常負荷発生手段と、
前記コンピュータシステムに対して特定の障害を発生させる障害発生手段と、
前記定常負荷発生手段が前記各コンピュータに対して前記負荷を継続的に与え始めた後に前記障害発生手段が前記コンピュータシステムに特定の障害を発生させた場合に、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する処理速度計測手段と、
前記処理速度計測手段で得られた前記各コンピュータの処理速度を記憶する記憶手段と、
を具備することを特徴とする障害時動作検証装置。
【請求項２】
一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証装置であって、
前記各コンピュータに対して定常的な負荷を与える定常負荷発生手段と、
前記定常負荷発生手段が前記各コンピュータに対して前記負荷を継続的に与え始めた後に前記コンピュータシステムに特定の障害を発生させた場合に、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する処理速度計測手段と、
前記処理速度計測手段で計測された結果に基づいて前記各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示させるグラフ生成手段と、
を具備することを特徴とする障害時動作検証装置。
【請求項３】
前記コンピュータシステムに対して前記特定の障害を発生させる障害発生手段を備えることを特徴とする請求項２記載の障害時動作検証装置。
【請求項４】
前記障害発生手段は、ネットワークカードの障害、コンピュータと外部記憶手段との間のインターフェースの障害、コンピュータ自体の障害、アプリケーションプログラムの障害のうちいずれかの障害を発生させることを特徴とする請求項１又は３記載の障害時動作検証装置。
【請求項５】
前記コンピュータシステムは複数のコンピュータを組み合わせて一つのシステムとして利用するクラスタリングシステムであり、前記障害発生手段は、直結されたコンピュータ間のコネクト障害、クラスタソフトウェアの障害のうちいずれかの障害を発生させることを特徴とする請求項４記載の障害時動作検証装置。
【請求項６】
一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証方法であって、
検証用コンピュータが前記各コンピュータに対して定常的な負荷を継続的に与える第一ステップと、
前記コンピュータシステムに特定の障害を発生させる第二ステップと、
前記検証用コンピュータが、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する第三ステップと、
前記検証用コンピュータが、前記第三ステップで計測された結果に基づいて前記各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示する第四ステップと、
を具備することを特徴とする障害時動作検証方法。
【請求項７】
請求項１、２、３、４又は５のいずれかに記載の障害時動作検証装置の機能をコンピュータに実現させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項８】
請求項１、２、３、４又は５のいずれかに記載の障害時動作検証装置の機能をコンピュータに実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、各コンピュータの動作状況を検証するための障害時動作検証装置及び障害時動作検証方法に関する。
【背景技術】
【０００２】
コンピュータシステムはさまざまな原因から動作障害を起こすことがある。かかる動作障害が生ずると、レスポンスが低下したり、コンピュータシステムの動作が停止したりすることがある。このため、コンピュータシステムを構築する際には、このような障害をある程度想定し、高性能のマシンを導入したり、また、複数のマシンを併用する、いわゆるクラスタリングシステムを構成したりする等の対策を講じている。
【０００３】
また、従来、コンピュータシステムに発生する障害を監視する技術（例えば、特許文献１参照。）や、障害が発生したときの復旧に関する技術（例えば、特許文献２参照。）が提案されている。前者の技術によれば、例えば、二台のマシンを併用するクラスタリングシステムにおいて、二台のマシンが互いに相手のマシンに監視信号を送り、その応答信号を受信することにより、各マシンは相手のマシンにおける障害の発生を監視することができる。また、後者の技術によれば、二台のマシンが一台のストレージを共有しているクラスタリングシステムにおいて、動作している側のマシンが、ストレージ内のファイル構成の変更に関する情報を待機している側のマシンに通知することにより、動作している側のマシンに障害が発生した場合、動作している側のマシンから待機している側のマシンへの切り替えの際に、ファイルの一致処理に要する時間を短縮することができる。
【特許文献１】特開平６−１７５８６８号公報
【特許文献２】特開平５−１９７５８３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
ところで、コンピュータシステムに発生する障害については、ＣＰＵ、ネットワーク、記憶装置或いはアプリケーション等、さまざまな部位が原因となることが考えられる。そして、その原因に応じて復旧作業の内容が変わってくる。例えば、クラスタリングシステムでは、一台のマシンが障害によって停止状態になっても他のマシンが使える場合が多い。しかし、この場合、必ずしも他のマシンが同じパフォーマンスで稼動し続けるわけではなく、障害の原因によっては当該他のマシンに対する負荷があまりに高くなり、さらに障害が発生することも考えられる。つまり、コンピュータシステムでは、当該システムに発生する障害毎に、当該障害時における各マシンの動作状況を予め知ることが、システム復旧への重要な指標となる。
【０００５】
本発明は上記事情に基づいてなされたものであり、障害毎に、当該障害の発生時における各コンピュータの動作状況を的確に検証することができる障害時動作検証装置及び障害時動作検証方法を提供することを目的とするものである。
【課題を解決するための手段】
【０００６】
上記の目的を達成するための請求項１記載の発明は、一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証装置であって、前記各コンピュータに対して定常的な負荷を与える定常負荷発生手段と、前記コンピュータシステムに対して特定の障害を発生させる障害発生手段と、前記定常負荷発生手段が前記各コンピュータに対して前記負荷を継続的に与え始めた後に前記障害発生手段が前記コンピュータシステムに特定の障害を発生させた場合に、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する処理速度計測手段と、前記処理速度計測手段で得られた前記各コンピュータの処理速度を記憶する記憶手段と、を具備することを特徴とするものである。
【０００７】
上記の目的を達成するための請求項２記載の発明は、一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証装置であって、前記各コンピュータに対して定常的な負荷を与える定常負荷発生手段と、前記定常負荷発生手段が前記各コンピュータに対して前記負荷を継続的に与え始めた後に前記コンピュータシステムに特定の障害を発生させた場合に、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する処理速度計測手段と、前記処理速度計測手段で計測された結果に基づいて前記各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示させるグラフ生成手段と、を具備することを特徴とするものである。
【０００８】
請求項３記載の発明は、請求項２記載の障害時動作検証装置において、前記コンピュータシステムに対して前記特定の障害を発生させる障害発生手段を備えることを特徴とするものである。
【０００９】
請求項４記載の発明は、請求項１又は３記載の障害時動作検証装置において、前記障害発生手段は、ネットワークカードの障害、コンピュータと外部記憶手段との間のインターフェースの障害、コンピュータ自体の障害、アプリケーションプログラムの障害のうちいずれかの障害を発生させることを特徴とするものである。
【００１０】
請求項５記載の発明は、請求項４記載の障害時動作検証装置において、前記コンピュータシステムは複数のコンピュータを組み合わせて一つのシステムとして利用するクラスタリングシステムであり、前記障害発生手段は、直結されたコンピュータ間のコネクト障害、クラスタソフトウェアの障害のうちいずれかの障害を発生させることを特徴とするものである。
【００１１】
上記の目的を達成するための請求項６記載の発明は、一又は複数のコンピュータを有するコンピュータシステムに障害が発生したときに、前記各コンピュータの動作状況を検証するための障害時動作検証方法であって、検証用コンピュータが前記各コンピュータに対して定常的な負荷を継続的に与える第一ステップと、前記コンピュータシステムに特定の障害を発生させる第二ステップと、前記検証用コンピュータが、少なくとも当該障害が発生してから前記コンピュータシステムが復旧するまでの間、前記コンピュータ毎に、前記負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する第三ステップと、前記検証用コンピュータが、前記第三ステップで計測された結果に基づいて前記各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示する第四ステップと、を具備することを特徴とするものである。
【００１２】
上記の目的を達成するための請求項７記載の発明に係るコンピュータ読み取り可能な記録媒体は、請求項１、２、３、４又は５のいずれかに記載の障害時動作検証装置の機能をコンピュータに実現させるためのプログラムを記録したものである。
【００１３】
上記の目的を達成するための請求項８記載の発明に係るプログラムは、請求項１、２、３、４又は５のいずれかに記載の障害時動作検証装置の機能をコンピュータに実現させるためのものである。
【発明の効果】
【００１４】
本発明に係る障害時動作検証装置によれば、定常負荷発生手段が各コンピュータに対して負荷を継続的に与え始めた後にコンピュータシステムに特定の障害が与えられた場合に、処理速度計測手段が、コンピュータ毎に、当該負荷に対する当該コンピュータからの返値を受信し、当該返値に基づいて当該コンピュータの処理速度を計測する。このため、コンピュータシステムに各種の障害を与えて各コンピュータのスループットを計測することにより、障害毎に、当該障害の発生時における各コンピュータの動作状況を的確に検証することができる。具体的には、当該障害が発生したときに、各コンピュータが、どのくらいの時間、どの程度の処理を行うことができるのかを検証することができる。また、かかる計測結果を用いて、各コンピュータが当該障害に対して強いのか、弱いのかを評価することができるので、障害発生時におけるシステムの復旧対策を予め講じることができる。
【００１５】
また、処理速度計測手段で得られた計測結果に基づいて、障害発生時における各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示させることにより、障害発生時における各コンピュータの動作状況をオペレータに容易に知らせることができる。更に、障害発生部がコンピュータシステムに対して特定の障害を発生させることにより、処理速度の計測作業を自動で行うことができる。
【００１６】
本発明の障害時動作検証方法によれば、上記と同様に、障害毎に、当該障害の発生時における各コンピュータの動作状況を的確に検証することができる。また、障害発生時における各コンピュータの処理速度の経時変化を示すグラフを生成し、表示手段に表示させることにより、障害発生時における各コンピュータの動作状況をオペレータに容易に知らせることができる。
【発明を実施するための最良の形態】
【００１７】
以下に、図面を参照して、本願に係る発明を実施するための最良の形態について説明する。図１は本発明の一実施形態に係る障害時動作検証装置と検証の対象となるコンピュータシステムとの概略構成図である。
【００１８】
本実施形態の障害時動作検証装置１０は、一又は複数のコンピュータを有するコンピュータシステム５０に障害が発生したときに、各コンピュータの動作状況を検証するためのものである。かかる障害時動作検証装置１０は、図１に示すように、定常負荷発生部１１と、障害発生部１２と、処理速度計測部１３と、記憶部１４と、表示装置１５と、中央処理装置１６とを備える。この障害時動作検証装置１０は、例えば、パーソナルコンピュータ（検証用コンピュータ）により実現される。
【００１９】
本実施形態では、障害時動作検証装置１０による検証の対象となるコンピュータシステム５０として、二台のサーバを組み合わせて一つのシステムとして利用するクラスタリングシステムを用いる場合について説明する。かかるクラスタリングシステム５０は、図１に示すように、二台のサーバ５１ａ，５１ｂと、一台のストレージ（外部記憶手段）５２とを有する。サーバ５１ａ，５１ｂとしては略同じ性能のものが用いられる。また、ストレージ５２には、データベースが構築されている。各サーバ５１ａ，５１ｂには、図１に示すように、データベースを管理するためのアプリケーションプログラムＥが組み込まれている。ここで、データベースを管理するためのアプリケーションプログラムとしては、例えば、Oracle社製のソフトウェアを用いることができる。尚、図１では、各サーバ５１ａ，５１ｂ自体を「Ｄ」という符号でも表している。
【００２０】
このクラスタリングシステム５０では、二台のサーバ５１ａ，５１ｂを設けているので、例えば、システムの一部に障害が発生し、一方のサーバ５１ａ（５１ｂ）の機能が停止した場合に、当該一方のサーバ５１ａ（５１ｂ）から他方のサーバ５１ｂ（５１ａ）に処理を引き継がせることができる。これにより、障害発生時にシステム全体がダウンしてしまうことを防ぐことができる。このようなクラスタリングの機能は、図１に示すように、各サーバ５１ａ，５１ｂがクラスタソフトウェアＦを実行することにより、実現される。ここで、クラスタソフトウェアとしては、例えば、Veritas社製のソフトウェアを用いることができる。
【００２１】
また、このクラスタリングシステム５０では、二台のサーバ５１ａ，５１ｂを有するという点以外にも、二重化が図られている。すなわち、図１に示すように、サーバ５１ａとサーバ５１ｂとは、二つのインターコネクトＡ１，Ａ２によって接続されている。各サーバ５１ａ，５１ｂは、かかるインターコネクトＡ１，Ａ２を介して相手のサーバと通信を行う。また、各サーバ５１ａ，５１ｂは二つのネットワークカード（ＮＩＣ）Ｂ１，Ｂ２を備えており、各サーバ５１ａ，５１ｂにおいては、二つのネットワークカードＢ１，Ｂ２に通信回線が接続されている。更に、ストレージ５２はそれ自体が内部で二重化されている。そして、各サーバ５１ａ，５１ｂは、ストレージ５２と接続するためのインターフェースを二つ備えており、二つのストレージ経路Ｃ１，Ｃ２を介してストレージ５２にアクセスすることができる。
【００２２】
本実施形態の障害時動作検証装置１０は、ネットワークを介して各サーバ５１ａ，５１ｂと接続されている。このため、この障害時動作検証装置１０は、クラスタリングシステム５０に対してクライアントとして動作することになる。定常負荷発生部１１は、各サーバ５１ａ，５１ｂに対して定常的な負荷を与えるものである。障害発生部１２は、クラスタリングシステム５０に対して特定の障害を発生させるものである。障害発生部１２によって発生させる障害については後に詳述する。
【００２３】
処理速度計測部１３は、定常負荷発生部１１が各サーバ５１ａ，５１ｂに対して負荷を継続的に与え始めた後に、サーバ５１ａ，５１ｂ毎に、負荷に対する当該サーバからの返値を受信し、当該返値に基づいて当該サーバの処理速度を計測するものである。具体的に、処理速度計測部１３には、各サーバ５１ａ，５１ｂからの返値として処理データ（トランザクション）が送られてくる。処理速度計測部１３は、かかる処理データが１秒間にいくつ送られてきたのかを計測し続けることにより、各サーバ５１ａ，５１ｂの処理速度（スループット）を１秒毎に求める。特に、本実施形態では、処理速度計測部１３は、障害発生部１２がクラスタリングシステム５０に特定の障害を発生させた場合に、少なくとも当該障害が発生してからクラスタリングシステム５０が復旧するまでの間、各サーバ５１ａ，５１ｂのスループットを計測する。ここで、本実施形態において、「復旧する」とは、障害を与えた側のサーバが処理を完全に停止する場合には、障害を与えていない側のサーバによる処理が正常に行われるようになることをいい、障害を与えた側のサーバが処理を一時的に停止する場合には、当該サーバによる処理が正常に行われるようになることをいうものとする。
【００２４】
ところで、従来、ベンチマークテストによりコンピュータシステムの性能を評価することが行われている。ベンチマークテストは、コンピュータシステムに所定の負荷を与えて、スループットを測定するための技術である。このベンチマークテストの結果を用いると、例えば、あるシステムを構築しようとした場合に、当該マシンに所望の処理を行わせることができるかどうかを事前に評価することができる。本実施形態においては、例えば、このようなベンチマークテストを行うソフトウェアを中央処理装置１６に実行させることにより、定常負荷発生部１１及び処理速度計測部１３の機能を実現することができる。しかし、従来、ベンチマークテストは、あくまで正常なコンピュータシステムの性能を評価するために用いられており、コンピュータシステムに障害が発生した際に行われることはなかった。したがって、ベンチマークテストの技術を利用して、障害の発生時に各サーバ５１ａ，５１ｂのスループットを計測するという点は、本実施形態の障害時動作検証装置１０の一つの特徴点であるということができる。
【００２５】
記憶部１４には、処理速度計測部１３で得られた各サーバ５１ａ，５１ｂのスループットが記憶される。中央処理装置１６は、各部の動作を統括するものである。また、この中央処理装置１６は、記憶部１４に記憶された処理速度計測部１３の計測結果に基づいて、各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフを生成すると共に障害発生時における動作の特徴量を算出する。かかるグラフや特徴量は、表示装置１５の表示される。すなわち、中央処理装置１６は、本発明の「グラフ生成手段」の役割を果たす。
【００２６】
次に、障害時動作検証装置１０が検証を行う際にクラスタリングシステム５０に与える障害について説明する。かかる障害としては、例えば、「インターコネクト障害」、「ＮＩＣ障害」、「ストレージ経路障害」、「ノード障害」、「アプリケーション障害」、「クラスタソフトウェア障害」等を挙げることができる。これらは、クラスタリングシステム５０において、一般的に、その発生が想定される障害である。
【００２７】
インターコネクト障害とは、直結されたサーバ５１ａ，５１ｂ間のコネクト障害のことである。例えば、このインターコネクト障害には、インターコネクトＡ１，Ａ２のうちいずれか一方に障害を与える「インターコネクト一重障害」、インターコネクトＡ１，Ａ２の両方に同時に障害を与える「インターコネクト同時二重障害」、インターコネクトＡ１，Ａ２のうちいずれか一方に障害を与え、クラスタリングシステム５０が復旧した後に、他方のインターコネクトに障害を与える「インターコネクト非同期二重障害」がある。
【００２８】
ＮＩＣ障害とは、ネットワークカードの障害のことである。例えば、このＮＩＣ障害には、一のサーバについて、二つのネットワークカードＢ１，Ｂ２のうちいずれか一方に障害を与える「ＮＩＣ一重障害」、一のサーバについて、二つのネットワークカードＢ１，Ｂ２の両方に同時に障害を与える「ＮＩＣ同時二重障害」、一のサーバについて、二つのネットワークカードＢ１，Ｂ２のうちいずれか一方に障害を与え、クラスタリングシステム５０が復旧した後に、他方のネットワークカードに障害を与える「ＮＩＣ非同期二重障害」がある。
【００２９】
ストレージ経路障害とは、サーバとストレージ５２との間のインターフェースの障害のことである。例えば、このストレージ経路障害には、一のサーバについて、二つのストレージ経路Ｃ１，Ｃ２のうちいずれか一方に障害を与える「ストレージ経路一重障害」、一のサーバについて、二つのストレージ経路Ｃ１，Ｃ２の両方に同時に障害を与える「ストレージ経路同時二重障害」、一のサーバについて、二つのストレージ経路Ｃ１，Ｃ２のうちいずれか一方に障害を与え、クラスタリングシステム５０が復旧した後に、他方のストレージ経路に障害を与える「ストレージ経路非同期二重障害」がある。尚、本実施形態では、各サーバ５１ａ，５１ｂは、二つのストレージ経路Ｃ１，Ｃ２のうち一方だけを使ってストレージ５２にアクセスしている。「ストレージ経路一重障害」の場合には、実際に使用している方のストレージ経路に障害を与えることにしている。
【００３０】
ノード障害とは、サーバ５１ａ，５１ｂ自体の障害のことである。例えば、このノード障害には、一のサーバについて、オペレーティングシステム（ＯＳ）に障害を与え、サーバ自体を停止させてしまう「ノード異常停止障害」がある。また、アプリケーション障害とは、アプリケーションプログラムの障害のことである。例えば、このアプリケーション障害には、一のサーバについて、データベースを管理するアプリケーションプログラムに障害を与える「データベースソフト障害」がある。更に、クラスタソフトウェア障害とは、クラスタソフトウェアの障害のことである。例えば、このクラスタソフトウェア障害には、一のサーバでクラスタソフトウェアを停止させてしまう「クラスタソフトウェア停止障害」がある。
【００３１】
本実施形態では、障害発生部１２は、クラスタリングシステム５０の一方のサーバに所定のコマンドを送信することにより、これらの障害を発生させる。具体的に、クラスタリングシステム５０にノード障害、アプリケーション障害又はクラスタソフトウェア障害を与える場合には、障害発生部１２は、一方のサーバに、それぞれＯＳ、アプリケーションプログラム、クラスタソフトウェアを停止させる旨のコマンドを送信する。また、クラスタリングシステム５０にインターコネクト障害、ＮＩＣ障害又はストレージ経路障害を与える場合には、障害発生部１２は、一方のサーバに、例えば、当該ポートの設定を変更する旨のコマンド、あるいは当該ドライバを停止させる旨のコマンドを送信する。
【００３２】
尚、インターコネクト障害、ＮＩＣ障害、ストレージ経路障害については、障害発生部１２が所定のコマンドを送信するのではなく、オペレータが物理的に当該接続線を引き抜くことにより、これらの障害をクラスタリングシステム５０に与えるようにしてもよい。
【００３３】
次に、本実施形態の障害時動作検証装置１０が、クラスタリングシステム５０に障害が発生したときに各サーバ５１ａ，５１ｂの動作状況を検証する手順について説明する。
【００３４】
かかる検証は、クラスタリングシステム５０が稼動している状態にあるときに行われる。ここでは、二台のサーバ５１ａ，５１ｂがともに処理を実行している状態のときに、検証を行う場合を考える。但し、検証が行われている間、障害時動作検証装置１０以外のクライアントからクラスタリングシステム５０への通信はすべてシャットアウトしておく。
【００３５】
まず、定常負荷発生部１１は、各サーバ５１ａ，５１ｂに対して定常的な負荷を継続的に与える。かかる負荷は、具体的には、当該サーバに所定の処理を行わせるための命令である。ここで、クラスタリングシステム５０に対して一般のベンチマークテストを行う場合には、いずれのサーバに処理を行わせるのかを決めずに、負荷を与える。すなわちシステム全体に対して負荷を与えている。これに対し、本実施形態では、定常負荷発生部は、サーバ５１ａに対する負荷、サーバ５１ｂに対する負荷というように、負荷を与える対象を指定している。これは、各サーバ５１ａ，５１ｂから負荷に対する返値が送られたときに、障害時動作検証装置１０が、当該返値がいずれのサーバ５１ａ，５１ｂから送られたものであるかを識別することができるようにするためである。
【００３６】
こうして、定常負荷発生部１１が各サーバ５１ａ，５１ｂに対して負荷を継続的に与えると、各サーバ５１ａ，５１ｂからは当該負荷に対する返値が送られてくる。処理速度計測部１３は、サーバ５１ａ，５１ｂ毎に、当該返値に基づいて当該サーバのスループットを１秒毎に計測する。そして、処理速度計測部１３で得られた各サーバ５１ａ，５１ｂのスループットは記憶部１４に格納される。
【００３７】
次に、クラスタリングシステム５０に特定の障害を発生させる。具体的には、障害発生部１２が一のサーバに対して当該障害を発生させるための所定のコマンドを送信する。但し、クラスタリングシステム５０にインターコネクト障害、ＮＩＣ障害又はストレージ経路障害を発生させる場合には、障害発生部１２が所定のコマンドを送信するのではなく、オペレータが所定の接続線を引き抜くようにしてもよい。
【００３８】
障害が発生した後も、定常負荷発生部１１は各サーバ５１ａ，５１ｂに対して負荷を継続的に与えており、処理速度計測部１３は、障害が発生してからクラスタリングシステム５０が復旧するまでの間も、サーバ５１ａ，５１ｂ毎に、当該サーバのスループットを計測している。これにより、障害が発生してからクラスタリングシステム５０が復旧するまでの間における各サーバ５１ａ，５１ｂの性能に関する情報を得ることができる。すなわち、障害が発生した場合に、各サーバ５１ａ，５１ｂが、どのくらいの時間、どの程度の負荷の下でどのくらいの量の処理を行うことができるのかという情報を得ることができる。
【００３９】
次に、中央処理装置１６は、記憶部１４に記憶された処理速度計測部１３の計測結果に基づいて、各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフを生成する。そして、中央処理装置１６は、その生成したグラフを表示装置１５の画面上に表示させる。図２は、各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフの一例を示す図である。このグラフは、クラスタリングシステム５０が正常に動作しているときに得られたものである。ここで、図２において、縦軸にスループット（処理数／秒）、横軸に時間（秒）をとっている。この図２のグラフによれば、障害が発生してない場合、各サーバ５１ａ，５１ｂは略一定のスループットで処理を行っていることが分かる。
【００４０】
また、中央処理装置１６は、記憶部１４に記憶された処理速度計測部１３の計測結果に基づいて、障害発生時における動作の特徴量を算出する。そして、中央処理装置１６は、その算出した特徴量を表示装置１５の画面上に表示させる。中央処理装置１６が算出する特徴量としては、「復旧時間」、「処理停止時間」、「性能劣化時間」、「各サーバの障害時処理数」等が用いられる。復旧時間は、障害が発生したときから当該システムが復旧するまでの時間である。処理停止時間は、障害が発生したときから当該システムが復旧するまでの間において、二台のサーバが同時に処理を停止している時間の合計である。性能劣化時間は、障害が発生したときから当該システムが復旧するまでの間において、一のサーバのスループットがゼロではないが正常時よりも低下している時間の合計である。ここで、性能劣化時間を求める対象となるサーバは、障害を起こしたサーバが処理を完全に停止した場合には当該サーバではないもう一方のサーバであり、障害を起こしたサーバが処理を再開した場合には当該サーバである。処理停止時間と性能劣化時間とを加えると、復旧時間になる。
【００４１】
また、各サーバの障害時処理数は、障害が発生したときから当該システムが復旧するまでの間に各サーバ５１ａ，５１ｂが行った処理数である。かかる障害時処理数は、スループットの経時変化を示すグラフにおいて、障害発生時から復旧時までの間で、当該サーバのスループットを示す折れ線と横軸とで囲まれる面積として表される。
【００４２】
以上で、障害時動作検証装置１０による検証動作が終了する。クラスタリングシステム５０に他の種類の障害を発生させたときの各サーバ５１ａ，５１ｂの動作状況を検証する場合には、上記の手順を再度繰り返す。
【００４３】
本実施形態では、障害発生時における各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフに加えて、復旧時間、処理停止時間、性能劣化時間、各サーバの障害時処理数が表示装置１５の画面上に表示される。従来、クラスタリングシステム５０に障害が起こった場合には、復旧時間だけを計測しており、障害発生時からシステムの復旧時までの間に各サーバ５１ａ，５１ｂがどのような動作をするのかを知ることができなかった。これに対し、本実施形態では、各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフを表示装置１５の画面上に表示することができるので、障害発生時における各サーバ５１ａ，５１ｂの動作状況を詳細に知ることができる。しかも、本実施形態では、障害発生時におけるクラスタリングシステム５０の動作状況を示す指標としては、復旧時間だけでなく、処理停止時間、性能劣化時間、各サーバの障害時処理数をも用いることができる。このため、本実施形態の障害時動作検証装置１０を用いると、クラスタリングシステム５０が当該障害に対して強いのか、弱いのかを評価することができる。
【００４４】
本発明者等は、実際に、障害時動作検証装置１０を用いて、クラスタリングシステム５０に各種の障害を発生させ、そのときの各サーバ５１ａ，５１ｂの動作状況を検証した。その結果、各サーバ５１ａ，５１ｂのスループットの経時変化を示すグラフは、発生させた障害に応じていくつかのパターンに分類されることが分かった。
【００４５】
図３及び図４は障害発生時におけるスループットの経時変化を示すグラフのパターンを説明するための図である。ここで、図３及び図４では各グラフを模式的に示している。各グラフでは、縦軸にスループット（処理数／秒）を、横軸に時間（秒）をとっている。また、各グラフにおいて、手前側には、障害を与えた側のサーバ（障害側サーバ）についてのグラフを、奥側には、障害を与えなかった側のサーバ（正常側サーバ）についてのグラフを示している。図３及び図４に示すように、障害発生時における各サーバのスループットの経時変化を示すグラフは、７つのパターンに分類される。また、この７つのパターンは、大きく二つに分類される。すなわち、障害側サーバが処理を継続するか、若しくは一定時間経過後に処理を開始する第一のパターンと、障害側サーバが障害によって処理を完全に停止する第二のパターンとである。ここで、第一のパターンには、Ａ−１，Ａ−２，Ａ−３が属し、第二のパターンには、Ｂ−１ａ，Ｂ−１ｂ，Ｂ−２ａ，Ｂ−２ｂが属する。尚、第一及び第二のパターンにおいて、正常側サーバは処理を継続するか、若しくは一定時間経過後に処理を開始する。
【００４６】
各パターンについて詳しく説明する。パターンＡ−１では、障害側サーバ、正常側サーバはともに処理を停止することなく、処理を継続する。パターンＡ−２では、障害側サーバは障害発生時に処理を一時停止し、一定時間経過後に処理を開始するが、正常側サーバは処理を停止することなく、処理を継続する。パターンＡ−３では、障害側サーバ、正常側サーバはともに障害発生時に処理を一時停止し、一定時間経過後に処理を開始する。
【００４７】
また、パターンＢ−１ａでは、障害側サーバは障害発生時に処理を停止するが、正常側サーバは、障害発生時に処理を一時停止し、一定時間経過後に処理を開始する。パターンＢ−１ｂでは、障害側サーバが障害発生時に処理を停止するが、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を開始する。パターンＢ−２ａでは、障害側サーバは障害発生時に処理を停止し、一方、正常側サーバは、障害発生時に処理を一時停止し、一定時間経過後に処理を開始するが、そのスループットが徐々に正常時の値に戻る。パターンＢ−２ｂでは、障害側サーバは障害発生時に処理を停止し、一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を開始するが、そのスループットが徐々に正常時の値に戻る。
【００４８】
ここで、パターンＡ−１，Ａ−２では、処理停止時間、性能劣化時間はともにゼロである。パターンＡ−３，Ｂ−１ａ，Ｂ−１ｂでは、二台のサーバが処理を停止している時間が処理停止時間Ｔ１である。この場合には、性能劣化時間はゼロである。また、パターンＢ−２ａ，Ｂ−２ｂでは、二台のサーバが処理を停止している時間が処理停止時間Ｔ１であり、正常側サーバが処理を再開してからスループットが正常に戻るまでの時間が性能劣化時間Ｔ２である。
【００４９】
尚、図３及び図４にはグラフのパターンとして理想的なパターンを示しており、実際に得られるグラフが図３及び図４に示すパターンと完全に一致するとは限らない。このため、例えば、実際に得られたグラフがパターンＡ−２に分類されたとしても、当該グラフにおいて、障害側サーバのスループットが徐々に正常時の値に戻るような場合には、性能劣化時間がゼロでないことがある。
【００５０】
次に、実際に各種の障害をクラスタリングシステム５０に発生させたときに得られた各グラフがどのパターンに属するのかを説明する。
【００５１】
「インターコネクト一重障害」を発生させた場合のグラフはパターンＡ−３に属する。すなわち、インターコネクト一重障害が発生すると、二台のサーバは互いに相手を認識することができなくなってしまい、各サーバにおいて処理が一時停止した。その後、二台のサーバは、もう一方の正常なインターコネクトを認識し、それを利用することにより処理を開始した。また、「インターコネクト同時二重障害」又は「インターコネクト非同期二重障害」を発生させた場合のグラフはパターンＢ−２ｂに属する。ここで、「インターコネクト非同期二重障害」については、二度目のインターコネクト障害を発生させた場合のグラフを考えている。インターコネクト同時二重障害が発生すると、二台のサーバ間で通信ができなくなるので、この状態で、各サーバがストレージにデータの書き込みを行うと、一方のサーバは、他方のサーバが書き込んだデータを認識できなくなる。このため、クラスタソフトウェアは、かかる障害が発生した場合、二台のサーバのうちいずれか一方のサーバだけを生き残らせるようにしている。実際には、障害側サーバは障害発生時に処理を停止し、正常側サーバは障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を徐々に開始した。また、インターコネクト非同期二重障害を発生させた場合のグラフも、インターコネクト同時二重障害を発生させた場合のグラフと略同様の振る舞いを示した。
【００５２】
「ＮＩＣ一重障害」を発生させた場合のグラフはパターンＡ−２に属する。すなわち、ＮＩＣ一重障害が発生すると、障害側サーバは、処理を一時停止したが、もう一方の正常なＮＩＣを認識し、それを利用することにより処理を開始した。一方、正常側サーバは処理を継続した。また、「ＮＩＣ同時二重障害」又は「ＮＩＣ非同期二重障害」を発生させた場合のグラフはパターンＢ−２ｂに属する。ここで、「ＮＩＣ非同期二重障害」については、二度目のＮＩＣ障害を発生させた場合のグラフを考えている。ＮＩＣ同時二重障害が発生すると、障害側サーバはネットワークに接続できなくなるので、処理を停止した。一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を徐々に開始した。また、ＮＩＣ非同期二重障害を発生させた場合のグラフも、ＮＩＣ同時二重障害を発生させた場合のグラフと略同様の振る舞いを示した。
【００５３】
「ストレージ経路一重障害」を発生させた場合のグラフはパターンＡ−２に属する。すなわち、ストレージ経路一重障害が発生すると、障害側サーバは、処理を一時停止したが、もう一方の正常なストレージ経路を認識し、それを利用することにより処理を開始した。一方、正常側サーバは処理を継続した。また、「ストレージ経路同時二重障害」又は「ストレージ経路非同期二重障害」を発生させた場合のグラフはパターンＢ−２ｂに属する。ここで、「ストレージ経路非同期二重障害」については、二度目のストレージ経路障害を発生させた場合のグラフを考えている。ストレージ経路同時二重障害が発生すると、障害側サーバは処理を行うことができなくなるので、当然に処理を停止した。一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を徐々に開始した。また、ストレージ経路非同期二重障害を発生させた場合のグラフも、ストレージ経路同時二重障害を発生させた場合のグラフと略同様の振る舞いを示した。
【００５４】
「ノード異常停止障害」はパターンＢ−２ｂに属する。すなわち、ノード異常停止障害が発生すると、障害側サーバのＯＳが停止するので、障害側サーバは当然に処理を停止した。一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を徐々に開始した。また、「データベースソフト障害」はパターンＢ−２ａに属する。すなわち、データベースソフト障害が発生すると、データベースを管理しているアプリケーションソフトが停止するので、障害側サーバは処理を停止した。一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を開始した。更に、「クラスタソフトウェア停止障害」はパターンＢ−１ｂに属する。すなわち、クラスタソフトウェア停止障害が発生すると、障害側サーバは処理を停止し、一方、正常側サーバは、障害発生時から少し遅れて処理を一時停止し、一定時間経過後に処理を開始した。
【００５５】
また、本発明者等は、検証の対象であるクラスタリングシステム５０の構成を変更したときに、障害発生時におけるスループットの経時変化を示すグラフがどのような影響を受けるかを調べた。その結果、次のことが分かった。すなわち、障害発生時におけるスループットの経時変化を示すグラフについての定性的な傾向は、負荷を与えるためのソフトウェアの種類や、サーバの性能には依存しないことが分かった。また、障害時におけるスループットの経時変化を示すグラフについての定性的な傾向は、主にクラスタソフトウェアに依存することが分かった。このため、クラスタリングシステム５０において異なるクラスタソフトウェアを用いた場合には、同じ障害を発生させた場合でも、障害発生時におけるスループットの経時変化を示すグラフの定性的な傾向が変わってしまう。但し、この場合であっても、スループットの経時変化を示すグラフは、発生させた障害に応じていくつかのパターンに分類される。
【００５６】
本実施形態の障害時動作検証装置では、定常負荷発生部が各サーバに対して負荷を継続的に与え始めた後にクラスタリングシステムに特定の障害が与えられた場合に、処理速度計測部が、サーバ毎に、当該負荷に対する当該サーバからの返値を受信し、当該返値に基づいて当該サーバのスループットを計測する。このため、クラスタリングシステムに各種の障害を与えて各サーバのスループットを計測することにより、障害毎に、当該障害の発生時における各サーバの動作状況を的確に検証することができる。具体的には、当該障害が発生したときに、各サーバが、どのくらいの時間、どの程度の処理を行うことができるのかを検証することができる。また、かかる計測結果を用いて、各サーバが当該障害に対して強いのか、弱いのかを評価することができるので、障害発生時におけるシステムの復旧対策を予め講じることができる。
【００５７】
また、処理速度計測部で得られた計測結果に基づいて、障害発生時における各サーバのスループットの経時変化を示すグラフを生成し、表示装置の画面上に表示させることにより、障害発生時における各サーバの動作状況をオペレータに容易に知らせることができる。更に、障害発生部がクラスタリングシステムに対して特定の障害を発生させることにより、スループットの計測作業を自動で行うことができる。
【００５８】
尚、本発明は上記の実施形態に限定されるものではなく、その要旨の範囲内において種々の変形が可能である。
【００５９】
例えば、上記の実施形態では、障害発生部を、障害時動作検証装置本体に組み込んだ場合について説明したが、障害発生部を、クラスタリングシステムの各サーバに組み込むようにしてもよい。この場合、例えば、障害発生部は、所定の時刻に所定のコマンドを発することにより当該サーバに所定の障害を与えるようにする。また、障害発生部を、障害時動作検証装置本体とは別のクライアントに組み込むようにしてもよい。
【００６０】
また、上記の実施形態では、クラスタリングシステムの二台のサーバがともに処理を実行しているときに障害時動作検証装置が検証を行う場合について説明したが、一方のサーバだけが処理を実行し、他方のサーバが待機しているときに障害時動作検証装置が検証を行うようにしてもよい。
【００６１】
更に、上記の実施形態では、検証の対象として、二台のサーバを有するクラスタリングシステムを用いる場合について説明したが、検証の対象としては、一般に、一又は複数のコンピュータを有するコンピュータシステムを用いることができる。尚、当然のことであるが、検証対象のシステムに応じて、検証の際に当該システムに与えることのできる障害の種類は異なる。例えば、単体のコンピュータに対して検証を行う場合には、そのコンピュータに対してインターコネクト障害を与えることはない。
【００６２】
本発明の目的は、上述した実施形態の装置の機能を実現するソフトウェアのプログラムコード（実行形式を含む）を、その全体あるいは一部を記録した記録媒体により、本実施形態の装置に供給し、その装置のコンピュータ（又はＣＰＵ、ＭＰＵ）が記録媒体に格納されたプログラムコードを読み出して、動作の全部あるいは一部を実行することによっても達成されることはいうまでもない。この場合、記録媒体から読み出されたプログラムコード自体が本実施形態の機能を実現することになり、そのプログラムコードを記録した記録媒体は本発明を構成することになる。
【００６３】
プログラムコードを供給するための記録媒体としては、ＲＯＭ、フロッピー（登録商標）ディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、ＤＶＤ−ＲＯＭ、磁気テープ、不揮発性のメモリカード等を用いることができる。さらに、通信回線を介してダウンロードすることによってプログラムコードを供給するようにしてもよいし、ＪＡＶＡ（登録商標）などの技術を利用してプログラムコードを供給して実行するようにしてもよい。
【００６４】
また、コンピュータが読み出したプログラムコードを実行することにより、本実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳなどが実際の処理の一部又は全部を行い、その処理によって本実施形態の機能が実現される場合も本発明に含まれることはいうまでもない。
【００６５】
更に、記録媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータが接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部又は全部を行い、その処理によって本実施形態の機能が実現される場合も本発明に含まれることはいうまでもない。
【００６６】
加えて、本発明はコンピュータに上記の実施形態の装置の機能を実現させるためのプログラムを含むプログラム・プロダクトであってもよい。ここで、プログラム・プロダクトというのは、コンピュータ・プログラムだけでなく、プログラムを記録した記録媒体あるいはコンピュータを含むものである。
【産業上の利用可能性】
【００６７】
以上説明したように、本発明の障害時動作検証装置及び障害時動作検証方法によれば、一又は複数のコンピュータを有するコンピュータシステムについて、障害が発生したときに各コンピュータの処理速度を計測することにより、当該障害の発生時に各コンピュータがどのくらいの時間、どの程度の処理を行うことができるのかを検証することができる。また、かかる計測結果を用いて、各コンピュータが当該障害に対して強いのか、弱いのかを評価することができるので、障害発生時におけるシステムの復旧対策を予め講じることができる。したがって、本発明は、障害毎に、当該障害の発生時における各コンピュータの動作状況を的確に検証する場合に適用することができる。
【図面の簡単な説明】
【００６８】
【図１】本発明の一実施形態に係る障害時動作検証装置と検証の対象となるコンピュータシステムとの概略構成図である。
【図２】クラスタリングシステムにおける各サーバのスループットの経時変化を示すグラフの一例を示す図である。
【図３】障害発生時におけるスループットの経時変化を示すグラフのパターンを説明するための図である。
【図４】障害発生時におけるスループットの経時変化を示すグラフのパターンを説明するための図である。
【符号の説明】
【００６９】
１０    障害時動作検証装置
１１    定常負荷発生部
１２    障害発生部
１３    処理速度計測部
１４    記憶部
１５    表示装置
１６    中央処理装置
５０    クラスタリングシステム
５１ａ，５１ｂ    サーバ
５２    ストレージ
【図１】
2005050084.tif 000003
【図２】
2005050084.tif 000004
【図３】
2005050084.tif 000005
【図４】
2005050084.tif 000006