(57)【要約】      （修正有）【課題】サービスレベルを維持した仮想マシンを再配置する装置を提供する。【解決手段】オーバーコミットが発生する物理マシンの配置変更元の仮想マシンを、オーバーコミットが発生する物理マシン以外の配置変更先の物理マシンにある配置変更先の仮想マシンと配置変更する場合に、両物理マシンにある仮想マシンのサービスレベルを維持できる場合、配置変更元の仮想マシンを配置変更先の仮想マシンと配置変更可能と判定する配置変更判定部１４と、判定結果が判定可能である場合に配置変更指示を出す配置変更指示部１５とを有する。【選択図】図１
2016057851.tif 000002
【特許請求の範囲】
【請求項１】
高負荷となる物理マシンの配置変更元の仮想マシンを、前記高負荷となる物理マシン以外の配置変更先の物理マシンにある配置変更先の仮想マシンと配置変更する場合に、両物理マシンにある仮想マシンのサービスレベルを維持できる場合に、前記配置変更元の仮想マシンを前記配置変更先の仮想マシンと配置変更可能と判定する配置変更判定部と、
前記判定結果が判定可能である場合に配置変更指示を出す配置変更指示部と
を有することを特徴とする仮想マシン配置変更装置。
【請求項２】
請求項１に記載の仮想マシン配置変更装置であって、
前記配置変更判定部が、
前記配置変更先の仮想マシンの割当リソースと、前記配置変更元の仮想マシンの割当リソースとを足し合わせたリソース値が、前記配置変更元の物理マシンのリソース値を超えない場合でかつ、前記配置変更元の仮想マシンの割当リソースと、前記配置変更先の仮想マシンの割当リソースとを足し合わせたリソース値が、前記配置変更先の物理マシンのリソース値を超えない場合に、サービスレベルを維持できると判定する
ことを特徴とする仮想マシン配置変更装置。
【請求項３】
請求項１乃至請求項２のそのいずれか一項に記載の前記仮想マシン配置変更装置であって、
前記配置変更判定部が、更に、
サービスレベルを維持できないと判定した場合に、前記配置変更先の仮想マシン以外の前記配置変更先の物理マシンにある仮想マシンを新たな配置変更先の仮想マシンとしてサービスレベルを維持できるかどうか判定する
ことを特徴とする仮想マシン配置変更装置。
【請求項４】
請求項１乃至請求項３のそのいずれか一項に記載の仮想マシン配置変更装置であって、
更に、
仮想マシンがどの物理マシン上にあるかを管理する構成管理テーブルと、
物理マシンを特定する情報と、物理マシンのリソースと、割当済みリソースを関連付けて管理する物理マシンリソース管理テーブルを有し、
前記配置変更判定部が、
前記物理マシンリソース管理テーブルの割当済みリソースがリソースの値を超える物理マシンをオーバーコミットの発生する物理マシンとして特定し、当該物理マシンを特定する情報を、前記構成管理テーブルに照合して、配置変更元の仮想マシンとなる仮想マシンを特定する
ことを特徴とする仮想マシン配置変更装置。
【請求項５】
オーバーコミットが発生する物理マシンの配置変更元の仮想マシンを、前記オーバーコミットが発生する物理マシン以外の配置変更先の物理マシンにある配置変更先の仮想マシンと配置変更する場合に、両物理マシンにある仮想マシンのサービスレベルを維持できる場合に、前記配置変更元の仮想マシンを前記配置変更先の仮想マシンと配置変更可能と判定するステップと、
前記判定結果が判定可能である場合に配置変更指示を出すステップと
を有することを特徴とする仮想マシン配置変更方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンの配置変更の技術に関する。
【背景技術】
【０００２】
近年ＩＴ市場では、仮想化技術の発展が進んでおり、仮想化技術を用いたサービスが広く提供されている。特に、クラウドコンピューティングの分野では、仮想化技術を利用することで、サーバのＣＰＵやメモリといったハードウェアリソースを論理的にプール化し、必要なだけのリソースを割り当てた仮想マシンを１つの物理マシンから複数構築することができる。また、これら1つの物理マシン上の仮想マシンを複数の利用者が利用するマルチテナント環境とすることができる。
【０００３】
そして、マルチテナント環境では、その品質や内容を数値化した、サービスレベルという形で、サービス提供者とサービス利用者との間で合意し、サービス提供者は利用者サービスレベルを満たすように利用者の仮想サーバの運用を行う。例えば、物理リソースがある一定の値を下回らないように制御する。物理マシン上で稼働する仮想マシンに対し、物理マシンのリソースを上回ったリソースの割り当てが為されている状態（オーバーコミット）では、物理リソース以上にリソースを仮想マシンに与えることが可能であるが、サービスレベルとは物理リソースに対して設定するものである。また、特許文献１には仮想マシンが高負荷状態である場合に仮想マシンを再配置する技術について開示されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開2010-224756号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
物理マシン上で稼働する仮想マシンに対し、物理マシンが高負荷である場合、特にオーバーコミットが発生している場合に、負荷を低減するよう仮想マシンを再配置しようとするとサービスレベルを維持できないような配置になってしまう場合が考えられる。引用例１ではサービスレベルを考慮した仮想マシンの再配置については考慮されていない。
【課題を解決するための手段】
【０００６】
上述の課題を解決する為に、高負荷となる物理マシンの配置変更元の仮想マシンを、前記高負荷となる物理マシン以外の配置変更先の物理マシンにある配置変更先の仮想マシンと配置変更する場合に、両物理マシンにある仮想マシンのサービスレベルを維持できる場合に、前記配置変更元の仮想マシンを前記配置変更先の仮想マシンと配置変更可能と判定する配置変更判定部と、前記判定結果が判定可能である場合に配置変更指示を出す配置変更指示部とを有する。
【発明の効果】
【０００７】
本発明によれば、サービスレベルを維持した仮想マシンの再配置ができる。
【図面の簡単な説明】
【０００８】
【図１】本発明の実施例における計算機システムの構成例を示す説明図である。
【図２】本発明の実施例における仮想マシンリソース管理テーブル１１２の一例を示す説明図である。
【図３】本発明の実施例における物理マシンリソース管理テーブル１１３の一例を示す説明図である。
【図４】本発明の実施例における構成管理テーブル１１４の一例を示す説明図である。
【図５】本発明の実施例における仮想マシンの配置変更処理を説明するフローチャートである。
【図６】本発明の実施例における仮想マシンリソース管理テーブルの更新処理とオーバーコミットの判定処理を説明するフローチャートである。
【図７】本発明の実施例における仮想マシンの配置変更判定処理を説明するフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施の形態について、図面を用いて説明する。
【００１０】
図1は、本発明の実施例における計算機システムの構成例を示す説明図である。計算機システムは、仮想マシン配置変更装置１、リソース利用状況収集サーバ２、仮想環境管理サーバ３、仮想マシン実行サーバ４から構成され、各サーバが内部ネットワーク５を介して接続される。本実施例ではこのような構成としているがこれに限定されるものではなく、リソース利用状況収集サーバや仮想環境管理サーバの機能を仮想マシン配置変更装置にもたせてひとつの装置としてもよいし、仮想マシン実行サーバに仮想マシン配置変更装置の機能を持たせるようにしてもよく、構成は限定されない。
【００１１】
仮想マシン配置変更装置１は、リソース管理ＤＢ１１とリソース利用状況受信部１２とサービスレベル分析部１３と配置変更判定部１４と配置変更指示部１５から構成される。リソース管理ＤＢ１１は、リソース利用状況収集サーバ２が収集したリソース情報と、仮想サーバに割当てられているサービスレベル情報と、物理マシンのリソース情報と、仮想マシンの配置情報を格納する。リソース管理ＤＢ１１は、仮想マシンリソース情報を管理するテーブル１１２と物理マシンリソース情報を管理するテーブルと仮想環境の構成を管理するテーブルを持つ。リソース管理ＤＢ１１に格納された情報は、サービスレベル分析部１３により実行される仮想マシンの配置変更の要否を判定するために利用される。
【００１２】
リソース状況収集サーバ２は、リソース利用状況収集実行部２１とリソース状況情報送信部２２から構成される。リソース利用状況収集実行部２１は、内部ネットワーク５を介して仮想マシン実行サーバ４から、仮想マシンに現状割当てられているリソース情報を収集する。リソース状況情報送信部２２は、リソース利用状況収集実行部２１が収集したリソース情報を、内部ネットワーク５を介して仮想マシン配置変更装置１へ送信する。
【００１３】
仮想環境管理サーバ３は、配置変更実行部３１と配置変更指示受信部３２から構成される。配置変更指示受信部は、仮想マシン配置変更装置１から配置変更指示を受け取り、配置変更実行部へ情報を伝達する。配置変更実行部は、仮想マシン配置変更装置１から受け取った情報をもとに仮想マシン実行サーバ４へ配置変更命令を送信する。
【００１４】
仮想マシン実行サーバ４は、仮想マシン制御部４１から構成される。仮想マシン制御部は、仮想環境管理サーバ３から受信した配置変更命令に従い、仮想マシンの配置変更を行う。
【００１５】
図２は、仮想マシンリソース管理テーブルの一例を示す説明図である。仮想マシンリソース管理テーブル１１２は、仮想マシン配置変更装置１によって作成されるテーブルであり、仮想マシン単位でリソース情報を格納する。
【００１６】
仮想マシンリソース管理テーブル１１２は、仮想マシンID１１２１、割当CPUリソース１１２２、CPUリソースサービスレベル１１２３、割当メモリリソース１１２４、メモリリソースサービスレベル１１２５を含む。仮想マシンID１１２１は、各仮想マシンの識別子情報を格納する。割当CPUリソース１１２２は、現状割り当てられているCPUリソース情報を格納する。CPUリソースサービスレベル１１２３は、その仮想マシンに対するCPUリソースのサービスレベル情報を格納する。割当メモリリソース１１２４は、現状割当てられているメモリリソース情報を格納する。仮想マシンリソース管理テーブル１１２は、仮想マシン毎に現状割当てられているリソースと設定されているサービスレベルを管理し、仮想マシンの配置変更処理部にてサービスレベルを満たしているか否かの判定を行うために利用される。本実施例ではＣＰＵとメモリの割当リソースとサービスレベルを管理しているがこれに限定されるわけではなく、リソースであれば記憶装置の容量等であってもよい。
【００１７】
図３は、物理マシンリソース管理テーブルの一例を示す説明図である。物理マシンリソース管理テーブル１１３は仮想マシン配置変更装置１によって作成されるテーブルであり、物理マシン単位でリソース情報を格納する。これにより仮想マシンののる物理マシン毎のリソースを管理することができる。本実施例ではＣＰＵとメモリとしているがこれに限定されるわけではなく、記憶装置の容量等、リソースに関わるものであればよい。
【００１８】
物理マシンリソース管理テーブル１１３は、物理マシンID１１３１、CPUリソース１１３２、割当済みCPUリソース１１３３、CPUリソース割当て超過しきい値１１３４、メモリリソース１１３５、割当済みメモリリソース１１３６、メモリリソース割当超過しきい値１１３７を含む。物理マシンID１１３１は、各物理マシンの識別子情報を格納する。CPUリソース１１３２は、物理マシンが保有する実CPUリソース情報を格納する。割当済みCPUリソース１１３３は、当該物理マシン上の仮想マシンに割当てているCPUリソースの合計値の情報を格納する。CPUリソース割当超過しきい値１１３４は、実CPUリソースに対して超過割当可能とする割合の情報を格納する。メモリリソース１１３５は、物理マシンが保有する実メモリリソース情報を格納する。割当済みメモリリソース１１３６は、当該物理サーバ上の仮想マシンに割当てているメモリリソースの合計値の情報を格納する。物理マシンリソース管理テーブル１１３は、仮想マシン配置変更判定処理Ｓ４にて配置変更要となった仮想マシンを配置するための物理マシンを決定する場合に利用される。
【００１９】
図４は、構成管理テーブルの一例を示す説明図である。構成管理テーブル１１４は、物理マシンID１１３１、仮想マシンID１１２１を含む。物理マシンID１１３１は物理マシンリソース管理テーブル１１３に含まれる物理マシンIDと同一の情報を持ち各物理マシンの識別子情報を格納する。これによりどの物理マシンにどの仮想マシンがのるかを管理することができる。仮想マシンID１１２１は、仮想マシンリソース管理テーブルに含まれる仮想マシンIDと同一の情報を持ち各仮想マシンの識別子情報を格納する。構成管理テーブル１１４は、仮想マシンが配置されている物理マシンを管理する。
＜フローチャート＞
図５は、本実施例において、仮想マシンのリソースを自動的に最適化する方法を示すフローチャートである。まず、リソース利用状況収集サーバがステップＳ１にて、仮想マシン実行サーバ群に存在する、全仮想マシンのリソース利用状況を収集し、仮想マシン配置変更装置に取得した利用状況を送信する。また、各仮想マシンのリソースのサービスレベルも収集し、送信する。
【００２０】
ステップＳ２では、仮想マシンリソース管理テーブルを受信した値でそれぞれ更新して、状況を更新する。次に、ステップＳ３で、仮想マシンリソース管理テーブルと、物理マシンリソース管理テーブルを比較し仮想マシンの配置変更をした方が良いか否かを判定し、仮想マシンの配置変更した方がよければステップＳ４に進む。仮想マシンの配置変更をしなくても良ければ処理を終了する。
【００２１】
仮想マシンの再配置をした方が良い場合とは仮想マシンに割り当てられた割当てリソースが物理リソースを超えるような場合、つまりオーバーコミットが発生している場合に、当該仮想３マシンを他の余裕のある物理サーバへ移動させ、オーバーコミットによる仮想マシンの不安定さを解消しようとする場合である。移動元のオーバーコミットより、移動先のオーバーコミットのほうがより大きくなる場合は、配置変更しないがこれはステップ４で判定する。
【００２２】
ステップＳ４では、配置変更したほうがよいとなった仮想マシンについてどの物理マシンに配置するか、詳細を後述する配置場所の探索を行い、配置の変更が可能か否か判定し、配置の変更が可能となった場合は、配置変更指示を仮想環境管理サーバに送付する。配置の変更が不可能となった場合は、処理を終了する。ここで配置の変更が可能とは、ある仮想マシンが、他の物理サーバ上にある仮想マシンと入れ替えた場合に、当該物理サーバのオーバーコミットの量が全体として減る場合で、さらにサービスリソースを満たす場合に配置変更可能と判定され、当該仮想マシンの入れ替えが実行される。処理の詳細については後述する。
【００２３】
ステップＳ５で、配置変更指示に基づき、仮想マシン実行サーバに仮想マシンの移動命令を送信し、仮想マシンの移動を行う。その後、ステップＳ１に戻り、ステップＳ２で配置変更をしなくても良いとなるまで、配置の変更を繰り返し実施する。
【００２４】
図６は、仮想マシン配置変更装置が持つサービスレベル分析部において実施される、仮想マシンリソース管理テーブルの更新処理とサービスレベルの充足状況の分析処理の流れを示すフローチャートである。ステップＳ２〜ステップＳ３の詳細である。また、本実施例ではＣＰＵ、メモリのリソースを見て仮想マシンの配置変更を判定しているが、これに限定されるものではなく、リソースを表す値であるならばなんでもよい。
【００２５】
まず、ステップＳ２１にて、ステップＳ１で取得したリソース情報のうち仮想マシンリソース管理テーブル１１２の割当ＣＰＵリソース情報１１２２にかかわる情報をもとに、仮想マシンリソース管理テーブル１１２の割当ＣＰＵリソース情報１１２２を更新し、ステップＳ２２へ進む。
【００２６】
ステップＳ２２では、物理サーバが高負荷となっているかどうかを判定する。本実施例では高負荷であるケースとして仮想マシンにオーバーコミットが発生しているかどうかを判定する。具体的には、物理マシンリソース管理テーブル１１２のＣＰＵリソースと割当済みＣＰＵリソースとを比較して、割当て済みＣＰＵリソースの方が大きい場合に、当該物理マシン上の仮想マシンにオーバーコミットが発生していると判定する。物理マシンＩＤがＰＭ０１のＣＰＵリソースは１０ＧＨｚ、割当済みＣＰＵリソースは２０ＧＨｚとなるので、物理マシンＩＤがＰＭ０１上の仮想マシンは、オーバーコミットしていることが特定できる。またオーバーコミットが特定された物理マシンＩＤを構成管理テーブル１１４に照合することで、オーバーコミットが発生している仮想マシンを特定する。例えば、物理マシンＩＤのＰＭ０１を構成管理テーブル１１４に照合し、仮想マシンＩＤのＶＭ０１とＶＭ０１を特定する。これにより仮想マシンＩＤがＶＭ０1とＶＭ０２の仮想マシンにオーバーコミットが発生していることがわかる。
【００２７】
ステップＳ２３にて、オーバーコミットが発生している場合は、ステップＳ２３にてステップＳ４配置変更処理へ分岐するために、配置変更フラグをＯＮとする。本実施例では配置変更フラグとフラグ立てしているがこれに限定されるものではなく、配置変更必要ありと判定する処理であればこれに限定されない。
【００２８】
ステップＳ２１からステップＳ２３ではＣＰＵリソースについて判定したが、ステップＳ２４からステップＳ２６ではメモリリソースについて判定する。本実施例ではＣＰＵからメモリと判定しているがこれに限定されるものではなく、反対であってもよいし、リソースもＣＰＵ、メモリに特定されない。
【００２９】
続いてＣＰＵでの判定に引き続いてメモリの判定処理に入る。ステップＳ２４では、ステップＳ１で取得したリソース情報のうち仮想マシンリソース管理テーブル１１２の割当メモリリソース情報１１２２にかかわる情報をもとに、仮想マシンリソース管理テーブル１１２の割当メモリリソース情報１１２２を更新し、ステップＳ２５へ進む。
【００３０】
ステップＳ２５では、仮想マシンにオーバーコミットが発生しているかどうかを判定する。具体的には、物理マシンリソース管理テーブル１１２のメモリリソースと割当済みメモリリソースとを比較して、割当て済みメモリリソースの方が大きい場合に、当該物理マシン上の仮想マシンにオーバーコミットが発生していると判定する。物理マシンＩＤがＰＭ０１のメモリリソースは１５ＧＨｚ、割当済みメモリリソースは２０ＧＨｚとなるので、物理マシンＩＤがＰＭ０１上の仮想マシンは、オーバーコミットしていることが特定できる。またオーバーコミットが特定された物理マシンＩＤを構成管理テーブル１１４に照合することで、オーバーコミットが発生している仮想マシンを特定する。例えば、物理マシンＩＤのＰＭ０１を構成管理テーブル１１４に照合し、仮想マシンＩＤのＶＭ０１とＶＭ０１を特定する。これにより仮想マシンＩＤがＶＭ０1とＶＭ０２の仮想マシンにオーバーコミットが発生していることがわかる。
【００３１】
ステップＳ２５にて、オーバーコミットが発生している場合、ステップＳ２６にてステップＳ４配置変更処理へ分岐するために、配置変更フラグをＯＮとする。本実施例では配置変更フラグとフラグ立てしているがこれに限定されるものではなく、配置変更必要ありと判定する処理であればこれに限定されない。
【００３２】
図７は、仮想マシン配置変更装置が持つ配置変更判定部において実施される、仮想マシンを配置変更可能な物理マシンの探索処理の流れを示すフローチャートである。図５のステップ４〜ステップ５の詳細な説明である。前述してきたように、オーバーコミットが発生する場合、当該物理マシン上の仮想マシンを配置変更する仮想マシンと特定するが、必ずしも移動させるほうがよいとは限らない。例えば、移動させることによりより一層大きなオーバーコミットを発生させてしまい効率が悪くなることが考えられる。また、移動することによりオーバーコミットはより小さくすることができても、サービスレベルを満たすことができなくなってしまうこともある。その為、サービスレベルを満たすことができないようになる場合においては、仮想マシンを移動（他の仮想マシンと設置場所を交換）しないように制御する必要がある。
【００３３】
そこで、移動できるリソースにゆとりのある別の物理マシンがあるどうか、サービスレベルを満たすことができるか判定し、配置変更可能かどうか判定する。配置変更可能と判定され、仮想マシンが移動された場合（他の仮想マシンと設置場所を交換した場合）、どの仮想マシンがどの物理マシンに乗っているかを管理している構成管理テーブルの特定された仮想マシンを当該物理マシンと対応づけて更新する。処理詳細について次に説明する。
【００３４】
まず、ステップＳ４１で、特定されたオーバーコミットしている物理マシン以外の物理マシン（配置変更先物理マシン）を特定する。本実施例の場合、物理マシンＩＤがＰＭ０１以外にＰＭ０２の物理マシンがある為、この物理マシンを特定する。他に物理マシンがある場合は、仮想マシンの配置変更が可能かどうかの判定をして、配置変更不可となった場合に順次、他の物理サーバで配置変更可能かどうか判定していってもよいし、物理マシンリソーステーブル１１３の割当済みリソースとリソースの値を比較してより割当率の小さくゆとりのある物理マシンを優先的に特定していくように制御してもよい。
【００３５】
ステップＳ４２では、オーバーコミットしていると特定された物理マシン上の仮想マシンのうち、どれを配置変更元の仮想マシンとするのか、また配置変更先物理マシンのどの仮想マシンを配置変更先の仮想マシンとするのかを特定する。
＜オーバーコミットを小さくする配置変更を見つける＞
つまり、オーバーコミットしている物理マシン上の仮想マシンと、配置変更先の物理マシン上の仮想マシンとを配置交換することで、オーバーコミットが小さくなるような配置変更を特定する（配置変更元の仮想マシンと配置変更先の仮想マシンを特定する）。ここでオーバーコミットが小さくなるとは、例えば、配置変更することで、オーバーコミットそのものを解消するような配置変更や、オーバーコミットの比率が小さくなる配置変更をいう。例えば、配置変更元の割当てリソース値が、配置変更先の割当リソース値よりも大きい場合、交換することにより、オーバーコミットをより小さくすることができる。この場合、配置変更先物理マシンはより大きな配置リソースの仮想マシンを引き受けることになるので、前記のように、オーバーコミットを小さくできる場合でも、配置変更先物理マシンをオーバーコミットしてしまう場合や、よりオーバーコミットが大きくなるような場合があり、このような場合にはシステム全体としてオーバーコミットが小さくなっていないので、配置変更するように制御しない。
【００３６】
このようにオーバーコミットを小さくする配置変更を見つける為に、配置変更元の仮想マシンと配置変更先の仮想マシンの全ての組み合わせを考えて、オーバーコミットが小さくなるような配置変更を特定する。
【００３７】
具体的にはメモリリソースの場合で見ると、図２、図３のようにオーバーコミットしていると特定される物理マシンＩＤがＰＭ０１のメモリリソースが１０ＧＢ、仮想マシンＩＤがＶＭ０１の割当メモリリソース６ＧＢ、ＶＭ０２の割当メモリリソース８ＧＢ、配置変更先物理マシンＩＤがＰＭ０２のメモリリソースが１５ＧＢ、仮想マシンＩＤがＶＭ０３の割当メモリリソースが６ＧＢ、ＶＭ０４の割当てメモリリソースが７ＧＢの場合は、割当てメモリリソース８ＧＢのＶＭ０２を配置変更元の仮想マシン、割当メモリリソース６ＧＢのＶＭ０３を配置変更先の仮想マシンとして特定する。仮想マシンＶＭ０３の割当メモリリソースはＶＭ０４の割当メモリリソースよりより小さく、配置変更した場合によりオーバーコミットを多く減らすことができるからである。またＶＭ０２を移動させたとしても、ＶＭ０２の割当メモリリソース８Ｇ＋ＶＭ０４の割当メモリリソース７ＧＢ＝１５ＧＢで物理マシンＩＤＰＭ０２のメモリリソース１５ＧＢを超えないので、新たなオーバーコミットをまねくことがない。
【００３８】
ステップＳ４３では、オーバーコミットをより小さくする配置変更元の仮想マシンと配置変更先の仮想マシンが特定された場合に、実際に配置変更してよいかどうかを判定する。配置変更の結果、サービスレベルを維持できなくなってしまう場合は配置変更不可と判定、サービスレベルを維持できる場合は配置変更可と判定する。具体的には、配置変更先の仮想マシンの割当リソースと、配置変更元の仮想マシンの割当リソースとを足し合わせたリソース値が、配置変更元の物理マシンのリソース値を超えない場合でかつ、配置変更元の仮想マシンの割当リソースと、配置変更先の仮想マシンの割当リソースとを足し合わせたリソース値が、配置変更先の物理マシンのリソース値を超えない場合に、サービスレベルを維持できると判定する
例えば、図２、図３のようにオーバーコミットしていると特定される物理マシンＩＤがＰＭ０１のメモリリソースが１０ＧＢ、仮想マシンＩＤがＶＭ０１の割当メモリリソース６ＧＢ、メモリリソースサービスレベルが５ＧＢ、ＶＭ０２の割当メモリリソース８ＧＢ、メモリリソースサービスレベルが４ＧＢ、配置変更先物理マシンＩＤがＰＭ０２のメモリリソースが１５ＧＢ、仮想マシンＩＤがＶＭ０３の割当メモリリソースが６ＧＢ、メモリリソースサービスレベルが６ＧＢ、ＶＭ０４の割当てメモリリソースが７ＧＢ、メモリリソースサービスレベルが５ＧＢの場合は、ステップＳ４２で、割当てメモリリソース８ＧＢのＶＭ０２を配置変更元の仮想マシン、割当メモリリソース６ＧＢのＶＭ０３を配置変更先の仮想マシンとして特定するが、ＶＭ０３のメモリリソースサービスレベルは６ＧＢであり、ＶＭ０１のメモリリソースサービスレベル５ＧＢと足し合わせると、物理マシンＩＤＰＭ０1のメモリリソース（物理リソース）１０ＧＢを超えてしまい、サービスレベルを満たすことができないので、配置変更不可と判定する
ステップＳ４４では、配置変更可能とステップＳ４３で判定された場合に当該仮想マシンの配置変更処理をおこなう。配置変更処理にともない、構成管理テーブルの物理マシンＩＤと仮想マシンＩＤの対応を更新する。具体的には、ＶＭ０１の仮想マシンと、ＶＭ０４の仮想マシンが配置変更された場合は、物理マシンＩＤＰＭ０１とＶＭ０４が紐づけられ、物理マシンＩＤＰＭ０２とＶＭ０１が紐づけられて更新される。
【００３９】
ステップＳ４５ではステップＳ４３で配置変更不可とされた場合に、配置変更不可と判定された配置変更先の仮想マシン以外の仮想マシンで、オーバーコミットを小さくする配置変更先の仮想マシンがある場合は、当該仮想マシンを新たな配置変更先の仮想マシンとしてステップＳ４３の判定処理をする。具体的には、先のステップＳ４３での具体例でいうと、ＶＭ０３は、サービスレベルを満たすことができず、配置変更不可と判定されるので、ＶＭ０４を配置変更先の仮想マシンとした場合について判定する。ＶＭ０４のメモリリソースサービスレベルは５ＧＢなので、ＶＭ０１のメモリリソースサービスレベル５ＧＢ＋ＶＭ０４のメモリリソースサービスレベル５ＧＢは物理マシンＰＭ０1のメモリリソース（物理リソース）１０ＧＢ以下なので、サービスレベルを満たすことになり、配置変更可と判定される。
【符号の説明】
【００４０】
１１２：仮想マシンリソース管理テーブル、１１３：物理マシンリソース管理テーブル、１１４：構成管理テーブル
【図１】
2016057851.tif 000003
【図２】
2016057851.tif 000004
【図３】
2016057851.tif 000005
【図４】
2016057851.tif 000006
【図５】
2016057851.tif 000007
【図６】
2016057851.tif 000008
【図７】
2016057851.tif 000009