(57)【要約】【課題】不要な仮想資源を削除して、システムが不整合状態になることを防止する。【解決手段】試験装置１０−１は、記憶部１ａと制御部１ｂを備える。記憶部１ａは、複数の仮想マシン（ＶＭ）が接続されたシステムのシステム構成情報を記憶する。制御部１ｂは、システムに対する試験の実行前に、試験により影響が及ぶ試験影響範囲ｈ１を検出する。そして、制御部１ｂは、システムに試験を実行し、試験の実行前後のシステム構成情報にもとづいて、試験の実行により試験影響範囲ｈ１に生成された仮想マシン（特定仮想マシン）を検出して削除する。【選択図】図１
2018116446.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンが接続されたシステムのシステム構成に関する情報を記憶する記憶部と、
前記システムに試験を実行し、前記システム内の試験影響範囲を検出し、前記情報にもとづいて、前記試験を実行することで前記試験影響範囲に生成された特定仮想マシンを検出して削除する制御部と、
を有する試験装置。
【請求項２】
前記制御部は、前記試験の実行前に前記試験影響範囲のスナップショットを作成し、前記試験を実行して障害が検出された場合、前記スナップショットにもとづき再開した前記システムの一部の入れ替えを行ってから前記特定仮想マシンの検出を行う請求項１記載の試験装置。
【請求項３】
前記制御部は、
前記試験の実行後の前記システムに存在する仮想マシンと、前記仮想マシンをグループ分けしたグループとを検出し、
前記仮想マシンの中の前記試験の実行前の前記試験影響範囲に存在する影響範囲仮想マシンと、前記影響範囲仮想マシンをグループ分けした影響範囲グループとを検出し、
前記影響範囲グループに対応する前記グループに含まれる前記仮想マシンのリストを生成し、
前記リストの中から前記影響範囲仮想マシン以外の前記仮想マシンを前記特定仮想マシンとして検出する、
請求項１記載の試験装置。
【請求項４】
前記制御部は、
前記試験の実行後の前記システムで動作している仮想マシンに関する仮想マシン関連情報にもとづいて、前記試験の実行中に生成された新仮想マシンを抽出し、
前記仮想マシンをグループ分けした場合の前記新仮想マシンが接続する接続先グループを検出し、
前記仮想マシンの中の前記試験の実行前の前記試験影響範囲に含まれる影響範囲仮想マシンをグループ分けした場合の試験影響グループに接続する影響範囲接続先グループを検出し、
前記接続先グループと、前記影響範囲接続先グループとを比較し、前記接続先グループと同じ前記影響範囲接続先グループを持つ前記試験影響グループに前記新仮想マシンが含まれると判断し、前記前記新仮想マシンを前記特定仮想マシンとして検出する、
請求項１記載の試験装置。
【請求項５】
前記制御部は、
前記試験の実行後の前記システムで動作している仮想マシンに関する仮想マシン関連情報にもとづいて、前記試験の実行中に生成された新仮想マシンを抽出して、前記新仮想マシンが使用している第１のフレーバの第１のフレーバ情報を検出し、
前記仮想マシンの中の前記試験の実行前の前記試験影響範囲に含まれる影響範囲仮想マシンをグループ分けした場合のグループが使用している第２のフレーバの第２のフレーバ情報を検出し、
前記第１のフレーバ情報と前記第２のフレーバ情報とを比較して、前記第２のフレーバ情報と同じ前記第１のフレーバ情報を持つ前記新仮想マシンを前記特定仮想マシンとして検出する、
請求項１記載の試験装置。
【請求項６】
前記制御部は、
前記試験の実行後の前記システムで動作している仮想マシンに関する仮想マシン関連情報にもとづいて、前記試験の実行中に生成された新仮想マシンを抽出し、
前記新仮想マシンのメタ情報から、前記仮想マシンをグループ分けした場合に前記新仮想マシンが含まれるグループを検出し、
前記仮想マシンの中の前記試験の実行前の前記試験影響範囲に存在する影響範囲仮想マシンをグループ分けした場合の影響範囲グループを検出し、
前記グループと、前記影響範囲グループとを比較して、前記影響範囲グループと同じ前記グループに含まれる前記新仮想マシンを前記特定仮想マシンとして検出する、
請求項１記載の試験装置。
【請求項７】
前記制御部は、ネットワーク／アプリケーション機能の識別情報と、前記グループの識別情報とを組み合わせた前記メタ情報を検出する請求項６記載の試験装置。
【請求項８】
前記仮想マシン関連情報は、前記システムの識別情報と、前記仮想マシンの生成時刻との情報を少なくとも含み、
前記制御部は、前記識別情報が所定値と一致し、かつ前記仮想マシンの生成時刻が前記試験の開始時刻以降である前記仮想マシン関連情報を持つ前記仮想マシンを、前記新仮想マシンとして抽出する請求項４乃至６のいずれかに記載の試験装置。
【請求項９】
前記仮想マシンの生成時、複数の前記仮想マシンが接続されたシステムに関するシステム構成情報を管理するシステム構成情報管理部と、前記システム構成情報をもとに、前記特定仮想マシンを検出可能な形式で前記メタ情報を生成するメタ情報生成部とを備えるシステム管理サーバが接続される、
請求項６記載の試験装置。
【請求項１０】
複数の仮想マシンが接続されたシステムのシステム構成に関する情報を記憶する記憶部と、前記システムに試験を実行し、前記システム内の試験影響範囲を検出し、前記情報にもとづいて、前記試験を実行することで前記試験影響範囲に生成された特定仮想マシンを検出して削除する制御部とを備える試験装置と、
前記仮想マシンの生成時、複数の前記仮想マシンが接続されたシステムに関するシステム構成情報を管理するシステム構成情報管理部と、前記システム構成情報をもとに、前記特定仮想マシンを検出可能な形式でメタ情報を生成するメタ情報生成部とを備えるシステム管理サーバと、
を有する試験システム。
【請求項１１】
コンピュータが、
複数の仮想マシンが接続されたシステムに試験を実行し、
前記システム内の試験影響範囲を検出し、
前記システムのシステム構成に関する情報にもとづいて、前記試験を実行することで前記試験影響範囲に生成された特定仮想マシンを検出して削除する、
試験方法。
【請求項１２】
コンピュータに、
複数の仮想マシンが接続されたシステムに試験を実行し、
前記システム内の試験影響範囲を検出し、
前記システムのシステム構成に関する情報にもとづいて、前記試験を実行することで前記試験影響範囲に生成された特定仮想マシンを検出して削除する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、試験装置、試験システム、試験方法およびプログラムに関する。
【背景技術】
【０００２】
サーバ性能の向上やソフトウェア技術の進展により、情報・ネットワークシステムに対して仮想化技術の導入が進んでいる。このような情報・ネットワークシステムは、複数の仮想マシン（ＶＭ：Virtual Machine）が接続された構成を有し、仮想マシン上でネットワーク／アプリケーション機能を動作させることでサービスの提供を行う。ネットワーク／アプリケーション機能とは例えば、ファイヤウォール、プロキシサーバおよびＷｅｂサーバ等が該当する。
【０００３】
一方、仮想化技術を基盤としたクラウド環境への移行に伴って、システムの迅速なサービスの開始・更新が要求されており、また、ＯＳＳ（Open Source Software）の利用や既存システムとの連携要求等、システム構成の複雑化が顕著になっている。
【０００４】
このような状況において、運用中のシステムに対して、試験トラヒックを流して疑似障害を発生させるための試験を自動的に行う自動試験実行サーバが開発されている。自動試験実行サーバは、例えば、運用中のシステムを構成する仮想マシンに、システム停止やメモリリーク等の擬似障害を強制的に発生させる。
【０００５】
そして、強制的に発生させた疑似障害に対して、予備システムへの切り替えや障害回復のための仮想マシン再起動の動作等が設計通りに行えるかどうかが検証される。自動試験サーバを使ってこのような試験を実行することで、管理者は、運用中のシステムに潜在している欠陥を洗い出すことができ、ソフトウェアの改修を行うことが可能になる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１４９５７８号公報
【特許文献２】国際公開第２０１５／１４６３７４号
【特許文献３】特表２０１３−５０６９０８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
上記の自動試験実行サーバは、試験実行に先だって、仮想マシンの動作状態等をファイル（スナップショット）にして格納しておく。そして、自動試験実行サーバは、試験実行によって擬似障害を検出した後、スナップショットを用いて、試験により影響を受けた範囲内の仮想マシンを試験前の状態に戻す。これにより、試験実行後、仮想マシンは試験前の状態から再開されるので、提供中のサービスに影響を及ぼすことなく、システムは継続して運用されることになる。
【０００８】
一方、試験実行中にシステムに流れるトラヒックが増えると、例えば、システムが有している負荷分散の機能が働いて、新たな仮想マシンが生成する場合がある。自動試験実行サーバは、試験実行後に、スナップショットを用いて仮想マシンを再開するが、スナップショットには試験中に生成された仮想マシンの情報は含まれていない。
【０００９】
この場合、スナップショットにもとづいて再開された仮想マシンは、試験実行中に生成された仮想マシンを検出して通信を行うことはない。このため、試験実行中に生成された仮想マシンは孤立することになり、システム中に不要な仮想マシン（仮想資源）が発生し、システムの不整合状態が生じる。
【００１０】
１つの側面では、本発明は、試験の実行時に発生した不要な仮想資源を削除して、システムが不整合状態になることを防止する試験装置、試験システム、試験方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１１】
上記課題を解決するために、試験装置が提供される。試験装置は、記憶部と制御部とを有する。記憶部は、複数の仮想マシンが接続されたシステムのシステム構成に関する情報を記憶する。制御部は、システムに試験を実行し、システム内の試験影響範囲を検出し、情報にもとづいて、試験を実行することで試験影響範囲に生成された特定仮想マシンを検出して削除する。
【００１２】
また、上記課題を解決するために、上記試験装置と同様の制御を実行する試験システムが提供される。
さらに、上記課題を解決するために、コンピュータが上記試験装置と同様の制御を実行する試験方法が提供される。
【００１３】
さらにまた、上記課題を解決するために、コンピュータに上記試験装置と同様の制御を実行させるプログラムが提供される。
【発明の効果】
【００１４】
１態様によれば、不要な仮想資源を削除して、システムが不整合状態になることを防止することが可能になる。
【図面の簡単な説明】
【００１５】
【図１】第１の実施の形態の試験装置の構成の一例を示す図である。
【図２】情報・ネットワークシステムの物理構成の一例を示す図である。
【図３】情報・ネットワークシステム内で試験対象システムが構成されている状態の一例を示す図である。
【図４】ＮＷ機能の構成の一例を示す図である。
【図５】再開されたＮＷ機能がシステムに接続される状態を示す図である。
【図６】孤立化ＶＭが発生する状態の一例を示す図である。
【図７】自動試験実行サーバのハードウェア構成の一例を示す図である。
【図８】第２の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。
【図９】システム管理サーバの機能ブロックの一例を示す図である。
【図１０】ＶＩＭの機能ブロックの一例を示す図である。
【図１１】試験対象システムの一例を示す図である。
【図１２】第２の実施の形態の動作シーケンスを示す図である。
【図１３】第２の実施の形態の動作シーケンスを示す図である。
【図１４】冗長構成定義情報の一例を示す図である。
【図１５】システム構成情報の一例を示す図である。
【図１６】冗長構成モデルによる対応付けの一例を示す図である。
【図１７】試験影響範囲に含まれるシステム構成情報の一例を示す図である。
【図１８】試験開始後の試験対象システムの一例を示す図である。
【図１９】システム管理サーバ内の試験開始後のシステム構成情報の一例を示す図である。
【図２０】孤立化ＶＭを特定する際の比較処理のイメージを示す図である。
【図２１】第３の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。
【図２２】第３の実施の形態の動作シーケンスを示す図である。
【図２３】第３の実施の形態の動作シーケンスを示す図である。
【図２４】孤立化ＶＭ特定処理の動作を示すフローチャートである。
【図２５】試験対象システム内で複数のＶＭグループが同じＮＷに接続している構成の一例を示す図である。
【図２６】フレーバの一例を示す図である。
【図２７】第４の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。
【図２８】試験対象システムの一例を示す図である。
【図２９】第４の実施の形態の動作シーケンスを示す図である。
【図３０】第４の実施の形態の動作シーケンスを示す図である。
【図３１】システム構成情報の一例を示す図である。
【図３２】冗長構成モデルによる対応付けの一例を示す図である。
【図３３】試験影響範囲システム構成情報の一例を示す図である。
【図３４】試験開始後の試験対象システムの構成の一例を示す図である。
【図３５】システム管理サーバ内のシステム構成情報の一例を示す図である。
【図３６】孤立化ＶＭ特定処理の動作を示すフローチャートである。
【図３７】試験対象システム内で複数のＶＭグループが同じフレーバを使用している構成の一例を示す図である。
【図３８】メタ情報の一例を示す図である。
【図３９】第５の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。
【図４０】第５の実施の形態のシステム管理サーバの機能ブロックの一例を示す図である。
【図４１】第５の実施の形態の動作シーケンスを示す図である。
【図４２】第５の実施の形態の動作シーケンスを示す図である。
【図４３】システム構成情報の一例を示す図である。
【図４４】試験影響範囲システム構成情報の一例を示す図である。
【図４５】システム管理サーバ内のシステム構成情報の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面を参照して実施の形態を詳細に説明する。
［第１の実施形態］
第１の実施の形態について説明する。図１は第１の実施の形態の試験装置の構成の一例を示す図である。試験装置１０−１は、記憶部１ａと制御部１ｂを備える。記憶部１ａは、複数の仮想マシン（以下、ＶＭと表記）が接続されたシステムのシステム構成に関する情報を記憶する。
【００１７】
制御部１ｂは、システムに対する試験の実行前に、試験により影響が及ぶシステム内の試験影響範囲を検出する。そして、制御部１ｂは、システムに試験を実行し、試験の実行前後の情報にもとづいて、試験の実行によって試験影響範囲に生成されたＶＭ（特定ＶＭ）を検出して削除する。
【００１８】
図１の例において、試験対象システム２は、ＶＭ１−４と、ＮＷ（ネットワーク）１−３を含む。ＮＷ１はＶＭ１、２に接続し、ＮＷ２はＶＭ１−４に接続し、ＮＷ３はＶＭ３、４に接続している。
【００１９】
このような構成の試験対象システム２に対して、制御部１ｂは、ＶＭ１に試験を実行するものとする。また、制御部１ｂは、試験の実行に先だってＶＭ１に試験を実行した際に影響が及ぶ範囲として試験影響範囲ｈ１を検出する。試験影響範囲ｈ１には、ＮＷ１、２に接続されるＶＭ１、２が含まれている。
【００２０】
一方、制御部１ｂが試験を実行して、試験対象システム２内に新たにＶＭ５、６が生成されたとする。試験実行後の試験対象システム２ａは、ＶＭ１−６と、ＮＷ１−３を含む。ＮＷ１はＶＭ１、２、５に接続し、ＮＷ２はＶＭ１−６に接続し、ＮＷ３はＶＭ３、４、６に接続している。
【００２１】
記憶部１ａは、例えば、試験実行前の試験対象システム２のシステム構成情報と、試験実行後の試験対象システム２ａのシステム構成情報とを記憶する。制御部１ｂは、試験実行後に、これらのシステム構成情報を比較して、試験の実行により試験影響範囲ｈ１に生成された特定ＶＭを検出する。
【００２２】
この例では、ＶＭ５、６が試験の実行により生成され、ＶＭ５は、ＮＷ１、２に接続し、ＶＭ６は、ＮＷ２、３に接続しているので、試験影響範囲ｈ１にはＶＭ５が含まれる。したがって、制御部１ｂは、ＶＭ５を試験影響範囲ｈ１に生成された特定ＶＭとして検出しＶＭ５を削除する。なお、試験影響範囲ｈ１以外に生成されたＶＭ６の削除は行われない。
【００２３】
このように、第１の実施の形態の試験装置１０−１は、複数のＶＭが接続されたシステムに試験を実行する場合、システム構成に関する情報にもとづいて、試験の実行により試験影響範囲に生成された特定ＶＭを検出し削除する。これにより、試験装置１０−１は、試験の実行時に発生した不要な仮想資源を削除することができ、システムが不整合状態になることを防止することが可能になる。
【００２４】
［第２の実施形態］
次に第２の実施の形態について説明する。まず、システム構成について図２、図３を用いて説明する。図２は情報・ネットワークシステムの物理構成の一例を示す図である。情報・ネットワークシステム２００は、自動試験実行サーバ１０、システム管理サーバ２０、ＶＩＭ（Virtualized Infrastructure Manager：仮想化インフラ管理サーバ）３０および物理サーバ４０−１、４０−２を含む。
【００２５】
物理サーバ４０−１、４０−２は互いに接続し、自動試験実行サーバ１０は、物理サーバ４０−１、４０−２と、システム管理サーバ２０に接続する。システム管理サーバ２０は、自動試験実行サーバ１０、物理サーバ４０−１、４０−２およびＶＩＭ３０に接続し、ＶＩＭ３０は、物理サーバ４０−１、４０−２と、システム管理サーバ２０に接続する。
【００２６】
物理サーバ４０−１は、ＶＭモニタ（ハイパーバイザ）４１−１と、ＶＭ４２ａ−１、４２ｂ−１を含み、物理サーバ４０−２は、ＶＭモニタ４１−２、ＶＭ４２ａ−２、４２ｂ−２を含む。
【００２７】
ＶＭ４２ａ−１、４２ａ−２は、ＮＷ／アプリケーション機能として、ロードバランサ（ＬＢ：Load Balancer）を有し、ＶＭ４２ｂ−１、４２ｂ−２は、ＮＷ／アプリケーション機能として、プロキシサーバ（Ｐｒｏｘｙ：proxy server）を有している。
【００２８】
図３は情報・ネットワークシステム内で試験対象システムが構成されている状態の一例を示す図である。情報・ネットワークシステム２００において、物理サーバ４０−１、４０−２内のＶＭ４２ａ−１、４２ｂ−１、４２ａ−２、４２ｂ−２が互いに論理的に接続され、試験対象システム４が構成される。
【００２９】
自動試験実行サーバ１０は、試験対象システム４に対して擬似障害を発生させるための試験を実行する。システム管理サーバ２０は、試験対象システム４のシステム構成情報を管理しており、これをもとに試験対象システム４を構成するＶＭ４２ａ−１、４２ｂ−１、４２ａ−２、４２ｂ−２の負荷を監視する。
【００３０】
また、システム管理サーバ２０は、負荷の監視結果に応じて、ＶＭの削除、または新たなＶＭの生成の指示をＶＩＭ３０に対して行う。さらに、システム管理サーバ２０は、ＶＭの死活状態を監視し、ＶＭが障害状態にある場合、障害復旧動作を行う。
【００３１】
ＶＩＭ３０は、システム管理サーバ２０による指示に従い、ＶＭの生成、またはＶＭの削除を行う。なお、自動試験実行サーバ１０が試験対象とするシステムは、ＶＭ同士が接続された試験対象システム４であって、システム管理サーバ２０やＶＩＭ３０は試験対象に含まれない。
【００３２】
次に自動試験実行サーバ１０が試験を実施して擬似障害が発生した場合、自動試験実行サーバ１０が、試験実行前に格納しておいたスナップショットを用いて、スナップショット作成時点からＶＭを再開させる動作について説明する。
【００３３】
図４はＮＷ機能の構成の一例を示す図である。試験対象システム４のＮＷ機能は、ＮＷ機能ａ１、ＮＷ機能ｂ１−ｂ３、ＮＷ機能ｃ１−ｃ４、ＮＷ機能ｄ１−ｄ３およびＮＷ機能ｅ１、ｅ２を含む。
【００３４】
自動試験実行サーバ１０は、例えば、管理者によって登録された図４に示すような試験対象システムのＮＷ機能の構成情報を参照し、ランダムにＮＷ機能を抽出し、試験によって疑似障害を発生させるＮＷ機能を決定する。ここでは、ＮＷ機能ｄ１が決定されたものとする。
【００３５】
自動試験実行サーバ１０は、ＮＷ機能ｄ１が動作するＶＭ（例えば、ＶＭ４２ａ−１）を試験に影響するＶＭと判断すると、ＶＭ４２ａ−１のスナップショットを作成して、内部のストレージに格納する。
【００３６】
そして、自動試験実行サーバ１０は、ＮＷ機能ｄ１に対して（ＶＭ４２ａ−１に対して）疑似障害を発生させる試験を行う。例えば、自動試験実行サーバ１０は、ＮＷ機能ｄ１にシャットダウンコマンドを投入して動作を停止したりする。すると、システム管理サーバ２０は、ＮＷ機能ｄ１が障害状態になったことを検知し、障害復旧動作を行う。
【００３７】
図５は再開されたＮＷ機能がシステムに接続される状態を示す図である。自動試験実行サーバ１０は、疑似障害発生後に正常な動作が行われていないと判断すると、疑似障害からの障害復旧動作に何らかの問題があることを検出する。
【００３８】
このとき、自動試験実行サーバ１０は、ＮＷ機能ｄ１のスナップショットを任意の物理サーバに展開してＮＷ機能ｄ１を再開させる。この場合、現在の試験対象システムで稼働中のＮＷ機能ｄ１を停止するか、または試験対象システムから切り離し、スナップショットから新たに再開させたＮＷ機能ｄ１ａを試験対象システムの対応する位置に挿入し接続する。
【００３９】
このような動作が行われることで、運用中のシステムに対して試験を実施することができ、試験によって障害が発生することになっても、サービスへの影響を最小限に抑えて復旧させることができる。
【００４０】
次にＶＭの孤立化について説明する。ＶＭの処理負荷に応じてＶＭを増減する機能を持つ情報・ネットワークシステムに対して試験を実施した場合、スナップショットを作成してから試験開始後に、試験影響範囲内においてＶＭが新たに生成される場合がある。
【００４１】
ＶＭが新たに生成される理由としては例えば、試験中に実トラヒックが増えて、負荷分散の機能が作動してＶＭが増える、または試験トラヒックを流した結果、ＶＭが増える等がある。
【００４２】
この場合、試験が失敗（試験を実行することにより擬似障害が発生）すると、自動試験実行サーバ１０が試験対象システムの試験影響範囲を、事前退避したスナップショットで試験前の状態（ＶＭ数が増えていない状態）に戻す。
【００４３】
このとき、試験前のＶＭのディスクやメモリには、試験中に生成されたＶＭに関する情報がないため、スナップショットで試験前の状態に戻ったＶＭは、試験実行により生成されたＶＭの存在を検出することはない。
【００４４】
スナップショットで試験前の状態に戻ったＶＭは、試験中に生成されたＶＭにパケット等を送信することがなく、試験中に生成されたＶＭは、他のＶＭと通信することがないので孤立状態となる。
【００４５】
図６は孤立化ＶＭが発生する状態の一例を示す図である。この例では、試験対象システム４００にＶＭ１−３が含まれる構成としている。自動試験実行サーバ１０は、試験をする際、事前にＶＭ１−３のスナップショット（ＳＰ）をストレージに退避・保存して、試験を開始する。
【００４６】
自動試験実行サーバ１０による試験中（システムの障害復旧動作の作動中）に、上記に示したような理由により、ＶＭ４が新たに生成されたとする。自動試験実行サーバ１０は、試験完了時（障害復旧動作の完了予定時間に達した時）、試験の合否を判定し、試験失敗と判定した場合、ＶＭ１−３は試験前に取得したスナップショットによって置き換えられ、試験前の状態に戻される。
【００４７】
しかし、試験前のスナップショットで動作するＶＭ１は、ＶＭ４の存在を検出することはないため、ＶＭ４は他のＶＭ２、３とも通信することがなく孤立状態となる。よって、ＶＭ４は仮想資源の無駄になる。
【００４８】
このような状況に鑑みて、第２の実施の形態では、試験影響範囲について試験前後のＶＭを比較し、試験前には存在しないＶＭが存在していたら、そのＶＭを孤立状態になっている孤立化ＶＭとみなす処理を行って、不要な仮想資源を削除するものである。
【００４９】
＜自動試験実行サーバのハードウェア構成＞
図７は自動試験実行サーバのハードウェア構成の一例を示す図である。自動試験実行サーバ１０ａは、プロセッサ１００によって装置全体が制御されている。すなわち、プロセッサ１００は、自動試験実行サーバ１０ａの制御部として機能する。
【００５０】
プロセッサ１００には、バス１０３を介してメモリ１０１と複数の周辺機器が接続されている。プロセッサ１００は、マルチプロセッサであってもよい。プロセッサ１００は、例えば、ＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、ＤＳＰ（Digital Signal Processor）、ＡＳＩＣ（Application Specific Integrated Circuit）、またはＰＬＤ（Programmable Logic Device）である。またプロセッサ１００は、ＣＰＵ、ＭＰＵ、ＤＳＰ、ＡＳＩＣ、ＰＬＤのうちの２以上の要素の組み合わせであってもよい。
【００５１】
メモリ１０１は、自動試験実行サーバ１０ａの主記憶装置として使用される。メモリ１０１には、プロセッサ１００に実行させるＯＳ（Operating System）のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０１には、プロセッサ１００による処理に要する各種データが格納される。
【００５２】
また、メモリ１０１は、自動試験実行サーバ１０ａの補助記憶装置としても使用され、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。メモリ１０１は、補助記憶装置として、フラッシュメモリやＳＳＤ（Solid State Drive）等の半導体記憶装置やＨＤＤ（Hard Disk Drive）等の磁気記録媒体を含んでもよい。
【００５３】
バス１０３に接続されている周辺機器としては、入出力インタフェース１０２およびＮＷインタフェース１０４がある。入出力インタフェース１０２は、プロセッサ１００からの命令にしたがって自動試験実行サーバ１０ａの状態を表示する表示装置として機能するモニタ（例えば、ＬＥＤ（Light Emitting Diode）やＬＣＤ（Liquid Crystal Display）等）が接続されている。
【００５４】
また、入出力インタフェース１０２は、キーボードやマウス等の情報入力装置を接続可能であって、情報入力装置から送られてくる信号をプロセッサ１００に送信する。
また、入出力インタフェース１０２は、周辺機器を接続するための通信インタフェースとして機能する。例えば、入出力インタフェース１０２は、レーザ光等を利用して、光ディスクに記録されたデータの読み取りを行う光学ドライブ装置を接続することができる。光ディスクは、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスクには、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ（Random Access Memory）、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）等がある。
【００５５】
また、入出力インタフェース１０２は、メモリ装置やメモリリーダライタを接続することができる。メモリ装置は、入出力インタフェース１０２との通信機能を搭載した記録媒体である。メモリリーダライタは、メモリカードへのデータの書き込み、またはメモリカードからのデータの読み出しを行う装置である。メモリカードは、カード型の記録媒体である。
【００５６】
ＮＷインタフェース１０４は、例えば、ＮＩＣ（Network Interface Card）、無線ＬＡＮ（Local Area Network）カード等である。ＮＷインタフェース１０４で受信されたデータ等は、プロセッサ１００に出力される。
【００５７】
以上のようなハードウェア構成によって、自動試験実行サーバ１０ａの処理機能を実現することができる。例えば、自動試験実行サーバ１０ａは、プロセッサ１００がそれぞれ所定のプログラムを実行することで試験を行うことができる。
【００５８】
自動試験実行サーバ１０ａは、例えば、コンピュータで読み取り可能な記録媒体に記録されたプログラムを実行することにより、本発明の処理機能を実現する。自動試験実行サーバ１０ａに実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。
【００５９】
例えば、自動試験実行サーバ１０ａに実行させるプログラムを補助記憶装置に格納しておくことができる。プロセッサ１００は、補助記憶装置内のプログラムの少なくとも一部を主記憶装置にロードし、プログラムを実行する。また、光ディスク、メモリ装置、メモリカード等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えば、プロセッサ１００からの制御により、補助記憶装置にインストールされた後、実行可能となる。またプロセッサ１００が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００６０】
＜自動試験実行サーバの機能ブロック＞
図８は第２の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。自動試験実行サーバ１０ａ−２は、システム構成情報ＤＢ（Data Base）１１ａ、冗長構成定義情報ＤＢ１１ｂ、試験影響範囲システム構成情報ＤＢ１１ｃ、試験箇所決定部１２、試験影響範囲スナップショット作成部１３、スナップショット用ストレージ１４、試験実行部１５、試験正常確認部１６、スナップショットレストア部１７、システム構成情報取得部１８、孤立化ＶＭ特定部１９およびＶＭ削除部１１０を備える。
【００６１】
システム構成情報ＤＢ１１ａは、試験実行前または試験実行後のシステム構成情報を記憶することができる。システム構成情報としては、例えば、ＶＭ情報、ＶＭグループ情報およびＮＷ情報がある。
【００６２】
ＶＭ情報は、ＮＷ／アプリケーション機能、ＮＷ／アプリケーション機能が動作するＶＭの識別情報および接続先ＮＷのリスト等を含む。ＶＭグループ情報は、試験対象システムを構成しているＶＭにおいて、どのＶＭ同士が同じＮＷ／アプリケーション機能でＶＭグループを形成しているかを示す情報である。例えば、ＶＭグループの識別情報およびＶＭグループに属するＶＭのリスト等が含まれる。ＮＷ情報は、ＶＭ間を接続しているＮＷの識別情報である。
【００６３】
なお、システム構成情報は、システム管理サーバ２０から取得される。システム管理サーバ２０は、ＶＭグループ情報を用いて、スケールアウト（ＶＭの増加）／スケールイン（ＶＭの減少）の制御等を行う。
【００６４】
冗長構成定義情報ＤＢ１１ｂは、冗長構成モデルを定義した冗長構成定義情報を記憶する。冗長構成モデルについては図１４で後述する。
試験箇所決定部１２は、どのＮＷ／アプリケーション機能（どのＶＭ）を試験対象とするか、またはどの機能間ＮＷを試験対象とするかを決定する。
【００６５】
試験影響範囲スナップショット作成部１３は、試験を行った際に試験に影響する範囲（試験影響範囲）を特定し、その試験影響範囲に存在するＶＭに対する、仮想ディスクイメージと実行状態情報とを含むスナップショットを作成する。
【００６６】
スナップショット用ストレージ１４は、試験影響範囲スナップショット作成部１３で作成されたスナップショットを記憶する。また、スナップショット用ストレージ１４は、試験影響範囲スナップショット作成部１３で特定された試験影響範囲を試験影響範囲情報として記憶する。
【００６７】
試験影響範囲システム構成情報ＤＢ１１ｃは、試験影響範囲システム構成情報を記憶する。試験影響範囲システム構成情報は、試験影響範囲スナップショット作成部１３で特定された試験影響範囲に関するシステム構成情報であり、試験影響範囲内のＶＭ情報、ＶＭグループ情報およびＮＷ情報である。
【００６８】
なお、図８では、試験影響範囲システム構成情報ＤＢ１１ｃとシステム構成情報ＤＢ１１ａとは別構成にしているが、システム構成情報に対して試験影響範囲に存在する情報をマーキング等することで単一のデータベースで管理してもよい。
【００６９】
試験実行部１５は、ＮＷ／アプリケーション機能や機能間ＮＷに対して、試験（擬似障害発生試験）を実行する。試験正常確認部１６は、実行された試験に対してシステムが正常に動作しているか否かを確認する。
【００７０】
スナップショットレストア部１７は、ＶＭの仮想ディスクイメージと実行状態情報を格納したスナップショットをスナップショット用ストレージ１４から読み出し、ＶＭで動作するＮＷ／アプリケーション機能を再開させる。
【００７１】
なお、システムで動作中のＶＭ（旧ＶＭ）は、再開させたＶＭに入れ替えられて、旧ＶＭが削除されることで、システムはサービス運用状態に戻される。
システム構成情報取得部１８は、試験対象システムを管理しているシステム管理サーバ２０から、システム構成情報の全体、または試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループ情報に含まれるＶＭのリストを取得する。また、システム構成情報取得部１８は、取得したシステム構成情報をシステム構成情報ＤＢ１１ａに記憶させる。
【００７２】
孤立化ＶＭ特定部１９は、試験影響範囲にあるＶＭに対して、例えば、試験実行前のＶＭと試験実行後のＶＭとを比較し、試験前には存在しないＶＭが存在していたら、そのＶＭを孤立化ＶＭ（特定ＶＭ）とみなす処理を行う。
【００７３】
具体的には、システム構成情報取得部１８は、試験後に「試験後のシステム構成情報」をシステム管理サーバ２０から取得する。孤立化ＶＭ特定部１９は、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループの識別情報をもとに、「試験後のシステム構成情報」から、ＶＭグループに属するＶＭのリストを抽出する。
【００７４】
そして、孤立化ＶＭ特定部１９は、取得したリスト内のＶＭの識別情報を、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭの識別情報と比較し、試験影響範囲システム構成情報には存在しないＶＭの識別情報を特定する。
【００７５】
孤立化ＶＭ特定部１９は、この識別情報を持つＶＭを試験後に孤立しているＶＭとみなす。ＶＭ削除部１１０は、孤立化ＶＭをシステムから削除する、または削除を指示する処理を行う。
【００７６】
＜システム管理サーバの機能ブロック＞
図９はシステム管理サーバの機能ブロックの一例を示す図である。システム管理サーバ２０は、システム構成情報ＤＢ２１、システム構成情報送信部２２、ＶＭ負荷監視部２３、ＶＭ増減判断部２４、ＶＭ生成部２５、ＶＭ削除部２６およびシステム構成情報更新部２７を備える。
【００７７】
システム構成情報ＤＢ２１は、自動試験実行サーバ１０ａ−２が管理しているシステム構成情報ＤＢ１１ａと同等機能を有する。システム構成情報送信部２２は、システム構成情報の全体または一部（例えば、特定のＶＭグループに属するＶＭのリスト）を要求に応じて他装置に送信する。
【００７８】
ＶＭ負荷監視部２３は、ＶＭにアクセスし、ＶＭの負荷に関する情報を取得し、ＶＭの負荷を監視する。ＶＭ増減判断部２４は、ＶＭ負荷監視部２３で監視しているＶＭの負荷情報と、システム構成情報とから、同種類のＮＷ／アプリケーション機能を動作させるＶＭを追加または削除する判断を行う。
【００７９】
ＶＭ生成部２５は、ＶＭ増減判断部２４でＶＭを追加すると判断された場合に、ＶＭを生成することをＶＩＭ３０に指示し、システム構成情報ＤＢ２１内のシステム構成情報を更新する。
【００８０】
ＶＭ削除部２６は、ＶＭ増減判断部２４でＶＭを削除すると判断された場合に、または外部装置からの指示に従い、ＶＭを削除することをＶＩＭ３０に指示し、システム構成情報ＤＢ２１内のシステム構成情報を更新する。システム構成情報更新部２７は、外部からの指示にもとづき、システム構成情報を更新する。
【００８１】
＜ＶＩＭの機能ブロック＞
図１０はＶＩＭの機能ブロックの一例を示す図である。ＶＩＭ３０は、ＶＭ生成部３１、ＶＭ削除部３２、動作ＶＭ管理情報ＤＢ３３、動作ＶＭ管理情報送信部３４、動作ＮＷ管理情報ＤＢ３５および動作ＮＷ管理情報送信部３６を備える。
【００８２】
ＶＭ生成部３１は、外部からの指示に従い、ＶＭを生成し、動作ＶＭ管理情報およびＮＷ管理情報を更新する。ＶＭ削除部３２は、外部からの指示に従い、ＶＭを削除し、動作ＶＭ管理情報およびＮＷ管理情報を更新する。
【００８３】
動作ＶＭ管理情報ＤＢ３３は、動作中のＶＭに関連する管理情報（例えば、ＶＭ ＩＤ、接続先ＮＷのリスト、所有者、生成時刻、フレーバ名等）を記憶する。
なお、ＶＭ ＩＤは、ＶＭを特定する識別情報である。接続先ＮＷのリストは、ＶＭ ＩＤで示されたＶＭが接続しているＮＷのリストである。所有者は、ＶＭ ＩＤで示されたＶＭの所有者である。生成時刻は、ＶＭ ＩＤで示されたＶＭが生成された時刻である。フレーバについては図２６で後述する。
【００８４】
動作ＶＭ管理情報送信部３４は、動作ＶＭ管理情報を要求に応じて他装置に送信する。動作ＮＷ管理情報ＤＢ３５は、動作中のＮＷに関連する管理情報（例えば、ＮＷ ＩＤ、接続先ＶＭのリスト等）を記憶する。
【００８５】
なお、ＮＷ ＩＤは、ＮＷを特定する識別情報であり、接続先ＶＭのリストは、ＮＷ ＩＤで示されたＮＷに接続しているＶＭの識別情報のリストである。動作ＮＷ管理情報送信部３６は、動作ＮＷ管理情報を要求に応じて他装置に送信する。
【００８６】
＜第２の実施の形態の動作＞
次に第２の実施の形態の動作について説明する。第２の実施の形態では、自動試験実行サーバ１０ａ−２は、ＶＭに対して試験を実行し、試験後に試験が失敗したと判定すると、システム管理サーバ２０が管理している試験後のシステム構成情報を取得する。
【００８７】
そして、自動試験実行サーバ１０は、試験前から保持しているシステム構成情報と、システム管理サーバ２０から取得した試験後のシステム構成情報とを比較し、試験影響範囲に生成された孤立化ＶＭを特定して、孤立化ＶＭを削除する。
【００８８】
図１１は試験対象システムの一例を示す図である。試験対象システム４ａは、ＶＭ１−１０で構成され、ＶＭ１−１０は、ＮＷ１−１０によって接続される。
ＮＷ１、８、９、１０については、１つのＮＷに複数のＶＭがスター状に接続する。一方、ＮＷ２−７については、１つのＮＷに２台のＶＭが１対１で接続する（例えば、ＮＷ２には、ＶＭ１とＶＭ４が１対１で接続している）。
【００８９】
試験対象システム４ａは、システム管理サーバ２０によって管理制御されている。システム管理サーバ２０は、個々のＶＭの処理負荷（トラヒック処理量等）に応じて、負荷分散のために、システムを構成するＶＭを増減する。
【００９０】
システム管理サーバ２０は、同種（同じＮＷ／アプリケーション機能）のＶＭを１つのグループ（ＶＭグループ）で管理している。図１１の例では、ＶＭ１−３はＶＭグループＧｒ１、ＶＭ４、５はＶＭグループＧｒ２、ＶＭ６−８はＶＭグループＧｒ３、ＶＭ９、１０はＶＭグループＧｒ４で管理されている。
【００９１】
また、システム管理サーバ２０は、グループ単位で負荷に応じてＶＭを増減する。例えば、ＶＭ５の負荷が高くなると、ＶＭ５が属するＶＭグループＧｒ２に対してスケールアウトのために、新たなＶＭをＶＭグループＧｒ２内に生成し、所定のＮＷに接続する。
【００９２】
図１２、図１３は第２の実施の形態の動作シーケンスを示す図である。以下、シーケンス図にもとづいて、ステップ毎に説明する。
〔ステップＳ１０〕
自動試験実行サーバ１０ａ−２内の冗長構成定義情報ＤＢ１１ｂに冗長構成定義情報が記憶される。図１４は冗長構成定義情報の一例を示す図である。冗長構成定義情報は、冗長構成モデルとして、例えば、転送先切替えモデルである冗長構成タイプ１Ａと、転送先振り分けモデルである冗長構成タイプ２Ａとが定義される情報である。
【００９３】
冗長構成タイプ１Ａは、複数の振り分け機能が適切な処理機能を選択し、選択した処理機能に情報を処理させるタイプである。
この例では、振り分け機能Ａ１は、処理すべき情報を処理機能Ｂグループ内の処理機能Ｂ１または処理機能Ｂ２のいずれかに振り分ける。同様に、振り分け機能Ａ２は、処理すべき情報を処理機能Ｂグループ内の処理機能Ｂ１または処理機能Ｂ２のいずれかに振り分ける。
【００９４】
冗長構成タイプ２Ａは、複数の振り分け機能が複数の処理機能に情報を振り分けて処理させるタイプである。
この例では、振り分け機能Ａ１は、処理すべき情報を処理機能Ｂグループ内の処理機能Ｂ１、Ｂ２、３に振り分ける。同様に、振り分け機能Ａ２は、処理すべき情報を処理機能Ｂグループ内の処理機能Ｂ１、Ｂ２、Ｂ３に振り分ける。
【００９５】
なお、図１４以外の冗長構成を定義してもよい。また、冗長構成モデルを表現するために、単純に、処理機能Ｂグループと処理機能Ｃグループは同数の処理機能を含むとしているが同数でなくてもよい。さらに処理機能Ｂグループと処理機能Ｃグループが固定的に連結していなくてもよい。
【００９６】
〔ステップＳ１０ａ〕
自動試験実行サーバ１０ａ−２内のシステム構成情報取得部１８は、図１１に示す試験対象システム４ａのシステム構成情報をシステム管理サーバ２０から取得する。
【００９７】
図１５はシステム構成情報の一例を示す図である。システム構成情報には、ＶＭ情報、ＮＷ情報およびＶＭグループ情報が含まれる。図１５の例では、ＶＭ情報は、ＶＭ１−１０の識別情報およびＶＭ１−１０それぞれの接続先ＮＷのリストである。ＮＷ情報は、ＮＷ１−１０の識別情報である。ＶＭグループ情報は、ＶＭグループＧｒ１−４の識別情報および各ＶＭグループに属するＶＭのリストである。
【００９８】
〔ステップＳ１０ｂ〕
自動試験実行サーバ１０ａ−２は、記憶されているシステム構成情報のＶＭグループに対して、冗長構成定義情報で定義された冗長構成モデルを対応付ける。管理者により手動で対応付けを行ってもよいし、各ＮＷ／アプリケーション機能が持っている属性情報から冗長構成を特定してもよい。
【００９９】
図１６は冗長構成モデルによる対応付けの一例を示す図である。ＶＭグループＧｒ１−３およびＮＷ１−９が冗長構成タイプ１Ａに対応付けられている。また、ＶＭグループＧｒ３、Ｇｒ４およびＮＷ８−１０が冗長構成タイプ２Ａに対応付けられている。
【０１００】
〔ステップＳ１１〕
自動試験実行サーバ１０ａ−２内の試験箇所決定部１２は、システム構成情報からランダムにＮＷ／アプリケーション機能を選択し、試験によって疑似障害を発生させるＮＷ／アプリケーション機能が動作するＶＭを決定する。この例では、ＶＭ５が試験箇所として選択されたものとする。
【０１０１】
〔ステップＳ１２〕
自動試験実行サーバ１０ａ−２内の試験影響範囲スナップショット作成部１３は、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験影響範囲を特定する。そして、試験影響範囲スナップショット作成部１３は、試験影響範囲に存在するＶＭの仮想ディスクイメージと実行状態情報からスナップショットを作成する。
【０１０２】
さらに、試験影響範囲スナップショット作成部１３は、作成したスナップショットをスナップショット用ストレージ１４に記憶させ、また特定された試験影響範囲を試験影響範囲システム構成情報として試験影響範囲システム構成情報ＤＢ１１ｃに記憶する。
【０１０３】
試験影響範囲の特定方法は、例えば、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験箇所を含む冗長構成の範囲を試験影響範囲とみなす。
図１７は試験影響範囲に含まれるシステム構成情報の一例を示す図である。この例では、試験影響範囲スナップショット作成部１３は、試験箇所であるＶＭ５を含む冗長構成の範囲がＶＭ１−８であることから、試験影響範囲をＶＭ１−８と特定し、ＶＭ１−８のスナップショットを取得してスナップショット用ストレージ１４に記憶する。
【０１０４】
そして、図１７に示すような、試験影響範囲に含まれるシステム構成情報（ＶＭ１−８のＶＭ情報、ＮＷ１−９のＮＷ情報およびＶＭグループＧｒ１−３のＶＭグループ情報）は、試験影響範囲システム構成情報として、試験影響範囲システム構成情報ＤＢ１１ｂに記憶される。
【０１０５】
〔ステップＳ１３〕
自動試験実行サーバ１０ａ−２の試験実行部１５は、試験箇所のＶＭ５に対して、例えば、擬似障害としてＶＭ停止を実行する。
【０１０６】
図１８は試験開始後の試験対象システムの一例を示す図であり、図１９はシステム管理サーバ内の試験開始後のシステム構成情報の一例を示す図である。試験が実行されると、試験対象システム４ａが処理するトラヒックが増加して試験対象システム４ａ−１になるものとする。
【０１０７】
本実施の形態の例では、システム管理サーバ２０内のＶＭ負荷監視部２３およびＶＭ増減判断部２４がＶＭ４、１０の過負荷を検知したとする。このとき、図１８に示すように、システム管理サーバ２０内のＶＭ生成部２５が、ＶＭ４と同じＶＭグループにＶＭ２０を生成し、ＶＭ１０と同じＶＭグループにＶＭ２１を生成したとする。なお、ＶＭ２０が新規に生成することによりＮＷ１１、１２、１３も新規に生成している。
【０１０８】
また、このときのシステム管理サーバ２０が管理しているシステム構成情報が図１９に示される（図１５で示したシステム構成情報との差分として、図１９では、ＶＭ２０、２１とＮＷ１１、１２、１３が追加されている）。
【０１０９】
〔ステップＳ１４〕
自動試験実行サーバ１０ａ−２内の試験正常確認部１６は、試験失敗を判断すると、スナップショットレストア部１７がＶＭの仮想ディスクイメージと実行状態情報を格納したスナップショットをスナップショット用ストレージ１４から読み出す。そして、ＶＭで動作するＮＷ／アプリケーション機能が再開される。
【０１１０】
試験正常確認部１６が試験成功と判断すると、ステップＳ１１に戻り試験が継続される。試験失敗の判断としては、自動試験実行サーバ１０ａ−２は、例えば、ＶＭ１、２、３からＶＭ９、１０にトラヒックが流れているかを確認し、トラヒックが流れていなければ、試験失敗と判断する。
【０１１１】
また、試験失敗と判断された場合、ステップＳ１２で格納していたＶＭ１−８のスナップショットにもとづき再開される。具体的には、まず、ＶＭ１−８のスナップショットを同一または任意の物理サーバに展開し、ＮＷ／アプリケーション機能を再開させる（再開したＶＭを新ＶＭ１−８と呼ぶ）。どの物理サーバで起動されるかは管理ポリシーにより決定される。
【０１１２】
そして、スナップショットからすべての新ＶＭ１−８上のＮＷ／アプリケーション機能が再開した後、ＶＭ削除部１１０は、現在の試験対象システム４ａ−１で稼働中のＶＭ１−８（旧ＶＭ１−８）を削除し、新たに起動した新ＶＭ１−８を旧ＶＭ１−８があった位置に挿入して接続する。
【０１１３】
〔ステップＳ１５〕
自動試験実行サーバ１０ａ−２内の孤立化ＶＭ特定部１９は、システム構成情報取得部１８がシステム管理サーバ２０から取得したシステム構成情報を受信する。また、孤立化ＶＭ特定部１９は、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループの識別情報をもとに、試験後のシステム構成情報から、対応するＶＭグループのＶＭのリストを抽出する。
【０１１４】
本実施の形態例では、試験影響範囲システム構成情報ＤＢ１１ｃで管理されているＶＭグループの識別情報はＶＭグループＧｒ１−３であり、試験後のシステム構成情報からＶＭグループのＶＭリストとしてＶＭ１−８、２０が抽出される。
【０１１５】
図２０は孤立化ＶＭを特定する際の比較処理のイメージを示す図である。孤立化ＶＭ特定部１９は、取得したＶＭのリストを、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループに属するＶＭのリストと比較する。
【０１１６】
そして、孤立化ＶＭ特定部１９は、比較結果から試験影響範囲システム構成情報ＤＢ１１ｃには存在しないＶＭの識別情報を特定し、このＶＭを試験後に孤立している孤立化ＶＭとみなす。
【０１１７】
本実施の形態例では、ＶＭの識別情報としてＶＭ２０が特定され、ＶＭ２０が試験後に孤立しているＶＭとみなされる。なお、ＶＭ２１は、ＶＭグループＧｒ４に属しており、試験影響範囲となっていないため、試験実行により生成したＶＭであっても、孤立しているＶＭとはみなされず削除されない。
【０１１８】
〔ステップＳ１６〕
自動試験実行サーバ１０ａ−２内のＶＭ削除部１１０は、孤立化ＶＭの削除をシステム管理サーバ２０に指示する。本実施の形態例では、ＶＭ２０が削除対象となる。システム管理サーバ２０内のＶＭ削除部２６は、ＶＩＭ３０にＶＭ２０の削除を指示し、システム構成情報からＶＭ２０に関する情報を削除する。また、ＶＩＭ３０内のＶＭ削除部３２は、ＶＭ２０を削除し、動作ＶＭ管理情報およびＮＷ管理情報からＶＭ２０に関する情報を削除する。
【０１１９】
［第３の実施の形態］
次に第３の実施の形態について説明する。第３の実施の形態の自動試験実行サーバは、ＶＭに対して擬似障害を発生させる試験を実行し、試験後に、ＶＩＭ３０から物理サーバ上で動作しているＶＭに関する情報（ＶＭ関連情報と呼ぶ）を取得する。そして、自動試験実行サーバは、取得したＶＭ関連情報から試験後のシステム構成情報を部分的に推測し、推測した情報と、試験前から持っているシステム構成情報とを比較することで孤立化ＶＭを特定する。
【０１２０】
＜自動試験実行サーバの機能ブロック＞
図２１は第３の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。第３の実施の形態の自動試験実行サーバ１０ａ−３は、システム構成情報ＤＢ１１ａ、冗長構成定義情報ＤＢ１１ｂ、試験影響範囲システム構成情報ＤＢ１１ｃ、試験箇所決定部１２、試験影響範囲スナップショット作成部１３、スナップショット用ストレージ１４、試験実行部１５、試験正常確認部１６、スナップショットレストア部１７、システム構成情報取得部１８、孤立化ＶＭ特定部１９ａ、ＶＭ削除部１１０、動作ＶＭ関連情報取得部１１１、動作ＮＷ関連情報取得部１１２およびシステム構成情報修正指示部１１３を備える。
【０１２１】
なお、図８に示した第２の実施の形態と同じ機能ブロックには同じ符号をつけて、機能ブロックが異なるものについて以下説明する。
動作ＶＭ関連情報取得部１１１は、ＶＩＭ３０から動作中のＶＭ関連情報（ＶＭ ＩＤ、接続先ＮＷのリスト、所有者、生成時刻等）を取得する。この場合、動作ＶＭ関連情報取得部１１１は、動作中のすべてのＶＭに関する情報を取得してもよいし、または所有者（試験対象システムの所有者）と生成時刻（試験開始時刻）を指定し、指定した条件に合致する動作中のＶＭに関する情報を取得してもよい。
【０１２２】
動作ＮＷ関連情報取得部１１２は、ＮＷ ＩＤをキー情報にしてＶＩＭ３０に問い合わせ、該ＮＷ ＩＤで示されるＮＷ関連情報（ＮＷ ＩＤ、接続先ＶＭのリスト等）を取得する。
【０１２３】
孤立化ＶＭ特定部１９ａは、ＶＩＭ３０から取得した試験中に生成されたＶＭに関する情報をもとに、試験影響範囲のＶＭグループに属するものであるかどうかをＶＭ間の接続関係にもとづいて判断して、孤立化ＶＭを特定する。
【０１２４】
具体的には、孤立化ＶＭ特定部１９ａは、試験後、動作ＶＭ関連情報取得部１１１により、ＶＩＭ３０から物理サーバ上で動作しているＶＭ関連情報を取得し、この中から試験中に生成されたＶＭを抽出する。
【０１２５】
また、孤立化ＶＭ特定部１９ａは、抽出したＶＭのそれぞれについて、ＮＷ関連情報をＶＩＭ３０からさらに取得する。そして、孤立化ＶＭ特定部１９ａは、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループのいずれかに属するかを、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭ間の接続構成をもとに判断する。
【０１２６】
システム構成情報修正指示部１１３は、孤立化ＶＭ特定部１９ａで特定したＶＭをシステム管理サーバ２０内のシステム構成情報ＤＢ２１から削除するようシステム管理サーバ２０に対して指示する。
【０１２７】
＜第３の実施の形態の動作＞
次に第３の実施の形態の動作について説明する。なお、試験対象システムは図１１に示した構成と同じとする。また、ＶＭ１−１０は、時刻ｔ０に生成され、ＶＭの所有者は、試験対象システムの所有者Ｘとする。
【０１２８】
図２２、図２３は第３の実施の形態の動作シーケンスを示す図である。なお、ステップＳ１０−Ｓ１４までは図１２、図１３に示した第２の実施の形態のシーケンス図のステップＳ１０−Ｓ１４の処理と同じであるので説明は省略する。
【０１２９】
〔ステップＳ１５ａ〕
自動試験実行サーバ１０ａ−３内の動作ＶＭ関連情報取得部１１１は、ＶＩＭ３０から物理サーバ上で動作しているすべてのＶＭ関連情報を取得する。本実施の形態例では、ＶＭ関連情報として、ＶＭ１−１０、２０、２１が含まれているとする。ＶＭ１−１０、２０、２１のＶＭ関連情報を以下に示す。
【０１３０】
・［ＶＭ ＩＤ：ＶＭ１、接続先ＮＷのリスト：（１，２，３）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ２、接続先ＮＷのリスト：（１，４，５）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ３、接続先ＮＷのリスト：（１，６，７）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ４、接続先ＮＷのリスト：（２，４，６，８）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ５、接続先ＮＷのリスト：（３，５，７，８）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ６、接続先ＮＷのリスト：（８，９）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ７、接続先ＮＷのリスト：（８，９）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ８、接続先ＮＷのリスト：（８，９）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ９、接続先ＮＷのリスト：（９，１０）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ１０、接続先ＮＷのリスト：（９，１０）、所有者：Ｘ、生成時刻：ｔ０］
・［ＶＭ ＩＤ：ＶＭ２０、接続先ＮＷのリスト：（１１，１２，１３，８）、所有者：Ｘ、生成時刻：ｔ１］
・［ＶＭ ＩＤ：ＶＭ２１、接続先ＮＷのリスト：（９，１０）、所有者：Ｘ、生成時刻：ｔ１］
そして、孤立化ＶＭ特定部１９ａは、物理サーバ上で動作しているＶＭ関連情報の中から、試験中に生成されたＶＭを抽出する。本実施の形態例では、孤立化ＶＭ特定部１９ａは、まずＶＭ関連情報から、ＶＭの識別情報が所定値と一致するか判断する。例えば、ＶＭの識別情報は試験対象システムの所有者Ｘに該当する。したがって、孤立化ＶＭ特定部１９ａは、ＶＭの所有者が試験対象システムの所有者Ｘであるか判断することになる。
【０１３１】
さらに孤立化ＶＭ特定部１９ａは、ＶＭ生成時刻が試験開始時刻ｔ１以降であるＶＭを検索する。よって、ＶＭの所有者が試験対象システムの所有者Ｘであり、ＶＭ生成時刻が試験開始時刻ｔ１以降であるＶＭとして、ＶＭ２０、２１が抽出される。
【０１３２】
または孤立化ＶＭ特定部１９ａは、動作ＶＭ関連情報取得部１１１によって、所有者（試験対象システムの所有者）と、生成時刻（試験開始時刻以降）を指定し、これらの条件に合致する動作中のＶＭに関する情報を取得してもよい。この場合、孤立化ＶＭ特定部１９ａは、ＶＭの所有者が試験対象システムの所有者Ｘであり、かつ、ＶＭ生成時刻が試験開始時刻ｔ１以降である条件に合致するＶＭをＶＩＭ３０に問い合わせることで、試験中に生成されたＶＭ２０、２１を取得する。
【０１３３】
孤立化ＶＭ特定部１９ａは、抽出したＶＭのそれぞれについて、接続先ＶＭグループを特定する。孤立化ＶＭ特定部１９ａは、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループ（試験影響ＶＭグループとする）のそれぞれに対し、抽出したＶＭの接続先ＶＭグループが、試験影響ＶＭグループの接続先ＶＭグループと同じであるかを照らし合わせる（ＶＭ間の接続関係を照らし合わせる）。これにより、孤立化ＶＭ特定部１９ａは、抽出したＶＭが試験中に試験影響範囲に生成されたＶＭであり孤立しているかを判断する。
【０１３４】
図２４は孤立化ＶＭ特定処理の動作を示すフローチャートである。
（ステップＳ１０１）孤立化ＶＭ特定部１９ａは、試験影響ＶＭグループが接続しているＶＭグループを試験影響範囲システム構成情報から抽出する。
【０１３５】
（ステップＳ１０２）孤立化ＶＭ特定部１９ａは、抽出したＶＭの内、未検査のＶＭがあるか判断する。未検査のＶＭがあれば処理がステップＳ１０３へ進み、無ければ終了する。
【０１３６】
（ステップＳ１０３）孤立化ＶＭ特定部１９ａは、未検査のＶＭを１つ選択する。
（ステップＳ１０４）孤立化ＶＭ特定部１９ａは、選択したＶＭのＮＷ関連情報をＶＩＭ３０から取得する。
【０１３７】
（ステップＳ１０５）孤立化ＶＭ特定部１９ａは、取得したＮＷ関連情報に記載されている接続先ＶＭのリストと、システム構成情報とにもとづいて、選択したＶＭが接続しているＶＭグループを抽出する。
【０１３８】
（ステップＳ１０６）孤立化ＶＭ特定部１９ａは、選択したＶＭが接続しているＶＭグループを試験影響ＶＭグループそれぞれの接続先ＶＭグループと照らし合わせる。
（ステップＳ１０７）孤立化ＶＭ特定部１９ａは、一致したＶＭグループが存在したか判断する。存在する場合は処理がステップＳ１０８へ進み、存在しない場合は処理がステップＳ１０９へ進む。
【０１３９】
（ステップＳ１０８）孤立化ＶＭ特定部１９ａは、選択したＶＭは、試験影響範囲に生成されたと判断し、ステップＳ１０２の処理へ戻る。
（ステップＳ１０９）孤立化ＶＭ特定部１９ａは、選択したＶＭは、試験影響範囲に生成されていないと判断し、ステップＳ１０２の処理へ戻る。
【０１４０】
ここで、図２４のフローの動作を具体的に説明する。孤立化ＶＭ特定部１９ａは、試験影響範囲内のＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３の接続先ＶＭグループは、試験影響範囲システム構成情報から、下記のようにわかっている。
【０１４１】
・Ｇｒ１の接続先ＶＭグループ：Ｇｒ２
・Ｇｒ２の接続先ＶＭグループ：Ｇｒ１、Ｇｒ３、Ｇｒ２（ＶＭグループＧｒ２は、自グループ内の他のＶＭにも接続できるためにここで列挙している）
・Ｇｒ３の接続先ＶＭグループ：Ｇｒ２、Ｇｒ４、Ｇｒ３（ＶＭグループＧｒ３は、自グループ内の他のＶＭにも接続できるためにここで列挙している）
また、孤立化ＶＭ特定部１９ａは、抽出したＶＭ（検査対象ＶＭと呼ぶ）のＮＷ関連情報をＶＩＭ３０から取得し、この情報とシステム構成情報から、該ＶＭの接続先ＶＭグループを抽出する。
【０１４２】
本実施の形態例では、ＶＭ２０、２１を検査対象ＶＭとして処理を行い、下記のように接続先ＶＭグループが抽出される。
（ＶＭ２０について）
接続先ＮＷが（１１，１２，１３，８）であることから、孤立化ＶＭ特定部１９ａは、下記のＮＷ関連情報を取得する。
【０１４３】
・ＮＷ ＩＤ：１１、接続先ＶＭのリスト：（ＶＭ１，ＶＭ２０）
・ＮＷ ＩＤ：１２、接続先ＶＭのリスト：（ＶＭ２，ＶＭ２０）
・ＮＷ ＩＤ：１３、接続先ＶＭのリスト：（ＶＭ３，ＶＭ２０）
・ＮＷ ＩＤ：８、接続先ＶＭのリスト：（ＶＭ４，ＶＭ５，ＶＭ６，ＶＭ７，ＶＭ８，ＶＭ２０）
一方、システム構成情報より接続先ＶＭが所属するＶＭグループは、下記のようにＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３であると孤立化ＶＭ特定部１９ａにより抽出される。つまり、孤立化ＶＭ特定部１９ａは、ＶＭ２０はＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３と接続していることを検出する。
【０１４４】
・ＶＭ１、ＶＭ２、ＶＭ３は、ＶＭグループＧｒ１に含まれる。
・ＶＭ４、ＶＭ５は、ＶＭグループＧｒ２に含まれる。
・ＶＭ６、ＶＭ７、ＶＭ８は、ＶＭグループＧｒ３に含まれる。
【０１４５】
孤立化ＶＭ特定部１９ａは、抽出したＶＭ２０の接続先ＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３を、試験影響ＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３の接続先ＶＭグループと照らし合わせ、試験影響ＶＭグループのＧｒ２と一致することを検出する。
【０１４６】
すなわち、試験影響ＶＭグループＧｒ１の接続先ＶＭグループは、Ｇｒ１、Ｇｒ２であり、試験影響ＶＭグループＧｒ２の接続先ＶＭグループは、Ｇｒ１、Ｇｒ２、Ｇｒ３であり、試験影響ＶＭグループＧｒ３の接続先ＶＭグループは、Ｇｒ２、Ｇｒ３、Ｇｒ４である。したがって、抽出したＶＭ２０の接続先ＶＭグループ（Ｇｒ１、Ｇｒ２、Ｇｒ３）と同じ接続先ＶＭグループを持つ試験影響ＶＭグループは、試験影響ＶＭグループＧｒ２である。
【０１４７】
（ＶＭ２１について）
孤立化ＶＭ特定部１９ａは、接続先ＮＷが（９，１０）であることから、下記のＮＷ関連情報を取得する。
【０１４８】
・ＮＷ ＩＤ：９、接続先ＶＭのリスト：（ＶＭ６，ＶＭ７，ＶＭ８，ＶＭ９，ＶＭ１０，ＶＭ２１）
・ＮＷ ＩＤ：１０、接続先ＶＭのリスト：（ＶＭ９，ＶＭ１０，ＶＭ２１）
また、孤立化ＶＭ特定部１９ａは、システム構成情報より接続先ＶＭが所属するＶＭグループは、下記のようにＶＭグループＧｒ３、Ｇｒ４であると抽出する。つまり、孤立化ＶＭ特定部１９ａは、ＶＭ２１はＶＭグループＧｒ３、Ｇｒ４と接続していることを検出する。
【０１４９】
・ＶＭ６、ＶＭ７、ＶＭ８は、ＶＭグループＧｒ３に含まれる。
・ＶＭ９、ＶＭ１０は、ＶＭグループＧｒ４に含まれる。
孤立化ＶＭ特定部１９ａは、抽出したＶＭ２１の接続先ＶＭグループＧｒ３、Ｇｒ４を、試験影響ＶＭグループＧｒ１、Ｇｒ２、Ｇｒ３の接続先ＶＭグループと照らし合わせ、どの試験影響ＶＭグループとも一致しないことを検出する。
【０１５０】
すなわち、試験影響ＶＭグループＧｒ１の接続先ＶＭグループは、Ｇｒ１、Ｇｒ２であり、試験影響ＶＭグループＧｒ２の接続先ＶＭグループは、Ｇｒ１、Ｇｒ２、Ｇｒ３であり、試験影響ＶＭグループＧｒ３の接続先ＶＭグループは、Ｇｒ２、Ｇｒ３、Ｇｒ４である。したがって、抽出したＶＭ２１の接続先ＶＭグループ（Ｇｒ３、Ｇｒ４）と同じ接続先ＶＭグループを持つ試験影響ＶＭグループは存在しない。
【０１５１】
以上より、孤立化ＶＭ特定部１９ａは、ＶＭ２０は試験影響範囲に存在するＶＭグループＧｒ２に属していると判断し、試験中に試験影響範囲に生成された孤立化ＶＭであると特定する。また、ＶＭ２１は、試験中に生成されたＶＭではあるが、試験影響範囲に生成されたＶＭではなく、孤立化ＶＭではないと判断される。
【０１５２】
〔ステップＳ１６〕
ＶＭ削除部１１０は、孤立化ＶＭ特定部１９ａで特定されたＶＭを削除する。本実施の形態例では、ＶＭ２０が削除対象となる。
【０１５３】
〔ステップＳ１７〕
システム構成情報修正指示部１１３は、孤立化ＶＭ特定部１９ａで特定したＶＭをシステム管理サーバ２０内のシステム構成情報ＤＢ２１から削除するようシステム管理サーバ２０に対して指示する。これによって、システム管理サーバ２０が認識している試験対象システムの構成と、物理サーバ上で実際に動作している試験対象システムの構成を一致させる。
【０１５４】
上記のように、第３の実施の形態によれば、システム管理サーバ２０が保持しているシステム構成情報を直接使用することなく孤立化ＶＭ特定を行う。これにより、試験により、試験対象システムに加えてさらにシステム管理サーバ２０にも不具合（例えば、システム管理サーバ２０が試験に応じてシステム復旧をする際、システム構成情報を誤修正する等）がある場合（二重障害）でも孤立化ＶＭを特定できる。
【０１５５】
すなわち、システム管理サーバ２０が試験による不具合でシステム構成情報が正しくない状態になっていたとしても、自動試験実行サーバは、この状態に影響を受けることなく、ＶＭの孤立状態を解消できる。
【０１５６】
［第４の実施の形態］
次に第４の実施の形態について説明する。第４の実施の形態では、試験対象システムを構成する各ＶＭグループが同じＮＷに接続している場合であっても孤立化ＶＭの特定を可能にするものである。
【０１５７】
ここで、上記の第３の実施の形態では、自動試験実行サーバ１０ａ−３は、試験対象システムのＶＭ間の接続構成に着目し、試験中に試験影響範囲に生成されたＶＭを特定した。ただし、この場合、試験対象システムを構成する各ＶＭグループが同じＮＷに接続していると、試験中に生成されたＶＭが、どのＶＭグループに属しているかをＶＭ間の接続構成に着目して特定することが困難になる。
【０１５８】
図２５は試験対象システム内で複数のＶＭグループが同じＮＷに接続している構成の一例を示す図である。試験対象システムは、試験実行前にＶＭ１−６で構成され、ＶＭ１、２はＶＭグループＧｒ１に属し、ＶＭ３、４はＶＭグループＧｒ２に属し、ＶＭ５、６はＶＭグループＧｒ３に属している。また、すべてのＶＭ１−６は同じＮＷ１に接続されている。
【０１５９】
このような構成において、例えば、試験実行中にＶＭ７が生成された場合、第３の実施の形態で示したようにＶＭの接続構成に着目しても、すべてのＶＭグループは同じ接続構成であるため、ＶＭ７はどのＶＭグループに属しているかを判断することが困難になる。
【０１６０】
したがって、第４の実施の形態では、試験対象システムを構成する各ＶＭグループが同じＮＷに接続している場合は、ＶＩＭ３０がＶＭを生成する際に使用する「フレーバ」を一意に特定するフレーバ情報（例えば、フレーバ名）に着目して、孤立化ＶＭの特定を行うものである。
【０１６１】
図２６はフレーバの一例を示す図である。フレーバとは、ＶＭの仮想ハードウェアの仕様をテンプレート化したもので、例えば、図２６に示すように、フレーバ名に対して、メモリ、ディスク、ＣＰＵコア数が定義される。
【０１６２】
一般に、ＶＭで構成されるシステムでは、ＶＭに要求される性能毎にフレーバが定義されたり（図２６に示すsmall、medium、large）、ＶＭ上で動作させる機能毎、つまりＶＭグループ毎にフレーバが定義されたりする（図２６に示すloadbalancer、proxy、cache）。そして、ＶＩＭ３０は、指示されたフレーバに従ってＶＭを生成する。
【０１６３】
フレーバの定義情報は、ＶＩＭ３０によって管理されており、ＶＩＭ３０は、ＶＭ生成時に使用したフレーバを一意に特定する情報をＶＭ関連情報として保持する。同様に、システム構成情報は、ＶＭ生成時に使用したフレーバを一意に特定する情報を含む。
【０１６４】
このようなフレーバ情報に着目し、第４の実施の形態の自動試験実行サーバは、ＶＭに対して擬似障害を発生させる試験を実行し、試験失敗時に、ＶＩＭ３０から試験中に生成されたＶＭ関連情報を取得する。
【０１６５】
そして、該自動試験実行サーバは、ＶＭ関連情報に含まれるフレーバを一意に特定する情報を、試験影響範囲システム構成情報にあるフレーバと照らし合わせることで、試験中に生成されたＶＭが試験影響範囲に生成されたものであるかを判断する。
【０１６６】
＜自動試験実行サーバの機能ブロック＞
図２７は第４の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。自動試験実行サーバ１０ａ−４は、システム構成情報ＤＢ１１ａ−１、冗長構成定義情報ＤＢ１１ｂ、試験影響範囲システム構成情報ＤＢ１１ｃ、試験箇所決定部１２、試験影響範囲スナップショット作成部１３、スナップショット用ストレージ１４、試験実行部１５、試験正常確認部１６、スナップショットレストア部１７、システム構成情報取得部１８、孤立化ＶＭ特定部１９ｂ、ＶＭ削除部１１０、動作ＶＭ関連情報取得部１１１ｂ、動作ＮＷ関連情報取得部１１２およびシステム構成情報修正指示部１１３を備える。
【０１６７】
なお、図２１に示した第３の実施の形態と同じ機能ブロックには同じ符号をつけて、機能ブロックが異なるものについて以下説明する。
システム構成情報ＤＢ１１ａ−１は、ＮＷ／アプリケーション機能、ＮＷ／アプリケーション機能が動作するＶＭ情報、ＶＭグループ情報、ＶＭ間を接続しているＮＷ情報をシステム構成情報として記憶する。なお、ＶＭグループ情報は、例えば、ＶＭグループの識別情報、ＶＭグループに属するＶＭのリスト、フレーバ名等を含む。
【０１６８】
動作ＶＭ関連情報取得部１１１ｂは、ＶＩＭ３０から動作中のＶＭ関連情報（ＶＭ ＩＤ、接続先ＮＷのリスト、所有者、生成時刻、フレーバ名等）を取得する。
孤立化ＶＭ特定部１９ｂは、ＶＩＭ３０から取得した試験中に生成されたＶＭに関する情報をもとに、試験影響範囲のＶＭグループに属するものであるかどうかをＶＭのフレーバに着目し判断して孤立化ＶＭを特定する。
【０１６９】
具体的には、孤立化ＶＭ特定部１９ｂは、試験後に、動作ＶＭ関連情報取得部１１１ｂがＶＩＭ３０から取得した、物理サーバ上で動作しているＶＭのＶＭ関連情報を受信すると、ＶＭ関連情報の中から試験中に生成されたＶＭを抽出する。
【０１７０】
そして、孤立化ＶＭ特定部１９ｂは、抽出したＶＭのそれぞれについて、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループのいずれかに属するかを、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭのフレーバをもとに判断する。
【０１７１】
＜第４の実施の形態の動作＞
次に第４の実施の形態の動作について説明する。図２８は試験対象システムの一例を示す図である。試験対象システム４ｂは、ＶＭ１−６で構成され、ＶＭ１、２はＶＭグループＧｒ１に属し、ＶＭ３、４はＶＭグループＧｒ２に属し、ＶＭ５、６はＶＭグループＧｒ３に属している。また、ＶＭ１−６は同じＮＷ１に接続されている。
【０１７２】
なお、ＶＭ１−６は、時刻ｔ０に生成されており、ＶＭの所有者は試験対象システム４ｂの所有者Ｘとする。
図２９、図３０は第４の実施の形態の動作シーケンスを示す図である。以下、シーケンス図にもとづいて、ステップ毎に説明する。
【０１７３】
〔ステップＳ２０〕
自動試験実行サーバ１０ａ−４内の冗長構成定義情報ＤＢ１１ｂに冗長構成定義情報が記憶される。例えば、図１４で上述したような冗長構成定義情報が記憶される。
【０１７４】
〔ステップＳ２０ａ〕
自動試験実行サーバ１０ａ−４内のシステム構成情報取得部１８は、試験対象システムのシステム構成情報をシステム管理サーバ２０から取得する。
【０１７５】
図３１はシステム構成情報の一例を示す図である。システム構成情報には、ＶＭ情報、ＮＷ情報およびＶＭグループ情報が含まれる。図３１の例では、ＶＭ情報は、ＶＭ１−６の識別情報およびＶＭ１−６それぞれの接続先ＮＷのリストである。ＮＷ情報は、ＮＷ１の識別情報である。ＶＭグループ情報は、ＶＭグループＧｒ１−３の識別情報、各ＶＭグループに属するＶＭのリストおよびフレーバ名である。
【０１７６】
〔ステップＳ２０ｂ〕
自動試験実行サーバ１０ａ−４は、記憶されているシステム構成情報のＶＭグループに対して、冗長構成定義情報で定義された冗長構成モデルを対応付ける。管理者により手動で対応付けを行ってもよいし、各ＮＷ／アプリケーション機能が持っている属性情報から冗長構成を特定してもよい。
【０１７７】
図３２は冗長構成モデルによる対応付けの一例を示す図である。ＶＭグループＧｒ１、２およびＮＷ１が冗長構成タイプ１Ａに対応付けられている。また、ＶＭグループＧｒ２、３およびＮＷ１が冗長構成タイプ２Ａに対応付けられている。
【０１７８】
〔ステップＳ２１〕
自動試験実行サーバ１０ａ−４内の試験箇所決定部１２は、システム構成情報からランダムにＮＷ／アプリケーション機能を選択し、試験による疑似障害を発生させるＮＷ／アプリケーション機能が動作するＶＭを決定する。この例では、ＶＭ１が試験箇所として選択されたものとする。
【０１７９】
〔ステップＳ２２〕
自動試験実行サーバ１０ａ−４内の試験影響範囲スナップショット作成部１３は、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験に影響する範囲を特定する。そして、試験影響範囲スナップショット作成部１３は、試験影響範囲に存在するＶＭの仮想ディスクイメージと実行状態情報からスナップショットを作成する。
【０１８０】
さらに、試験影響範囲スナップショット作成部１３は、作成したスナップショットをスナップショット用ストレージ１４に記憶させ、特定された試験影響範囲を試験影響範囲システム構成情報として試験影響範囲システム構成情報ＤＢ１１ｃに記憶する。
【０１８１】
試験影響範囲の特定方法は、例えば、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験箇所を含む冗長構成の範囲を試験影響範囲とみなす。
図３３は試験影響範囲システム構成情報の一例を示す図である。この例では、試験影響範囲スナップショット作成部１３は、試験箇所であるＶＭ１を含む冗長構成の範囲がＶＭ１−４であることから、試験影響範囲をＶＭ１−４と特定し、ＶＭ１−４のスナップショットを取得してスナップショット用ストレージ１４に記憶する。
【０１８２】
そして、図３３に示すような、試験影響範囲に含まれるシステム構成情報（ＶＭ１−４のＶＭ情報、ＮＷ１のＮＷ情報およびＶＭグループＧｒ１、Ｇｒ２のＶＭグループ情報）は、試験影響範囲システム構成情報として、試験影響範囲システム構成情報ＤＢ１１ｃに記憶される。
【０１８３】
〔ステップＳ２３〕
自動試験実行サーバ１０ａ−４内の試験実行部１５は、試験箇所のＶＭ１に対して、例えば、擬似障害としてＶＭ停止を実行する。
【０１８４】
図３４は試験開始後の試験対象システムの構成の一例を示す図であり、図３５はシステム管理サーバ内のシステム構成情報の一例を示す図である。試験が実行されると、試験対象システム４ｂが処理するトラヒックが増加して試験対象システム４ｂ−１になるものとする。
【０１８５】
本実施の形態の例では、システム管理サーバ２０内のＶＭ負荷監視部２３およびＶＭ増減判断部２４がＶＭ４、５の過負荷を検知したとする。システム管理サーバ２０内のＶＭ生成部２５は、図３４に示すように、ＶＭ４と同じＶＭグループに属するＶＭ７を生成し、ＶＭ５と同じＶＭグループに属するＶＭ８を生成したとする。
【０１８６】
また、このときのシステム管理サーバ２０が管理しているシステム構成情報が図３５に示される（図３１で示したシステム構成情報との差分として、図３５では、ＶＭ７、８が追加されている）。
【０１８７】
〔ステップＳ２４〕
自動試験実行サーバ１０ａ−４内の試験正常確認部１６は、試験失敗を判断すると、スナップショットレストア部１７がＶＭの仮想ディスクイメージと実行状態情報を格納したスナップショットをスナップショット用ストレージ１４から読み出す。そして、ＶＭで動作するＮＷ／アプリケーション機能が再開される。
【０１８８】
試験正常確認部１６が試験成功と判断すると、ステップＳ２１に戻り自動試験が継続される。試験失敗の判断としては、自動試験実行サーバ１０ａ−４は、例えば、ＶＭ１、２からＶＭ３、４を経由しＶＭ５、６にトラヒックが流れているかを確認し、トラヒックが流れていなければ、試験失敗と判断する。
【０１８９】
例として、試験失敗と判断されたとすると、ステップＳ２２で格納していたＶＭ１−４のスナップショットにもとづき再開される。具体的には、まず、ＶＭ１−４のスナップショットを任意の物理サーバに展開し、ＮＷ／アプリケーション機能を再開させる（再開したＶＭを新ＶＭ１−４と呼ぶ）。どの物理サーバで起動されるかは管理ポリシーにより決定される。
【０１９０】
そして、スナップショットからすべての新ＶＭ１−４上のＮＷ／アプリケーション機能が再開した後、ＶＭ削除部１１０は、現在の試験対象のシステムで稼働中のＶＭ１−４を削除し、新たに起動した新ＶＭ１−４を試験対象システムの対応した位置に挿入して接続する。
【０１９１】
〔ステップＳ２５〕
自動試験実行サーバ１０ａ−４内の動作ＶＭ関連情報取得部１１１ｂは、ＶＩＭ３０から物理サーバ上で動作しているすべてのＶＭ関連情報を取得する。本実施の形態例では、ＶＭ関連情報として、ＶＭ１−８が含まれているとする。ＶＭ１−８のＶＭ関連情報を以下に示す。
【０１９２】
・［ＶＭ ＩＤ：ＶＭ１、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：loadbalancer］
・［ＶＭ ＩＤ：ＶＭ２、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：loadbalancer］
・［ＶＭ ＩＤ：ＶＭ３、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：proxy］
・［ＶＭ ＩＤ：ＶＭ４、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：proxy］
・［ＶＭ ＩＤ：ＶＭ５、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：cache］
・［ＶＭ ＩＤ：ＶＭ６、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、フレーバ名：cache］
・［ＶＭ ＩＤ：ＶＭ７、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ１、フレーバ名：proxy］
・［ＶＭ ＩＤ：ＶＭ８、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ１、フレーバ名：cache］
そして、孤立化ＶＭ特定部１９ｂは、物理サーバ上で動作しているＶＭ関連情報の中から、試験中に生成されたＶＭを抽出する。本実施の形態例では、孤立化ＶＭ特定部１９ｂは、ＶＭ関連情報から、ＶＭの所有者が試験対象システムの所有者Ｘであり、かつＶＭ生成時刻が試験開始時刻ｔ１以降であるＶＭを検索し、ＶＭ７、８を抽出する。
【０１９３】
または孤立化ＶＭ特定部１９ｂは、動作ＶＭ関連情報取得部１１１ｂにより、所有者（試験対象システムの所有者）と、生成時刻（試験開始時刻以降）を指定し、これらの条件に合致する動作中のＶＭに関する情報を取得してもよい。この場合、孤立化ＶＭ特定部１９ｂは、ＶＭの所有者が試験対象システムの所有者Ｘであり、かつ、ＶＭ生成時刻が試験開始時刻ｔ１以降である条件に合致するＶＭをＶＩＭ３０に問い合わせることで、試験中に生成されたＶＭ７、８を取得する。
【０１９４】
孤立化ＶＭ特定部１９ｂは、抽出したＶＭのフレーバ名が、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループ（試験影響ＶＭグループとする）のフレーバ名と同じであるかを照らし合わせる。これにより、孤立化ＶＭ特定部１９ｂは、抽出したＶＭが試験中に試験影響範囲に生成されたＶＭであり孤立しているかを判断する。
【０１９５】
図３６は孤立化ＶＭ特定処理の動作を示すフローチャートである。
（ステップＳ１１１）孤立化ＶＭ特定部１９ｂは、試験影響ＶＭグループが使用しているフレーバを試験影響範囲システム構成情報から抽出する。
【０１９６】
（ステップＳ１１２）孤立化ＶＭ特定部１９ｂは、抽出したＶＭの内、未検査のＶＭがあるか判断する。未検査のＶＭがあれば処理がステップＳ１１３へ進み、無ければ終了する。
【０１９７】
（ステップＳ１１３）孤立化ＶＭ特定部１９ｂは、未検査のＶＭを１つ選択する。
（ステップＳ１１４）孤立化ＶＭ特定部１９ｂは、選択したＶＭのフレーバ名を、試験影響ＶＭグループが使用しているフレーバと照らし合わせる。
【０１９８】
（ステップＳ１１５）孤立化ＶＭ特定部１９ｂは、一致したＶＭグループが存在したか判断する。存在する場合は処理がステップＳ１１６へ進み、存在しない場合は処理がステップＳ１１７へ進む。
【０１９９】
（ステップＳ１１６）孤立化ＶＭ特定部１９ｂは、選択したＶＭは、試験影響範囲に生成されたと判断し、ステップＳ１１２の処理へ戻る。
（ステップＳ１１７）孤立化ＶＭ特定部１９ｂは、選択したＶＭは、試験影響範囲に生成されていないと判断し、ステップＳ１１２の処理へ戻る。
【０２００】
ここで、図３６のフローの動作を具体的に説明する。孤立化ＶＭ特定部１９ｂは、試験影響ＶＭグループが使用しているフレーバは、試験影響範囲システム構成情報から、下記のようにわかっている。
【０２０１】
・Ｇｒ１が使用しているフレーバ：loadbalancer
・Ｇｒ２が使用しているフレーバ：proxy
また、抽出したＶＭ７、８のフレーバは以下である。
【０２０２】
ＶＭ７が使用しているフレーバ：proxy
ＶＭ８が使用しているフレーバ：cache
ＶＭ７のフレーバは、ＶＭグループＧｒ１、Ｇｒ２が使用しているフレーバに照らし合わせると、試験影響ＶＭグループＧｒ２と一致することがわかる。また、ＶＭ８のフレーバは、ＶＭグループＧｒ１、Ｇｒ２が使用しているフレーバに照らし合わせると、どの試験影響ＶＭグループとも一致しないことがわかる。
【０２０３】
以上より、孤立化ＶＭ特定部１９ｂは、ＶＭ７が試験影響範囲に存在するＶＭグループＧｒ２に属していると判断し、試験中に試験影響範囲に生成され、孤立化ＶＭであると特定する。また、ＶＭ８は、試験中に生成されたＶＭではあるが、試験影響範囲に生成されたＶＭではなく、孤立化したＶＭではないと判断される。
【０２０４】
〔ステップＳ２６〕
ＶＭ削除部１１０は、孤立化ＶＭ特定部１９ｂで特定されたＶＭを削除する。本実施の形態例では、ＶＭ７が削除対象となる。
【０２０５】
〔ステップＳ２７〕
システム構成情報修正指示部１１３は、孤立化ＶＭ特定部１９ｂで特定したＶＭをシステム管理サーバ２０内のシステム構成情報ＤＢ２１から削除するようシステム管理サーバ２０に対して指示する。これによって、システム管理サーバ２０が認識している試験対象システムの構成と、物理サーバ上で実際に動作している試験対象システムの構成を一致させる。
【０２０６】
以上説明したように、第４の実施の形態では、ＶＩＭ３０がＶＭを生成する際に使用する「フレーバ」を一意に特定するフレーバ情報（例えば、フレーバ名）に着目して、孤立化ＶＭの特定を行う。これにより、複数のＶＭグループが同じ接続構成を取っている場合においても、試験対象システムから無駄な仮想化資源を削除することができる。
【０２０７】
［第５の実施の形態］
次に第５の実施の形態について説明する。第５の実施の形態では、試験対象システムを構成する各ＶＭグループが同じフレーバを使用している場合であっても孤立化ＶＭの特定を可能にするものである。
【０２０８】
ここで、上記の第４の実施の形態では、自動試験実行サーバは、試験対象システムのＶＭのフレーバに着目し、試験中に試験影響範囲に生成されたＶＭを特定した。
ただし、この場合、試験対象システムを構成する各ＶＭグループが同じフレーバを使用していると、試験中に生成されたＶＭが、どのＶＭグループに属しているかをＶＭのフレーバに着目して特定することが困難になる。
【０２０９】
図３７は試験対象システム内で複数のＶＭグループが同じフレーバを使用している構成の一例を示す図である。試験対象システムは試験実行前にＶＭ１−６で構成され、ＶＭ１、２はＶＭグループＧｒ１に属し、ＶＭ３、４はＶＭグループＧｒ２に属し、ＶＭ５、６はＶＭグループＧｒ３に属している。また、すべてのＶＭグループは同じフレーバ（flavor：medium）を使用している。
【０２１０】
このような構成において、例えば、試験実行中にＶＭ７が生成された場合、第４の実施の形態で示したようにＶＭのフレーバに着目しても、すべてのＶＭグループは同じフレーバを使用しているため、ＶＭ７はどのＶＭグループに属しているかを判断することが困難である。
【０２１１】
したがって、第５の実施の形態では、試験対象システムを構成する各ＶＭグループが同じフレーバを使用している場合は、システム管理サーバ２０がＶＩＭ３０を介してＶＭを生成する際に付与したメタ情報に着目して、孤立化ＶＭの特定を行うものである。
【０２１２】
図３８はメタ情報の一例を示す図である。メタ情報としては、例えば、管理者がＶＭを識別できるように便宜的につけたＶＭ名、ＶＭ上で動作するＮＷ／アプリケーション機能名、ＶＭグループの識別情報等が挙げられる。図３８の例では、システム管理サーバ２０がシステム構成情報をもとにＶＭを生成する際に付与するＶＭ名をメタ情報としている。
【０２１３】
本実施の形態例では、システム管理サーバ２０が、ＶＭを生成する際、システム構成情報をもとに、自動試験実行サーバが試験失敗時に孤立化ＶＭを特定できる形式（ＶＭ名にＮＷアプリケーション名とＶＭグループＩＤを含める等）でメタ情報を付与する。メタ情報は、ＶＩＭ３０のＶＭ関連情報で保持される。
【０２１４】
このようなメタ情報に着目し、第５の実施の形態の自動試験実行サーバは、ＶＭに対して擬似障害を発生させる試験を実行し、試験失敗時に、ＶＩＭ３０から試験中に生成されたＶＭ関連情報を取得する。
【０２１５】
そして、該自動試験実行サーバは、ＶＭ関連情報に含まれるメタ情報を、試験影響範囲システム構成情報と照らし合わせることで、試験中に生成されたＶＭが試験影響範囲に生成されたものであるかを判断する。
【０２１６】
＜自動試験実行サーバの機能ブロック＞
図３９は第５の実施の形態の自動試験実行サーバの機能ブロックの一例を示す図である。自動試験実行サーバ１０ａ−５は、システム構成情報ＤＢ１１ａ−２、冗長構成定義情報ＤＢ１１ｂ、試験影響範囲システム構成情報ＤＢ１１ｃ、試験箇所決定部１２、試験影響範囲スナップショット作成部１３、スナップショット用ストレージ１４、試験実行部１５、試験正常確認部１６、スナップショットレストア部１７、システム構成情報取得部１８、孤立化ＶＭ特定部１９ｃ、ＶＭ削除部１１０、動作ＶＭ関連情報取得部１１１ｃ、動作ＮＷ関連情報取得部１１２およびシステム構成情報修正指示部１１３を備える。
【０２１７】
なお、図２１に示した第３の実施の形態と同じ機能ブロックには同じ符号をつけて、機能ブロックが異なるものについて以下説明する。
システム構成情報ＤＢ１１ａ−２は、システム構成情報を記憶する。システム構成情報としては、例えば、ＶＭ情報、ＶＭグループ情報およびＮＷ情報がある。
【０２１８】
ＶＭ情報は、ＶＭの識別情報および接続先ＮＷのリスト、ＶＭ名（メタ情報）等を含む。ＶＭグループ情報は、ＶＭグループの識別情報およびＶＭグループに属するＶＭのリスト、ＮＷ／アプリケーション機能名等が含まれる。ＮＷ情報は、ＶＭ間を接続しているＮＷの識別情報である。
【０２１９】
動作ＶＭ関連情報取得部１１１ｃは、ＶＩＭ３０から動作中のＶＭ関連情報（ＶＭ ＩＤ、接続先ＮＷのリスト、所有者、生成時刻、メタ情報等）を取得する。
孤立化ＶＭ特定部１９ｃは、ＶＩＭ３０から取得した試験中に生成されたＶＭに関する情報をもとに、試験影響範囲のＶＭグループに属するものであるかどうかをＶＭのメタ情報に着目して判断する。
【０２２０】
具体的には、孤立化ＶＭ特定部１９ｃは、試験後に、動作ＶＭ関連情報取得部１１１ｃがＶＩＭ３０から取得した、物理サーバ上で動作しているＶＭのＶＭ関連情報を受信すると、ＶＭ関連情報の中から試験中に生成されたＶＭを抽出する。
【０２２１】
そして、孤立化ＶＭ特定部１９ｃは、抽出したＶＭのそれぞれについて、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループのいずれかに属するかを、試験影響範囲システム構成情報と抽出したＶＭのメタ情報を照らし合わせて判断する。
【０２２２】
＜システム管理サーバの機能ブロック＞
図４０は第５の実施の形態のシステム管理サーバの機能ブロックの一例を示す図である。システム管理サーバ２０ａは、システム構成情報ＤＢ２１、システム構成情報送信部２２、ＶＭ負荷監視部２３、ＶＭ増減判断部２４、ＶＭ生成部２５、ＶＭ削除部２６、システム構成情報更新部２７およびメタ情報生成部２８を備える。なお、図９に示した構成と異なる機能ブロックはメタ情報生成部２８であり、その他の機能ブロックは同じである。
【０２２３】
メタ情報生成部２８は、ＶＭ生成時に、システム構成情報をもとに、自動試験実行サーバ１０ａ−５が試験失敗時に孤立したＶＭを特定できる形式でメタ情報を生成する。
＜第５の実施の形態の動作＞
次に第５の実施の形態の動作について説明する。図４１、図４２は第５の実施の形態の動作シーケンスを示す図である。以下、シーケンス図にもとづいて、ステップ毎に説明する。なお、試験対象システムは、図２８に示した構成と同じとする。ＶＭ１−６は、時刻ｔ０に生成され、ＶＭの所有者は試験対象システムの所有者Ｘとする。
【０２２４】
〔ステップＳ３０−１〕
システム管理サーバ２０ａは、試験対象システムのＶＭの生成時、自動試験実行サーバ１０ａ−５が試験失敗時に孤立化したＶＭを特定できる形式でメタ情報を生成し、ＶＩＭ３０を介してＶＭを生成する。
【０２２５】
このとき、システム管理サーバ２０ａは、ＶＩＭ３０にＶＭの生成を指示する際、メタ情報もＶＩＭ３０に送信する。例えば、システム管理サーバ２０ａ内のメタ情報生成部２８は、ＶＭ１−６を生成する際、以下のように、ＮＷ／アプリケーション機能名とＶＭグループ名とを組合せたＶＭ名（メタ情報の一例）を生成するものとする。
【０２２６】
ＶＭ１のＶＭ名：loadbalancer−Ｇｒ１
ＶＭ２のＶＭ名：loadbalancer−Ｇｒ１
ＶＭ３のＶＭ名：proxy−Ｇｒ２
ＶＭ４のＶＭ名：proxy−Ｇｒ２
ＶＭ５のＶＭ名：cache−Ｇｒ３
ＶＭ６のＶＭ名：cache−Ｇｒ３
〔ステップＳ３０〕
自動試験実行サーバ１０ａ−５内の冗長構成定義情報ＤＢ１１ｂに冗長構成定義情報が記憶される。例えば、図１４で上述したような冗長構成定義情報が記憶される。
【０２２７】
〔ステップＳ３０ａ〕
自動試験実行サーバ１０ａ−５内のシステム構成情報取得部１８は、試験対象システムのシステム構成情報をシステム管理サーバ２０ａから取得する。
【０２２８】
図４３はシステム構成情報の一例を示す図である。システム構成情報には、ＶＭ情報、ＮＷ情報およびＶＭグループ情報が含まれる。図４３の例では、ＶＭ情報は、ＶＭ１−６の識別情報およびＶＭ１−６それぞれの接続先ＮＷのリストである。ＮＷ情報は、ＮＷ１の識別情報である。ＶＭグループ情報は、ＶＭグループＧｒ１−３の識別情報および各ＶＭグループに属するＶＭのリストである。
【０２２９】
〔ステップＳ３０ｂ〕
自動試験実行サーバ１０ａ−５は、記憶されているシステム構成情報のＶＭグループに対して、冗長構成定義情報で定義された冗長構成モデルを対応付ける。管理者により手動で対応付けを行ってもよいし、各ＮＷ／アプリケーション機能が持っている属性情報から冗長構成を特定してもよい。対応付けの結果は、上述の図３２と同じとする。
【０２３０】
〔ステップＳ３１〕
自動試験実行サーバ１０ａ−５内の試験箇所決定部１２は、システム構成情報からランダムにＮＷ／アプリケーション機能を選択し、試験による疑似障害を発生させるＮＷ／アプリケーション機能が動作するＶＭを決定する。この例では、ＶＭ１が試験箇所として選択されたものとする。
【０２３１】
〔ステップＳ３２〕
自動試験実行サーバ１０ａ−５内の試験影響範囲スナップショット作成部１３は、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験に影響する範囲を特定する。そして、試験影響範囲スナップショット作成部１３は、試験影響範囲に存在するＶＭの仮想ディスクイメージと実行状態情報からスナップショットを作成する。
【０２３２】
さらに、試験影響範囲スナップショット作成部１３は、作成したスナップショットをスナップショット用ストレージ１４に記憶させ、特定された試験影響範囲を試験影響範囲システム構成情報として試験影響範囲システム構成情報ＤＢ１１ｃに記憶する。
【０２３３】
試験影響範囲の特定方法は、例えば、冗長構成定義情報が対応付けられたシステム構成情報を参照し、試験箇所を含む冗長構成の範囲を試験影響範囲とみなす。
本実施の形態例では、試験箇所であるＶＭ１を含む冗長構成の範囲がＶＭ１−４であることから、試験に影響する範囲をＶＭ１−４と特定し、該ＶＭのスナップショットを取得しスナップショット用ストレージ１４に記憶する。
【０２３４】
図４４は試験影響範囲システム構成情報の一例を示す図である。この例では、試験影響範囲スナップショット作成部１３は、試験箇所であるＶＭ１を含む冗長構成の範囲がＶＭ１−４であることから、試験影響範囲をＶＭ１−４と特定し、該ＶＭのスナップショットを取得しスナップショット用ストレージ１４に記憶する。
【０２３５】
そして、図４４に示すような、試験影響範囲に含まれるシステム構成情報（ＶＭ１−４のＶＭ情報、ＮＷ１のＮＷ情報およびＶＭグループＧｒ１、Ｇｒ２のＶＭグループ情報）は、試験影響範囲システム構成情報として、試験影響範囲システム構成情報ＤＢ１１ｂに記憶される。
【０２３６】
〔ステップＳ３３〕
自動試験実行サーバ１０ａ−５内の試験実行部１５は、試験箇所のＶＭに対して、例えば、擬似障害としてＶＭ停止を実行する。本実施の形態の例では、ステップＳ３１で決定したＶＭ１が試験箇所となる。
【０２３７】
試験開始後の試験対象システムの構成の一例は図３４と同じである。また、図４５はシステム管理サーバ内のシステム構成情報の一例を示す図である。試験が実行されると、試験対象システムが処理するトラヒックが増加するものとする。本実施の形態の例では、システム管理サーバ２０ａ内のＶＭ負荷監視部２３およびＶＭ増減判断部２４がＶＭ４、５の過負荷を検知したとする。
【０２３８】
図３４に示すように、システム管理サーバ２０ａ内のＶＭ生成部２５が、ＶＭ４と同じＶＭグループに属するＶＭ７、およびＶＭ５と同じＶＭグループに属するＶＭ８を生成したとする。また、このときのシステム管理サーバ２０ａが管理しているシステム構成情報が図４５に示される。
【０２３９】
〔ステップＳ３４〕
自動試験実行サーバ１０ａ−５内の試験正常確認部１６は、試験失敗を判断すると、スナップショットレストア部１７がＶＭの仮想ディスクイメージと実行状態情報を格納したスナップショットをスナップショット用ストレージ１４から読み出す。そして、ＶＭで動作するＮＷ／アプリケーション機能が再開される。
【０２４０】
試験正常確認部１６が試験成功と判断すると、ステップＳ３１に戻り試験が継続される。試験失敗の判断としては、自動試験実行サーバ１０ａ−５は、例えば、ＶＭ１、２からＶＭ３、４を経由しＶＭ５、６にトラヒックが流れているかを確認し、トラヒックが流れていなければ、試験失敗と判断する。
【０２４１】
例として、試験失敗と判断されたとすると、ステップＳ３２で格納していたＶＭ１−４のスナップショットにもとづき再開される。具体的には、まず、ＶＭ１−４のスナップショットファイルを同一または任意の物理サーバに展開し、ＮＷ／アプリケーション機能を再開させる（再開したＶＭを新ＶＭ１−４と呼ぶ）。どの物理サーバで起動されるかは管理ポリシーにより決定される。
【０２４２】
そして、スナップショットからすべての新ＶＭ上のＮＷ／アプリケーション機能が再開した後、ＶＭ削除部１１０は、現在の試験対象のシステムで稼働中のＶＭ１−４を削除し、新たに起動した新ＶＭ１−４を試験対象システムの対応した位置に挿入して接続する。
【０２４３】
〔ステップＳ３５〕
自動試験実行サーバ１０ａ−５内の動作ＶＭ関連情報取得部１１１ｃは、ＶＩＭ３０から物理サーバ上で動作しているすべてのＶＭ関連情報を取得する。本実施の形態例では、ＶＭ関連情報として、ＶＭ１−８が含まれているとする。ＶＭ１−８のＶＭ関連情報を以下に示す。
【０２４４】
・［ＶＭ ＩＤ：ＶＭ１、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：loadbalancer−Ｇｒ１］
・［ＶＭ ＩＤ：ＶＭ２、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：loadbalancer−Ｇｒ１］
・［ＶＭ ＩＤ：ＶＭ３、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：proxy−Ｇｒ２］
・［ＶＭ ＩＤ：ＶＭ４、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：proxy−Ｇｒ２］
・［ＶＭ ＩＤ：ＶＭ５、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：cache−Ｇｒ３］
・［ＶＭ ＩＤ：ＶＭ６、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ０、ＶＭ名：cache−Ｇｒ３］
・［ＶＭ ＩＤ：ＶＭ７、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ１、ＶＭ名：proxy−Ｇｒ２］
・［ＶＭ ＩＤ：ＶＭ８、接続先ＮＷのリスト：（１）、所有者：Ｘ、生成時刻：ｔ１、ＶＭ名：cache−Ｇｒ３］
そして、孤立化ＶＭ特定部１９ｃは、物理サーバ上で動作しているＶＭ関連情報の中から、試験中に生成されたＶＭを抽出する。本実施の形態例では、孤立化ＶＭ特定部１９ｃは、ＶＭ関連情報から、ＶＭの所有者が試験対象システムの所有者Ｘであり、かつＶＭ生成時刻が試験開始時刻ｔ１以降であるＶＭを検索し、ＶＭ７、８を抽出する。
【０２４５】
または孤立化ＶＭ特定部１９ｃは、動作ＶＭ関連情報取得部１１１ｃにより、所有者（試験対象システムの所有者）と、生成時刻（試験開始時刻以降）を指定し、これらの条件に合致する動作中のＶＭに関する情報を取得してもよい。この場合、孤立化ＶＭ特定部１９ｃは、ＶＭの所有者が試験対象システムの所有者Ｘであり、かつ、ＶＭ生成時刻が試験開始時刻ｔ１以降である条件に合致するＶＭをＶＩＭ３０に問い合わせることで、試験中に生成されたＶＭ７、８を取得する。
【０２４６】
孤立化ＶＭ特定部１９ｃは、抽出したＶＭのそれぞれについて、試験影響範囲システム構成情報ＤＢ１１ｃで記憶しているＶＭグループのいずれかに属するかを、試験影響範囲システム構成情報と抽出したＶＭのメタ情報を照らし合わせることで、抽出したＶＭが試験中に試験影響範囲に生成されたＶＭであり孤立しているかを判断する。
【０２４７】
具体的には、自動試験実行サーバ１０ａ−５は、ＶＭに付与されているメタ情報は、アプリケーション／ＮＷ機能名とＶＭグループ名を組合せたものだと知っているものとする。よって、自動試験実行サーバ１０ａ−５は、ＶＭのメタ情報からＶＭグループ名を抽出し、抽出したＶＭグループ名が試験影響範囲システム構成情報に含まれているかを探索する。
【０２４８】
その結果、ＶＭ７は、メタ情報からＶＭグループ名としてＧｒ２を抽出し、Ｇｒ２は試験影響範囲システム構成情報に含まれていることがわかる。また、ＶＭ８は、メタ情報からＶＭグループ名としてＧｒ３を抽出し、Ｇｒ３は試験影響範囲システム構成情報に含まれていないことがわかる。
【０２４９】
以上より、ＶＭ７は、試験影響範囲に存在するＶＭグループＧｒ２に属していると判断し、試験中に試験影響範囲に生成され、孤立化ＶＭであると特定される。また、ＶＭ８は、試験中に生成されたＶＭではあるが試験影響範囲に生成されたＶＭではなく、孤立化ＶＭではないと判断される。
【０２５０】
〔ステップＳ３６〕
ＶＭ削除部１１０は、孤立化ＶＭ特定部１９ｃで特定されたＶＭを削除する。本実施の形態例では、ＶＭ７が削除対象となる。
【０２５１】
〔ステップＳ３７〕
システム構成情報修正指示部１１３は、孤立化ＶＭ特定部１９ｃで特定したＶＭをシステム管理サーバ２０ａ内のシステム構成情報ＤＢ２１から削除するようシステム管理サーバ２０に対して指示する。これによって、システム管理サーバ２０ａが認識している試験対象システムの構成と、物理サーバ上で実際に動作している試験対象システムの構成を一致させる。
【０２５２】
以上説明したように、第５の実施の形態では、システム管理サーバ２０がＶＩＭ３０を介してＶＭを生成する際に付与したメタ情報に着目して、孤立化ＶＭの特定を行う。これにより、試験対象システムを構成する各ＶＭグループが同じフレーバを使用している場合
においても、試験対象システムから無駄な仮想化資源を削除することができる。
【０２５３】
以上説明したように、本発明によれば、運用中システムの試験中に、システムの試験影響範囲にＶＭが生成され、かつ試験が失敗し、スナップショットでシステムを復旧したとき、試験影響範囲に生成されて孤立状態のＶＭを削除することができ、無駄な仮想資源を削除することが可能になる。
【０２５４】
また、孤立状態のＶＭを削除するときに、システム管理サーバやＶＩＭの管理情報を更新し、物理サーバ上で実際に動作している試験対象システムの構成と一致させることが可能になる。さらに、本発明を使用することで、試験対象システム上のＶＭでサービスを構成する機能に対して機能追加をしないため、ＮＷ／アプリケーション／機能の開発者に対して機能追加の負担をなくすことができる。
【０２５５】
なお、孤立化ＶＭ特定部は、試験対象システム内のＶＭの構成にもとづいて、自動的に第４、第５の実施の形態を切り替える制御を有する。すなわち、孤立化ＶＭ特定部は、試験対象システムを構成する各ＶＭグループが同じＮＷに接続しており、各ＶＭグループが異なるフレーバを使用していることを検出した場合は、上述のフレーバ情報にもとづいて孤立化ＶＭ特定を特定する。
【０２５６】
また、孤立化ＶＭ特定部は、試験対象システムを構成する各ＶＭグループが同じＮＷに接続しており、各ＶＭグループが同じフレーバを使用していることを検出した場合は、上述のメタ情報にもとづいて孤立化ＶＭを特定する。
【０２５７】
上記で説明した本発明の試験装置および自動試験実行サーバの処理機能は、コンピュータによって実現することができる。その場合、試験装置および自動試験実行サーバが有すべき機能の処理内容を記述したプログラムが提供される。そのプログラムをコンピュータで実行することにより、上記処理機能がコンピュータ上で実現される。
【０２５８】
処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、磁気記憶装置、光ディスク、光磁気記録媒体、半導体メモリ等がある。磁気記憶装置には、ハードディスク装置（ＨＤＤ）、フレキシブルディスク（ＦＤ）、磁気テープ等がある。光ディスクには、ＤＶＤ、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ／ＲＷ等がある。光磁気記録媒体には、ＭＯ（Magneto Optical disk）等がある。
【０２５９】
プログラムを流通させる場合、例えば、そのプログラムが記録されたＤＶＤ、ＣＤ−ＲＯＭ等の可搬型記録媒体が販売される。また、プログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することもできる。
【０２６０】
プログラムを実行するコンピュータは、例えば、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、自己の記憶装置に格納する。そして、コンピュータは、自己の記憶装置からプログラムを読み取り、プログラムに従った処理を実行する。なお、コンピュータは、可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することもできる。
【０２６１】
また、コンピュータは、ネットワークを介して接続されたサーバコンピュータからプログラムが転送される毎に、逐次、受け取ったプログラムに従った処理を実行することもできる。また、上記の処理機能の少なくとも一部を、ＤＳＰ、ＡＳＩＣ、ＰＬＤ等の電子回路で実現することもできる。
【０２６２】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０２６３】
１０−１  試験装置
１ａ  記憶部
１ｂ  制御部
２、２ａ  試験対象システム
ＶＭ１、ＶＭ２、ＶＭ３、ＶＭ４、ＶＭ５、ＶＭ６  仮想マシン
ＮＷ１、ＮＷ２、ＮＷ３  ネットワーク
ｈ１  試験影響範囲
【図１】
2018116446.tif 000003
【図２】
2018116446.tif 000004
【図３】
2018116446.tif 000005
【図４】
2018116446.tif 000006
【図５】
2018116446.tif 000007
【図６】
2018116446.tif 000008
【図７】
2018116446.tif 000009
【図８】
2018116446.tif 000010
【図９】
2018116446.tif 000011
【図１０】
2018116446.tif 000012
【図１１】
2018116446.tif 000013
【図１２】
2018116446.tif 000014
【図１３】
2018116446.tif 000015
【図１４】
2018116446.tif 000016
【図１５】
2018116446.tif 000017
【図１６】
2018116446.tif 000018
【図１７】
2018116446.tif 000019
【図１８】
2018116446.tif 000020
【図１９】
2018116446.tif 000021
【図２０】
2018116446.tif 000022
【図２１】
2018116446.tif 000023
【図２２】
2018116446.tif 000024
【図２３】
2018116446.tif 000025
【図２４】
2018116446.tif 000026
【図２５】
2018116446.tif 000027
【図２６】
2018116446.tif 000028
【図２７】
2018116446.tif 000029
【図２８】
2018116446.tif 000030
【図２９】
2018116446.tif 000031
【図３０】
2018116446.tif 000032
【図３１】
2018116446.tif 000033
【図３２】
2018116446.tif 000034
【図３３】
2018116446.tif 000035
【図３４】
2018116446.tif 000036
【図３５】
2018116446.tif 000037
【図３６】
2018116446.tif 000038
【図３７】
2018116446.tif 000039
【図３８】
2018116446.tif 000040
【図３９】
2018116446.tif 000041
【図４０】
2018116446.tif 000042
【図４１】
2018116446.tif 000043
【図４２】
2018116446.tif 000044
【図４３】
2018116446.tif 000045
【図４４】
2018116446.tif 000046
【図４５】
2018116446.tif 000047