(57)【要約】  管理サーバが仮想計算機と仮想化部を制御する仮想計算機の制御方法であって、所定の契機を検知し、予め設定された契機定義情報に基づいて移動対象の仮想計算機を特定し、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定し、移動対象仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成し、設定された変換定義情報に基づいて、第１の制御パターンを第２の制御パターンに変換し、第２の制御パターンに基づいて仮想計算機を移動先の物理計算機へ移動する第２の計画を生成し、前記第１の計画の評価値と、前記第２の計画の評価値を演算して比較し、所定の条件を満たす評価値の一方の計画を実行計画として選択する。
2013084332.tif 000002
【特許請求の範囲】
【請求項１】
１つ以上の仮想計算機を提供する仮想化部を有する物理計算機と、プロセッサとメモリを備えて複数の前記物理計算機を管理する管理サーバとを備えて、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、
前記管理サーバが、所定の契機を検知する第１のステップと、
前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を取得する第２のステップと、
前記管理サーバが、予め設定された契機定義情報に基づいて移動対象の仮想計算機を特定する第３のステップと、
前記管理サーバが、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定し、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成する第４のステップと、
前記管理サーバは、予め設定された変換定義情報に基づいて、前記第１の制御パターンを第２の制御パターンに変換する第５のステップと、
前記管理サーバが、前記変換された第２の制御パターンに基づいて、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第２の計画を生成する第６のステップと、
前記管理サーバが、前記第１の計画の評価値と、前記第２の計画の評価値とをそれぞれ演算する第７のステップと、
前記管理サーバが、前記第１の計画の評価値と、前記第２の計画の評価値とを比較して、所定の条件を満たす評価値の一方を実行計画として選択する第８のステップと、
前記管理サーバが、前記選択された実行計画に基づいて、前記移動対象の仮想計算機を移動させる第９のステップと、
を含むことを特徴とする仮想計算機の制御方法。
【請求項２】
請求項１に記載の仮想計算機の制御方法であって、
前記第６のステップは、
前記第２の計画が、前記契機定義情報に設定された目標状態を満たしているか否かを判定し、前記目標状態を満たしていない場合には、当該第２の計画を破棄することを特徴とする仮想計算機の制御方法。
【請求項３】
請求項１に記載の仮想計算機の制御方法であって、
前記第６のステップは、
前記移動先の物理計算機の計算機資源に関する情報を取得して、前記第２の計画が、前記移動先の計算機資源で実現可能か否かを判定し、前記計算機資源を満たしていない場合には、当該第２の計画を破棄することを特徴とする仮想計算機の制御方法。
【請求項４】
請求項１に記載の仮想計算機の制御方法であって、
前記第４のステップは、
前記管理サーバが、前記物理計算機及び仮想計算機に対する構成変更要求の受付を停止した後に、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定し、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成し、
前記第９のステップは、
前記管理サーバが、前記移動対象の仮想計算機及び物理計算機に対する構成変更要求の受付停止を維持し、前記選択された実行計画に基づいて、前記移動対象の仮想計算機を移動させた後に、前記構成変更要求の受付を再開することを特徴とする仮想計算機の制御方法。
【請求項５】
請求項１に記載の仮想計算機の制御方法であって、
前記仮想化部は、
前記物理計算機上で稼動する第１の仮想化部と、前記第１の仮想化部上で稼動する第１の仮想計算機上で稼動する第２の仮想化部と、を含むことを特徴とする仮想計算機の制御方法。
【請求項６】
請求項１に記載の仮想計算機の制御方法であって、
前記第７のステップは、
前記管理サーバは、前記評価値として、前記第１の計画を実施するのに要する時間の指標と、前記第２の計画を実施するのに要する時間の指標と、をそれぞれ演算し、
前記第８のステップは、
前記管理サーバは、前記第１の計画の評価値と前記第２の計画の評価値のうち、前記評価値が小さい方を実行計画として選択することを特徴とする仮想計算機の制御方法。
【請求項７】
請求項１に記載の仮想計算機の制御方法であって、
前記第７のステップは、
前記管理サーバは、前記評価値として、前記第１の計画を実施するのに要する工数と、前記第２の計画を実施するのに要する時間の工数と、をそれぞれ演算し、
前記第８のステップは、
前記管理サーバは、前記第１の計画の評価値と前記第２の計画の評価値のうち、前記評価値が小さい方を実行計画として選択することを特徴とする仮想計算機の制御方法。
【請求項８】
請求項１に記載の仮想計算機の制御方法であって、
前記契機定義情報は、
契機の種類に対応する目標状態と評価値の種類を予め設定したことを特徴とする仮想計算機の制御方法。
【請求項９】
１つ以上の仮想計算機を提供する仮想化部を有する物理計算機と、プロセッサとメモリを備えて複数の前記物理計算機を管理する管理サーバとを備えた仮想計算機システムであって、
前記管理サーバは、
前記物理計算機上で稼動する仮想化部と仮想計算機の関係を保持する構成管理部と、
前記物理計算機の計算機資源の使用状況を保持する資源管理部と、
所定の契機となったときに前記物理計算機と仮想計算機の構成変更を決定する制御パターン決定部と、
前記決定した構成変更を前記物理計算機へ指令する制御部と、を備え、
前記制御パターン決定部は、
予め設定された契機定義情報に基づいて移動対象の仮想計算機を特定し、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定して前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成し、予め設定された変換定義情報に基づいて前記第１の制御パターンを第２の制御パターンに変換し、前記変換された第２の制御パターンに基づいて、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第２の計画を生成し、前記第１の計画の評価値と、前記第２の計画の評価値とをそれぞれ演算し、前記第１の計画の評価値と、前記第２の計画の評価値とを比較して、所定の条件を満たす評価値の一方を実行計画として選択し、
前記制御部は、
前記選択された実行計画に基づいて、前記移動対象の仮想計算機を移動させる指令を前記物理計算機に出力することを特徴とする仮想計算機システム。
【請求項１０】
請求項９に記載の仮想計算機システムであって、
前記制御パターン決定部は、
前記第２の計画が、前記契機定義情報に設定された目標状態を満たしているか否かを判定し、前記目標状態を満たしていない場合には、当該第２の計画を破棄することを特徴とする仮想計算機システム。
【請求項１１】
請求項９に記載の仮想計算機システムであって、
前記制御パターン決定部は、
前記移動先の物理計算機の計算機資源に関する情報を取得して、前記第２の計画が、前記移動先の計算機資源で実現可能か否かを判定し、前記計算機資源を満たしていない場合には、当該第２の計画を破棄することを特徴とする仮想計算機システム。
【請求項１２】
請求項９に記載の仮想計算機システムであって、
前記制御パターン決定部は、
前記物理計算機及び仮想計算機に対する構成変更要求の受付を停止した後に、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定し、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成し、
前記制御部は、
前記移動対象の仮想計算機及び物理計算機に対する構成変更要求の受付停止を維持し、前記選択された実行計画に基づいて、前記移動対象の仮想計算機を移動させた後に、前記構成変更要求の受付を再開することを特徴とする仮想計算機システム。
【請求項１３】
請求項９に記載の仮想計算機システムであって、
前記仮想化部は、
前記物理計算機上で稼動する第１の仮想化部と、前記第１の仮想化部上で稼動する第１の仮想計算機上で稼動する第２の仮想化部と、を含むことを特徴とする仮想計算機システム。
【請求項１４】
請求項９に記載の仮想計算機システムであって、
前記制御パターン決定部は、
前記評価値として、前記第１の計画を実施するのに要する時間の指標と、前記第２の計画を実施するのに要する時間の指標と、をそれぞれ演算し、前記第１の計画の評価値と前記第２の計画の評価値のうち、前記評価値が小さい方を実行計画として選択することを特徴とする仮想計算機システム。
【請求項１５】
請求項９に記載の仮想計算機システムであって、
前記制御パターン決定部は、
前記評価値として、前記第１の計画を実施するのに要する工数と、前記第２の計画を実施するのに要する時間の工数と、をそれぞれ演算し、前記第１の計画の評価値と前記第２の計画の評価値のうち、前記評価値が小さい方を実行計画として選択することを特徴とする仮想計算機システム。
【請求項１６】
請求項９に記載の仮想計算機システムであって、
前記契機定義情報は、
契機の種類に対応する目標状態と評価値の種類を予め設定したことを特徴とする仮想計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムに係り、特にサーバ仮想化環境で、仮想計算機を動的に変更するパターンを予め設定しておき、所定の契機で変更パターンを実施する技術に関する。
【背景技術】
【０００２】
物理計算機のリソースを、複数の仮想サーバ（以下、仮想計算機）や論理パーティション（以下、ＬＰＡＲ）に割り当てて、ひとつの物理計算機で複数の仮想計算機を提供するサーバ仮想化技術が広く普及している。仮想計算機では、割り当てるリソースの動的な変更や、仮想計算機を稼動させながら他の物理計算機へ移動させるホットマイグレーションなど、柔軟に運用することができる（例えば、特許文献１）。【０００３】
サーバ仮想化技術を適用した計算機システム（以下、サーバー仮想化環境）では、仮想計算機の可用性向上や、物理計算機の負荷の平準化及びスケーラビリティ向上のために、リソースの動的な変更やホットマイグレーションなどを組み合わせることができる。このような仮想計算機の動的な変更は、計算機システムの管理者などが運用方針などに基づいて、事前に制御パターンとしてリソースの変更やホットマイグレーションなどの組み合わせと、実行する契機などを予め設定しておく。実行する契機としては、障害の発生や、リソースの使用量または残量の値、あるいは、物理計算機の負荷が過大になった場合がある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８-２１７３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、予め設定した制御パターンを実行する状況によっては、事前に設定した制御パターンが有効ではなくなる場合が発生する。例えば、制御パターンを仮想計算機の移動、実行の契機を仮想計算機が稼動する物理計算機で障害の予兆を検知した場合とする。このとき、制御パターンの対象となる仮想計算機の数が多いと、全ての仮想計算機の移動に要する時間が増加するため、仮想計算機を迅速に他の物理計算機へ移動することができなくなってしまうという問題があった。このような場合では、各仮想計算機を個々に移動するのではなく、サーバ仮想化部（ハイパーバイザやＶＭＭ）でＬＰＡＲの移動を行った方が実施時間を短縮できる可能性があった。【０００６】
そこで、本発明は、サーバー仮想化環境において、動的な変更を実施する際に仮想計算機の移動を迅速かる適切に行うことを目的とする。
【課題を解決するための手段】
【０００７】
本発明は、１つ以上の仮想計算機を提供する仮想化部を有する物理計算機と、プロセッサとメモリを備えて複数の前記物理計算機を管理する管理サーバとを備えて、前記管理サーバが前記仮想計算機と前記仮想化部を制御する仮想計算機の制御方法であって、前記管理サーバが、所定の契機を検知する第１のステップと、前記管理サーバが、前記物理計算機上で稼動する仮想化部と仮想計算機の関係を取得する第２のステップと、前記管理サーバが、予め設定された契機定義情報に基づいて移動対象の仮想計算機を特定する第３のステップと、前記管理サーバが、予め設定された第１の制御パターンに基づいて、移動先の物理計算機を決定し、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第１の計画を生成する第４のステップと、前記管理サーバは、予め設定された変換定義情報に基づいて、前記第１の制御パターンを第２の制御パターンに変換する第５のステップと、前記管理サーバが、前記変換された第２の制御パターンに基づいて、前記移動対象の仮想計算機を当該移動先の物理計算機へ移動する第２の計画を生成する第６のステップと、前記管理サーバが、前記第１の計画の評価値と、前記第２の計画の評価値とをそれぞれ演算する第７のステップと、前記管理サーバが、前記第１の計画の評価値と、前記第２の計画の評価値とを比較して、所定の条件を満たす評価値の一方を実行計画として選択する第８のステップと、前記管理サーバが、前記選択された実行計画に基づいて、前記移動対象の仮想計算機を移動させる第９のステップと、を含む。
【発明の効果】
【０００８】
本発明によれば、管理サーバが検知した契機と、仮想計算機システムの動的な情報（構成情報、性能情報、資源割当情報等）に基づいて、契機の種類に対応する目標状態に適した制御パターンを選択して、仮想計算機の構成変更を実行することができる。
【図面の簡単な説明】
【０００９】
【図１Ａ】本発明の第１の実施形態を示し、計算機システムの一例を示すブロック図である。
【図１Ｂ】本発明の第１の実施形態を示し、同じく計算機システムの一サーバー群の詳細を示すブロック図である。
【図２】本発明の第１の実施形態を示し、管理サーバの一例を示すブロック図である。
【図３】本発明の第１の実施形態を示し、物理サーバの一例を示すブロック図である。
【図４】本発明の第１の実施形態を示し、物理サーバの他の例を示すブロック図である。
【図５】本発明の第１の実施形態を示し、契機定義情報の一例を示す図である。
【図６】本発明の第１の実施形態を示し、契機定義情報の目標状態の詳細な一例を示す図である。
【図７】本発明の第１の実施形態を示し、実行計画情報（最初）の一例を示す図である。
【図８】本発明の第１の実施形態を示し、制御パターン定義情報の一例を示す図である。
【図９】本発明の第１の実施形態を示し、制御パターン変換定義情報の一例を示す図である。
【図１０】本発明の第１の実施形態を示し、実行計画生成部で行われる処理の一例を示すフローチャートである。
【図１１】本発明の第１の実施形態を示し、変換後の実行計画情報の一例を示す図である。
【図１２】本発明の第２の実施形態を示し、目標状態の詳細な例を示す図である。
【図１３】本発明の第２の実施形態を示し、制御パターン定義情報の他の例を示す図である。
【図１４】本発明の第２の実施形態を示し、制御パターン変換定義情報の他の例を示す図である。
【図１５】本発明の第２の実施形態を示し、実行計画生成部で行われる処理の一例を示すフローチャートである。
【図１６】本発明の第３の実施形態を示し、制御パターン決定部で行われる処理の一例を示すフローチャートである。
【図１７】本発明の第４の実施形態を示し、制御パターン定義情報の例を示す図である。
【図１８】本発明の第３の実施形態を示し、契機定義情報を設定するＧＵＩの一例を示す画面イメージ。
【図１９】本発明の第３の実施形態を示し、契機定義情報の目標状態の詳細を設定するＧＵＩの一例を示す画面イメージ。
【図２０Ａ】本発明の第１の実施形態を示し、実行計画情報の実施前の各サーバーの状態を示すブロック図である。
【図２０Ｂ】本発明の第１の実施形態を示し、実行計画情報の実施後の各サーバーの状態を示すブロック図である。
【図２１Ａ】本発明の第４の実施形態を示し、実行計画情報の実施前の各サーバーの状態を示すブロック図である。
【図２１Ｂ】本発明の第４の実施形態を示し、実行計画情報の実施後の各サーバーの状態を示すブロック図である。
【図２２Ａ】本発明の第４の実施形態を示し、実行計画情報の実施前の各サーバーの状態を示すブロック図である。
【図２２Ｂ】本発明の第４の実施形態を示し、実行計画情報の実施後の他の例の各サーバーの状態を示すブロック図である。
【図２３Ａ】本発明の第５の実施形態を示し、実行計画情報の実施前の各サーバーの状態を示すブロック図である。
【図２３Ｂ】本発明の第５の実施形態を示し、実行計画情報の実施後の他の例の各サーバーの状態を示すブロック図である。
【発明を実施するための形態】
【００１０】
以下、本発明の一実施形態について添付図面を用いて説明する。
【００１１】
＜第１実施形態＞
【００１２】
図１Ａ、図１Ｂは、本発明を適用する計算機システムの構成を示す。なお、図１Ｂは、図１Ａのサーバー群１５０の詳細な構成を示すブロック図である。この計算機システムは、管理サーバ２００と、サーバー群１５０を構成する１つ以上の物理サーバ１０４−１〜１０４−３と、１つ以上のネットワークスイッチ１０１と、１つ以上のストレージスイッチ１０５と、ディスクアレイ装置１０６と、１つ以上の関連管理サーバ１００と、管理サーバ２００に接続された入力装置１１１及び出力装置１１２を有する。なお、以下では、物理サーバ１０４−１〜１０４−３の総称を符号１０４で表す。
【００１３】
管理サーバ２００は、プログラム制御により動作するコンピュータであり、ネットワークスイッチ１０１に接続するＮＩＣ（Network Interface Card）を備える。管理サーバ２００は、ネットワークスイッチ１０１を介して、物理サーバ１０４、ディスクアレイ装置１０６、関連管理サーバ１００に接続する。
【００１４】
管理サーバ２００は、制御パターン決定部２０１、資源管理部２０２、構成管理部２０３、制御部２０４を機能させる。また、各部を機能させるために、管理サーバ２００は複数の情報を有するが、これらは図２以降にて説明する、
【００１５】
図１Ｂにおいて、物理サーバ１０４は、プログラム制御により動作するコンピュータであり、ネットワークスイッチ１０１に接続するＮＩＣ及びストレージスイッチ１０５に接続するＨＢＡ（Host Bus Adapter）を備える。物理サーバ１０４は、ネットワークスイッチ１０１を介して、他の物理サーバ１０４と、管理サーバ２００と、ディスクアレイ装置１０６及び関連管理サーバ１００に接続する。
【００１６】
物理サーバ１０４は、ストレージスイッチ１０５を介して、ディスクアレイ装置１０６に接続する。物理サーバ１０４上では、サーバ仮想化部１０３−１〜１０３−２、仮想サーバ１０２−１〜１０２−５を稼動させても良い。また、仮想サーバ１０２−２上で、さらに別のサーバ仮想化部１０３−３を稼動させても良い。サーバ仮想化部１０３−１〜１０３−３は、例えば、ハイパーバイザやＶＭＭ（Virtual Machine Monitor）で構成される。なお、仮想サーバの総称を示す符号は１０２とし、サーバー仮想化部の総称を示す符号を１０３とする。
【００１７】
ネットワークスイッチ１０１は、１つ以上のネットワーク機器である。ネットワーク機器とは、具体的にはネットワークスイッチやルータ、ロードバランサ、及びファイアウォールなどである。なお、１以上のネットワークスイッチ１０１で図２以降のネットワーク１０１０が構成される。
【００１８】
ディスクアレイ装置１０６は、ＦＣ（Fiber Channel）及びＬＡＮインタフェースを備え、管理サーバ２００、物理サーバ１０４、関連管理サーバ１００がアクセスする。ディスクアレイ装置１０６は、１つ以上のディスクを含むストレージシステムである。ディスクアレイ装置１０６は、物理サーバ（物理計算機）１０４、サーバ仮想化部１０３、仮想サーバ（仮想計算機）１０２の実行に必要なディスクとして、仮想サーバイメージ格納ディスク１０７、定義情報格納ディスク１０８、システムディスク１０９、データディスク１１０を有する。仮想サーバイメージ格納ディスク１０７は、仮想サーバ１０２を構成するディスクイメージを有するディスクボリュームである。
【００１９】
定義情報格納ディスク１０８は、仮想サーバ１０２にインストールされたＯＳ（Operating System）や、仮想サーバ１０２に割り当てられた仮想的なデバイス（ＣＰＵ、メモリなど）の内容を記述したメタデータを有するディスクボリュームである。システムディスク１０９は、物理サーバ１０４にインストールされたＯＳを有するディスクボリュームである。データディスク１１０は、仮想サーバ１０２や物理サーバ１０４が業務（またはアプリケーション）を実行するために使用するデータを有するディスクボリュームである。
【００２０】
関連管理サーバ１００は、管理サーバ２００が計算機システムの各部に接続するために情報の連携を行うものである。関連管理サーバ１００は、計算機システムの各部に対し情報取得、状態変更、構成変更などを行う機能を有する。また、関連管理サーバ１００は、外部インタフェース（ＡＰＩ、ＣＬＩなど）を備え、管理サーバ２００はネットワークなどを介して関連管理サーバ１００の機能を実行することができる。
【００２１】
入力装置１１１は、管理者が管理サーバ２００など計算機システムの各部に接続し操作するためのものである。入力装置とは、具体的にはキーボード、マウス、タッチパネル、またはそれらを接続したクライアント用のコンピュータ装置などである。
【００２２】
出力装置１１２は、管理者が入力装置１１１を用いた操作や、入力に対する各部からの応答内容を確認するために用いるものである。出力装置１１２は、具体的にはディスプレイや、ディスプレイを接続したクライアント用のコンピュータを指す。
【００２３】
図２は、管理サーバ２００の構成を示すブロック図である。管理サーバ２００は、制御パターン決定部２０１、資源管理部２０２、構成管理部２０３、制御部２０４を有する。また、制御パターン決定部２０１は、契機定義情報２１０、実行計画情報２１１、制御パターン定義情報２１２、制御パターン変換定義情報２１３、実行計画生成部２１５を有する。各機能部の詳細は、図５以降を用いて記述する。尚、本実施形態では、制御パターン決定部２０１、資源管理部２０２、構成管理部２０３、制御部２０４は、ＣＰＵ（プロセッサ）２０５によって実行されるプログラムとして説明するが、管理サーバ２００に搭載するハードウェアやファームウェア、またはそれらの組み合わせにより実装しても良い。また、制御パターン決定部２０１、資源管理部２０２、構成管理部２０３、制御部２０４は、管理サーバ２００が備える図示しない補助記憶装置（またはディスクアレイ装置１０６）に格納され、実行時にはメモリ２０８にロードされてから、ＣＰＵ２０５によって実行される。
【００２４】
制御パターン決定部２０１は、入力装置１１１からの要求や、物理サーバ１０４、サーバ仮想化部１０３、仮想サーバ１０２、ネットワークスイッチ１０１、ストレージスイッチ１０５、ディスクアレイ装置１０６、関連管理サーバ１００からの外部情報を取得する。外部情報としては、障害や、障害の予兆を示す情報や、性能情報、構成情報、状態情報などがある。また、制御パターン決定部２０１は、関連管理サーバ１００の各部からの内部情報を取得する。内部情報としては、障害や、障害の予兆を示す情報や、構成や状態の変化を示す情報、管理者によって事前に入力された計画制御に関する情報などである。なお、障害の予兆を検出する手法については、公知又は周知の技術を採用すればよいので、ここでは詳述しない。
【００２５】
そして、制御パターン決定部２０１は、上記外部情報と内部情報を入力として、制御部２０４から計算機システムの各部を制御するための１つ以上の命令を作成する。この命令としては、例えば、サーバ仮想化部１０３に、稼動している仮想サーバ１０２を他のサーバー仮想化部１０３へ移動を要求する命令である。制御パターン決定部２０１は、当該命令を生成するために、上記の入力された情報や、資源管理部２０２や構成管理部２０３が持つ情報を参照する。
【００２６】
資源管理部２０２は、物理サーバ１０４、サーバ仮想化部１０３、仮想サーバ１０２、ディスクアレイ装置１０６などから資源割当情報や負荷情報（ＣＰＵ使用率、メモリ使用量など）を収集し、保持する。また、資源管理部２０２は、収集した負荷情報の変化や、計算機システムの障害の予兆を示す情報を演算し、制御パターン決定部２０１に送信する。
【００２７】
構成管理部２０３は、各物理サーバ１０４、関連管理サーバ１００の構成情報（ホスト名、ＩＰアドレス、仮想サーバの名前、論理パーティション構成、仮想マシン構成など）を収集し、保持する。また、構成管理部２０３は、構成情報の変化や、システムの障害の予兆を示す情報を制御パターン決定部２０１に送信する。
【００２８】
制御部２０４は、制御パターン決定部２０１で決定された制御パターンを実行させる指令や、資源管理部２０２、構成管理部２０３による情報収集の実行のために、物理サーバ１０４、サーバ仮想化部１０３、仮想サーバ１０２、ディスクアレイ装置１０６などに命令を送信し、応答を受信する。
【００２９】
管理サーバ２００は、ネットワーク１０１０に接続するためのＮＩＣ２０６を備える。管理サーバ２００は、ネットワーク１０１０を介して、物理サーバ１０４、ディスクアレイ装置１０６、関連管理サーバ１００と接続する。管理サーバ２００は、複数のＮＩＣを有しても良い。
【００３０】
ＣＰＵ２０５は、各機能部のプログラムに従って動作することによって、所定の機能を実現する機能部として動作する。例えば、ＣＰＵ２０５は、構成管理プログラムに従って処理することで構成管理部２０３として機能する。他のプログラムについても同様である。さらに、ＣＰＵ２０５は、各プログラムが実行する複数の処理のそれぞれを実現する機能部としても動作する。計算機及び計算機システムは、これらの機能部を含む装置及びシステムである。
【００３１】
各機能を実現するプログラム、テーブル等の情報は、管理サーバ２００の補助記憶装置（図示省略）やディスクアレイ装置１０６、不揮発性半導体メモリ、ハードディスクドライブ、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）等の記憶デバイス、または、ＩＣカード、ＳＤカード、ＤＶＤ等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
【００３２】
図３は、物理サーバ１０４の構成の一例を示すブロック図である。物理サーバ１０４は、メモリ２０８、ＣＰＵ２０５を有する。メモリ２０８は、ＯＳ３０１、業務に必要な処理（ソフトウェアプログラムなど）３００を動作させるプログラムを保持する。
【００３３】
物理サーバ１０４は、ネットワーク１０１０に接続するためのＮＩＣ２０６を備える。物理サーバ１０４はネットワーク１０１０を介して、管理サーバ２００、関連管理サーバ１００、他の物理サーバ１０４と接続する。物理サーバ１０４は、ディスクアレイ装置１０６に接続するためのＨＢＡ３０２を備える。物理サーバ１０４は、複数のＮＩＣ及びＨＢＡを有しても良い。
【００３４】
図４は、物理サーバ１０４の別の構成を示すブロック図である。物理サーバ１０４は、メモリ２０８、ＣＰＵ２０５を有する。メモリ２０８は、サーバ仮想化部１０３及び仮想サーバ１０２を動作させるプログラムを保持する。
【００３５】
物理サーバ１０４は、ネットワーク１０１０に接続するためのＮＩＣ２０６を備える。物理サーバ１０４はネットワーク１０１０を介して、管理サーバ２００、関連管理サーバ１００、他の物理サーバ１０４と接続する。物理サーバ１０４は、ディスクアレイ装置１０６に接続するためのＨＢＡ３０２を備える。物理サーバ１０４は、複数のＮＩＣ及びＨＢＡを有しても良い。
【００３６】
サーバ仮想化部１０３は、仮想サーバ１０２（ＶＭ（Virtual Machine））、ＬＰＡＲ（Logical Partition）を動作させるためのプログラムである。サーバ仮想化部１０３は、仮想サーバ管理部４００、制御Ｉ／Ｆ（Interface）４０１を有する。仮想サーバ管理部４００は、仮想サーバ１０２の負荷情報（ＣＰＵ使用率、メモリ使用量など）、構成情報（ＯＳ種別、割り当てた仮想デバイスなど）、状態情報（電源、デバイスの有効・無効、デバイスの障害の有無など）を収集し、保持し、更新する。制御Ｉ／Ｆ４０１は、外部（管理サーバ２００、関連管理サーバ１００、他の物理サーバ１０４など）への、仮想サーバ管理部４００に対するアクセス手段の提供を行う。
【００３７】
サーバ仮想化部１０３上では、１つ以上の仮想サーバ１０２が動作する。仮想サーバ１０２は、サーバ仮想化部１０３によって物理サーバ１０４の計算機資源が割り当てられて動作する、仮想的なサーバ装置である。仮想サーバ１０２では、ＯＳ３０１、業務に必要な処理（ソフトウェアプログラムなど）３００、または別のサーバ仮想化部１０３が動作する。以降、業務に必要な処理３００を動作させる仮想サーバ１０２を業務用の仮想サーバ１０２、別のサーバ仮想化部１０３を動作させる仮想サーバ１０２を中間用の仮想サーバ１０２と呼ぶ。
【００３８】
図５は、制御パターン決定部２０１の実行計画生成部２１５が使用する契機定義情報２１０の例を示す。契機定義情報２１０には、実行計画生成部２１５が、制御パターン決定部２０１の実行の契機となる情報に対して、適切な実行計画情報２１１を作成するための情報を定義する。本実施形態では、契機情報として障害予兆の発生を例として挙げる。ある物理サーバ１０４で障害の予兆が発生した場合、当該物理サーバ１０４は後に停止し、結果として当該物理サーバ１０４上で稼動するサーバ仮想化部１０３と、仮想サーバ１０２及び当該仮想サーバ１０２上で稼動する業務アプリケーション３００が停止する恐れがある。
【００３９】
管理サーバ２００は、業務アプリケーション３００の意図しない停止を可能な限り回避するために、仮想サーバ１０２を別の物理サーバ１０４上に移動させなければならない。また、より多くの仮想サーバ１０２を移動させるために、管理サーバ２００が計算機システムに対して行う制御はできる限り早いものでなければならない。
【００４０】
契機定義情報２１０には、これらのような、契機（障害予兆の発生）と、契機に対して目標とする状態（仮想サーバを他の物理サーバ上で稼動させる）及び制御の評価パターン（より実行時間が少ないと良い）を定義しておく。他の契機情報については第２の実施形態以降にて詳細を説明する。
【００４１】
図５において、契機５００は、管理サーバ２００が仮想サーバ１０２の構成変更の契機として受け付ける契機情報の種類を示す。契機５００は、管理者が操作する入力装置１１１や、関連管理サーバ１００、物理サーバ１０４、仮想サーバ１０２、サーバ仮想化部１０３が実行計画生成部２１５に送信した契機情報と比較し、実行計画生成部２１５が適切な実行計画情報２１１を作成するための情報として用いる対応５０１の内容を決定する。対応５０１には、契機５００に対して制御パターンの目標状態５１０と評価パターン５１１が含まれる。
【００４２】
目標状態５１０は、契機５００に対する問題や要求を解決するものであり、例えば、契機５００を障害予兆とする場合、問題や要求は仮想サーバ１０２の停止を回避することである。この要求の解決方法は他の物理サーバ１０４に仮想サーバ１０２を移動させることである。
【００４３】
目標状態５１０は、実行計画生成部２１５が実行計画情報２１１を生成するための、管理サーバ２００が保持するシステム構成情報、資源割当状況、性能見積もり等であり、これらの情報のうち、目標値を示すことが可能なものとする。
【００４４】
目標状態５１０の一例としては、例えば、「仮想サーバ１０２の親となる物理サーバ１０４を図１−ＢのＨＯＳＴ−Ａ以外にする」、「仮想サーバ１０２にメモリを２ＧＢ割り当てる」、「全ての物理サーバ１０４の資源利用率を８０％以下にする」などといった構成や性能に関する条件式で目標状態５１０を決定する。
【００４５】
この値は、生成された実行計画情報２１１が上記目標状態５１０を満たしているか否かを制御パターン決定部２０１が判定するために、実行計画情報２１１を実行した場合の、システム構成情報、資源割当状況、性能見積もりと比較する。
【００４６】
本実施形態の契機５００に対する目標状態５１０の具体的な示し方の例は図６にて説明する。評価パターン５１１は、実行計画生成部２１５が実行計画情報２１１を更新するために、更新後の実行計画情報２１１'が更新前の実行計画情報２１１より良いものであるか否かを評価するための指標の種類である。例えば、評価パターン５１１を時間の最小化とした場合は、実行計画情報２１１の実行時間がより小さいほど高い評価となる。また評価パターン５１１を、構成変更数の最小化とした場合は実行計画情報２１１の制御による構成変更（例えば、仮想サーバ１０２を別の仮想サーバに移動すると１回の構成変更としてカウント）の回数が少ないほど高い評価となる。
【００４７】
なお、図５において、契機５００としては、上記障害予兆の発生の他、物理サーバの計算機資源の使用率が閾値を超えた場合や、筐体保守、週末節電などが設定される。
【００４８】
図６は、障害予兆の発生を契機５００とした場合の目標状態５１０の具体的な示し方の例である。ここで、図１Ｂのように、障害予兆が発生した物理サーバ１０４−２をＨＯＳＴ−Ｂとし、ＨＯＳＴ−Ｂ上では第一のサーバ仮想化部１０３−２が稼動し、第一のサーバ仮想化部１０３１０３−２では、中間用の第一の仮想サーバ１０２−２（ＶＭ−４）と、業務用の第二の仮想サーバ１０２−５（ＶＭ−５）が稼動する。第一の仮想サーバ１０２−２の上ではさらに第二のサーバ仮想化部１０３−３が稼動し、第二のサーバ仮想化部１０３−３の上では業務用の第三の仮想サーバ１０２−２（ＶＭ−２）と業務用の第四の仮想サーバ１０２−３（ＶＭ−３）が稼動している。
【００４９】
目標状態の詳細情報６００は、目標状態５１０を満たすための具体的なシステム構成や、状態及び資源などの値である。本実施形態では、目標状態５１０は「業務用の仮想サーバ１０２を当該物理サーバ以外の物理サーバで稼動させる」が該当するため、目標状態の詳細情報６００は、ＨＯＳＴ−Ｂ上で稼動する業務用の仮想サーバ１０２をＨＯＳＴ−Ｂ以外のサーバ仮想化部１０３に移動することを示す構成情報を、実行計画生成部２１５が設定する。
【００５０】
本実施形態では、この構成情報を示すために、仮想サーバ１０２を識別するための識別子であるＶＭ名６１０と、仮想サーバ１０２が稼動するサーバ仮想化部１０３を識別するための識別子であるサーバ仮想化部名６１１を用意する。本実施形態において移動対象である仮想サーバＶＭ−２、ＶＭ−３、ＶＭ−５が稼動するサーバ仮想化部は、ＨＯＳＴ−Ｂ以外であることを示している。
【００５１】
図７は、最初の実行計画情報２１１の例を示す。最初の実行計画情報２１１は、実行計画生成部２１５が処理を開始した直後に作成されるものであり、実行計画生成部２１５のその後の処理によって更新される場合がある。最初の実行計画情報２１１は、実行計画生成部２１５が制御パターン定義情報２１２に定義されている制御パターンを用いて自動作成する。あるいは、契機５００毎に管理者が設定しておいたものを利用しても良い。
【００５２】
最初の実行計画情報２１１は、管理サーバ２００が制御部２０４を用いて計算機システムを制御するために、関連管理サーバ１００、物理サーバ１０４、仮想サーバ１０２、サーバ仮想化部１０３に送信する命令を含む。
【００５３】
制御パターン７００は、制御パターンを識別するための識別子やコマンドの名前である。引数７０１は、制御パターン７００を実行する際のターゲットなどを示す引数である。制御先７０２は命令の送信先を識別するための識別子である。制御パターン決定部２０１は１つ以上の実行計画情報２１１の内容を制御部２０４に送信する。なお、実行計画情報２１１はエントリの順で実行する。つまり、引数７０１が「ＶＭ−２」の次に、「ＶＭ−３」を含むエントリを処理し、その後、「ＶＭ−５」を含むエントリを処理するように順序を指定する。
【００５４】
図８は、制御パターン定義情報２１２の例を示す。制御パターン定義情報２１２は、制御部２０４が、関連管理サーバ１００、物理サーバ１０４、仮想サーバ１０２、サーバ仮想化部１０３を制御する対象に関する情報を保持する。制御パターン７１０は、制御パターンを識別するための識別子や命令の名前である。引数７１１は、制御パターン７１０を実行する際のターゲットなどを示す引数である。また、制御パターン定義情報２１２は、各制御パターン７１０の特徴を示す情報を備える。この情報は、実行計画生成部２１５が、１つ以上の制御パターン７１０を含む実行計画情報２１１の良し悪しを評価パターン５１１で評価するために用いるものである。本実施形態では、特徴を示す情報として実行時間７１２を備える。この実行時間７１２は、制御パターン７１０を実行するときに要する時間の評価値である。つまり、仮想サーバ１０２の構成変更の際に要する時間の指標である。実行時間の値が大きければ、処理に要する時間も増大するので評価は低下する。実行時間の値が小さいほど、処理に要する時間も短縮されて評価は向上する。
【００５５】
図９は、制御パターン変換定義情報２１３の例を示す。制御パターン変換定義情報２１３は、既に設定された制御パターン定義情報２１２を、別の制御パターンに変換可能な制御パターンの有無を示すものである。例えば、中間用の仮想サーバ１０２上でサーバ仮想化部１０３が稼動し、当該サーバ仮想化部１０３上でさらに業務用の仮想サーバ１０２が稼動する場合、図１Ｂで示すように、業務用の仮想サーバ１０２−２、１０２−３（ＶＭ−２、ＶＭ−３）の移動は、親である中間用の仮想サーバ１０２−４（ＶＭ−４）の移動で置き換えることが可能である。
【００５６】
制御パターン変換定義情報２１３の各値は、制御パターン定義情報２１２の値と対応している。変換元情報９００は、変換元の制御パターンに関する情報を含むものであり、サブカラムとして制御パターン名９１０と、引数９１１を含む。引数９１１は、引数９１２の値を作成するための入力情報として用いられる。変換先情報９０１は、変換元情報９００に対する変換先の制御パターンに関する情報を含むものであり、サブカラムとして制御パターン名９２０と、引数９２１を含む。引数９２１には制御対象の具体値を作成するための情報が定義されており、具体値の一例としては、引数９１１、構成情報、状態情報、資源情報などより作成される。
【００５７】
図１０は、本実施形態における実行計画生成部２１５で行われる処理の一例を示すフローチャートである。
【００５８】
実行計画生成部２１５は、管理者や、関連管理サーバ１００、物理サーバ１０４、仮想サーバ１０２、サーバ仮想化部１０３からの管理サーバ２００に送信された契機情報（障害の予兆の通知）を入力として、制御パターン決定部２０１が制御部２０４を制御するための実行計画情報２１１を生成するために開始される。
【００５９】
実行計画生成部２１５は、受信した契機情報（例えば、障害の予兆の通知）と、契機定義情報２１０、制御パターン定義情報２１２、構成管理部２０３が持つ構成情報、状態情報、資源管理部２０２が持つ資源情報より、実行計画情報２１１を作成する（ステップ１０００）。
【００６０】
実行計画生成部２１５は、ここで、契機５００として障害の予兆が発生した物理サーバ１０４を含む全ての物理サーバ１０４について、各物理サーバ１０４上で稼動するサーバー仮想化部１０３と仮想サーバ１０２の関係を取得する。そして、実行計画生成部２１５は、制御パターン定義情報２１２の制御パターン７１０と、引数７１１と、目標状態の詳細情報６００から移動対象の仮想サーバ１０２と移動先の物理サーバ１０４を特定する。物理サーバ１０４−２（ＨＯＳＴ−Ｂ）で障害の予兆が発生したので、実行計画生成部２１５は、物理サーバ１０４−２上の業務用仮想サーバ１０２（ＶＭ−２、ＶＭ−３、ＶＭ−５）を移動対象として特定し、目標状態の詳細情報６００を参照して移動先の物理サーバ１０４を決定する。そして、実行計画生成部２１５は、図７で示すように、制御パターン７００、引数７０１、制御先７０２を設定して最初の実行計画情報２１１を生成する。
【００６１】
次に、実行計画生成部２１５は、実行計画情報２１１、制御パターン変換定義情報２１３を参照して、まだ変換していない制御パターンがあるか否かを判定する。まだ変換していない制御パターンが存在すればステップ１００２へ進み、無ければ処理を終了する（ステップ１００１）。
【００６２】
実行計画生成部２１５は、制御パターン変換定義情報２１３と、構成情報、状態情報、資源情報より、実行計画情報２１１に設定された１つ以上の制御パターンを、制御パターン変換定義情報２１３に定義された別の制御パターンに変換し、変換後の制御パターンを一時保存する（ステップ１００２）。実行計画生成部２１５は、上記ステップ１０００で生成した最初の実行計画情報２１１の制御パターン７００のうち、制御パターン変換定義情報２１３の変換元の制御パターン名９１０に一致するものを、変換先情報９２０に従って新たな実行計画情報２１１'を図１１で示すように生成する。
【００６３】
ここで、変換後の制御パターン及び引数と、同一のものが既に実行計画情報２１１'に存在する場合は、二重の処理を避けるために統合する。
【００６４】
実行計画生成部２１５は、ステップ１００２で一時作成した実行計画情報２１１'が必要最低限の条件を満たしているか否かを判定するために、実行計画情報２１１'の実行後に、契機５００に関する目標状態５１０を満たすか否かを判定する。実行計画生成部２１５は、目標状態５１０を満たしていればステップ１００４へ進み、満たしていなければ実行計画情報２１１'を破棄してステップ１００１へ進む。（ステップ１００３）。
【００６５】
実行計画生成部２１５は、契機５００に関する評価パターン５１１に関して、ステップ１００２で一時作成した実行計画情報２１１'と、現在の実行計画情報２１１を比較（例えば、数値比較）する。実行計画生成部２１５は、評価パターン５１１に設定された評価値（この例では時間）を、一時作成した実行計画情報２１１'と、現在の実行計画情報２１１のそれぞれについて算出する。
【００６６】
そして、実行計画作成部２１５は、一時作成した実行計画情報２１１'の評価が高い（時間の評価値が小）場合はステップ１００５へ、現在の実行計画情報２１１の評価が高い場合はステップ１００２へ進む（ステップ１００４）。例えば、図７を変換前（現在）の実行計画情報２１１とし、図１１を変換後の実行計画情報２１１'、評価パターン５１１を図５に記載の時間（最小化）とする。
【００６７】
まず、実行計画生成部２１５が、評価に用いる図７の実行計画情報２１１の評価値を初期値０としてメモリ２０８上などに初期化する。次に、実行計画作成部２１５は、図７の実行計画情報２１１の最初のエントリについて、制御パターン７００と図８の制御パターン７１０の値を比較し、同一の値を持つ図８の行を参照する。図７と図８の例では、業務ＶＭ移動を持つ図８の行を参照する。次に、実行計画生成部２１５は、参照した図８の実行時間７１２を、図７の評価値に加える。図７と図８の例では「２」を加えて評価値は２（０＋２）となる。
【００６８】
次に、実行計画生成部２１５は、図７の実行計画情報２１１の２番目の行について、最初の行と同じ処理で評価値に加える。図７と図８の例ではこの時点で評価値は４（０＋２＋２）となる。以降同様に図７の全てのエントリについて実行時間７１２を評価値に加えることで、図７全体の評価値を算出する。図７と図８の例では、実行計画生成部２１５は図７全体の評価値は６（０＋２＋２＋２）となる。
【００６９】
実行計画作成部２１５は、変換後の評価も算出するために、評価値の算出は変換後の実行計画情報２１１'に対しても行う。まず、実行計画生成部２１５が、評価に用いる図１１の実行計画情報２１１'の評価値を初期値０としてメモリ２０８上などに初期化する。次に、実行計画生成部２１５は、図１１の実行計画情報２１１'の最初のエントリについて、制御パターン１１００と図８の制御パターン７１０の値を比較し、同一の値を持つ図８のエントリを参照する。図１１と図８の例では、「中間用ＶＭ移動」を持つ図８のエントリを参照する。次に、参照した図８の実行時間７１２の値を、図１１の実行計画情報２１１'の評価値に加える。図１１と図８の例では「３」を加えて評価値は３（０＋３）となる。
【００７０】
次に、実行計画生成部２１５は図１１の２番目のエントリについて、最初のエントリと同じように評価値を演算する。図１１と図８の例ではこの時点で評価値は５（０＋３＋２）となる。図１１と図８の例では、図１１全体の評価値は５（０＋３＋２）となる。
【００７１】
実行計画生成部２１５は、ステップ１００４での評価にて図７の実行計画情報２１１と図１１の実行計画情報２１１'の評価値を数値で比較する。これら時間の評価値の数値比較より、変換後の実行計画情報２１１'の方が実行に必要な時間が短い（評価値は小さい）ため評価が高いこととなる。
【００７２】
実行計画生成部２１５は、現在の実行計画情報２１１をステップ１００２で一時作成した実行計画情報２１１で置き換え、ステップ１００１へ戻って、次の実行計画情報２１１の処理を行う（ステップ１００５）。
【００７３】
以上の処理により、既に設定されていた実行計画情報２１１を、より評価値の高い制御パターン（実行計画情報２１１'）に変更することができる。また、実行計画情報２１１と変換後の実行計画情報２１１'の評価値を比較し、評価値が所定の条件を満たす一方の実行計画情報を選択することができる。
【００７４】
図１１は、図７の実行計画情報２１１を、上記図１０のフローチャートの処理によって変換した実行計画情報の例である。本実施形態の計算機システムの構成においては、図１Ｂのように業務用の仮想サーバ１０２−２、１０２−３、１０２−５（ＶＭ−２、ＶＭ−３、ＶＭ−５）が物理サーバ１０４（ＨＯＳＴ−Ｂ）上で多数稼動しているため、仮想サーバＶＭ−２、ＶＭ−３、ＶＭ−５を１つずつ移動させるよりは、中間用の仮想サーバ１０２−４（ＶＭ−４）の移動によって一度に複数の業務用の仮想サーバＶＭ−２とＶＭ−３を移動させる方がより高速に処理を実施できる。このため、図７に示す最初の実行計画情報２１１が、図１１に示す実行計画情報２１１'に変換されることとなる。一方、ＨＯＳＴ−Ｂ上で稼動する仮想サーバ１０２が少ない場合は、仮想サーバ１０２を１つずつ移動させた方が早くなる場合がある。
【００７５】
図２０Ａ，図２０Ｂは、図１１に示した実行計画情報２１１'の実行前（図２０Ａ）と実行後（図２０Ｂ）の、物理サーバ１０４−１（ＨＯＳＴ−Ａ）と物理サーバ１０４−２（ＨＯＳＴ−Ｂ）の構成を示すブロック図である。
【００７６】
図１１に示したように変換後の本実行計画情報２１１'により、物理サーバ１０４−２（ＨＯＳＴ−Ｂ）上の、中間仮想サーバ１０２−４（ＶＭ−４）と業務用仮想サーバ１０２−５（ＶＭ−５）を物理サーバ１０４−１（ＨＯＳＴ−Ａ）上に移動する。
【００７７】
このとき、中間仮想サーバ１０２−４（ＶＭ−４）上で稼動している、業務用仮想サーバ１０２−２（ＶＭ−２）と業務用仮想サーバ１０２−３（ＶＭ−３）も、中間仮想サーバ１０２−４（ＶＭ−４）と同時に移動することとなる。この仮想サーバ１０２の移動は、移動元の物理サーバ１０４のメモリ２０８上にある仮想サーバ１０２のデータを、サーバー仮想化部１０３−２が、ネットワーク１０１０を介して移動先の物理サーバ１０４のサーバー仮想化部１０３−１を介してメモリ２０８上に転送するよう管理サーバ２００が各サーバー仮想化部１０３に指令する。
【００７８】
管理サーバ２００は、仮想サーバ１０２のデータが格納されているディスクアレイ装置１０６の仮想サーバイメージ格納ディスク１０７と、定義情報格納ディスク１０８へのパスを移動元の物理サーバ１０４−２（ＨＯＳＴ−Ｂ）内のＨＢＡ３０２から移動先の物理サーバ１０４−１（ＨＯＳＴ−Ａ）内のＨＢＡ３０２に切り替える。
【００７９】
また、仮想サーバ１０２の移動は、移動対象の仮想サーバ１０２をサスペンド、停止、Ｄｅａｃｔｉｖａｔｅ（論理パーティション割り当て解除）してから、移動元の物理サーバ１０４−２（ＨＯＳＴ−Ｂ）が接続しているディスクアレイ装置１０６の仮想サーバイメージ格納ディスク１０７と、定義情報格納ディスク１０８内にある仮想サーバ１０２のデータを移動先の物理サーバ１０４−１（ＨＯＳＴ−Ａ）が接続しているディスクアレイ装置１０６内に転送した後、仮想サーバ１０２を起動する。これらの処理は、管理サーバ２００が、各サーバー仮想化部１０３とストレージスイッチ１０５へ指令することによって行われる。これにより、業務用仮想サーバ１０２（ＶＭ−２）、業務用仮想サーバ１０２（ＶＭ−３）、業務用仮想サーバ１０２（ＶＭ−４）を個別に移動する場合と比べて、迅速に障害の予兆が発生した物理サーバ１０４−２（ＨＯＳＴ−Ｂ）から正常な物理サーバ１０４−１（ＨＯＳＴ−Ａ）移動することができる。
【００８０】
図１８は、契機定義情報２１０を設定するためのＧＵＩ（Graphical User Interface）の例を示す。このＧＵＩは、管理サーバ２００に接続した出力装置１１２や、管理サーバ２００に直接またはネットワークスイッチ１０１を介して接続した他の端末の表示装置などにブラウザや専用のプログラム、及びテキストなどを用いて表示した画面イメージである。そして、この画面イメージに対して、管理サーバ２００に接続した入力装置１１１や、管理サーバ２００に直接またはネットワークスイッチ１０１を介して接続した他の端末の入力装置を用いて操作する。
【００８１】
契機定義情報設定ウィンドウ（画面イメージ）１８００には、操作のためのボタン等が表示される。管理者はプルダウンメニュー１８０１から所望の契機をクリックし、本設定の対象となる契機を入力する。図示の例では、管理者が選択した契機がプルダウンメニュー１８０１に表示される。管理者はプルダウンメニュー１８０２をクリックして、プルダウンメニュー１８０１の契機に対する目標状態を入力または選択する。図示の例では、管理者が選択した目標状態がプルダウンメニュー１８０２に表示される。管理者はプルダウンメニュー１８０３をクリックし、プルダウンメニュー１８０１の契機に対する評価パターンの評価指標を入力する。管理者はプルダウンメニュー１８０４をクリックし、プルダウンメニュー１８０１の契機に対する評価パターンの追加の評価指標を入力する。
【００８２】
管理者が入力したプルダウンメニュー１８０３の評価指標とプルダウンメニュー１８０４の追加の評価指標が、プルダウンメニュー１８０１の契機に対する評価パターンとなる。管理者はボタン１８０６をクリックする事で新しい評価パターンを追加する事ができる。プルダウンメニュー１８０１の契機が２つ以上の評価パターンを持つとき、複数の評価パターンは積条件となる。管理者は、ボタン１８０５をクリックする事で、入力したプルダウンメニュー１８０３と１８０４の評価指標を削除する事ができる。
【００８３】
管理者は、ボタン１８０７をクリックする事で契機定義情報２１０の設定を更新する事ができ、１８０８のボタンをクリックする事で設定をキャンセルすることができる。
【００８４】
図１９は、図１８で用いる目標状態の具体的な条件式を設定するためのＧＵＩ（Graphical User Interface）の画面イメージの例を示す。このＧＵＩは、管理サーバ２００に接続した出力装置１１２や、管理サーバ２００に直接またはネットワークスイッチ１０１を介して接続した他の端末の表示装置などにブラウザや専用のプログラム、及びテキストなどを用いて表示する。そして、管理サーバ２００に接続した入力装置１１１や、管理サーバ２００に直接またはネットワークスイッチ１０１を介して接続した他の端末の入力装置を用いて画面イメージを操作する。
【００８５】
目標状態設定ウィンドウ１９００には、操作のためのボタン等が表示される。管理者はプルダウンメニュー１９０１をクリックし、本設定の対象となる目標状態を入力する。図の例では、管理者が選択した契機がプルダウンメニュー１９０１に表示される。管理者はボタンをクリック１９０３する事で新しい条件を追加する事ができる。管理者はボタン１９０２をクリックする事で追加した条件を削除する事ができる。
【００８６】
管理者はプルダウンメニュー１９０４をクリックし、プルダウンメニュー１９０１の目標状態の条件式の対象となるサーバを入力する。図示の例では、管理者が選択した目標状態がプルダウンメニュー１９０４に表示される。管理者がプルダウンメニュー１９０４で選択できる項目には、図１９においてプルダウンメニュー１９０１の目標状態と関連付けられるプルダウンメニュー１８０１の契機の発生元を示す物理サーバ１０４、中間用の仮想サーバ１０２、業務用の仮想サーバ１０２、関連管理サーバ１００、ネットワークスイッチ１０１、ストレージスイッチ１０５、システムディスク１０９、データディスク１１０と、契機の発生元を直接指定するための識別子などがある。
【００８７】
管理者は、プルダウンメニュー１９０５をクリックし、プルダウンメニュー１９０１の目標状態の構成に関する条件式の具体的な条件の内、条件の対象に関する情報を入力できる。管理者がプルダウンメニュー１９０５で選択できる項目には、物理サーバ１０４、中間用の仮想サーバ１０２、業務用の仮想サーバ１０２、関連管理サーバ１００、ネットワークスイッチ１０１、ストレージスイッチ１０５、システムディスク１０９、データディスク１１０を識別するための識別子、及びそれらのグループ（例えば、全ての業務用の仮想サーバ１０２）などがある。
【００８８】
管理者は、プルダウンメニュー１９０６をクリックし、プルダウンメニュー１９０１の目標状態の構成に関する条件式の具体的な条件の内、条件の状態に関する情報を入力できる。管理者がプルダウンメニュー１９０５で選択できる項目には、プルダウンメニュー１９０５の対象サーバ１９０４における、存在の有無、状態（例えば、電源ＯＦＦ）などがある。
【００８９】
管理者は、プルダウンメニュー１９１１をクリックし、プルダウンメニュー１９０１の目標状態の性能に関する条件式の具体的な条件の内、条件の対象に関する情報を入力できる。管理者がプルダウンメニュー１９１１で選択できる項目には、ＣＰＵの使用率、メモリの使用量、ネットワーク帯域の使用率、ディスクの使用量などがある。管理者は、プルダウンメニュー１９１２をクリックし、プルダウンメニュー１９０１の目標状態の性能に関する条件式の具体的な条件の内、条件の状態に関する情報を入力できる。管理者がプルダウンメニュー１９１２で選択できる項目には、プルダウンメニュー１９１１の条件の対象に対する、Ｘ％以下（Ｘは数値）、Ｘ％以上（Ｘは数値）、Ｘ％未満（Ｘは数値）、Ｘ％を超える（Ｘは数値）などがある。
【００９０】
管理者はボタン１９０８をクリックする事で新しい条件を追加する事ができる。管理者はボタン１９０７をクリックする事で追加した条件を削除する事ができる。管理者は、ボタン１９０９をクリックする事で設定を更新する事ができ、ボタン１９１０をクリックする事で設定をキャンセルすることができる。
【００９１】
本実施形態に拠れば、システムの動的な情報（構成情報、状態情報、資源情報など）に基づいて、契機定義情報２１０に対する目標に適した制御パターンを選択する実行計画情報２１１を、実行計画生成部２１５が生成することが可能になる。
【００９２】
以上のように本発明の第１の実施形態によれば、管理サーバ２００は所定の契機になると、実行計画情報２１１を制御パターン変換定義情報２１３により異なる制御パターンに変換し、変換前の実行計画情報２１１の評価値と、変換後の実行計画情報２１１'の評価値とを比較して評価の良い実行計画情報を選択する。これにより、物理サーバ１０４に障害の予兆が発生した時点での仮想サーバ１０２や物理サーバ１０４の稼動状態に応じて、動的な変更に必要な時間が少ない実行計画情報２１１を生成できる。これにより、管理サーバ２００では、仮想サーバ１０２や物理サーバ１０４の稼動状態が変化しても、動的な変更を行う制御パターンを最適な内容に更新することができるのである。
【００９３】
なお、上記実施形態においては、関連管理サーバ１００と管理サーバ２００が異なる計算機で構成された例を示したが、管理サーバ２００に関連管理サーバ１００の機能を含むようにしても良い。
【００９４】
＜第２実施形態＞
【００９５】
前記第１実施形態では、障害予兆の発生を制御パターン決定部２０１の実行の契機の例として挙げ、実行計画生成部２１５が契機定義情報２１０から決定した実行計画情報２１１を、計算機システムの動的な情報に基づいて実行計画情報２１１'に変換する方法について述べた。
【００９６】
本第２実施形態では、実行計画情報２１１の１つ以上の制御パターンを変換する際に、管理サーバ２００は、変換した制御パターンが実行可能であるか否かを判定する例について述べる。この判定は、例えば、変換した制御パターンに必要な計算機資源を確保できるか否かを判定し、実行可能な実行計画情報２１１を選択するものである。
【００９７】
尚、本実施形態では、制御パターン決定部２０１の動作契機の例として、中間用の仮想サーバ１０２−４（ＶＭ−４）の計算機資源使用量が閾値を超過（資源逼迫時）した例を挙げる。第２の実施形態は、前記第１実施形態の目標状態の詳細情報６００など一部の情報の構成を変更した他は、前記第１実施形態と同様の構成を備える。
【００９８】
図１２は、本第２実施形態における目標状態の詳細情報６００Ａの例である。目標状態の詳細情報６００Ａは、前記第１実施形態の契機定義情報２１０の目標状態５１０に対応するものである。
【００９９】
本実施形態では、中間用の仮想サーバ１０２の資源使用率の閾値超過を、制御パターン決定部２０１の実行の契機としている。このため目標状態５１０は、図５の第２のエントリ５０１１で示すように、当該中間用の仮想サーバ１０２の資源使用率を閾値以下に低下させる設定である。この閾値は、管理サーバ２００に対して事前に設定されているものを使用し、本実施形態ではＣＰＵの使用率の閾値は７０％、メモリ使用率の閾値は８０％とする。
【０１００】
図１２に示す目標状態の詳細情報６００Ａは、目標状態５１０を満たすための具体的なシステム構成、状態、及び資源などの値を示すために、仮想サーバ１０２を識別するための識別子であるＶＭ（仮想サーバ）名６１０と、物理サーバ１０４が備える各部の閾値を示すための資源使用率閾値１２１１を備える。ここで、資源使用率１２１１はサブカラムとして、ＣＰＵ１２２０、メモリ１２２１などの構成に関する情報を有し、各サブカラムにて仮想サーバ１０２４が備える各部の閾値を式や値などとして持つ。
【０１０１】
図１３は、本実施形態における制御パターン定義情報２１２の例である。本実施形態における目標状態は、当該中間用の仮想サーバの資源使用率を閾値以下に低減させることである。低減の方法は当該サーバ上で稼動している仮想サーバ１０２を、他のサーバ仮想化部１０３に移動させるだけでなく、当該サーバ（中間用の仮想サーバ１０２）に割り当てられている計算機資源の量を変更することも存在する。しかし、割り当て資源量の増加変更は、当該サーバに余剰の物理資源がある場合のみ実行できる。このため、管理サーバ２００の実行計画生成部２１５は、物理資源情報を参照して、割り当て資源量の増加が実行可能かであるか否かを判定する必要がある。
【０１０２】
図１４は、本実施形態における制御パターン変換定義情報２１３の例である。本実施形態では、前記第１実施形態の図９に対して、制御パターン定義情報２１２に新しい制御パターンを追加したため、制御パターン変換定義情報２１３にも新しい制御パターン変換情報が追加される。
【０１０３】
図１５は、本第２実施形態における実行計画生成部２１５で行われる処理の一例を示すフローチャートである。図１５の処理は、前記第１実施形態の図１０に示した実行計画生成部２１５を本実施形態のために変更した処理である。図１５が図１０と異なる箇所は、ステップ１５００を追加したことである。実行計画生成部２１５は、ステップ１００２で一時作成した実行計画を各サーバに対して実行するときに、実行に必要な計算機資源が確保できるか否かを判定する。実行計画生成部２１５は、計算機資源を確保できる場合にはステップ１００３へ進み、計算機資源を確保できない場合には実行計画情報２１１'を破棄してステップ１００１へ進む。
（ステップ１５００）。この判定は、例えば、実行計画情報２１１が中間用ＶＭの資源割当変更を含み、計算機資源の割り当て変更が新しいＣＰＵ資源量（例えばＣＰＵコア数）を２とすることを引数として設定された場合、実行計画生成部２１５は、中間用の仮想サーバ１０２が稼動する物理サーバ１０４上でＣＰＵコア数を新たに２つ確保できるか否かを、資源管理部２０２の資源情報を参照して判定する。
【０１０４】
本第２実施形態に拠れば、実行計画生成部２１５は、各サーバに対して実行可能であることを保証した実行計画情報２１１'を生成することができる。
【０１０５】
＜第３実施形態＞
【０１０６】
前記第２実施形態では、中間用の仮想サーバ１０２−４の資源使用量の閾値超過発生（資源逼迫時）を制御パターン決定部２０１の動作契機の例として挙げた。そして、実行計画生成部２１５が契機定義情報２１０から求めた実行計画情報２１１を、各サーバに対して実行可能であるか否かを判定した実行計画情報２１１を作成する方法について述べた。  本第３実施形態では、制御パターン決定部２０１が実行計画情報２１１と制御部２０４を用いて計算機システムを動的に制御する際において、より確実に計算機資源の確保を行う構成について述べる。
【０１０７】
図１６は、本実施形態における制御パターン決定部２０１で行われる処理の一例を示すフローチャートである。制御パターン決定部２０１は、管理サーバ２００からの契機情報（例えば、障害の予兆検出）に基づいて処理を開始する。
【０１０８】
制御パターン決定部２０１は、管理対象の全サーバに対する構成変更要求を一時的にロック（停止）する（ステップ１６００）。制御パターン決定部２０１は、実行計画生成部２１５に上記契機情報を送信して実行計画情報２１１を作成する（ステップ１６０１）。
【０１０９】
制御パターン決定部２０１は、ステップ１６００にてロックした各サーバに対する構成変更要求のうち、実行計画情報２１１の制御先１１０２に含まれないサーバに対するものをアンロックする（ステップ１６０２）。
【０１１０】
制御パターン決定部２０１は、実行計画情報２１１に含まれる制御命令を制御部２０４に送信し、対象のサーバの制御を行う（ステップ１６０３）。制御パターン決定部２０１は、ステップ１６０２でアンロックしたもの以外のサーバに対する構成変更要求のロックをアンロックする（ステップ１６０４）。移動対象の仮想サーバ１０２の移動が完了した後、管理サーバ２００は、全ての仮想サーバ１０２及び物理サーバ１０４に対する構成変更要求の受付を再開する。
【０１１１】
本実施形態に拠れば、管理対象の全サーバに対する構成変更要求を一時的にロック（停止）してから、制御パターン決定部２０１が実行計画情報２１１を生成するので、各物理サーバ１０４の計算機資源の変更を抑止した状態で、実行計画情報２１１を生成することができる。この後、移動対象の仮想サーバ１０２及び物理サーバ１０４は構成変更要求の受付を停止した状態で、管理サーバ２００は実行計画情報２１１（または実行計画情報２１１'）を実施するので、計算機資源を確保できないことによって構成変更に失敗するリスクを低減することができる。
【０１１２】
＜第４実施形態＞
【０１１３】
前記第１実施形態では、障害予兆の発生を制御パターン決定部２０１の実行の契機の例として挙げ、実行計画生成部２１５が契機情報に対して実行計画情報を、システムの動的な情報に基づいて実行計画情報２１１'へ変換する構成について述べた。本第４の実施形態では、筐体保守の実施を制御パターン決定部２０１の動作契機の例として挙げ、実行計画情報２１１の評価パターン５１１に時間以外の方法がある場合について述べる。筐体保守の例として、筐体に備えられているファームウェアの更新や、ハードウェアの交換などが挙げられる。なお、計算機システムの構成は前記第１実施形態と同様である。
【０１１４】
図１７は、本実施形態における制御パターン定義情報２１２の例である。図１７は前記第１実施形態と同様であり、図８に示した制御パターン定義情報２１２を本実施形態のために変更したものである。図１７が図８と異なる箇所は、実行時間に代わって構成変更数７１３を追加したことである。
【０１１５】
物理サーバ１０４を収容する筐体保守の実施においては、障害予兆の発生と同じく、保守において業務の停止を避けるために業務用の仮想サーバ１０２を（仮想サーバ１０２の移動などによって）別の物理サーバ１０４で稼動させなければならない。しかし、障害予兆の発生と異なり、この目標状態に対して仮想サーバ１０２及び物理サーバ１０４を制御するに当たっては実行時間ではなく、構成変更（仮想サーバの設定（例えば、ＶＬＡＮタグなどのネットワーク設定、資源割り当て量）、物理サーバ１０４、中間仮想サーバ１０２、及び業務用仮想サーバ１０２間の親子関係など）を少なくすることが重要となる。
【０１１６】
これは、一時的な構成変更の数（工数）が少ないほど、筐体保守完了後にサーバを元の構成の戻す場合より少ない手間で戻すことができるからである。図１７で示す制御パターンにおいて、他のサーバに空き資源が多数ある場合は、中間用のＶＭ移動による変更が望ましいが、業務用ＶＭ移動によって複数の他のサーバに分散して移動する方が望ましい場合がある。
【０１１７】
図２１Ａ、図２１Ｂと図２２Ａ、図２２Ｂは、本実施形態における構成変更の例である。これら例では、物理サーバ１０４（ＨＯＳＴ−Ａ）の空き資源量が業務用仮想サーバ１つ分であることとしている。
【０１１８】
図２１Ａは構成変更前の状態で、図２１Ｂは、実行計画情報２１１の評価パターンに構成変更数を用いてない場合に構成変更を実施した後の構成例である。図２１Ｂでは、物理サーバ１０４−２（ＨＯＳＴ−Ｂ）上の業務用仮想サーバ１０２−２が物理サーバ１０４−１（ＨＯＳＴ−Ａ）に移動し、業務用仮想サーバ１０２−３、１０２−５が物理サーバ１０４−３（ＨＯＳＴ−Ｃ）へ移動した例を示す。
【０１１９】
図２２Ａは構成変更前の状態で、図２２Ｂは、実行計画情報２１１の評価パターンに構成変更数を用いた場合に構成変更を実施した後の構成例である。図２２Ｂでは、中間仮想サーバ１０２（ＶＭ−４）を物理サーバ１０４−３（ＨＯＳＴ−Ｃ）移動することで、業務用仮想サーバ１０２（ＶＭ−２）と業務用仮想サーバ１０２（ＶＭ−３）への構成変更を省略している。これにより、再度構成変更前の状態に戻す場合、図２１Ｂと比べて図２２Ｂの構成は、構成変更前の状態に戻すときの工数が少なく、短時間で構成変更を行うことが可能になる。
【０１２０】
＜第５実施形態＞
【０１２１】
前記第１実施形態では、障害予兆の発生を制御パターン決定部２０１の実行契機の例として挙げ、実行計画生成部２１５が契機情報に対する実行計画情報２１１を、システムの動的な情報に基づいて実行計画情報２１１'に変換する方法について述べた。本第５実施形態では、週末節電の実施を制御パターン決定部２０１の実行の契機の例として挙げ、目標状態が存在しない場合があるあることについて述べる。
【０１２２】
本第５実施形態では、図５のエントリ５０１３において、目標状態が存在しない（即ち、実行計画の実行において任意の構成をとることができる）ことと、評価パターンとして、制御パターン定義情報２１２が持つ情報ではなく、実行計画情報２１１を実行した後の構成情報と、資源管理部２０２より収集できる資源情報を用いている点で、他の実施形態と異なっている。
【０１２３】
図２３Ａ、図２３Ｂは、本実施形態における構成の例である。この例では、評価パターン５１１として図５の契機定義情報２１０のエントリ５０１３に記載のサーバの平均消費電力量（最小化）を使用している。実行計画情報２１１の実施前の構成は、図２３Ａで示すように、業務用仮想サーバ１０２が複数の物理サーバ１０４（ＨＯＳＴ−Ａ、ＨＯＳＴ−Ｂ）に分散している状態となっている。
【０１２４】
ここで、物理サーバ１０４の平均消費電力量を最小化する実行計画情報２１１は、例えば、業務用仮想サーバ１０２を可能な限り１つの物理サーバ１０４（図２３ＢではＨＯＳＴ−Ｂ）に集約することで、停止可能な物理サーバ１０２（図２３ではＨＯＳＴ−Ａ）の数を増やすものとなる。これにより、余計な物理サーバ１０４−１（図２３ではＨＯＳＴ−Ａ）を停止し、全体の物理サーバ１０４の平均消費電力量を下げることができる。
【図１Ａ】
2013084332.tif 000003
【図１Ｂ】
2013084332.tif 000004
【図２】
2013084332.tif 000005
【図３】
2013084332.tif 000006
【図４】
2013084332.tif 000007
【図５】
2013084332.tif 000008
【図６】
2013084332.tif 000009
【図７】
2013084332.tif 000010
【図８】
2013084332.tif 000011
【図９】
2013084332.tif 000012
【図１０】
2013084332.tif 000013
【図１１】
2013084332.tif 000014
【図１２】
2013084332.tif 000015
【図１３】
2013084332.tif 000016
【図１４】
2013084332.tif 000017
【図１５】
2013084332.tif 000018
【図１６】
2013084332.tif 000019
【図１７】
2013084332.tif 000020
【図１８】
2013084332.tif 000021
【図１９】
2013084332.tif 000022
【図２０Ａ】
2013084332.tif 000023
【図２０Ｂ】
2013084332.tif 000024
【図２１Ａ】
2013084332.tif 000025
【図２１Ｂ】
2013084332.tif 000026
【図２２Ａ】
2013084332.tif 000027
【図２２Ｂ】
2013084332.tif 000028
【図２３Ａ】
2013084332.tif 000029
【図２３Ｂ】
2013084332.tif 000030
【国際調査報告】
2013084332.tif 000031
2013084332.tif 000032
2013084332.tif 000033
2013084332.tif 000034