(57)【要約】【課題】システムの現況に応じて仮想サーバの移動方法を決定することで、可用性を向上する。【解決手段】仮想化システムが使用する物理資源量を示す使用物理資源量、仮想化システムを稼動させる物理サーバの性能を示す最大物理資源量とからなる物理資源情報、仮想化システムが仮想サーバに割り当てている物理資源量の関係を示す割当物理資源係数、仮想サーバが使用する物理資源量の関係を示す使用仮想資源係数とからなる仮想資源情報、移動手段の実行に必要な物理資源量を示す必要物理資源量、仮想サーバの使用仮想資源係数の変化が各移動手段による仮想サーバの移動所要時間に与える影響の度合いを示す変動率、使用物理資源量を基準とした基準実行時間とからなる移動手段情報から、前記仮想サーバの物理資源の使用量、前記使用物理資源量からの使用物理資源量の変化値、前記各移動手段による仮想サーバの移動所要時間を算出する。【選択図】図１
2010244524.tif 000002
【特許請求の範囲】
【請求項１】
物理サーバに接続する管理サーバにおいて実行する、前記物理サーバ内で動作する仮想化システム上で稼動する仮想サーバを移動するための移動方法の決定方法であって、
前記管理サーバは、
前記仮想化システムに対応して、前記仮想化システムが使用する物理資源量を示す使用物理資源量と、前記仮想化システムを稼動させる前記物理サーバの性能を示す最大物理資源量とからなる物理資源情報と、
前記仮想サーバに対応して、前記仮想サーバが使用する物理資源量を示す使用仮想資源係数と、前記仮想サーバに割り当てている物理資源量を示す割当物理資源係数とからなる仮想資源情報と、
前記仮想サーバの複数の移動手段に対応して、前記移動手段の実行に必要な物理資源量を示す必要物理資源量と、前記仮想サーバの前記使用仮想資源係数の変化が前記各移動手段による前記仮想サーバの移動所要時間に与える影響の度合いを示す変動率と、所定の使用物理資源量を基準とした基準実行時間とからなる移動手段情報とを記憶手段に記憶し、
前記物理サーバの前記最大物理資源量と前記仮想サーバの前記使用仮想資源係数と前記割当物理資源係数より前記仮想サーバの物理資源の使用量を算出し、前記算出した物理資源の使用量と前記所定の使用物理資源量より前記所定の使用物理資源量からの使用物理資源量の変化値を算出し、前記算出した変化値と前記変動率と前記基準実行時間より前記各移動手段による前記仮想サーバの前記移動所要時間を算出することを特徴とする仮想サーバの移動方法決定方法。
【請求項２】
前記仮想サーバの前記移動所要時間の短い前記移動手段を選択することを特徴とする請求項１記載の仮想サーバの移動方法決定方法。
【請求項３】
前記仮想サーバが複数あるとき、各仮想サーバに関して前記選択した前記移動手段に対応する前記移動所要時間の短い仮想サーバからの、前記移動手段による前記仮想サーバの移動順序とすることを特徴とする請求項２記載の仮想サーバの移動方法決定方法。
【請求項４】
前記移動手段の並列実行の許容値を示す最大並列度を格納した並列性情報テーブルを設け、前記最大並列度を超えない範囲で、前記実行順序に従って、前記複数の仮想サーバに対応する各移動手段を並列実行することを特徴とする請求項３記載の仮想サーバの移動方法決定方法。
【請求項５】
前記複数の仮想サーバの各々が遂行する業務および前記業務の優先度との関係を示す業務情報テーブルを設け、前記優先度が高い業務を遂行する前記仮想サーバを選択し、前記仮想サーバに対応する移動手段を実行することを特徴とする請求項３記載の仮想サーバの移動方法決定方法。
【請求項６】
前記業務情報テーブルは、前記業務のダウン許容時間を含み、前記ダウン許容時間を参照して、事前に停止する仮想サーバを決定することを特徴とする請求項５に記載の仮想サーバの移動方法決定方法。
【請求項７】
前記物理サーバに発生する障害を示すリスク識別子とその障害が発生したときの動作条件との対応を示すリスク情報テーブルを設け、前記動作条件に反しない範囲で、前記仮想サーバに対し前記移動手段を選択することを特徴とする請求項２記載の仮想サーバの移動方法決定方法。
【請求項８】
物理サーバ内で動作する仮想化システム上で稼動する仮想サーバを移動するための移動方法を決定する、前記物理サーバに接続する管理サーバであって、
前記仮想化システムに対応して、前記仮想化システムが使用する物理資源量を示す使用物理資源量と、前記仮想化システムを稼動させる前記物理サーバの性能を示す最大物理資源量とからなる物理資源情報と、
前記仮想サーバに対応して、前記仮想サーバが使用する物理資源量を示す使用仮想資源係数と、前記仮想サーバに割り当てている物理資源量を示す割当物理資源係数とからなる仮想資源情報と、
前記仮想サーバの複数の移動手段に対応して、前記移動手段の実行に必要な物理資源量を示す必要物理資源量と、前記仮想サーバの前記使用仮想資源係数の変化が前記各移動手段による前記仮想サーバの移動所要時間に与える影響の度合いを示す変動率と、所定の使用物理資源量を基準とした基準実行時間とからなる移動手段情報とを記憶した記憶手段を有し、
前記物理サーバの前記最大物理資源量と前記仮想サーバの前記使用仮想資源係数と前記割当物理資源係数より前記仮想サーバの物理資源の使用量を算出し、前記算出した物理資源の使用量と前記所定の使用物理資源量より前記所定の使用物理資源量からの使用物理資源量の変化値を算出し、前記算出した変化値と前期変動率と前記基準実行時間より前記各移動手段による前記仮想サーバの前記移動所要時間を算出する移動方法決定部を有することを特徴とする管理サーバ。
【請求項９】
前記移動方法決定部は、前記仮想サーバの前記移動所要時間の短い前記移動手段を選択することを特徴とする請求項８記載の管理サーバ。
【請求項１０】
前記移動方法決定部は、前記仮想サーバが複数あるとき、各仮想サーバに関して前記選択した前記移動手段に対応する前記移動所要時間の短い仮想サーバからの、前記移動手段による前記仮想サーバの移動順序とすることを特徴とする請求項９記載の管理サーバ。
【請求項１１】
前記移動手段の並列実行の許容値を示す最大並列度を格納した並列性情報テーブルを設け、前記移動方法決定部は、前記最大並列度を超えない範囲で、前記実行順序に従って、前記複数の仮想サーバに対応する各移動手段を並列実行することを特徴とする請求項１０記載の管理サーバ。
【請求項１２】
前記複数の仮想サーバの各々が遂行する業務および前記業務の優先度との関係を示す業務情報テーブルを設け、前記移動方法決定部は、前記優先度が高い業務を遂行する前記仮想サーバを選択し、前記仮想サーバに対応する移動手段を実行することを特徴とする請求項１０記載の管理サーバ。
【請求項１３】
前記業務情報テーブルは、前記業務のダウン許容時間を含み、前記移動方法決定部は、前記ダウン許容時間を参照して、事前に停止する仮想サーバを決定することを特徴とする請求項１２に記載の管理サーバ。
【請求項１４】
前記物理サーバに発生する障害を示すリスク識別子とその障害が発生したときの動作条件との対応を示すリスク情報テーブルを設け、前記移動方法決定部は、前記動作条件に反しない範囲で、前記仮想サーバに対し前記移動手段を選択することを特徴とする請求項１０記載の管理サーバ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化システムを備える計算機システムに係り、特に仮想サーバの移動方法（手段及び実行順序）を決定する技術に関する。
【背景技術】
【０００２】
仮想化システムには、保守、物理障害発生時のフェイルオーバーや、負荷分散などの目的で、仮想サーバを仮想化システム間で移動する手段が存在する（例えば、特許文献１、特許文献２）。これらの移動手段は、それぞれ停止時間、実行速度、必要リソースが異なるため、管理者は各仮想サーバで稼動する業務の可用性を考慮した上で、事前に仮想サーバごとの移動手段を決定する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−２３４１１４号公報
【特許文献２】特開２００５−３２７２７９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の方法では、仮想サーバを移動する際のシステムの稼働状況によっては、事前に決定した移動手段では、管理者が想定した可用性を満たせない場合がある。そこで、本発明が解決しようとする課題は、仮想サーバの移動時に、システムの稼動状態に応じて、仮想サーバの移動手段及び実行順序を決定することである。
【課題を解決するための手段】
【０００５】
本発明の、仮想サーバの移動方法の決定方法及びそれを実行する管理サーバは次のような態様である。管理サーバは物理サーバに接続し、物理サーバ内で動作する仮想化システム上で稼動する仮想サーバを移動するための移動方法を決定する。その決定方法は、仮想化システムに対応して、仮想化システムが使用する物理資源量を示す使用物理資源量と、仮想化システムを稼動させる物理サーバの性能を示す最大物理資源量とからなる物理資源情報と、仮想サーバに対応して、物理サーバの最大物理資源量に対する、仮想化システムが仮想サーバに割り当てている物理資源量の関係を示す割当物理資源係数と、仮想サーバに割り当てている物理資源量に対する、仮想サーバが使用する物理資源量の関係を示す使用仮想資源係数とからなる仮想資源情報と、仮想サーバの複数の移動手段に対応して、移動手段の実行に必要な物理資源量を示す必要物理資源量と、仮想サーバの使用仮想資源係数の変化が各移動手段による仮想サーバの移動所要時間に与える影響の度合いを示す変動率と、所定の使用物理資源量を基準とした基準実行時間とからなる移動手段情報と記憶し、前記最大物理資源量と前記使用仮想資源係数と前記割当物理資源係数より前記仮想サーバの物理資源の使用量を算出し、前記算出した物理資源の使用量と前記所定の使用物理資源量より前記所定の使用物理資源量からの使用物理資源量の変化値を算出し、算出した変化値と前記変動率と前記基準実行時間より各移動手段による仮想サーバの移動所要時間を算出する。
【０００６】
本発明の他の態様は、仮想サーバの移動所要時間の短い移動手段を選択する。
【０００７】
本発明のさらに他の態様は、仮想サーバが複数あるとき、各仮想サーバに関して選択した移動手段に対応する移動所要時間の短い仮想サーバからの、移動手段による仮想サーバの移動順序とする。
【０００８】
本発明のさらに他の態様は、移動手段の並列実行の許容値を示す最大並列度を格納した並列性情報テーブルを設け、最大並列度を超えない範囲で、実行順序に従って、複数の仮想サーバに対応する各移動手段を並列実行する。
【０００９】
本発明のさらに他の態様は、複数の仮想サーバの各々が遂行する業務および業務の優先度との関係を示す業務情報テーブルを設け、優先度が高い業務を遂行する仮想サーバを選択し、仮想サーバに対応する移動手段を実行する。
【００１０】
本発明のさらに他の態様は、業務情報テーブルは、業務のダウン許容時間を含み、ダウン許容時間を参照して、事前に停止する仮想サーバを決定する。
【００１１】
本発明のさらに他の態様は、物理サーバに発生する障害を示すリスク識別子とその障害が発生したときの動作条件との対応を示すリスク情報テーブルを設け、動作条件に反しない範囲で、仮想サーバの移動手段を選択する。
【発明の効果】
【００１２】
本発明によれば、仮想サーバの移動時に、システムの現況に応じて仮想サーバの移動手段及び実行順序を決定することで、可用性を向上することができる。
【図面の簡単な説明】
【００１３】
【図１】計算機システムの構成を示す図である。
【図２】物理サーバの構成を示す図である。
【図３】管理サーバの構成を示すブロック図である。
【図４】移動手段情報テーブルの構成を示す図である。
【図５】仮想資源情報テーブルの構成を示す図である。
【図６】物理資源情報テーブルの構成を示す図である。
【図７】フェイルオーバー情報テーブルの構成を示す図である。
【図８】移動スケジュール情報テーブルの構成を示す図である。
【図９】管理サーバ及び仮想化システム間の処理シーケンスの例である。
【図１０】フェイルオーバー情報決定部の処理フローチャートである。
【図１１】第１の移動スケジュール情報決定部の処理フローチャートである。
【図１２】移動方法決定部の稼動方法を選択するＧＵＩの例を示す図である。
【図１３】移動方法決定部を手動で稼動させるＧＵＩの例を示す図である。
【図１４】移動手段情報テーブルを設定するＧＵＩの例を示す図である。
【図１５】並列性情報テーブルの構成を示す図である。
【図１６】第２の移動スケジュール情報決定部の処理フローチャートである。
【図１７】並列性情報テーブルを設定するＧＵＩの例を示す図である。
【図１８】業務情報テーブルの構成を示す図である。
【図１９】第３の移動スケジュール情報決定部の処理フローチャートである。
【図２０】業務情報テーブルを設定するＧＵＩの例を示す図である。
【図２１】第４の移動スケジュール情報決定部の処理フローチャートである。
【図２２】第５の移動スケジュール情報決定部の処理フローチャートである。
【図２３】事前停止対象の業務を遂行する仮想サーバの移動スケジュール情報を決定する処理フローチャートである。
【図２４】第６の移動スケジュール情報決定部の処理フローチャートである。
【図２５】リスク情報テーブルの構成を示す図である。
【図２６】第７の移動スケジュール情報決定部の処理フローチャートである。
【発明を実施するための形態】
【００１４】
以下、本発明の実施例を添付図面に基づいて説明する。
【実施例１】
【００１５】
図１は、計算機システムの構成を示す。この計算機システムは、管理サーバ１００、１つ以上の物理サーバ１０１、ストレージ装置１０２、及び１つ以上のネットワーク１３０を有する。
【００１６】
物理サーバ１０１は、プログラム制御により動作するコンピュータであり、ネットワーク１３０に接続するＮＩＣ（Network Interface Card）１４０、及びストレージ装置１０２に接続されるＨＢＡ（Host Bus Adaptor）を備える。物理サーバ１０１は、ネットワーク１３０を介して、管理サーバ１００、他の物理サーバ１０１、及びストレージ装置１０２に接続する。また、物理サーバ１０１内で、仮想化システム１２０が動作する。
【００１７】
仮想化システム１２０は、仮想サーバ１２１を動作させるためのプログラムであり、仮想化システムが有する物理資源、ＣＰＵ（Central Processing Unit）、メモリなどを分割し、仮想資源として仮想サーバ１２１に割当てる。
【００１８】
管理サーバ１００は、プログラム制御により動作するコンピュータであり、管理サーバ１００のユーザ（本計算機システムの管理者）が使用する入力装置１３１及び出力装置１３２を接続し、ネットワーク１３０に接続するＮＩＣ（Network Interface Card）１４２を備える。管理サーバ１００は、ネットワーク１３０を介して、各物理サーバ１０１、及びストレージ装置１０２に接続する。管理サーバ１００は、移動方法決定部１１０を動作させ、また移動方法決定部１１０の動作に必要なテーブル群１１１を有する。テーブル群１１１に含まれる各テーブルは、図４以降のテーブル構成例を用いて後述する。
【００１９】
ストレージ装置１０２は、ＦＣ（Fiber Channel）及びＬＡＮインタフェースを備え、１つ以上のディスクボリューム１０３を含む記憶装置システムである。ディスクボリューム１０３には、仮想サーバ１２１のイメージ（仮想サーバ１２１として動作する実行プログラム）が格納されている。
【００２０】
ネットワーク１３０は、１つ以上のネットワーク機器、及びそれらが相互に接続されて構成されるネットワークシステムを示す。ネットワーク機器は、具体的にはネットワークスイッチやルータ、ロードバランサ、及びファイアウォールなどである。
【００２１】
図２に、物理サーバ１０１の構成を示す。物理サーバ１０１は、メモリ２００、ローカルディスク２０１、ＮＩＣ１４０、プロセッサ（ＣＰＵ）２０３、ＨＢＡ１４１を有する。ローカルディスク２０１は、補助記憶装置として使用する。尚、物理サーバ１０１は補助記憶装置としてフラッシュメモリなどを使用しても良い。また物理サーバ１０１は複数のＮＩＣ及びＨＢＡを有しても良い。
【００２２】
メモリ２００は、仮想化システム１２０を動作させるプログラムを保持する。仮想化システム１２０内では、仮想サーバ１２１、資源管理部２１２、障害管理部２１３、及び構成管理部２１４が動作する。
【００２３】
仮想サーバ１２１は、物理コンピュータをエミュレートした論理コンピュータであり、仮想化システム１２０によって割当てられた仮想資源を使用して、仮想サーバ１２１内で、ＯＳ（Operating System）２１０、アプリケーション２１１などのプログラムを動作させる。
【００２４】
資源管理部２１２は、物理サーバ１０１及び仮想サーバ１２１の負荷情報（ＣＰＵ使用率、メモリ使用量など）を計測し、後述する情報取得部３０２からの指示に基づいて、現況の負荷情報を整形し、整形した負荷情報を情報取得プログラム３０２へ送信する。尚、資源管理部２１２が、情報取得部３０２へ送信する情報には、過去に計測した情報を含んでも良い。
【００２５】
障害管理部２１３は、物理サーバ１０１及び仮想化システム１２０で発生した障害（ＣＰＵ温度上昇、ファン回転数異常など）を検知し、情報取得部３０２からの指示に基づいて、障害内容を示す情報を整形し、整形した情報を情報取得部３０２へ送信する。
【００２６】
構成管理部２１４は、仮想化システム１２０及び各仮想サーバ１２１に関する構成情報（ホスト名、仮想サーバ名など）を収集し、情報取得部３０２のから指示に基づいて、収集した情報を整形し、整形した情報を情報取得部３０２へ送信する。
【００２７】
図３に、管理サーバ１００の構成を示す。管理サーバ１００は、メモリ３２０、ローカルディスク３２１、ＮＩＣ１４２、ＣＰＵ３２２を有する。ローカルディスク３２１は、補助記憶装置として使用する。尚、管理サーバ１００は、補助記憶装置としフラッシュメモリなどを使用しても良い。また管理サーバ１００は複数のＮＩＣを、有しても良い。
【００２８】
メモリ２００に、移動方法決定部１１０、テーブル群１１０を保持する。移動方法決定部１１０は、フェイルオーバー情報決定部３００、移動スケジュール情報決定部３０１、情報取得部３０２、移動手段呼出部３０３を含む。テーブル群１１１は、移動手段情報テーブル３１０、仮想資源情報テーブル３１１、物理資源情報テーブル３１２、フェイルオーバー情報テーブル３１３、移動スケジュール情報テーブル３１４、並列性情報テーブル３１５、業務情報テーブル３１６、及びリスク情報テーブル３１７を含む。尚、本実施例では、移動方法決定部１１０は、ＣＰＵ（プロセッサ）により実行されるプログラムとして説明するが、管理サーバ１００に搭載するハードウェアやファームウェア、またはそれらの組み合わせにより実装しても良い。また、移動方法決定部１１０は、管理サーバ１００が備える補助記憶装置３２１に格納され、実行時にはメモリ３２０にロードされてから、ＣＰＵによって実行される。
【００２９】
フェイルオーバー情報決定部３００は、移動方法決定部１１０からの指示により、フェイルオーバー情報テーブル３１３を作成する。移動スケジュール決定部３０１は、移動方法決定部１１０からの指示により、移動スケジュール情報テーブル３１４を作成する。情報取得部３０２は、フェイルオーバー情報決定部３００及び移動スケジュール情報決定部３０１の動作に必要な情報を、各物理サーバ１０１内からネットワーク１３０を介して取得する。移動手段呼出部３０３は、仮想化システム１２０及び仮想サーバ１２１を動作させ、仮想サーバ１２１を移動させる。
【００３０】
図４に、移動手段情報テーブル３１０の例を示す。移動手段情報テーブル３１０は、移動手段のスペック情報を保持する。カラム４００は、移動手段を識別するための手段識別子である。具体的には、手段提供者、及びユーザ（またはシステム管理者）が定義した名称である。カラム４０１は、仮想サーバの資源使用状況の変化と、仮想サーバの移動所要時間との関係(変動率)を示す。変動率４０１は、仮想サーバが使用する物理資源量の変化が移動所要時間に与える影響の度合いを示す。物理資源量とは、例えば、ＣＰＵの場合はＣＰＵ動作周波数、メモリの場合はメモリ容量、Ｎ/Ｗ（ネットワーク）の場合はネットワーク通信の速度、ディスクの場合はディスク容量、などである。変動率４０１には、ＣＰＵ、メモリ、Ｎ/Ｗ、ディスクなどの物理資源に対応するサブカラムを備え、これらの物理資源の使用量の変化が移動所要時間に与える影響の度合いを個々に示す。カラム４０２は、移動手段の実行に必要となる物理資源量を示す。必要物理資源量４０２は、ＣＰＵ、メモリ、Ｎ/Ｗ、ディスクなどの物理資源に対応するサブカラムを備え、これらの物理資源の必要量を示す。カラム４０３は、移動手段の基準実行時間(秒)（例えば、最速所要時間、など）を示す。
【００３１】
尚、本実施例では、変動率４０１の各値を、基準実行時間４０３を決定したときの使用物理資源量を基準とし、ＣＰＵなどの各物理資源の使用量が２倍となった場合の移動所要時間の変動倍率として説明するが、Ｘ倍（Ｘは整数または実数値）となった場合の変動倍率など、別の計算方法による値を用いても良い。たとえば、図５を用いて後述する識別子がＶＭ1の仮想サーバ１２１が図５に示す値の資源量を使用しているとする。ところが、ライブマイグレーションにより移動しようとしたとき、対象の仮想サーバ１２１が、所定のＣＰＵの使用量が２倍、所定のメモリの１．５倍を使用しているとすると、その仮想サーバ１２１の移動時間(実行時間)は、物理資源毎に使用仮想資源係数５０２のと前記所定の使用量からの変化値（例えば比率）を求め、求めた変化値とそれに対応する物理資源の変動率４０１と基準実行時間４０３より移動所要時間を算出（例えば積）する。図４の１行目および図５の１行目の数値例を用いると、3×（2 / 2×2）×（2.5 / 2×1.5）＝3×2×1.875＝11.25秒の実行時間を要することになる。
【００３２】
図５に、仮想資源情報テーブル３１１の例を示す。仮想資源情報テーブル３１１は、仮想サーバ１２１の物理資源の使用状況を保持する。カラム５００は仮想サーバ１２１を識別するための仮想サーバ識別子であり、カラム５０１は、仮想化システム１２０を識別するためのホスト識別子である。これらの識別子は、具体的には、手段提供者、及びユーザ（またはシステム管理者）が定義した名称である。カラム５０２は、仮想サーバ１２１の物理資源の使用状況(使用仮想資源係数)を示す。本実施例では、使用仮想資源係数５０２は、仮想化システム１２０が仮想サーバ１２１に割り当てた物理資源量に対する、仮想サーバ１２１が使用する物理資源量の比率として示すが、絶対値や、同一仮想化システム１２０上で稼動する他の仮想サーバ１２１を１とした場合の相対値、仮想化システム１２０が複数の仮想サーバ１２１間で共有するよう割り当てた場合などは、重み値を含めても良い。また、使用仮想資源値５０２は、ＣＰＵ、メモリ、Ｎ/Ｗ、ディスクなどの物理資源に対応するサブカラムを備え、これらの物理資源の使用状況を示す。カラム５０３は、仮想化システム１２０の仮想サーバ１２１への物理資源の割当状況 (割当物理資源係数)を示す。本実施例では、割当物理資源係数５０３は、物理サーバ１０１が持つ物理資源量に対する、仮想化システム１２０が仮想サーバ１２１に割り当てた物理資源量の比率として示すが、絶対値や、同一仮想化システム１２０上で稼動する他の仮想サーバ１２１を１とした場合の相対値、仮想化システム１２０が複数の仮想サーバ１２１間で共有するよう割り当てた場合などは、重み値を含めても良い。また、割当物理資源係数５０３は、ＣＰＵ、メモリ、Ｎ/Ｗ、ディスクなどの物理資源に対応するサブカラムを備え、これらの物理資源の割当状況を示す。
【００３３】
図６は、物理資源情報テーブル３１２の例を示す。物理資源情報テーブル３１２は、仮想化システム１２０の物理資源の使用状況を保持する。カラム６００は、仮想化システム１２０を識別するためのホスト識別子である。具体的には、手段提供者、及びユーザ（またはシステム管理者）が定義した名称である。カラム６０１は、仮想化システム１２０が使用する物理資源量(使用物理資源量)を示す。使用物理資源量６０１は、サブカラムとして、ＣＰＵ、メモリ、Ｎ/Ｗ、ディスクなどを備え、これらの各コンポーネントの使用量を示す。カラム６０２は、仮想化システムが持つ物理資源の最大量(最大物理資源量)を示す。最大物理資源量６０２は、物理サーバの性能(能力)であり、具体的には、ＣＰＵ動作周波数、メモリ容量、ネットワーク通信の速度、ストレージ容量の最大量を示す。
【００３４】
尚、本実施例では、カラム６０２の値を、仮想化システムが単一のＣＰＵを持つ場合として説明するが、複数のＣＰＵを持つ場合、及び複数のコアを備える単一のＣＰＵを持つ場合などによる値を用いても良い。
【００３５】
図７に、フェイルオーバー情報テーブル３１３の例を示す。フェイルオーバー情報テーブル３１３は、仮想サーバ１２１の、移動手段毎の移動所要時間を保持する。カラム７００は、仮想サーバ１２１を識別するための仮想サーバ識別子である。具体的には、ユーザ（またはシステム管理者）が定義した名称である。カラム７０１は、仮想サーバの、移動手段毎の移動所要時間（所要時間）を示す。所要時間７０１は、各サブカラムに、図４に示した手段識別子４００に対応した所要時間である。
【００３６】
図８に、移動スケジュール情報テーブル３１４の例を示す。移動スケジュール情報テーブル３１４は、仮想サーバ１２１の移動方法を保持する。カラム８００は、仮想サーバ１２１を移動する順番(実行順序)を示す。カラム８０１は、仮想サーバ１２１を識別するための仮想サーバ識別子である。具体的には、ユーザ（またはシステム管理者）が定義した名称である。カラム８０２は、仮想サーバ１２１の移動に用いる移動手段（手段識別子）を示す。カラム８０３は、仮想サーバ１２１の移動先を示す。具体的には、移動先の仮想化システム１２０を識別するための移動先ホスト識別子である。カラム８０４は、仮想サーバ１２１の移動の開始時刻を示す。具体的には、最初に移動する仮想サーバの開始時刻を０とした相対時刻である。
【００３７】
尚、本実施例では、開始時刻の値を、秒単位の整数値とするが、マイクロ秒など他の単位を用いても良い。
【００３８】
図９に、管理サーバ１００及び仮想化システム１２０の間の処理シーケンスの例を示す。情報取得部３０２からの指示に基づいて、仮想化システム１２０内の資源管理部２１２、障害管理部２１３、および構成管理部２１４は、それぞれ管理する情報を整形し、情報取得部３０２に送信する（処理９００）。情報取得部３０２は、資源管理部２１２、障害管理部２１３、および構成管理部２１４から送信された仮想化システム１２０の情報を受信する（処理９０１）。移動方法決定部１１０は、取得した仮想化システム１２０の情報を元に、仮想資源情報テーブル３１１および物理資源情報テーブル３１２を更新する（処理９０２）。
【００３９】
管理サーバ１００は、仮想化システム１２０が動作する物理サーバ１０１の障害の予兆を検出することなどを契機とし（処理９０３）、移動方法決定部は、契機となった仮想化システム１２０上で稼動する仮想サーバ１２１に関するフェイルオーバー情報を決定する（処理９０４）。尚、本実施例では、処理９０３で検知する契機を物理サーバ１０１の障害予兆検出として説明するが、物理サーバ１０１を構成するハードウェアの保守、複数の仮想化システム１２０間における負荷分散、ハードウェアまたはソフトウェアからのイベント通知、及びユーザが入力装置１３１及び出力装置１３２によるＧＵＩ(Graphical User Interface)を通して設定した情報を契機として用いても良い。移動方法決定部１１０は、仮想サーバ１２１の移動手段及び実行順序（移動スケジュール情報）を決定する（処理９０５）。
【００４０】
移動方法決定部１１０は、移動スケジュール情報が決定されたかを確認する（処理９０６）。移動スケジュール情報が決定されていなければ、処理を終了する。
【００４１】
移動方法決定部１１０は、作成された移動スケジュール情報に基づいて、第１の実行順序を持つ仮想サーバ１２１の移動を、移動手段呼出部３０３に対し指示する（処理９０７）。移動手段呼出部３０３は、仮想サーバ１２１と、仮想サーバ１２１の移動元および移動先の仮想化システム１２０とにより協働する、仮想サーバ１２１の移動手段を呼び出す（処理９０８）。仮想化システム１２０は、仮想サーバ１２１を移動する（処理９０９）。第１の実行順序をもつ仮想サーバ１２１の移動完了後、移動方法決定部１１０は、移動スケジュール情報が示す第２の実行順序以降の実行順序の仮想サーバ１２１に関して処理９０７を繰り返す。移動方法決定部１１０による処理９０７を実行に伴って、移動手段呼出部３０３による処理９０８、仮想化システム１２０による処理９０９を実行する。
【００４２】
図１０に、移動方法決定部１１０に含まれるフェイルオーバー情報決定部３００の処理フローチャートを示す。フェイルオーバー情報決定部３００の処理は、図９の処理９０４である。フェイルオーバー情報決定部３００は、移動する仮想サーバ１２１に関してフェイルオーバー情報が未決定、即ちフェイルオーバー情報テーブル３１３に移動する仮想サーバ１２１のエントリが存在しないものがあるかを確認する（ステップ１０００）。存在しなければ処理を終了する。存在するならば、移動する仮想サーバ１２１は、移動方法決定部１１０が、フェイルオーバー情報決定部３００の処理を開始する前に、仮想化システム１２０及び物理サーバ１０１の障害予兆検知などに基づいて決定する。
【００４３】
フェイルオーバー情報が未決定の１２１仮想サーバの内、任意の１２１仮想サーバを１つ選択する（ステップ１００１）。移動手段情報テーブル３１０の各移動手段の手段識別子４００、変動率４０１、必要物理資源量４０２、実行速度４０３を取得する（ステップ１００２）。ステップ１００１において選択した仮想サーバ１２１に関する仮想資源情報テーブル３１１の仮想サーバ識別子５００を持つレコードを取得する（ステップ１００３）。ステップ１００３において取得したレコードのホスト識別子５０１と同じホスト識別子６００を持つ物理資源情報テーブル３１２のレコードの最大物理資源量６０２を取得する（ステップ１００４）。
【００４４】
次に、ステップ１００２、ステップ１００３、及びステップ１００５において取得した情報を用いて、フェイルオーバー情報決定部３００は、ステップ１００１において選択した仮想サーバ１２１の、各移動手段を用いる時の移動所要時間を決定する（ステップ１００５）。移動所要時間は、使用仮想資源係数５０２、割当物理資源係数５０３、最大物理資源量６０２より、仮想サーバ１２１の使用中の物理資源量を求め、求めた物理資源量から、実行速度４０３を決定したときの使用物理資源量をベースとした、ＣＰＵ、メモリなど物理資源毎にベースとなる使用物理資源量からの変化値（例えば比率）を求め、求めた変化値、変動率４０１、及び実行速度より算出（例えば積）する。
【００４５】
ステップ１００３において取得した仮想サーバ識別子５００、ステップ１００５において決定した移動所要時間による新規レコードを、フェイルオーバー情報テーブル３１３に追加する（ステップ１００６）。ステップ１０００に戻り、フェイルオーバー情報が未決定の他の仮想サーバ１２１に関して処理を繰り返す。以上の処理により図7に示したフェイルオーバー情報テーブル３１３が作成される。
【００４６】
図１１に、移動方法決定部１１０の移動スケジュール情報決定部３０１の処理フローチャートを示す。移動スケジュール情報決定部３０１の処理は、図９の処理９０５である。移動スケジュール情報決定部３０１は、移動する仮想サーバ１２１に関して移動手段が未決定、即ち、移動スケジュール情報テーブル３１４に移動する仮想サーバ１２１の仮想サーバ識別子８０１を含むエントリが存在しないものがあるかを確認する（ステップ１１００）。存在しなければ処理を終了する。移動する仮想サーバ１２１は、移動方法決定部１１０が、フェイルオーバー情報決定部３００を開始する前に、フェイルオーバー情報テーブル３１３の情報に基づいて決定する。
【００４７】
フェイルオーバー情報テーブル３１３にある、移動する仮想サーバ１２１の移動手段が未決定、即ちフェイルオーバー情報テーブル３１３に移動する仮想サーバ１２１の仮想サーバ識別子７００が存在し、その仮想サーバ１２１の仮想サーバ識別子８０１を含むエントリが移動スケジュール情報テーブル３１５に存在しない仮想サーバ１２１のレコードをフェイルオーバー情報テーブル３１３から取得する（ステップ１１０１）。複数の仮想サーバ１２１が移動対象の場合、所要時間７０１の値が最も少ない、本処理において一度も選択されていない、仮想サーバ１２１及び移動手段のセットを選択する（ステップ１１０２）。ステップ１１０２において選択した移動手段に関する、移動手段情報テーブル３１０の手段識別子４００を持つレコードの必要物理資源量４０２を取得する（ステップ１１０３）。ステップ１１０２において選択した仮想サーバに関する、仮想資源情報テーブル３１１の仮想サーバ識別子５００を持つレコードのホスト識別子５０１を取得する（ステップ１１０４）。ステップ１１０４において取得した、ホストの識別子５０１と同じホスト識別子６００を持つ、物理資源情報テーブル３１２のレコードを取得する（ステップ１１０５）。
【００４８】
ステップ１１０３、ステップ１１０４、及びステップ１１０５において取得した情報を用いて、移動スケジュール情報決定部３０１は、ステップ１１０２において選択した仮想サーバ及び移動手段が実行可能か評価する（ステップ１１０６）。実行可能であればステップ１１０７へ進み、実行不可能であればステップ１１０２へ戻る。実行可否の評価は、使用物理資源量６０１と必要物理資源量４０２の、ＣＰＵ、メモリなどのコンポーネント毎の和を計算し、最大物理資源量６０２を超えるコンポーネントが１つも存在しないとき、仮想サーバ１２１及びその移動手段は実行可能と判断する。
【００４９】
次に、ステップ１１０２において選択した仮想サーバ１２１及び移動手段に関する、仮想サーバ識別子８０１、手段識別子８０２、実行順序８００、移動先ホスト識別子８０３を、移動スケジュール情報テーブル３１５に新規レコードとして追加する（ステップ１１０７）。実行順序８００は、先頭レコードからの連続的な順番とし、移動先ホスト識別子は、最も負荷の低い仮想化システム１２０を稼動させている物理サーバ１０１のホスト識別子として、移動方法決定部１１０が決定する。
【００５０】
以上によれば、移動方法決定部１１０は、システムの可用性を向上する、仮想サーバ１２１の移動手段及び実行順序を、仮想化システム１２０及び仮想サーバ１２１の負荷、各移動手段のスペック情報３１０から決定することができる。
【００５１】
図１２に、移動方法決定部１１０が、ユーザに移動方法決定部１１０の動作の有効／無効を設定させるために提供するＵＩ(User Interface)の例として、ＧＵＩ(Graphical User Interface)の例を示す。このＧＵＩは、管理サーバ１００に接続した出力装置１３２や、管理サーバ１００にネットワーク１３０を介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。
【００５２】
移動設定のウィンドウ１２００には、操作のためのボタン等が表示される。ユーザは、ボタン１２０１をクリックし、設定対象の仮想化システム１２０を選択する。選択されたボタン１２０１は、図の例では二重丸（中が黒丸）になることを示している。ホスト１２０２に、選択対象の仮想化システム１２０を識別できる識別子として、仮想化システム１２０が稼動する物理サーバ１０１のホスト識別子１２０２を表示する。有効／無効１２０３では、移動方法決定部１１０を、ボタン１２０１で選択した仮想化システム１２０に対して使用する(有効)かを選択する。図１２の例では、プルダウンにより選択させる。有効を選択した場合、ウィンドウ１２００の子ウィンドウ１４００が表示される。設定を更新する場合、ボタン１２０４をクリックし、キャンセルする場合はキャンセルボタン１２０５をクリックする。
【００５３】
図１３に、移動方法決定部１１０が、ユーザに移動方法決定部１１０を手動で稼動させるために提供するＵＩ(User Interface)の例として、ＧＵＩ(Graphical User Interface)の例を示す。このＧＵＩは、管理サーバ１００に接続した出力装置１３２や、管理サーバ１００にネットワーク１３０を介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。
【００５４】
手動実行のウィンドウ１３００には、操作のためのボタン等が表示される。移動元１３０１は、移動元、即ち移動方法決定部１１０による移動対象とする仮想化システム１２０を選択するプルダウンメニューである。移動先１３０２は、移動元１３０１で選択した仮想サーバ１２１の移動先となる仮想化システム１２０を選択するプルダウンメニューである。移動元１３０１及び移動先１３０２の仮想化システム１２０の表示は、仮想化システム１２０が稼動する物理サーバ１０１のホスト識別子を用いている。所要時間１３０３は、移動元１３０１上の仮想サーバ１２１を移動先１３０２へ移動する場合の移動時間を表示する。所要時間１３０３に表示される所要時間は、フェイルオーバー情報テーブル３１３の所要時間７０１である。
【００５５】
図１４に、移動方法決定プログラム１１０が、ユーザに移動手段情報テーブル３１０の内容を設定させるために提供するＵＩ(User Interface)の例として、ＧＵＩ(Graphical User Interface)の例を示す。このＧＵＩは、管理サーバ１００に接続した出力装置１３２や、管理サーバ１００にネットワーク１３０を介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。
【００５６】
移動手段情報ウィンドウ１４００には、と、操作のためのボタン等が表示される。ウィンドウ１４００に表示される移動手段情報は、移動手段情報テーブル３１１の内容に基づいたものである。ユーザは、ボタン１４０４をクリックし、更新対象の移動手段情報を選択する。手段名入力枠１４０１では、移動手段を識別する手段識別子４００を入力する。変動率入力枠１４０２では、仮想サーバの資源使用状況の変化と、各移動手段の移動所要時間との関係(変動率)を示す値４０１を入力する。必要物理資源量入力枠１４０３では、移動手段の実行に必要となる物理資源量４０２を入力する。ボタン１４０５をクリックすると、新しい移動手段情報を追加することができ、ボタン１４０６をクリックすると、ボタン１４０４で選択されている移動手段情報を削除することができる。設定情報を更新する場合、ボタン１４０７をクリックし、キャンセルする場合はキャンセルボタン１４０８をクリックする。ボタン１４０７をクリックすると、移動方法決定部１１０は、手段名入力枠１４０１、変動率入力枠１４０２、必要物理資源量入力枠１４０３の内容を移動手段情報テーブル３１０に反映する。
【実施例２】
【００５７】
実施例１では、仮想サーバ１２１を順次移動する場合の移動スケジュール情報の決定方法について述べた。本実施例では、同時に複数の仮想サーバを移動する場合について述べる。
【００５８】
本実施例では、移動スケジュール情報テーブル３１４に示す開始時刻８０４を用いる。他の仮想サーバ１２１が移動中であった場合でも、ある仮想サーバ１２１の開始時刻８０４になれば、その仮想サーバ１２１の移動を実行する。本実施例では、並列性情報テーブル３１５を用いる。図１５に、並列性情報テーブル３１５の構成を示す。カラム１５００は、移動手段を識別するための手段識別子である。具体的には、手段提供者、及びユーザ（またはサーバ管理者）が定義した名称である。カラム１５０１は、各手段、またはその組合せを並列実行する場合の、最大同時実行数を示す。例えば、第１のレコードは、ライブマイグレーションを用いたある仮想サーバの移動と、各移動手段による他の仮想サーバの移動とを、同時にいくつ実行可能かを示す。行、列ともにライブマイグレーションの欄の値は１であるので、ライブマイグレーションを用いた仮想サーバの移動は、同時に複数実行できない。一方、行がライブマイグレーション、列がシャットダウンの欄の値は２であるので、ライブマイグレーションを用いた仮想サーバの移動と、シャットダウンを用いた仮想サーバの移動は、同時に２つまで実行できる。
【００５９】
図１６に、本実施例の移動スケジュール情報決定部３０１で行われる処理のフローチャートを示す。図１６は、実施例１の図１１に示した移動スケジュール情報決定部３０１を、本実施例のために変更した処理である。図１３の処理の図１１と異なるのは、ステップ１６０１、ステップ１６０７、ステップ１６０９〜１６１４、及びステップ１６１６の追加と、ステップ１６１５の処理内容のステップ１１０７からの変更である。
【００６０】
ステップ１６０１では、時刻情報を格納する変数ｔを初期化する。具体的には、０などの値を格納する。尚、本実施例では、移動スケジュール情報決定部３０１の処理の開始時に変数ｔにメモリ領域を確保し、処理の終了時にそのメモリ領域を開放する。
【００６１】
ステップ１６０７では、変数ｔの値が示す時刻において、移動スケジュール情報テーブル３１４の各レコードに示される仮想サーバ１２１の移動は、実行中であるかを判定する。この判定は、フェイルオーバー情報テーブル３１３の所要時間７０１の値と、移動スケジュール情報テーブル３１４の開始時刻８０４の値との合計値を求め、求めた合計値と変数ｔの値との比較に基づく。所要時間７０１の値は、仮想サーバ識別子８０１と手段識別子８０２を用いて、フェイルオーバー情報テーブル３１３より取得する。求めた合計値が変数ｔの値以下の場合、そのレコードが示す仮想サーバ１２１の移動は終了している。求めた合計値が変数ｔの値より大きく、かつ開始時刻８０４の値が変数ｔの値以下の場合、そのレコードが示す仮想サーバ１２１の移動は実行中である。また、開始時刻８０４の値が変数ｔの値より大きい場合、レコードが示す仮想サーバ１２１の移動は開始されていない。
【００６２】
ステップ１６０８において、必要物理資源量４０２は、ステップ１６０３において選択した移動手段が必要とする物理資源量と、ステップ１６０７において実行中と決定した移動スケジュール情報テーブル３１４のレコードが示す移動手段が必要とする物理資源量との両方である。
【００６３】
並列性情報テーブル３１５の全てのレコードを取得する（ステップ１６０９）。変数ｔの値が示す時刻を開始時刻とする新しい移動スケジュール、即ち移動スケジュール情報テーブル３１４に新規のレコードを追加しても良いか（選択した移動手段を使用可能か）を評価する（ステップ１６１０）。不可であればステップ１６０３へ戻る。この評価は、ステップ１６０３において選択した移動手段に関する、移動手段情報テーブル３１０の手段識別子４００、ステップ１６０７において実行中と決定した移動スケジュール情報テーブル３１４のレコードの手段識別子８０２を用いる。
【００６４】
変数ｔの値が示す時刻に、ステップ１６０３において選択した仮想サーバ及び移動手段を実行することが、より適切かを評価する（ステップ１６１１）。具体的には、現時点で最適と記憶している、過去のステップ１６０３において選択した仮想サーバ及び移動手段より、早く終了するかを比較する。早く終了しないならばステップ１６０３へ戻る。この比較には、変数ｔの値、所要時間７０１、開始時刻８０４、を用いる。
【００６５】
変数ｔの値、及びステップ１６０３において選択した仮想サーバ及び移動手段を記憶する（ステップ１６１２）。移動スケジュール情報テーブル３１４を参照し、変数ｔの値を更新する（ステップ１６１３）。具体的には、変数ｔの値より大きい、最小の開始時刻８０４を変数ｔの値とする。変数ｔの値より大きい、最小の開始時刻８０４が存在しない場合は、非常に大きな値、または負の値にする。
【００６６】
変数ｔの値が示す時刻にて、ステップ１６１２で記憶した仮想サーバ１２１の移動は終了しているかを評価する（ステップ１６１４）。即ち変数ｔの値が示す時刻以降に、より適切な、仮想サーバ１２１及び実行手段が存在する可能性があるかを判断する。可能性があればステップ１６１５へ、なければステップ１６０３へ戻る。記憶中の変数ｔの値と記憶中の移動手段に関する所要時間との合計値を求め、求めた合計値とステップ１６１３で更新した変数ｔの値とを比較し、評価する。
【００６７】
ステップ１６１２において記憶した仮想サーバ１２１及び移動手段に関する仮想サーバ識別子８０１、手段識別子８０２、実行順序８００、移動先を示すホスト識別子８０３を新規レコードとして、移動スケジュール情報テーブル３１５に追加する（ステップ１６１５）。変数ｔの値を、ステップ１６１２で記憶した変数ｔの値にする（ステップ１６１６）。
【００６８】
本実施例によれば、移動方法決定部１１０は、システムの可用性を向上する、仮想サーバ１２１の移動手段及び実行順序を、並列実行可能な移動スケジュールとして決定することができる。これにより、実施例１と比較して、より効率的に仮想サーバの移動を行うことができる。
【００６９】
図１７に、移動方法決定部１１０が、ユーザに並列性情報テーブル３１６の内容を設定させるために提供するＵＩ(User Interface)の例として、ＧＵＩ(Graphical User Interface)の例を示す。このＧＵＩは、管理サーバ１００に接続した出力装置１３２や、管理サーバ１００にネットワーク１３０を介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。
【００７０】
並列性情報設定ウィンドウ１７００には、並列性情報と、操作のためのボタン等が表示される。ウィンドウ１７００に表示される並列性情報は、並列性情報テーブル３１５の内容に基づいている。手段名１７０１には、移動手段を識別するための手段識別子が表示される。最大並列度入力枠１７０２では、各移動手段、またはその組合せを並列実行する場合の、最大同時実行数（最大並列度）１５０１を入力する。ユーザは、設定を更新する場合、ボタン１７０３をクリックし、キャンセルする場合はキャンセルボタン１７０４をクリックする。ボタン１７０３をクリックすると、移動方法決定部１１０は、最大並列度入力枠１７０２の内容を並列性情報テーブル３１５に反映する。
【実施例３】
【００７１】
実施例１では、仮想サーバ単位での移動スケジュール情報を決定する場合について述べた。本実施例では、少なくとも１つの仮想サーバで遂行される業務に対して、業務単位での移動スケジュール情報を決定する場合について述べる。本実施例では、業務情報テーブル３１６を用いる。
図１８に、業務情報テーブル３１６の構成を示す。業務情報テーブル３１６は、業務の特徴（業務を遂行する仮想サーバなど）を保持する。カラム１８００は、業務を識別するための業務識別子である。具体的には、ユーザ（またはサーバ管理者）が定義した名称である。カラム１８０１は、業務を遂行する仮想サーバ１２１を識別するための仮想サーバ識別子である。具体的には、ユーザ（またはサーバ管理者）が定義した名称である。カラム１８０２は、業務のＳＬＡに関する情報を示す。カラム１８０２には、業務の重要性を示す優先度１８１０、業務の停止が許される時間を示すダウン許容時間１８１１を含む。業務の優先度１８１０の値は、ユーザ（またはサーバ管理者）が定義した整数値、またはユーザアクセス数、単位時間当たりの実行トランザクション数などに基づいた値を用いても良い。
【００７２】
図１９に、本実施例の移動スケジュール情報決定部３０１の処理フローチャートを示す。図１９は、実施例１の図１１に示した移動スケジュール情報決定部３０１を本実施例のために変更した処理である。図１９の処理の図１１と異なるのは、ステップ１９０１の追加、及びステップ１９０３〜１９０６の処理内容の変更である。
【００７３】
仮想サーバを業務でグループ化する（ステップ１９０１）。具体的には、業務情報テーブル３１６の、業務識別子１８００、仮想サーバ識別子１８０１を取得する。所要時間の値が最も少ない業務に属する、本処理において一度も選択されていない業務、即ち少なくとも１つの仮想サーバ１２１及び移動手段のセットを選択する（ステップ１９０３）。所要時間は、具体的には、ステップ１９０２においてグループ化した仮想サーバ１２１に関するフェイルオーバー情報テーブル３１３の、所要時間７０１の合計値より決定する。ステップ１９０３において選択した、少なくとも１つの移動手段に関する、移動手段情報テーブル３１０の手段識別子４００を持つレコードの必要物理資源量４０２を取得する（ステップ１９０４）。ステップ１９０３において選択した、少なくとも１つの仮想サーバ１２１に関する、仮想資源情報テーブル３１１の、仮想サーバ識別子５００を持つレコードのホスト識別子５０１を取得する（ステップ１９０５）。
【００７４】
本実施形態によれば、移動方法決定プログラム１１０は、業務単位での移動スケジュール情報を決定することができる。これにより、実施例１と比較して、同一業務に属する仮想サーバ１２１を隣接するタイミングで移動させることで、業務の可用性を確保するよう仮想サーバの移動を行うことができる。
【００７５】
図２０に、移動方法決定部１１０が、ユーザに業務情報テーブル３１７の内容を設定させるために提供するＵＩ(User Interface)の例として、ＧＵＩ(Graphical User Interface)の例を示す。このＧＵＩは、管理サーバ１００に接続した出力装置１３２や、管理サーバ１００にネットワーク１３０を介して接続された他の端末の表示装置等にブラウザや専用のプログラム、およびテキストなどを用いて表示する。
【００７６】
業務情報設定ウィンドウ２０００は、ブラウザやプログラムなどのウィンドウを示す。業務一覧２００１では、設定対象となる業務をユーザがプルダウンメニューを用いて選択する。業務名入力枠２００２では、業務一覧２００１において選択した業務に関する業務識別子（カラム１８００）を入力する。仮想サーバ一覧２００３では、業務一覧２００１において選択されている業務を遂行する仮想サーバ１２１（業務情報テーブル３１６の仮想サーバ識別子１８０１）を設定する。リスト２００４では、設定対象の業務の遂行に追加する仮想サーバ１２１を選択する。リスト２００５では、設定対象の業務を遂行する仮想サーバ識別子１８０１を表示し、また設定対象の業務の遂行から削除する仮想サーバ１２１を選択する。ボタン２００６をクリックすると、リスト２００４において選択されている仮想サーバ１２１がリスト２００５に移動する。ボタン２００７をクリックすると、リスト２００５において選択されている仮想サーバ１２１がリスト２００４に移動する。優先度入力欄２００８では、業務一覧２００１において選択した業務に関する優先度（業務情報テーブル３１６の優先度１８１０）を入力する。停止許容時間入力欄２００９では、業務一覧２００１において選択した業務に関する停止許容時間（業務情報テーブル３１６のダウン許容時間１８１１）を入力する。ボタン２０１０をクリックすると、新しい業務を追加することができ、ボタン２０１１をクリックすると、業務一覧２００１において選択されている業務を削除することができる。業務情報の設定を更新する場合、ボタン２０１２をクリックし、キャンセルする場合はキャンセルボタン２０１３をクリックする。ボタン２０１２をクリックすると、移動方法決定部１１０は、業務名入力枠２００２、仮想サーバ一覧２００３、優先度入力枠２００８、停止許容時間入力枠２００９の内容を業務情報テーブル３１６に反映する。
【実施例４】
【００７７】
実施例３では、業務単位での移動スケジュール情報を決定する場合について述べた。本実施例では、さらに業務の優先度を考慮して、移動スケジュール情報を決定する場合について述べる。本実施例では、業務情報テーブル３１６の優先度情報１８１０を用いる。
【００７８】
図２１に、本実施形態の移動スケジュール情報決定部３０１の処理フローチャートを示す。図２１は、実施例３の図１９に示した移動スケジュール情報決定部３０１を本実施例のために変更した処理である。図２１の処理の図１９と異なるのは、ステップ２１０３の追加、及びステップ１９０３の削除である。
【００７９】
優先度が最も高い、本処理において一度も選択されていない業務、即ち少なくとも１つの仮想サーバ１２１及び移動手段のセットを選択する（ステップ２１０３）。優先度は、業務情報テーブル３１６の優先度１８１０を参照する。
【００８０】
本実施例によれば、移動方法決定部１１０は、業務間に存在する優先度に基づいて、業務単位での移動スケジュール情報を決定することができる。これにより、実施例３と比較して、より重要な業務（例えば、単位時間当たりの実行トランザクション数が多い業務）を遂行する仮想サーバ１２１から順に、移動を行うことができる。
【実施例５】
【００８１】
実施例４では、業務の優先度を考慮して、業務単位での仮想サーバ１２１の移動スケジュール情報を決定する場合について述べた。本実施例では、少なくとも１つの業務（例えば、優先度が低い業務など）を遂行する仮想サーバを事前に停止することを前提とした移動スケジュール情報を決定する場合について述べる。
【００８２】
図２２に、本実施例の移動スケジュール情報決定部３０１の処理フローチャートを示す。図２２は、実施例４の図２１に示した移動スケジュール情報決定部３０１を本実施例のために変更した処理である。図２２の処理の図２１と異なるのは、ステップ２２０２及びステップ２２０３の追加とステップ２２０９の処理内容の変更である。
【００８３】
事前に停止する業務に関して、仮想サーバ１２１の移動スケジュール情報を決定する（ステップ２２０２）。ステップ２２０２の詳細な処理フローチャートを図２３に示す。ステップ２２０２において、事前に停止するように移動スケジュール情報を決定した仮想サーバ１２１以外に関して、移動手段が未決定の仮想サーバが存在するか判断する（ステップ２２０３）。存在しなければ、処理を終了する。
【００８４】
ステップ２１０７と同様に、選択した仮想サーバ及び移動手段が実行可能を評価する（ステップ２２０９）。ただし、評価の際に、ステップ２２０２において事前停止対象とした業務を遂行する仮想サーバ１２１が使用する物理資源は考慮しない（その物理資源量を使用可能とする）。
【００８５】
図２３は、ステップ２２０２の、事前停止対象となる業務を遂行する仮想サーバ１２１の移動スケジュール情報を決定する処理の詳細なフローチャートを示す。ＳＬＡ情報１８０２を参照して、事前に停止する業務を決定する（ステップ２３００）。この決定は、例えば、移動方法決定部１１０内に優先度閾値を設定しておき、設定してある閾値と優先度１８１０を比較する。または、仮想サーバ１２１の停止を伴う移動方法（例えば、シャットダウンなど）の所要時間と、停止許容時間（カラム１８１１）を比較する。
【００８６】
ステップ２３００において決定した事前停止対象となる業務を遂行する仮想サーバ１２１に関して、移動手段が未決定のものが有るか確認する（ステップ２３０１）。存在しなければ処理を終了し、図２２のステップ２２０３へ戻る。
【００８７】
ステップ２３００において決定した業務に関して、本処理にて一度も選択されていない業務を遂行する、少なくとも１つの仮想サーバ１２１を選択する（ステップ２３０２）。この選択には、ステップ１９０３のように、フェイルオーバー情報テーブル３１３の所要時間７０１の合計値を用いるが、優先度１８１０の値、またはそれらの組み合わせを用いても良い。
【００８８】
ステップ２３０３では、ステップ２２１０と同様に、ステップ２３０２において選択した仮想サーバ１２１に関する情報を用いて、移動スケジュール情報テーブル３１４に新規レコードを追加する。ここで、手段識別子８０２、即ち使用する移動手段に関しては、仮想サーバ１２１の停止を伴うもの（例えば、シャットダウンなど）を使用する。
【００８９】
本実施例によれば、少なくとも１つの業務（例えば、重要でない業務など）を事前に停止することで、停止する業務が使用する物理資源を解放し、他の業務（例えば、重要な業務など）を遂行する仮想サーバ１２１の移動に、より多くの物理資源を利用できる。
【実施例６】
【００９０】
実施例４では、業務の優先度を考慮して、業務単位での仮想サーバ１２１の移動スケジュール情報を決定する場合について述べた。本実施例では、優先度が高くても、移動に時間を要する、早急な移動を必要としないなどの業務に関しては移動順序を後にすることを前提とした移動スケジュール情報を決定する場合について述べる。
図２４に、本実施例の移動スケジュール情報決定部３０１の処理フローチャートを示す。図２４は、実施例４の図２１に示した移動スケジュール情報決定部３０１を本実施例のために変更した処理である。図２４の処理の図２１と異なるのは、ステップ２４０３の処理内容の変更である。
【００９１】
ステップ２１０３と同様に、本処理において一度も選択されていない業務を選択する（ステップ２４０３）。ただし、ここでの選択は、業務情報テーブル３１６のＳＬＡ情報１８０２、フェイルオーバー情報テーブル３１３の所要時間７０１、移動スケジュール情報３１４、またはそれらの組み合わせに基づいて行う。具体的には、所要時間７０１の合計値と優先度１８１０との商の値、ダウンタイム許容時間１８１１と移動開始時間（カラム８０２、カラム７０１から決定する）の差の値などである。
【００９２】
本実施例によれば、例えば、ある業務は、優先度は高いが移動に時間がかかる（例えば、この業務を遂行する仮想サーバ１２１の数が多い）場合においても、他の業務の移動を妨げない移動スケジュール情報を決定することができる。
【実施例７】
【００９３】
実施例１では、仮想サーバ単位での移動スケジュール情報を決定する場合について述べた。本実施例では、障害発生の計算機システムへの影響を考慮した、移動スケジュール情報を決定する。本実施例では、リスク情報テーブル３１７を用いる。
【００９４】
図２５に、リスク情報テーブル３１７の例を示す。リスク情報テーブル３１７は、物理サーバ１０１及び仮想化システム１２０で発生した障害に対する、移動方法決定の際の条件（例えば、ＣＰＵ温度障害が発生した場合は、ＣＰＵを酷使する移動手段を多用しない、など）を保持する。カラム２５００は、リスク（例えば、ＣＰＵ温度異常など）を、識別するためのリスク識別子である。具体的には、ユーザ（またはサーバ管理者）が定義した名称である。カラム２５０１は、リスクが移動方法決定部１１０の処理に与える条件を示す。例えば、ＣＰＵ温度異常が発生した場合、ＣＰＵを６０％以上使用しないよう移動スケジュールを決定するなどである。
【００９５】
図２６に、本実施例の移動スケジュール情報決定部３０１の処理フローチャートを示す。図２６は、実施例１の図１１に示した移動スケジュール情報決定部３０１を本実施例のために変更した処理である。図２６の処理の図１１と異なるのは、ステップ２６０７及びステップ２６０８の追加である。
【００９６】
情報取得部３０２からの障害情報に対応する、リスク情報テーブル３１７のリスク識別子２５００を持つレコードの条件２５０１を取得する（２６０７）。ステップ２６０２において選択した仮想サーバ１２１及び移動手段を実行することによって、ステップ２６０７で取得した条件に違反するか（例えば、ネットワークアダプタ障害が発生した場合は、前記移動手段はネットワークアダプタをしたものでないか）を評価する（ステップ２６０８）。違反するならば、ステップ２６０２へ戻る。
【００９７】
本実施例によれば、発生した障害を考慮し、移動スケジュール情報を決定することができる。その結果、仮想サーバの移動が障害を誘発する、また障害により仮想サーバの移動に必要な資源が使用できず移動に失敗するなどの問題を回避することができる。
【符号の説明】
【００９８】
１００：管理サーバ、１０１：物理サーバ、１０２：ストレージ装置、１０３：ディスクボリューム、１１０：移動方法決定部、１１１：テーブル群、１２０：仮想化システム、１２１：仮想サーバ、１３０：ネットワーク、１３１：入力装置、１３２：出力装置、１４０：ＮＩＣ、１４１：ＨＢＡ。
【図１】
2010244524.tif 000003
【図２】
2010244524.tif 000004
【図３】
2010244524.tif 000005
【図４】
2010244524.tif 000006
【図５】
2010244524.tif 000007
【図６】
2010244524.tif 000008
【図７】
2010244524.tif 000009
【図８】
2010244524.tif 000010
【図９】
2010244524.tif 000011
【図１０】
2010244524.tif 000012
【図１１】
2010244524.tif 000013
【図１２】
2010244524.tif 000014
【図１３】
2010244524.tif 000015
【図１４】
2010244524.tif 000016
【図１５】
2010244524.tif 000017
【図１６】
2010244524.tif 000018
【図１７】
2010244524.tif 000019
【図１８】
2010244524.tif 000020
【図１９】
2010244524.tif 000021
【図２０】
2010244524.tif 000022
【図２１】
2010244524.tif 000023
【図２２】
2010244524.tif 000024
【図２３】
2010244524.tif 000025
【図２４】
2010244524.tif 000026
【図２５】
2010244524.tif 000027
【図２６】
2010244524.tif 000028