(57)【要約】【課題】稼働環境の利用効率を上げることの可能な仮想マシンの制御装置を得ること。【解決手段】複数の仮想マシンが動作可能な複数のハードウェア資源の性能情報を格納するテーブルを記憶する記憶部と、複数の仮想マシンを複数のハードウェア資源で動作させることによる複数のハードウェア資源の現在のリソース消費量を測定するリソース測定部と、複数の仮想マシンを複数のハードウェア資源間においてマイグレーションさせた後の複数の仮想マシンを複数のハードウェア資源で動作させることによる複数のハードウェア資源のリソース消費量を算出するリソース算出部と、リソース測定部により測定された現在のリソース消費量よりもリソース算出部により算出されたリソース消費量が小さければ複数の仮想マシンを複数のハードウェア資源間においてマイグレーションさせるマイグレーション部とを有する制御装置を提供する。【選択図】図１
2014206805.tif 000002
【特許請求の範囲】
【請求項１】
１または複数の仮想マシンが動作可能な複数のハードウェア資源の性能情報を格納する第１のテーブルを記憶する記憶部と、
前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量を測定するリソース測定部と、
前記１または複数の仮想マシンを前記複数のハードウェア資源間において前記複数のハードウェア資源のうち前記性能情報に従って高い性能を有するハードウェア資源にマイグレーションさせた後の前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源のリソース消費量を算出するリソース算出部と、
前記リソース測定部により測定された現在のリソース消費量よりも前記リソース算出部により算出されたリソース消費量が小さければ、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせるマイグレーション部と
を有する制御装置。
【請求項２】
前記記憶部は、前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否を示す情報を格納する第２のテーブルを記憶し、
前記マイグレーション部は、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせる際に、前記第２のテーブルに記憶されたマイグレーションの可否に従ってマイグレーションの実行を決定する請求項１に記載の制御装置。
【請求項３】
前記第１のテーブルは、前記複数のハードウェア資源の性能情報に基づく順位を示すランク情報を格納し、
前記リソース算出部は、前記第１のテーブルに格納されたランク情報に基づき、前記１または複数の仮想マシンをマイグレーションさせる前記複数のハードウェア資源を決定する請求項１または２に記載の制御装置。
【請求項４】
前記リソース測定部は、前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量の時間変動の統計情報を算出するリソース統計情報算出部を有し、
前記リソース統計情報算出部により算出された統計情報を用いて時間帯別の前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否を算出して前記第２のテーブルに格納する時間帯別算出部と
を有する請求項１から３のいずれかに記載の制御装置。
【請求項５】
前記第２のテーブルは、前記１または複数の仮想マシンついてリアルタイムでのマイグレーションの可否を示す情報を格納し、
前記マイグレーション部は、前記テーブルに格納された前記１または複数の仮想マシンそれぞれのライブマイグレーションの可否に応じてリアルタイム又はバッチ処理によりマイグレーションする請求項２に記載の制御装置。
【請求項６】
前記第２のテーブルは、前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否をマイグレーションの優先度により表して格納する請求項２または５に記載の制御装置。
【請求項７】
前記複数のハードウェア資源の性能情報を取得する性能情報取得部と、
前記性能情報取得部により取得された性能情報を前記複数のハードウェア資源間において統一された尺度で表現した性能情報に変換して前記第１のテーブルに格納する性能情報変換部とを有する請求項１から６のいずれかに記載の制御装置。
【請求項８】
１または複数の仮想マシンが動作可能な複数のハードウェア資源の性能情報を格納する第１のテーブルを記憶し、
前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量を測定し、
前記１または複数の仮想マシンを前記複数のハードウェア資源間において前記複数のハードウェア資源のうち前記性能情報に従って高い性能を有するハードウェア資源にマイグレーションさせた後の前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源のリソース消費量を算出し、
前記測定された現在のリソース消費量よりも前記算出されたリソース消費量が小さければ、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせることをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの制御装置に関する。
【背景技術】
【０００２】
コンピュータ・システムの耐障害性の向上にはシステム構成の冗長化が有効である。例えば、安定稼働に対する要求水準の高いコンピュータ・システムでは、現用系が障害の発生により稼働を停止すると稼働状態へ切り替わる待機系が追加されたシステム構成が採用されることが一般的である。この場合、障害発生時に備えて待機系には現用系と同等のリソースが必要とされる。しかし、現用系の稼働中に待機系のリソースを利用することはないため、余剰リソースが生じる状況となっている。
【０００３】
昨今では、仮想化技術を用いることに伴い、動作中の仮想マシン（VM：Virtual Machine）で動作するＯＳやソフトウェアを停止させずに他の物理サーバに移行させるライブマイグレーション（live migration）技術を用いて、動作中の物理サーバの負荷が高い場合にも、余剰リソースを有する他の物理サーバに、サービスを停止することなく仮想マシンを移行させて動作させようとするものがある（例えば、特許文献１参照）。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１１−１９７８５２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した特許文献１に記載の発明は、リソース不足の発生時に、管理サーバが、複数の物理サーバに対してリソースの使用率を通知するように依頼する構成を備えることから、その時点で余剰リソースを充分に有する物理サーバを確保できない場合には、安全にマイグレーションを実行できない虞がある。
【０００６】
また、複数の物理サーバを含むシステム全体としてのリソースの消費量が低減されるものではないことから、一時的にリソース不足を解消することができたとしても、システム全体としての稼働環境の利用効率を上げることはできない虞がある。なお、ここで、「システム」とは、複数の仮想マシンを動作させる複数の物理サーバ等のハードウェア資源が、管理サーバ等の制御装置とネットワークを介して相互に通信可能に接続されて構成される仮想環境のことをいうものとする。
【０００７】
本発明は上記事実を考慮して成されたもので、その課題は、複数のハードウェア資源間でライブマイグレーションを効率的且つ安全に運用可能とし、システム全体としてのリソースの最適化を図ることにより稼働環境の利用効率を上げることのできる仮想マシンの制御装置を得ることである。
【課題を解決するための手段】
【０００８】
本発明の一実施形態によると、１または複数の仮想マシンが動作可能な複数のハードウェア資源の性能情報を格納する第１のテーブルを記憶する記憶部と、前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量を測定するリソース測定部と、前記１または複数の仮想マシンを前記複数のハードウェア資源間において前記複数のハードウェア資源のうち前記性能情報に従って高い性能を有するハードウェア資源にマイグレーションさせた後の前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源のリソース消費量を算出するリソース算出部と、前記リソース測定部により測定された現在のリソース消費量よりも前記リソース算出部により算出されたリソース消費量が小さければ、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせるマイグレーション部とを有する制御装置が提供される。
【０００９】
前記記憶部は、前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否を示す情報を格納する第２のテーブルを記憶し、前記マイグレーション部は、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせる際に、前記第２のテーブルに記憶されたマイグレーションの可否に従ってマイグレーションの実行を決定してもよい。
【００１０】
前記第１のテーブルは、前記複数のハードウェア資源の性能情報に基づく順位を示すランク情報を格納し、前記リソース算出部は、前記第１のテーブルに格納されたランク情報に基づき、前記１または複数の仮想マシンをマイグレーションさせる前記複数のハードウェア資源を決定してもよい。
【００１１】
前記リソース測定部は、前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量の時間変動の統計情報を算出するリソース統計情報算出部を有し、前記リソース統計情報算出部により算出された統計情報を用いて時間帯別の前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否を算出して前記第２のテーブルに格納する時間帯別算出部とを有してもよい。
【００１２】
前記第２のテーブルは、前記１または複数の仮想マシンついてリアルタイムでのマイグレーションの可否を示す情報を格納し、前記マイグレーション部は、前記第２のテーブルに格納された前記１または複数の仮想マシンそれぞれのリアルタイムのライブマイグレーションの可否に応じてリアルタイム又はバッチ処理によりマイグレーションさせてもよい。
【００１３】
前記第２のテーブルは、前記１または複数の仮想マシンの前記複数のハードウェア資源間におけるマイグレーションの可否をマイグレーションの優先度により表して格納してもよい。
【００１４】
前記複数のハードウェア資源の性能情報を取得する性能情報取得部と、前記性能情報取得部により取得された性能情報を前記複数のハードウェア資源間において統一された尺度で表現した性能情報に変換して前記第１のテーブルに格納する性能情報変換部とを有してもよい。
【００１５】
また、本発明の一実施形態によると、１または複数の仮想マシンが動作可能な複数のハードウェア資源の性能情報を格納する第１のテーブルを記憶し、前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源の現在のリソース消費量を測定し、前記１または複数の仮想マシンを前記複数のハードウェア資源間において前記複数のハードウェア資源のうち前記性能情報に従って高い性能を有するハードウェア資源にマイグレーションさせた後の前記１または複数の仮想マシンを前記複数のハードウェア資源で動作させることによる前記複数のハードウェア資源のリソース消費量を算出し、前記測定された現在のリソース消費量よりも前記算出されたリソース消費量が小さければ、前記１または複数の仮想マシンを前記複数のハードウェア資源間においてマイグレーションさせることをコンピュータに実行させるためのプログラムを記憶したコンピュータ読み取り可能な記憶媒体が提供される。
【発明の効果】
【００１６】
本発明によれば、複数のハードウェア資源間でライブマイグレーションを効率的且つ安全に運用可能とし、システム全体としてのリソースの最適化を図ることにより稼働環境の利用効率を上げることのできる仮想マシンの制御装置が提供される。
【図面の簡単な説明】
【００１７】
【図１】本発明の一実施形態に係るシステムの概略構成を示すブロック図である。
【図２】本発明の一実施形態に係る仮想マシンの制御装置が有するテーブルを示す図である。
【図３】本発明の一実施形態に係る仮想マシンの制御装置が有するテーブルを示す図である。
【図４】本発明の一実施形態に係る仮想マシンの制御装置における処理の流れを示すフローチャートである。
【図５】本発明の一実施形態に係る仮想マシンの制御装置における処理を説明するための図である。
【発明を実施するための形態】
【００１８】
以下、本発明の仮想マシンの制御装置について、図１乃至図５を参照しながら詳細に説明する。
【００１９】
図１は、本発明の一実施形態に係るシステム１０の概略構成を示すブロック図である。図１に示すように、本発明の一実施形態に係るシステム１０は、複数の物理サーバ１３−１、１３−２と、制御装置１１とがネットワーク１２を介して相互に通信可能に接続された構成を備える。なお、図１には、システム１０を構成するハードウェア資源の一例として、「物理サーバ」を図示しているが、仮想マシンが動作可能なハードウェア資源であれば、物理サーバに限らず、ストレージ装置等であってもよい。
【００２０】
物理サーバ１３−１は、複数の仮想マシンＶＭ１、ＶＭ２、ＶＭ３を動作させる物理マシンであり、物理サーバ１３−２は、複数の仮想マシンＶＭ４、ＶＭ５、ＶＭ６を動作させる物理マシンである。物理サーバ１３−１、１３−２は、それぞれ仮想マシンＶＭ１〜ＶＭ６を用いてＷｅｂサービス等を提供し、例えばＩａａＳ（Infrastructure  as  a  Service）などを実現するサーバである。なお、図１には、一つの物理サーバに対して３つの仮想マシンを備える構成を図示しているが、以下、物理サーバ及び仮想マシンの数は、任意の１以上の数とする。
【００２１】
制御装置１１は、記憶部１１−１と、リソース測定部１１−２と、リソース算出部１１−３と、マイグレーション部１１−４とを備える。記憶部１１−１は、複数の仮想マシンＶＭ１〜ＶＭ６が動作可能な複数の物理サーバ１３−１、１３−２の性能情報を格納する第１のテーブルを有する。また、記憶部１１−１は、複数の物理サーバ１３−１、１３−２間における複数の仮想マシンＶＭ１〜ＶＭ６のマイグレーションの可否を示す情報を格納する第２のテーブルを有していてもよい。
【００２２】
リソース測定部１１−２は、複数の仮想マシンＶＭ１〜ＶＭ６を複数の物理サーバ１３−１、１３−２で動作させることによる複数の物理サーバ１３−１、１３−２の現在のリソース消費量を測定する。
【００２３】
リソース算出部１１−３は、複数の仮想マシンＶＭ１〜ＶＭ６を複数の物理サーバ１３−１、１３−２間においてマイグレーションさせた後の複数の仮想マシンＶＭ１〜ＶＭ６を複数の物理サーバ１３−１、１３−２で動作させることによる複数の物理サーバ１３−１、１３−２のリソース消費量を算出する。
【００２４】
マイグレーション部１１−４は、リソース測定部１１−２により測定された現在のリソース消費量よりもリソース算出部１１−３により算出されたリソース消費量が小さければ、複数の仮想マシンＶＭ１〜ＶＭ６を複数の物理サーバ１３−１、１３−２間においてマイグレーションさせる。このとき、マイグレーション部１１−４は、第２のテーブルに記憶されたマイグレーションの可否に従ってマイグレーションの実行を決定してもよい。
【００２５】
このような構成を備える制御装置１１によるマイグレーションの処理について、以下、図２及び図３を参照し、上述した記憶部１１−１が有するテーブルの構成について詳細に述べる。
【００２６】
図２及び図３は、本発明の一実施形態に係る制御装置１１の記憶部１１−１が有するテーブルの一例を示す図である。図２（ａ）は、複数の物理サーバ１〜３の性能情報を格納する第１のテーブルの一例を示し、図３（ａ）は、複数の仮想マシン１〜３のマイグレーションの可否を示す情報を格納する第２のテーブルの一例を示したものである。
【００２７】
なお、ここで、第１のテーブルが記憶する性能情報とは、ハードウェア資源の応答時間に関して定義される数値とすることができる。性能情報は、例えば、物理サーバ１〜３等のハードウェア資源の、ＣＰＵクロック数、スペック（ＳＰＥＣ）値、ｒＰｅｒｆ値であってもよい。また、性能情報は、管理者や利用者等により任意に定義される値であり得る。
【００２８】
第１のテーブルは、図２（ａ）に示すように、複数の物理サーバ１〜３の性能情報と、複数の物理サーバ１〜３のランク情報及び状況に関する情報などを記憶するものであってもよい。このとき、性能情報には、図２（ａ）に示すように、演算ユニットあたりの性能値及びシステム性能値が含まれるものであってもよい。
【００２９】
演算ユニットあたりの性能値とは、各物理サーバ１〜３の処理能力を演算単位あたりの数値で示したものである。例えば、ＣＰＵコア１つあたりの処理能力を数値で示したＣＰＵ性能値であってもよい。なお、ここで、ＣＰＵ性能値とは、各物理サーバ１〜３の任意の数のＣＰＵの処理能力を表すものであってもよい。
【００３０】
システム性能値とは、各物理サーバ１〜３の能力を数値で示したものであり、ＣＰＵ数のみならず、メモリ、ネットワーク帯域、ハードディスクなどのリソースの大きさに応じて設定される値である。システム性能値は、上記演算ユニットあたりの性能値及び後述するメーカー毎に設定された性能値を参照し、制御装置１１の管理者などにより算出された値であってもよい。
【００３１】
各物理サーバ１〜３のランク情報は、各物理サーバ１〜３の性能情報に基づき、各物理サーバ１〜３を順位付けした情報である。ランク情報は、性能値の高い物理サーバ１〜３から順に付番した数値であってもよい。このようなランク情報を用いることにより、後述するマイグレーションの処理において、ランキング順位の高い、すなわち、高い性能を有する物理サーバから優先して仮想マシンの処理を集約するように仮想マシンをマイグレーションさせることが可能となる。このように、ランク情報は、低い性能を有する物理サーバを適宜除却することができるように、高い性能を有する物理サーバに仮想マシンの処理を集約させる優先度として設定されるものであってもよい。
【００３２】
各物理サーバ１〜３の状況に関する情報は、各物理サーバ１〜３の現在の状況に関する情報が記憶されていてもよい。例えば、図２（ａ）に示すように、物理サーバ３に障害が発生した場合や、メンテナンス作業を行っている場合等には、管理者などにより状況の欄に「１」が設定され、物理サーバ３に対してマイグレーションが実行されないように設定されていてもよい。
【００３３】
また、記憶部１１−１は、図２（ｂ）に示すように、図２（ａ）に示す第１のテーブルに加えて、複数の物理サーバ１〜３のメーカー毎の性能値を記憶するテーブルを有するものであってもよい。複数の物理サーバ１〜３には、メーカー毎の独自の基準に基づく性能値が設計されていることがある。図２（ｂ）は、このようなメーカー毎の性能値の情報を記憶するテーブルを示すものである。
【００３４】
制御装置１１は、複数の物理サーバ１〜３に対し、メーカー毎に異なる基準に基づき性能値が定義されている場合には、メーカー毎の性能値を、統一された尺度で表現した性能情報に変換し、第１のテーブルに格納してもよい。制御装置１１は、複数の物理サーバ１〜３の性能情報を取得する性能情報取得部と、性能情報取得部により取得された性能情報を複数の物理サーバ１〜３間において統一された尺度で表現した性能情報に変換して第１のテーブルに格納する性能情報変換部とを有しており、性能情報変換部が、メーカー毎の性能値をシステム性能値に変換し、第１のテーブルに格納してもよい。
【００３５】
次に、図３を参照し、複数の仮想マシン１〜３に関する情報を格納するテーブルについて説明する。図３（ａ）に示すように、複数の仮想マシン１〜３に関する情報を格納する第２のテーブルは、複数の仮想マシン１〜３のマイグレーションの可否を示す情報を記憶するテーブルである。
【００３６】
図３（ａ）に示すように、複数の仮想マシン１〜３に関する情報を記憶するテーブルは、マイグレーション方法、マイグレーション可否、及びマイグレーションの優先度に関する情報を記憶するものであってもよい。
【００３７】
仮想マシン１〜３のマイグレーション方法の欄には、例えば、自動的にリアルタイムでマイグレーションを実行する場合には「０」を設定し、バッチ処理により自動的にマイグレーションを開始して実行する場合には「１」を設定し、管理者などにより手動でマイグレーションを実行する場合には「２」を設定し、管理者などによる目視確認後にバッチ処理により自動的にマイグレーションを開始して実行する場合には「３」などを設定してもよい。これにより、仮想マシン１〜３について、管理者の所望のマイグレーション方法をそれぞれ設定しておくことができる。
【００３８】
マイグレーション可否の欄には、仮想マシン１〜３の各々についてマイグレーションを実行する場合には「０」を、マイグレーションを実行しない場合には「１」を設定することができる。これにより、例えば、図３（ａ）に示す仮想マシン３について、マイグレーション方法の欄に、手動でマイグレーションを実行することが設定されていたとしても、マイグレーション可否の欄で、マイグレーションを実行できないように設定することができる。
【００３９】
優先順位の欄においては、マイグレーションの優先度を設定することができる。例えば、図３（ａ）に示すように、仮想マシン１の優先順位を「１」とし、仮想マシン２の優先順位を「２」とした場合には、複数の仮想マシン１〜３のうち、仮想マシン１を仮想マシン２よりも優先させてマイグレーションさせることを決定することができる。
【００４０】
また、図３（ｂ）及び（ｃ）に示すように、記憶部１１−１は、複数の仮想マシン１〜３のリソース使用率（％）を参照するためのテーブル番号を記憶するテーブルと、時間毎のリソース使用率（％）を記憶するテーブルとを含むものであってもよい。
【００４１】
図３（ｂ）に示すリソース使用率参照テーブル番号は、図３（ｃ）に示すテーブル番号に対応する。仮想マシン１〜３には、それぞれ時間帯毎に所定のリソース使用率のパターンがあり、図３（ｃ）に示す各テーブルは、時間帯毎のリソース使用率の平均値を算出し、そのパターンを表したものである。図３（ｃ）に示す時間帯毎のリソース使用率のテーブルを参照することにより、余剰リソースのある時間帯を判断してマイグレーションを実行することができる。
【００４２】
図３（ｃ）に示す時間帯毎のリソース使用率のデータは、制御装置１１のリソース測定部１１−２が測定したリソース消費量を統計化することにより算出されてもよい。以下、このようなリソース消費量を統計化した情報を、統計情報という。また、統計情報は、図３（ｃ）に示す時間帯毎のリソース使用率のデータに限らず、各仮想マシン１〜３の時間帯毎の利用ＣＰＵ数やＣＰＵ利用時間などのデータを含んでいてもよい。
【００４３】
このような統計情報は、リソース測定部１１−２のリソース統計情報算出部により算出される。リソース測定部１１−２は、複数の仮想マシン１〜３を複数の物理サーバ１〜３で動作させることによる複数の物理サーバ１〜３の現在のリソース消費量の時間変動の統計情報を算出するリソース統計情報算出部と、リソース統計情報算出部により算出された統計情報を用いて時間帯別の複数の仮想マシン１〜３の複数の物理サーバ１〜３間におけるマイグレーションの可否を算出し、第２のテーブルに格納する時間帯別算出部とを有していてもよい。
【００４４】
このように、制御装置１１は、記憶部１１−１が有するテーブルに格納された情報を用いて、複数の物理サーバ１〜３間で複数の仮想マシン１〜３のマイグレーションを実行する。
【００４５】
以下、図４を参照し、制御装置１１によるマイグレーション処理についてさらに詳細に述べる。
【００４６】
図４は、本発明の一実施形態に係る制御装置１１によるマイグレーションの処理の流れを示すフローチャートである。
【００４７】
図４に示すように、制御装置１１は、まず、システム１０に含まれている各物理サーバ１〜３の性能情報を含む性能データを取得する（Ｓ２１０）。Ｓ２１０において、制御装置１１の性能情報取得部は、第１のテーブルに格納された各物理サーバ１〜３の性能値、ランク情報、現在の状況情報などを取得する。
【００４８】
次に、制御装置１１は、各仮想マシン１〜３の現在のリソース消費量のデータを測定する（Ｓ２２０）。制御装置１１のリソース測定部１１−２は、複数の仮想マシン１〜３を、複数の物理サーバ１〜３で動作させることによる複数の物理サーバ１〜３の現在のリソース消費量を測定する。
【００４９】
次に、制御装置１１は、比較データ処理を実行する（Ｓ２３０）。Ｓ２３０において、制御装置１１のリソース算出部１１−３は、まず、複数の仮想マシン１〜３を複数の物理サーバ１〜３間においてマイグレーションさせた後の、複数の仮想マシン１〜３を各物理サーバ１〜３で動作させることによる複数の物理サーバ１〜３のリソース消費量を算出する。
【００５０】
このとき、リソース算出部１１−３は、第１のテーブルに格納された物理サーバ１〜３のランク情報及び第２のテーブルに格納された仮想マシン１〜３の優先順位などの情報に基づき、マイグレーションを実行する仮想マシン１〜３とマイグレーション先の物理サーバ１〜３との組み合わせ及びマイグレーションの順番のパターンを決定してもよい。マイグレーションを実行する仮想マシン１〜３は、第２のテーブルに格納された仮想マシン１〜３の優先順位の情報に基づき、優先順位の高いものから順にマイグレーションを実行することが決定されてもよい。また、マイグレーション先の物理サーバ１〜３は、第１のテーブルに格納された各物理サーバ１〜３のランク情報に基づき、ランキング順位の高いものからマイグレーション先として決定されてもよい。
【００５１】
このように決定されたパターン毎にそれぞれマイグレーションさせた後の各物理サーバ１〜３のリソース消費量をシミュレーションにより算出する。
【００５２】
次に、制御装置１１のマイグレーション部１１−４は、リソース測定部１１−２により測定された現在のリソース消費量と、リソース算出部１１−３により算出されたマイグレーションさせた後のリソース消費量とを比較する。比較処理の結果、現在のリソース消費量よりも、算出されたマイグレーションさせた後のリソース消費量が小さい場合に、仮想マシン１〜３とマイグレーション先の物理サーバ１〜３との組み合わせ及びマイグレーションの順番のパターンを決定する。
【００５３】
次に、制御装置１１は、マイグレーションの可否を判断する（Ｓ２４０）。制御装置１１のマイグレーション部１１−４は、第２のテーブルに格納されたマイグレーションの可否を示す情報に基づき、Ｓ２３０において決定された、仮想マシン１〜３とマイグレーション先の物理サーバ１〜３との組み合わせ及びマイグレーションの順番のパターンについて、それぞれ実際にマイグレーションが可能か否かを判断する。
【００５４】
Ｓ２４０においてマイグレーションが可能であると判断された場合には、制御装置１１は、リアルタイムでのマイグレーション処理の可否を判断する（Ｓ２５０）。このとき、マイグレーション部１１−４は、第２のテーブルに格納された各仮想マシン１〜３のマイグレーション方法の情報に基づき、リアルタイムでのマイグレーション処理の可否を決定してもよい。例えば、マイグレーション対象の仮想マシン１〜３の全てについて、マイグレーション方法として自動実行が設定されている場合には、リアルタイムでのマイグレーションを実行してもよい。
【００５５】
また、図３（ｂ）及び（ｃ）に示すテーブルに格納された情報を用いて、各仮想マシン１〜３の時間帯毎のリソース使用率を参照し、リアルタイムでのマイグレーションの可否を判断してもよい。例えば、マイグレーション対象の仮想マシン１〜３のリソース使用率が、予め設定した閾値よりも高い場合には、リアルタイムでのマイグレーションが実行できないように設定されていてもよい。また、上述した第２のテーブルに格納されたマイグレーション方法の情報とともに、上述した時間毎のリソース使用率の情報をいずれも参照し、リアルタイムまたはバッチ処理でのマイグレーションの実行が決定されてもよい。
【００５６】
Ｓ２５０において、リアルタイムでのマイグレーションができないと判断された場合には、Ｓ２６０において、バッチ処理でのマイグレーションを実行する。バッチ処理によるマイグレーションは、各仮想マシン１〜３を使用していない時間帯に管理者などにより手動で実行されるものであってもよく、予め設定されたスケジュールに従って自動的に開始されて実行されるものであってもよい。
【００５７】
また、Ｓ２５０において、リアルタイムのマイグレーションが可能であると判断された場合には、制御装置１１は、リアルタイムでのマイグレーションを実行する。
【００５８】
このように、本発明の制御装置１１によれば、マイグレーションを実行する前に、リアルタイムでの実行可否を判断する構成を備えることから、複数の物理サーバ１〜３間でライブマイグレーションを効率的且つ安全に運用可能とすることが可能となる。
【００５９】
以上のとおり、本発明の制御装置１１によるマイグレーションの処理によれば、高い性能を有する物理サーバ１〜３に仮想マシン１〜３の処理を集約させて、システム全体としてのリソース消費量をマイグレーション前のリソース消費量よりも低減させることにより、システム全体としてのリソースの利用効率を高めることが可能となる。また、複数の物理サーバ１〜３のうち、高い性能を有する物理サーバ１〜３に処理を集約させた後、仮想マシン１〜３が動作しなくなった物理サーバ１〜３を除却することも可能となる。
【００６０】
以下、図５を参照し、本発明の一実施例として、仮想マシンＡ〜Ｅが動作可能なハードウェア資源として複数のストレージ装置１、２間において仮想マシンＡ〜Ｅをマイグレーションさせる処理について説明する。
【００６１】
図５は、本発明の一実施形態に係る仮想マシンの制御装置１１により、ＣＰＵ性能値の異なるストレージ装置１とストレージ装置２との間で仮想マシンＢと仮想マシンＥとをそれぞれマイグレーションさせる処理を説明するための図である。
【００６２】
ストレージ装置１は、ＣＰＵ性能値が「ａ」であり、ストレージ装置２は、ＣＰＵ性能値が「ｂ＝２ａ」であるものとする。図５（ａ）に示すように、マイグレーション実行前のストレージ装置１では、仮想マシンＡ及びＢが動作しており、図５（ｂ）に示すように、マイグレーション実行前のストレージ装置２では、仮想マシンＣ、Ｄ及びＥが動作している。
【００６３】
このとき、制御装置１１の性能情報取得部は、記憶部１１−１が有する第１のテーブルから、ストレージ装置１のＣＰＵ性能値が「ａ」であり、ストレージ装置２のＣＰＵ性能値が「ｂ＝２ａ」であるという情報を取得する（Ｓ２１０）。
【００６４】
次に、制御装置１１のリソース測定部１１−２は、複数の仮想マシンＡ〜Ｅを、複数のストレージ装置１、２でそれぞれ動作させることによる複数のストレージ装置１、２の現在のリソース消費量を測定する（Ｓ２２０）。
【００６５】
図５（ａ）に示すように、リソース測定部１１−２により、マイグレーション実行前は、ＣＰＵ性能値「ａ」のストレージ装置１において、仮想マシンＡは、２ＣＰＵコアで６０分かかる処理を実行し、仮想マシンＢは、６ＣＰＵコアで４０分かかる処理を実行することが測定される。また、リソース測定部１１−２により、ＣＰＵ性能値「ｂ＝２ａ」のストレージ装置２において、仮想マシンＣは、２ＣＰＵコアで６０分かかる処理を実行し、仮想マシンＤは、２ＣＰＵコアで２０分かかる処理を実行し、仮想マシンＥは、０．５ＣＰＵコアで３０分かかる処理を実行することが測定される。
【００６６】
リソース測定部１１−２は、これらの測定情報を用いて、システム全体としてのリソース消費量を算出してもよい。ここで、システム全体としてのリソース消費量は、例えば、図５（ａ）及び（ｂ）に示すように、１ＣＰＵコアによる１０分の処理量を１とすると、５５と表すことができる。
【００６７】
次に、制御装置１１のリソース算出部１１−３は、比較データ処理を実行する（Ｓ２３０）。まず、リソース算出部１１−３は、第１のテーブルに格納されたストレージ装置１、２のランク情報及び第２のテーブルに格納された仮想マシンＡ〜Ｅの優先順位などの情報に基づき、マイグレーションを実行する仮想マシンＡ〜Ｅとマイグレーション先のストレージ装置１、２との組み合わせ及びマイグレーションの順番のパターンを決定する。
【００６８】
例えば、第２のテーブルには、仮想マシンＡ〜Ｅの優先順位の情報として、仮想マシンＡ及び仮想マシンＣは、他の仮想マシンの処理時間と比べて長い処理時間を要することから、マイグレーションを実行する優先順位が低く設定されているものとする。一方、仮想マシンＢ及び仮想マシンＥに対しては、優先順位が高く設定されているものとする。また、第１のテーブルには、ストレージ装置２のＣＰＵ性能値が、ストレージ装置１のＣＰＵ性能値よりも高いことから、ストレージ装置２に優先して仮想マシンＡ〜Ｅの処理を集約するように、ランク情報が設定されているものとする。これらの情報に基づき、複数のマイグレーションを実行する仮想マシンＡ〜Ｅとマイグレーション先のストレージ装置１、２との組み合わせ及びマイグレーションの順番のパターンが決定される。
【００６９】
このように決定されたパターン毎にそれぞれマイグレーションさせた後の各ストレージ装置１、２のリソース消費量をシミュレーションにより算出する。例えば、図５にＡ１の矢印で示すように、ストレージ装置２で動作する仮想マシンＥをストレージ装置１にマイグレーションさせ、図５にＡ２の矢印で示すように、ストレージ装置１で動作する仮想マシンＢをストレージ装置２にマイグレーションさせるパターンが決定されるとする。このパターンに基づき、マイグレーションを実行すると、図５（ｃ）に示すように、ストレージ装置１にマイグレーションされた仮想マシンＥは、ＣＰＵ性能値「ｂ＝２ａ」のストレージ装置２では０．５ＣＰＵコアで３０分かかる処理を実行していたところ、同じ処理を、ＣＰＵ性能値「ｂ」の半分であるＣＰＵ性能値「ａ」のストレージ装置１では１ＣＰＵコアを利用して３０分で完了させることが可能となる。また、図５（ｄ）に示すように、ストレージ装置２にマイグレーションされた仮想マシンＢは、ＣＰＵ性能値「ａ」のストレージ装置１では６ＣＰＵコアで４０分かかる処理を実行していたところ、同じ処理を、ＣＰＵ性能値「ａ」の２倍であるＣＰＵ性能値「ｂ」のストレージ装置２では６ＣＰＵコアを利用して２０分で完了させることが可能となる。
【００７０】
このようなシミュレーションにより算出されるマイグレーションさせた後のリソース消費量は、上述した現在のリソース消費量と同様の方法で表すと、図５（ｃ）及び（ｄ）に示すように、１ＣＰＵコアによる１０分の処理量を１として、４３と表すことができる。
【００７１】
次に、制御装置１１のマイグレーション部１１−４は、リソース測定部１１−２により測定された現在のリソース消費量と、リソース算出部１１−３により算出されたマイグレーションさせた後のリソース消費量とを比較する。比較処理の結果、現在のリソース消費量である５５よりも、算出されたマイグレーションさせた後のリソース消費量である４３が小さいことから、仮想マシンＥをストレージ装置１に移行し、仮想マシンＢをストレージ装置２に移行するパターンが決定される。
【００７２】
次に、制御装置１１は、マイグレーションの可否を判断する（Ｓ２４０）。制御装置１１のマイグレーション部１１−４は、第２のテーブルに格納されたマイグレーションの可否を示す情報に基づき、決定されたパターンについて実際にマイグレーションが可能か否かを判断する。さらに、マイグレーション部１１−４は、第２のテーブルに格納された各仮想マシン１、２のマイグレーション方法の情報に基づき、リアルタイムまたはバッチ処理でのマイグレーション処理の実行を決定する（Ｓ２５０）。上述したように、マイグレーション処理は、仮想マシンＡ〜Ｅの処理が実行されていない時間帯に、バッチ処理などで開始することを予め設定しておくことができる。従って、仮想マシンＡ〜Ｅの不稼働時に、安全にマイグレーション処理を実行することができる。
【００７３】
マイグレーション処理が実行されると、図５（ｃ）及び（ｄ）に示すように、ストレージ装置２においては、最初の２０分以降に８ＣＰＵコア分のリソースの不使用状態を生み出すことができる。また、ストレージ装置１においては、７ＣＰＵコア以上のリソースの不使用状態を生み出すことができる。従って、システム全体としては、マイグレーション前よりも、多くの余剰リソースを生み出すことが可能となる。また、性能値の低いストレージ装置１は、適宜除却することができるように、性能値の高い他のストレージ装置２に仮想マシンＡ〜Ｅを移行させていくことも可能なる。従って、ストレージ装置１よりも高い性能値を有するストレージ装置２に仮想マシンＢ〜Ｄの処理を集約させていくことにより、システム全体としてのリソースの使用効率を上げることが可能となる。また、集約の後、仮想マシンＡ〜Ｅが動作しなくなったストレージ装置１を除去することも可能となる。
【００７４】
このように、本発明の一実施形態に係る制御装置１１によるマイグレーションの処理によれば、上述した物理サーバ１〜３及びストレージ装置１、２のような複数のハードウェア資源のうち、性能の高いハードウェア資源に仮想マシンＡ〜Ｅによる処理を集約することができるため、システム全体としてのリソース消費量を、マイグレーション前のリソース消費量よりも低減することが可能となる。従って、システム全体としてのリソースの利用効率を高める効果を奏することが可能となる。また、図５に一例として示すように、システム全体としての利用ＣＰＵ数を減らすことにより、例えば、ＣＰＵ数に応じて加算されるソフトウェアライセンスの料金を下げる効果等も奏することが可能となる。
【００７５】
なお、図５を参照して上述した実施例においては、ハードウェア資源の性能情報として、ストレージ装置１、２のＣＰＵ性能値を用いたマイグレーションの処理を例に挙げて説明したが、ＣＰＵ性能値に限らず、メモリ、ネットワーク帯域、ハードディスクなどのリソースについても同様である。
【００７６】
以上のとおり、本発明の一実施形態に係る制御装置１１によるマイグレーションの処理によれば、複数のハードウェア資源間においてライブマイグレーションを効率的且つ安全に運用可能とし、システム全体としてのリソースの最適化を図ることができるため、稼働環境の利用効率を上げることが可能となる。
【符号の説明】
【００７７】
１０  システム
１１  制御装置
１２  ネットワーク
１３  物理サーバ
１１−１  記憶部
１１−２  リソース測定部
１１−３  リソース算出部
１１−４  マイグレーション部
【図１】
2014206805.tif 000003
【図２】
2014206805.tif 000004
【図３】
2014206805.tif 000005
【図４】
2014206805.tif 000006
【図５】
2014206805.tif 000007