以下、本発明の実施例について、図面を用いて詳細に説明する。
(実施例1)
図1は、実施例1に係る情報処理システム1000のハードウェア構成の一例を示す図である。なお、実施例1及び実施例2におけるリソースとは、ユーザが仮想マシンを用いて使用することが出来る物理マシン群7のリソースのことを示している。
情報処理システム1000は、データセンタ100と、ユーザ端末300と、リソース要求端末500と、データセンタ100とユーザ端末300との間を接続するネットワーク200と、データセンタ100とリソース要求端末500との間を接続するネットワーク400とを有する。データセンタ100は、ユーザによって使用される1つまたは複数の仮想マシンを1つまたは複数の物理マシン73上に配備する。データセンタ100は、ユーザ端末300から仮想マシンを使用させる。ネットワーク200及びネットワーク400は、例えば、インターネット又は専用回線である。ユーザ端末300は、データセンタ100の仮想マシンを使用するコンピュータである。リソース要求端末500は、例えば、データセンタ100に対して利用したい1つまたは複数の仮想マシンを要求するコンピュータである。
データセンタ100には、例えば物理マシン73が1000個配備される。1個の物理マシン73上には、複数の仮想マシンを配備することができる。従って、データセンタ100には、全体では、例えば仮想マシンが5000個〜10000個設けることもできる。
データセンタ100は、制御装置1、物理マシン群7、制御装置1とマシン群7との間を接続するネットワーク600を有する。ネットワーク600は、例えば、イントラネット又は専用回線である。
制御装置1は、例えばプロセッサの1例としてのCPU(Central Processing Unit)10A、メモリ10B、通信インタフェース10C1、通信インタフェース10C2、通信インタフェース10C2、通信インタフェース10C3、格納部10D及びバス10Eを有する。制御装置1は、物理マシン群7を制御して、物理マシン群7の物理マシン73(図3参照)上に仮想マシンを配備する。制御装置1は、仮想マシンの割当を行うに当たり、ユーザが指定した仮想マシンを配備できる物理マシン73に対して、ユーザ用の仮想マシンとして処理できる様、指示を行なう。制御装置1からこの指示を受けた物理マシン73は、仮想マシンを実現するソフトウェアを起動する。
なお、仮想マシンの配備により、起動されている物理マシン73上に仮想マシンが起動される。リソース要求端末500は、その要求情報に応じて仮想マシンが物理マシン73上に配備されると、その仮想マシンの使用権または一部の管理権を所有することになる。
CPU10Aは、制御装置1全体を制御する。CPU10Aは、バス10Eを介してメモリ1B及び通信インタフェース10C1、通信インタフェース10C2、通信インタフェース10C2、通信インタフェース10C3と接続される。
メモリ10Bは、例えば、CPU10Aが実行するOS(Operating System)プログラム、アプリケーションプログラム、及び物理マシン群7を制御する制御プログラム8Aなどを一時的に記録することができる。また、格納部10Dは、CPU10Aにおける処理に必要な各種データを記録する。
通信インタフェース10C1は、制御装置1がネットワーク200を介してユーザ端末300と接続するために設けられる。通信インタフェース10C1は、ユーザ端末300と制御装置1との間におけるデータの送受信を行う。通信インタフェース10C2は、制御装置1がネットワーク400を介してリソース要求端末500と接続するために設けられる。通信インタフェース10C2は、リソース要求端末500と制御装置1との間におけるデータの送受信を行う。通信インタフェース10C3は、制御装置1がネットワーク600を介して物理マシン73と接続するために設けられる。通信インタフェース10C3は、リソース要求端末500と制御装置1との間におけるデータの送受信を行う。
格納部10Dは、例えば、制御装置1が有するCPUが実行するOSプログラム、アプリケーションプログラム及び物理マシン群7を制御する制御プログラム10D1を一時的に記録することができる。また、格納部10Dは、制御装置1が有するCPUにおける処理に必要な各種データを記録する。格納部10Dは、例えばハードディスクドライブ(HDD)である。
なお、制御プログラム10D1は、格納部10D以外に保持してもよい。制御プログラム10D1は、例えば、データセンタ100に挿入されるフレキシブルディスク(FD)、CD−ROM、MOディスク、DVDディスク、光磁気ディスク及びICカードなどの「可搬用の物理的記憶媒体」に記憶される。制御プログラム10D1は、データセンタ100の内外に備えられるディスク装置、あるいはネットワーク200、ネットワーク400、公衆回線、インターネット、LAN(Local Area Network)、WAN(Wide Area Network)などを介してデータセンタ100に接続される「他のコンピュータ(またはサーバ)」が保持する格納部10Dに記憶される。データセンタ100は、上記格納部10Dから制御プログラム10D1を読み出して実行する。
物理マシン群7は、複数の物理マシン73を備える。仮想マシンは、物理マシン73上に配備される。
物理マシン73は、例えば、CPU73A、メモリ73B、通信インタフェース(1/F)73C及びバス73Dを備える。
CPU73Aは、物理マシン73全体を制御する。CPU73Aは、バス73Dを介してメモリ73B及び通信インタフェース73Cが接続される。
メモリ73Bは、例えば、CPU73Aが実行するOSプログラム、アプリケーションプログラム及び物理マシン群7を制御する制御プログラム8Aを一時的に記録することができる。また、メモリ73Bは、CPU73Aにおける処理に必要な各種データを記録することができる。
通信インタフェース73Cは、物理マシン73がネットワーク600を介して制御装置1と接続するために設けられる。通信インタフェース73Cは、物理マシン73と制御装置1との間におけるデータの送受信を行う。
なお、制御装置1は、一例として物理マシン73上に構築するものとする。
リソース要求端末500は、ネットワーク400を介して、仮想マシンの割当要求をデータセンタ100に送信する。割当要求は、例えば、新たに仮想マシンを使用する場合、仮想マシンの数量を変更したい場合等に発行される。データセンタ100が割当要求に応じて仮想マシンを物理マシン73上に配備すると、ユーザ端末300は、ネットワーク200を介して、仮想マシンが配備された物理マシン73に接続することにより、リソースを利用することができる。
なお、ユーザ端末300とリソース要求端末500は同一の物理マシン73でも良いし、ネットワーク200とネットワーク400も同一のネットワークでも良い。
図2は、実施例1に係る情報処理システム1000の機能ブロック図の一例を示す図である。なお、図2において、図1で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
制御装置1(コンピュータ)は、プロセッサがプログラムに従った処理を実行することで、配備処理部2及びデータ管理部(記憶部)3のそれぞれに対応する機能を有することとなる。制御装置1については、図4を参照して後述する。物理マシン群7については、図3を参照して後述する。
図3は、情報処理システム1000の構成の一例を示す図であり、物理マシン群7について示す図である。
物理マシン群7は、複数の物理マシン73を有する。物理マシン群7には、割当要求が入力されると、割当要求に応じて、複数の物理マシン73上に仮想マシンが配備される。なお、図3は、データセンタ100のある時刻における物理マシン群7の状態の例を示す図である。物理マシン群7に設けられる物理マシン73の数は、任意に設定可能である。
なお、1個の物理マシン73上には、仮想マシンの能力「1」の仮想マシンが、10個分配置できることを仮定している。なお、仮想マシン1台あたりの仮想マシンの能力は、他にも「2」などとすることもでき、データセンタ100の運用者がユーザに対して予め取り決めておくこともできる。また、仮想マシンの能力は、CPUのクロック数や主メモリの容量以外の性能を決定するパラメータを用いて定めるようにしても良い。例えば、CPU(コア)の数、通信における帯域、ハードディスクの容量、ハードディスクへのアクセス速度等を用いることができ、上述したパラメータを組み合わせたものを使用することもできる。
また、リソースの割当要求で指定可能な仮想マシンの能力単位は、複数用意することも可能である。実施例1及び後述する実施例2において、リソースの割当要求で指定可能な仮想マシンの能力の単位は「3」、「4」及び「5」の3種類とする。
仮想マシンの能力は、リソースの割当要求において仮想マシンの数と共に指定してもよい。例えば、能力「3」の仮想マシンを冗長化数3個、能力「5」の仮想マシンを冗長化数4個、及び能力「4」の仮想マシンを冗長化数4個といった形で、物理マシン群7に割当てるように要求してもよい。この場合、リソースの割当要求において指定された仮想マシンの能力と冗長化数量とに基づいて、仮想マシンが、複数の物理マシン73上に配備される。
例えば、図3において、物理マシンID「M#1」の物理マシン73上には、管理ID「R#1−1」及び「R#2−1」の仮想マシンが配備されている。管理ID「R#1−1」の仮想マシンの「A3」の「A」はリソースIDを示し、「3」は後述する能力を示す。すなわち、管理ID「R#1−1」、「R#1−4」及び「R#1−5」の仮想マシンは、同一リソースであり、仮想マシンの要求ID「R#1」に対応する。なお、図3中に「R#1−2」及び「R#1−3」が存在しないのは、この時刻までに、削除要求により、管理ID「R#1−2」及び「R#1−3」の仮想マシンを削除したことを示す。他の管理IDの仮想マシンも、同様に、物理マシン73上に配備されている。
なお、図3において、電源が投入されている物理マシン73及び電源が切断されている物理マシン73は、ハッチングにより識別される。電源が投入されている物理マシン73はハッチングが存在しない矩形で示される。図3において、電源が投入されている物理マシン73は、物理マシンID「M#1」の物理マシン73及び物理マシンID「M#3」〜「M#9」の物理マシン73である。一方、電源が切断されている物理マシン73はハッチングで示される。図3において、電源が切断されている物理マシン73は、仮想マシンが配備されていない物理マシンID「M#2」の物理マシン73及び物理マシンID「M#10」の物理マシン73である。仮想マシンが配備されていない物理マシンID「M#2」及び「M#10」の物理マシン73の電源を切断することにより、データセンタ100が消費する電力を節減できる。
図4は、情報処理システム1000の構成の一例を示す図であり、制御装置1について示す図である。
制御装置1において、配備処理部2は、リソース要求端末500から入力された仮想マシンの割当要求を受信する。配備処理部2は、入力された仮想マシンの割当要求に基づいて、要求情報を作成する。配備処理部2は、要求情報及び物理マシン情報に基づいて、割当要求された仮想マシンを、物理マシン群7の物理マシン73上に配置する配置設計を行う。配備処理部2は、仮想マシンの配置情報に基づいて配備情報を作成する。配備処理部2は、仮想マシンの移動の条件を満足する場合に、物理マシン73上の仮想マシンを、他の物理マシン73上に移動させる再配置設計を行う。配備処理部2は、再配置設計に基づいて移動情報を作成する。
すなわち、配備処理部2は、物理マシン群7における仮想マシンの配置を決定し、仮想マシンの配備及び移動のための配置設計情報を作成し、配備部/移動配備部38により物理マシン群7に対する仮想マシンの配備制御を行う。なお、作成した配置設計情報はデータ管理部3の対応データベースに書き込む。
配備処理部2は、物理マシン73の電源条件を満足する場合に、物理マシン73の電源投入/電源切断を行う。換言すれば、制御装置1は、電源投入中であって、それぞれ少なくとも1つの仮想マシンが配置されたM個(Mは1以上の整数)の物理マシン73のうち残余能力が所定の能力以上の物理マシン73の数が所定数より少ない場合に、M個の物理マシン73に配置された仮想マシンをM−1個以下(P個)の物理マシン73に配置する変更が可能と判定すると、その変更を実行する。その際、変更の実行前には、M個の物理マシンに電源が投入されている場合に、変更の実行に応じて、M個の物理マシンのうちの1以上の物理マシンの電源の投入を解除し、前記M−1個以下(P個)の物理マシンに電源が投入された状態とする。これによれば1以上の物理マシンを開放することができ、更に電源投入の解除により消費電力も削減することができる。
また、配備処理部2は、それぞれ少なくとも1つの仮想マシンが配置されたM個の物理マシンのうち残余能力が所定の能力以上の物理マシンの数が所定数よりもNだけ少ない場合に、M個の物理マシンに配置された仮想マシンをM+N−1個以下(Q個)の物理マシンに配置する変更であって、変更後の該M+N−1個以下(Q個)の物理マシンのうち残余能力が所定の能力以上の物理マシンの数が所定数に達する変更が可能と判定した場合に、変更を実行する。その際、変更の実行前には、M+N個の物理マシンに電源が投入されており、前記変更の実行に応じて、M+N個の物理マシンのうちの1以上の物理マシンの電源の投入を解除し、M+N−1個以下(Q個)の物理マシンに電源が投入された状態とする。これによれば1以上の物理マシンを開放することができ、更に電源投入の解除により消費電力も削減することができる。
配備処理部2は、割当要求入力部21と、要求情報抽出部22と、第1読込み部23と、作成部24と、第2読込み部25と、第1設計部26と、第2設計部27と、電源投入/電源切断部28と、アクセス部32と、配備部/移動配備部38とを有する。
割当要求入力部21は、リソース要求端末500から入力された仮想マシンの割当要求を受信する。割当要求入力部21は、受信した仮想マシンの割当要求を、要求情報抽出部22に送信する。
要求情報抽出部22は、割当要求から要求情報を抽出する。要求情報抽出部22は、アクセス部32を介して、要求情報を要求情報格納部33に書き込む。要求情報抽出部22は、要求情報を第1設計部26に送信する。
第1読込み部23は、物理マシン情報を物理マシン情報格納部34から読み込む。第1読込み部23は、仮想マシンの既存配置設計情報を配置情報格納部35から読み込む。第1読込み部23は、読み込んだ物理マシン情報及び仮想マシンの既存配置設計情報を、第1設計部26に送信する。
作成部24は、第1設計部26から受信した新たな配置設計情報の差分情報に基づいて配備情報及び移動情報を作成する。作成部24は、作成した配備情報及び移動情報を、配備情報/移動情報格納部36に書き込む。作成部24は、第2設計部27から受信した再配置した新配置設計情報の差分情報に基づいて移動情報を作成する。作成部24は、作成した移動情報は配備情報/移動情報格納部36に書き込む。
第2読込み部25は、全リソースの要求情報を要求情報格納部33から読み込む。第2読込み部25は、物理マシン情報を物理マシン情報格納部34から読み込む。第2読込み部25は、配置情報を配置情報格納部35から読み込む。第2読込み部25は、待機物理マシン要求情報を、待機物理マシン要求情報格納部37から読み込む。第2読込み部25は、読み込んだ要求情報、物理マシン情報、配置情報及び待機物理マシン要求情報を、第2設計部27に送信する。
第1設計部26は、要求情報抽出部22から要求情報を受信すると、第1読込み部23から、物理マシン情報及び既存配置設計情報を読み込む。第1設計部26は、読み込まれた物理マシン情報、既存配置設計情報及び要求情報に基づいて、仮想マシンの配置設計を行い、新たな配置設計情報を作成する。なお、新たな配置設計情報は既存配置設計情報と要求情報との差分情報を含む。また、新たな配置設計情報の作成時に物理マシン情報の1台以上の物理マシン73の電源状態を切断から投入へ変更する場合は、電源投入/電源切断部28へ電源を投入する1台以上の物理マシンIDを通知する。この物理マシン情報を変更する場合に、第1設計部26は、作成された新たな物理マシン情報を、データ管理部3のアクセス部32を介して、データ管理部3の物理マシン情報格納部34に書き込む。第1設計部26は、作成された新たな配置設計情報を、配備処理部2の作成部24に送信する。第1設計部26は、作成された新たな配置設計情報を、アクセス部32を介して、データ管理部3の配置情報格納部35に書き込む。第1設計部26は、物理マシン群7において仮想マシンを配置するために、配置アルゴリズムを用いる。配置のアルゴリズムとしては、例えば、ビンパッキングアルゴリズム、ナップサック問題の解法アルゴリズム等を用いて、制約条件なども利用し、配置設計を行う。
第1設計部26は、冗長化した管理ID「R#1−1」〜「R#1−5」の仮想マシンを、同じ物理マシン73上に配置せずに、夫々異なる物理マシン73上に配置する配置設計情報を作成する。1個の物理マシン73に障害が発生した際、他の物理マシン73上に配置された仮想マシンによって、ユーザに対してサービスが継続的に提供されることが望ましい。
第2設計部27は、第2読込み部25から読み込んだ、要求情報、物理マシン情報、既存配置設計情報及び待機物理マシン要求情報を基に仮想マシンを再配置した配置設計情報を作成する。なお、作成された配置設計情報は、既存配置設計情報との差分情報が含まれる。第2設計部27は、作成された配置設計情報を、配備処理部2の作成部24に送信する。第2設計部27は、作成された配置設計情報を、データ管理部3のアクセス部32を介して、データ管理部3の配置情報格納部35に書き込み記憶させる。第2設計部27は、以下の手順で仮想マシンの再配置に用いられる配置設計情報を作成する。
第2設計部27は、電源投入中の複数の物理マシン73の個々の残余能力を求める。第2設計部27は、求めた物理マシン73の個々の残余能力から、残余能力が待機物理マシン要求情報の待機物理マシン要求能力以上である物理マシン73を判定する。判定後、第2設計部27は、残余能力が待機物理マシン要求情報の待機物理マシン要求能力以上である物理マシン73の合計数を求める。第2設計部27は、物理マシン73の合計数が待機物理マシン要求数より少ない場合に、残余能力が待機物理マシン要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。第2設計部27は、選択された個々の物理マシン73に配備された複数の仮想マシンの中から、選択された個々の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを選択する。
なお、実施例1に係る情報処理システム1000において、指定可能な仮想マシンの要求能力の最大値と、ユーザ当りの平均仮想マシン数と、オフセット数α個から求められる待機物理マシン要求数と、から求められる情報を、待機物理マシン要求情報とする。実施例1に係る情報処理システム1000における待機物理マシン要求情報の1例は、以下のとおりである。
待機物理マシン要求情報は、指定可能な仮想マシンの最大要求能力と(ユーザ当りの平均仮想マシン数+オフセット数α個)とを用いて求められる。
第2設計部27は、前述した待機物理マシン要求情報に基づいて、物理マシン群7の物理マシン73の残余能力が不足している場合に、移動対象となる仮想マシンを同じ物理マシン73上に配置されないように再配置させる仮想マシンの配置設計情報を作成する。第2設計部27によって作成された配置設計情報に基づいて、配備部/移動配備部38が物理マシン73上で仮想マシンを移動することにより、待機物理マシン要求情報を満足する配置設計情報を作成することができる。このように作成された仮想マシンの配置設計情報を再配置した配置設計情報という。
実施例1に係る指定可能な要求仮想マシンの最大要求能力は「5」である。実施例1に係るユーザ当りの平均仮想マシン数は、図5Aに示す各管理IDの仮想マシンの平均仮想マシン数である「4」である。実施例1に係るオフセット数αは、「1」と設定する。
実施例1に係る待機物理マシン要求情報は、情報処理システム1000において、ユーザから最大要求能力「5」を有する仮想マシンを最大「5」個配備する要求情報に対して、仮想マシンを物理マシン73に配備できることが望ましい。即ち、実施例1に係る情報処理システム1000が待機物理マシン要求情報を満足するためには、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73が「5個(所定数)」以上となることが望ましい。なお、待機物理マシン要求情報を設定する各数値は、適宜変更することができる。
なお、平均仮想マシン数は、配備要求に含まれる仮想マシンの配備要求数の平均から求める工程を実施して求めることが望ましい。仮想マシンの配備要求数の平均を求める工程を実施することにより、仮想マシンの配備要求数が変化しても、適宜適切な待機物理マシン要求情報を提供できる。
第2設計部27は、仮想マシンが配置済みの物理マシン73の配置設計情報に基づいて、電源投入又は電源切断する物理マシン73のID及び数を決定する。第2設計部27は、電源投入又は電源切断する物理マシン73のID及び数を電源投入/電源切断部28に送信する。第2設計部27は、電源投入又は電源切断する場合に、物理マシン情報を変更し、データ管理部3のアクセス部32を介してデータ管理部3の物理マシン情報格納部34に書き込む。
電源投入/電源切断部28は、第2設計部27から受信した電源投入又は電源切断する物理マシン73のID及び数に基づいて、物理マシン73の電源投入又は電源切断を行う。
データ管理部3のアクセス部32は、第1読込み部23、作成部24、第2読込み部25、第1設計部26、第2設計部27及び配備部/移動配備部38から指示された情報を、当該指示に対応する要求情報格納部33と、物理マシン情報格納部34と、配置情報格納部35と、配備情報/移動情報格納部36と、待機物理マシン要求情報格納部37について読込み又は書込む。
配備部/移動配備部38は、配備情報/移動情報格納部36の配備情報に基づいて、仮想マシンを物理マシン群7の物理マシン73上に配備する。配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて、仮想マシンを物理マシン73上で移動させる。一方、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて、仮想マシンを物理マシン群7の物理マシン73上から削除する。配備部/移動配備部38は、仮想マシンの配備、移動及び削除が完了した後、配備情報/移動情報格納部36のうち、配備、移動及び削除が完了した仮想マシンの関連情報を空の状態へ上書きし、配備、移動及び削除が完了した仮想マシンの関連情報を削除する。
データ管理部3は、配備処理部2が作成した要求情報、配備情報、移動情報、予め用意された物理マシン情報、待機物理マシン要求情報及び配置設計情報を格納する処理を行う。
また、データ管理部3は、要求情報、物理マシン情報及び既存配置設計情報から作成された配備情報に基づいて、実際に仮想マシンを、前述した図3に示すように物理マシン群7の物理マシン73上に配備する。データ管理部3は、要求情報、物理マシン情報、配置設計情報及び待機物理マシン情報から作成された移動情報に基づいて、実際に仮想マシンを物理マシン73上で移動させる。
データ管理部3は、要求情報格納部33と、物理マシン情報格納部34と、配置情報格納部35と、配備情報/移動情報格納部36と、待機物理マシン要求情報格納部37とを有する。
図5Aは、要求情報格納部33及び要求情報格納部33に格納される要求情報の一例を示す図である。
要求情報格納部33は、複数の要求情報を、例えば、要求情報が入力された順に格納する。要求情報には、例えば、要求情報が入力された順に仮想マシンの要求IDが付与される。仮想マシンの要求IDは、情報処理システム1000において一意に定まる識別番号である。
1個の識別情報は、仮想マシンの要求ID毎に、リソースID、数量、能力及び管理IDを含む。リソースIDは、要求情報を入力したユーザ名でも良い。数量は、要求情報を参照して要求された仮想マシンの数である。能力は、要求情報を参照して要求された仮想マシンの能力である。管理IDは、要求情報を参照して要求された仮想マシンの各々に付与される。各々の仮想マシンは管理IDにより管理される。管理IDは、情報処理システム1000において一意に定まる識別番号である。
例えば、リソース要求端末500から、任意のリソースIDであるBの要求情報が入力されると、要求情報に仮想マシンの要求ID「R#2」が付与され、要求情報の内容が抽出される。要求情報としては、リソースIDが「B」、数量が「4」、能力が「5」であることが抽出される。抽出された数量「4」に基づいて、管理ID「R#2−1」〜「R#2−4」が、各々の仮想マシンに付与される。
なお、要求情報格納部33に、要求情報として、上述以外の情報を格納するようにしても良い。例えば、要求情報が制御装置1によって受信された時刻を格納するようにしても良い。
図5Bは、実施例1に係る情報処理システムの要求情報格納部33及び要求情報格納部33に格納される仮想マシン及び物理マシンの性能の一例を示す図である。
前述したように、リソースの割当要求で指定可能な仮想マシンの能力は、データセンタ100の運用者がユーザに対して予め取り決めておくことができ、複数用意することも可能である。図5Bに示すように、実施例1及び後述する実施例2において、物理マシン73のCPU周波数は、10.0GHzに設定されている。物理マシン73のメモリ容量は、17.0GBに設定されている。リソースID:Aの各仮想マシンのCPU周波数は、3.0GHzに設定されている。リソースID:Aの各メモリ容量は、5.1GBに設定されている。リソースID:Bの各仮想マシンのCPU周波数は、4.0GHzに設定されている。リソースID:Bの各メモリ容量は、6.8GBに設定されている。リソースID:Cの各仮想マシンのCPU周波数は、5.0GHzに設定されている。リソースID:Cの各メモリ容量は、8.5GBに設定されている。
図6Aは、物理マシン情報格納部34及び物理マシン情報格納部34に格納される物理マシン情報の一例を示す図である。
物理マシン情報格納部34は、複数の物理マシン情報を格納する。1個の物理マシン73には、例えば、予め、物理マシン73が設置された順に物理マシンIDが付与される。物理マシンIDは、情報処理システム1000において一意に定まる識別番号である。この例においては、物理マシン群7に設置された10個の物理マシン73には、物理マシンID「M#1」〜「M#10」が割当てられる。
1個の物理マシン情報は、物理マシンID毎に、物理マシン73の状態及び能力を含む。状態とは、物理マシン73の状態、例えば、電源の状態を示す。
なお、状態としては、電源の状態以外の種々の状態を格納するようにしても良い。例えば、物理マシン73が故障していること、物理マシン73がスタンバイ状態であること等を示す情報を格納するようにしても良い。物理マシン73が故障している場合に、故障している物理マシン73上に仮想マシンは配備されない。また、物理マシン群7の電源が投入された物理マシン73は、通常スタンバイ状態に設定される。
図6Bは、物理マシン情報格納部34及び物理マシン情報格納部34に格納される物理マシン情報の一例を示す図である。なお、図6Bにおいて、図6Aで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図6Bにおいて、制御装置1の第2設計部27は、移動対象の仮想マシンの仮の配備先として物理マシンID「M#6」の物理マシン73を選択する。選択された物理マシンID「M#6」の状態を「仮投入」とする。「仮投入」は、選択された物理マシンID「M#6」の電源を投入した状態をシミュレートしていることを示す。
図6Cは、物理マシン情報格納部34及び物理マシン情報格納部34に格納される物理マシン情報の一例を示す図である。なお、図6Cにおいて、図6A及び図6Bで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図6Cにおいて、第2設計部27は、移動対象の仮想マシンの仮の配備先として物理マシンID「M#7」の物理マシン73を選択する。選択された物理マシンID「M#7」の物理マシン73の状態を「仮投入」とする。
図7Aは、配置情報格納部35及び配置情報格納部35に格納される配置設計情報の一例を示す図である。
配置情報格納部35は、最新の配置設計情報を格納する。配置設計情報は、物理マシンID毎における物理マシン73の利用情報、差分情報及び残余能力を含む。利用情報は、最新の物理マシンIDの物理マシン73に割当てられた管理IDを示す。差分情報は、最新の設計で利用情報を更新した情報を示す。残余能力は、物理マシンIDの物理マシン73において、管理IDに割当てられていない能力の数である。実施例1において、1台の物理マシン73が配備可能な仮想マシンの数は10であり、仮想マシン未割当ての状態では、物理マシン残余能力は「10」である。
図7Aにおいて、物理マシンID「M#1」の物理マシン73上に、管理ID「R#1−1」の能力「3」及び「R#2−1」の能力「5」の仮想マシンが配備されている。この場合の物理マシンID「M#1」の物理マシン73の残余能力は「2」である。
また、物理マシンID「M#3」の物理マシン73上に、管理ID「R#1−3」が配備されていた後に、新たに第1設計部26が管理ID「R#3−1」の仮想マシンを物理マシンID「M#3」の物理マシン73へ配置設計した場合に、利用情報が更新されて「R#1−3、R#3−1」となる。又、差分情報は利用情報の更新した情報として「R#3−1 追加」となり、この時点で残余能力は「3」となる。
図7Bは、配置情報格納部35及び配置情報格納部35に格納される配置設計情報の一例を示す図である。なお、図7Bにおいて、図7Aで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図7Bにおいて、物理マシンID「M#1」の物理マシン73上に、管理ID「R#1−1」の仮想マシンの能力「3」の仮想マシンが配備されている。この場合の物理マシンID「M#1」の物理マシン73の残余能力は「7」である。又、差分情報は利用情報の更新した情報として「R#1−1 追加」となる。この時点で、物理マシンID「M#1」の物理マシン73の残余能力は「7」となる。
図7Cは、配置情報格納部35及び配置情報格納部35に格納される配置設計情報の一例を示す図である。なお、図7Cにおいて、図7A及び図7Bで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図7Cにおいて、物理マシンID「M#4」の物理マシン73上に、管理ID「R#1−4」の仮想マシンが配備された後に、新たに第1設計部26が管理ID「R#2−4」の仮想マシンを物理マシンID「M#4」の物理マシン73から出して物理マシンID「M#6」の物理マシン73へ仮移動させる場合に、利用情報が更新されて「R#1−4」となる。差分情報は利用情報の更新した情報として「R#2−4 仮移動:出」となる。「仮移動」は、第1設計部26が管理ID「R#2−4」の仮想マシンを物理マシンID「M#4」の物理マシン73から移動させた状態をシミュレートしていることを示す。この時点で、物理マシンID「M#4」の物理マシン73の残余能力は「仮7」となる。「仮7」は、選択された物理マシンID「M#4」の物理マシン73から、管理ID「R#2−4」の仮想マシンが移動した状態をシミュレートしていることを示す。
また、物理マシンID「M#6」の物理マシン73上に、第1設計部26が管理ID「R#2−4」の仮想マシンを物理マシンID「M#4」の物理マシン73から物理マシンID「M#6」の物理マシン73へ仮移動させて入れる場合に、利用情報が更新され「仮R#2−4」となる。差分情報は利用情報の更新した情報として「R#2−4 仮移動:入」となる。この時点で、物理マシンID「M#6」の物理マシン73の残余能力は「仮5」となる。「仮5」は、選択された物理マシンID「M#6」の物理マシン73へ、管理ID「R#2−4」の仮想マシンが移動した状態をシミュレートしていることを示す。
図7Dは、配置情報格納部35及び配置情報格納部35に格納される配置設計情報の一例を示す図である。なお、図7Dにおいて、図7A〜図7Cで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図7Dにおいて、物理マシンID「M#3」の物理マシン73上に、管理ID「R#1−3」の仮想マシンが配備された後に、新たに第1設計部26が管理ID「R#2−3」を物理マシンID「M#3」から出して物理マシンID「M#7」へ仮移動させる場合に、利用情報が更新され「R#1−3」となり、差分情報は利用情報の更新した情報として「R#2−3 仮移動:出」となる。この時点で、物理マシンID「M#3」の物理マシン73の残余能力は「仮7」となる。「仮7」は、選択された物理マシンID「M#3」の物理マシン73から、管理ID「R#2−3」の仮想マシンが移動した状態をシミュレートしていることを示す。
また、物理マシンID「M#7」の物理マシン73上に、第1設計部26が管理ID「R#2−3」の仮想マシンを物理マシンID「M#3」の物理マシン73から物理マシンID「M#7」の物理マシン73へ仮移動させて入れる場合に、利用情報が更新され「仮R#2−3」となる。差分情報は利用情報の更新した情報として「R#2−3 仮移動:入」となる。この時点で、物理マシンID「M#7」の物理マシン73の残余能力は「仮5」となる。「仮7」は、選択された物理マシンID「M#7」の物理マシン73へ、管理ID「R#2−3」の仮想マシンが移動した状態をシミュレートしていることを示す。
図8Aは、配備情報/移動情報格納部36及び配備情報/移動情報格納部36に格納される移動情報の一例を示す図である。
配備情報/移動情報格納部36は、複数の仮想マシンの配備情報及び移動情報を格納する。仮想マシンの配備情報及び移動情報は、管理ID毎に、要求ID、移動元及び移動先を含む。移動元は、管理IDの仮想マシンが現在配備されている物理マシン73を示す。ただし、管理IDの仮想マシンが新たに配備される場合は、移動元は「なし」となる。移動先は、管理IDの仮想マシンが配備または移動されるべき物理マシン73を示す。図8Aが示す複数の仮想マシンの移動情報は、要求ID「R#3」の管理ID「R#3−1」〜「R#3−4」の4台の仮想マシンが、新規配備で物理マシン73の「M#3」〜「M#6」へそれぞれ配備されることを示す。
図8Bは、配備情報/移動情報格納部36及び配備情報/移動情報格納部36に格納される仮想マシンの移動情報の一例を示す図である。なお、図8Bにおいて、図8Aで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図8Bが示す仮想マシンの移動情報は、管理ID「R#3−4」の仮想マシンが、マシンID「M#6」の物理マシン73から、管理ID「M#8」の物理マシン73に移動することを示す。
図8Cは、配備情報/移動情報格納部36及び配備情報/移動情報格納部36に格納される仮想マシンの移動情報の一例を示す図である。なお、図8Cにおいて、図8A及び図8Bで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図8Cは、仮想マシン削除を表す移動情報の一例を示す。削除を表す移動情報の場合は、移動先の物理マシン73に「なし」を設定する。図8Cが示す複数の仮想マシンの移動情報は、管理ID「R#1−2」及び「R#1−3」の仮想マシンが削除されることを示す。
図8Dは、配備情報/移動情報格納部36及び配備情報/移動情報格納部36に格納される仮想マシンの移動情報の一例を示す図である。なお、図8Dにおいて、図8A〜図8Cで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図8Dが示す複数の仮想マシンの移動情報は、管理ID「R#2−4」の仮想マシンが、マシンID「M#4」の物理マシン73から、管理ID「M#6」の物理マシン73に仮移動することを示す。
図8Eは、配備情報/移動情報格納部36及び配備情報/移動情報格納部36に格納される仮想マシンの移動情報の一例を示す図である。なお、図8Eにおいて、図8A〜図8Dで説明した構成と同様の構成には同一の符号を付し、説明を省略する。
図8Eが示す複数の仮想マシンの移動情報は、管理ID「R#2−4」の仮想マシンが、マシンID「M#4」の物理マシン73から、管理ID「M#6」の物理マシン73に仮移動することを示す。同時に、管理ID「R#2−3」の仮想マシンが、マシンID「M#3」の物理マシン73から、管理ID「M#7」の物理マシン73に仮移動することを示す。
なお、図8A〜図8Eに係る配備情報及び移動情報は、仮想マシンの配備及び移動完了後に消去される。なお、配備情報及び移動情報は、仮想マシンの配備及び移動終了後に空の状態に上書きされても良い。又、配備情報及び移動情報は、次の配備情報及び移動情報格納時に上書きされても良い。又、配備情報及び移動情報は、配備及び移動終了状態を管理しながら新配備及び移動情報を随時追加しても良い。
なお、配備情報/移動情報格納部36は、配備情報及び移動情報として、移動元等以外の情報を格納するようにしても良い。例えば、配備及び移動対象となる仮想マシンについての要求情報が、制御装置1によって受信された時刻、配備時刻、移動時刻、配備対象となる仮想マシン及び移動対象となる仮想マシンの能力等を格納するようにしても良い。
図9は、待機物理マシン要求情報格納部37及び待機物理マシン要求情報格納部37に格納される待機物理マシン要求情報の一例を示す図である。
待機物理マシン要求情報格納部37は、待機物理マシン要求数及び待機物理マシン要求能力を格納する。待機物理マシン要求数及び待機物理マシン要求能力は、データセンタ100の運用者が設定する。待機物理マシン要求数及び待機物理マシン要求能力は、任意の値に設定が可能である。また、待機物理マシン要求数及び待機物理マシン要求能力は、適宜変更も可能である。実施例1に係る待機物理マシン要求能力は、リソースの割当要求で指定可能な最大要求能力である「5」が設定される。待機物理マシン要求数は、実施例1に係るユーザ当りの平均仮想マシン数である「4」に、オフセット数の「1」を加えた「5」が設定される。即ち、制御装置1の待機物理マシン要求情報格納部37は、予め設定された数である平均仮想マシン数を、割当要求に含まれる仮想マシンの割当要求数の平均から求める。
図10A、図10B及び図10Cは、実施例1に係る情報処理システム1000が実行する仮想マシン配備処理のフローチャートを示す図である。図10Aに示す処理は図10Bの「A」に続いている。図10Bに示す処理は図10Aの「B」と図10Cの「C」に続いている。図10Cに示す処理は図10Aの「B」に続いている。
図10Aに示すように、割当要求入力部21は入力待ちの状態にある(OP1)。この状態において、リソース要求端末500から1個のリソースの割当要求が入力されると(OP2)、割当要求入力部21は、仮想マシンの割当要求を受信する。
次いで、要求情報抽出部22は、入力された割当要求から、仮想マシンの能力、数、構成情報等の要求情報を抽出する(OP3)。次いで、第1読込み部23が、要求情報格納部33に、1個のリソース分の抽出された要求情報を書き込む(OP4)。
次いで、第1設計部26は、例えば要求情報抽出部22からの要求情報の受信を契機として、物理マシン情報格納部34から物理マシン情報を読み込む(OP5)。更に、第1設計部26は、要求情報抽出部22からの要求情報の受信を契機として、配置情報格納部35から既存配置設計情報を読み込む(OP5)。
次いで、第1設計部26は、1リソースの要求情報、物理マシン情報、及び既存配置情報から仮想マシンの配置設計を行い、仮想マシンの新配置設計情報を作成する(OP6)。このとき、第1設計部26は、M個(Mは1以上の整数)の物理マシン73のうち、残余能力が所定の能力以上の物理マシン73の所定数を、仮想マシンの配置要求数の平均から求めることが望ましい。新配置設計情報を作成する時、物理マシン情報の電源状態が切断の物理マシン73へ仮想マシンを配置する設計した場合に、第1設計部26は、物理マシン情報管理部34の物理マシン情報を更新する(OP6)。
第1設計部26は、新配置設計情報を配置情報格納部35に書き込み、新配置設計情報を作成部24に送信する(OP7)。
次いで、第1設計部26は、OP6で、物理マシン情報の電源状態が切断から投入へ変更があったか判定する(OP8)。変更がなければ(OP8:NO)、OP9の処理を行う。
OP6で、物理マシン情報の電源状態が切断から投入へ変更があった場合に(OP8:YES)、電源投入/電源切断部28は、変更のあった物理マシンIDの物理マシン73の電源を投入し(OP9)、OP10の処理を行う。
次いで、作成部24は、新配置設計情報の差分情報より仮想マシンの配備情報及び移動情報を作成する(OP10)。作成部24は、作成した仮想マシンの配備情報及び移動情を、配備情報/移動情報格納部36に書き込む(OP11)。配備部/移動配備部38は、1リソースの割当要求から作成された仮想マシンの配備情報及び移動情報に基づいて、仮想マシンを物理マシン群7の物理マシン73に配備及び移動する(OP12)。配備部/移動配備部38は、仮想マシンの配備が完了した後、配備情報/移動情報格納部36のうち配備及び移動が完了した仮想マシンの配備情報を空の状態に上書きし、配備及び移動が完了した仮想マシンの配備情報を削除する(OP13)。
図10Bに示すように、第2設計部27は、データ管理部3から、物理マシン情報、配置設計情報、全リソース要求情報及び待機物理マシン要求情報を読み出す(OP21)。具体的には、第2設計部27は、要求情報格納部33から、第2読込み部25を介して、全リソースの要求情報を読み出す(OP21)。第2設計部27は、物理マシン情報格納部34から、第2読込み部25を介して、物理マシン情報を読み出す(OP21)。第2設計部27は、配置情報格納部35から、第2読込み部25を介して、物理マシン73上に仮想マシンが配置された最新の配置設計情報を読み出す(OP21)。第2設計部27は、待機物理マシン要求情報格納部37から、第2読込み部25を介して、待機物理マシン要求情報を読み出す(OP21)。
次いで、第2設計部27は、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する(OP22)。即ち、第2設計部27は、電源投入中の複数の物理マシン73の個々の残余能力を求め、残余能力が待機物理マシン要求情報の待機物理マシン要求能力以上である物理マシン73を判定し、その合計数を求める。次いで、第2設計部27は、物理マシン73の合計数が待機物理マシン要求数以上であるか判定する(OP22)。即ち、制御装置1の第2設計部27は、変更後のM−1個以下の物理マシン73のうち残余能力が所定の能力以上の物理マシン73の数が所定数に達する変更が可能か判定を行う。
物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足しない場合に(OP22:NO)、第2設計部27は、残余能力が待機物理マシン要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する(OP23)。即ち、制御装置1の第2設計部27は、M−1個以下の物理マシンのうち残余能力が所定の能力以上の物理マシンの数が所定数に達する変更が可能か判定を行い、変更が可能と判定された場合に、変更を実行する。このとき、「1個」の物理マシン73の電源投入が終わった時点でも、任意のタイミング及び任意の性能値を有する仮想マシンが、物理マシン73上に配備又は削除される可能性がある。そのため、残余性能は、物理マシン73の電源投入が終わった時点でも変更される可能性がある。そのため、電源投入中の物理マシン73の数を常に最小限にするために、電源投入中の物理マシン73の個々の残余性能を求め、物理マシン73の電源投入又は仮投入を1個ずつ行うことが望ましい。
なお、物理マシン群7内の物理マシン73が、待機物理マシン要求情報をしない場合(OP22:NO)とは、待機物理マシン要求能力を満足した物理マシン73の合計数が待機物理マシン要求数未満である場合(OP22:NO)である。
一方、物理マシン群7内の物理マシン73が待機物理マシン要求情報を満足する場合に(OP22:YES)、第2設計部27は、図10Cに示すOP41の処理を行う。
次いで、第2設計部27は、物理マシン群7内の物理マシン73上の仮想マシンにおける再配置を行う配置設計情報を作成する(OP24)。第2設計部27は、例えば、選択した物理マシン73に配備された複数の仮想マシンの中から、選択した物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを選択する(OP24)。第2設計部27は、移動対象の仮想マシンの移動先として電源が切断されている物理マシン73を一つ選択し、仮の配備先とする。電源投入/電源切断部28は、後述するOP28の工程により、選択された仮の配備先の物理マシンIDのマシン73の電源状態を変更する。
次いで、作成部24は、仮想マシンの仮の配備先の物理マシン73に基づいて、新たな移動情報を作成する(OP25)。
次いで、第2設計部27は、OP22と同様に、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する(OP26)。即ち、第2設計部27は、電源投入中と仮の配備先の複数の物理マシン73の個々の残余能力を求め、残余能力が待機物理マシン要求情報の待機物理マシン要求能力以上である物理マシン73を判定し、その合計数を求める。第2設計部27は、求めた物理マシン73の合計数が、待機物理マシン要求数以上であるか判定する(OP26)。
要求能力を満足した物理マシン73の合計数が待機物理マシン要求数未満である場合に(OP26:NO)、第2設計部27は、OP23の処理に戻る。
一方、要求能力を満足した物理マシン73の合計数が待機物理マシン要求数以上である場合に(OP26:YES)、電源投入/電源切断部28は、新配置設計情報及び物理マシン情報に応じて電源投入予定の仮の配備先の物理マシン73の電源を投入する(OP27)。
次いで、作成部24は、配備情報/移動情報格納部36に、再配置した仮想マシンの配置設計情報に基づいて、作成した移動情報を書き込む(OP28)。第2設計部27はアクセス部32を介して、物理マシン情報格納部34の物理マシン情報を更新する(OP28)。
次いで、配備部/移動配備部38は、1リソースの要求情報、配備情報/移動情報格納部36が格納する移動情報に基づいて、仮想マシンを物理マシン群7の物理マシン73上で移動する(OP29)。即ち、制御装置1の配備部/移動配備部38は、移動対象の仮想マシンの合計数分の物理マシン73に電源を投入して、電源投入された物理マシン73に移動対象の仮想マシンをそれぞれ移動させる。
次いで、配備部/移動配備部38は、仮想マシンの移動が完了した後、配備情報/移動情報格納部36のうち移動が完了した仮想マシンの移動情報を空の状態に上書きし、移動が完了した仮想マシンの移動情報を削除する(OP30)。その後、OP1の処理を繰り返す。
一方、待機物理マシン要求情報を満足する場合に(OP22:YES)、図10Cに示すように、第2設計部27は、待機物理マシン要求能力を満した物理マシン73の合計数が待機物理マシン要求数より多いか判定する(OP41)。すなわち、割当要求が仮想マシンの削除要求であった場合に、電源投入されている物理マシン73で利用されていない能力の量が、割当要求が入力される以前より増加するので、そのままの状態では余分な電力を消費することになる。そのため、可能であれば、待機物理マシン要求情報まで物理マシン73の電源を切断してもよい。
待機物理マシン要求能力を満した物理マシン73の合計数が待機物理マシン要求数以下の場合に(OP41:NO)、第2設計部27は、OP1の処理を繰り返す。即ち、制御装置1の第2設計部27は、残余能力が所定の能力以上の物理マシン73の数が所定数になるまで、OP1の処理を繰り返す。
待機物理マシン要求能力を満した物理マシン73の合計数が待機物理マシン要求数より多い場合に(OP41:YES)、第2設計部27は、待機物理マシン要求能力を満足する物理マシン73の中で、仮想マシンが1台も配備されていない物理マシン73が存在するか判定する(OP42)。仮想マシンが1台も配備されていない物理マシン73が存在しない場合に(OP42:NO)、第2設計部27は、OP1の処理を繰り返す。即ち、制御装置1の第2設計部27は、残余能力が所定の能力以上の物理マシン73の数が所定数になるまで、OP1の処理を繰り返す。
仮想マシンが1台も配備されていない物理マシン73が存在する場合に(OP42:YES)、第2設計部27は、仮想マシンが1台も配備されていない物理マシン73を1台選択し、電源投入/電源切断部28を介して、選択した物理マシン73の電源を切断する(OP43)。即ち、制御装置1の第2設計部27は、M個の物理マシン73に配置された仮想マシンをM−1個以下の物理マシン73に配置する変更によって、物理マシン73に配備された仮想マシンが全て移動した場合に、仮想マシンが全て移動した物理マシン73の電源を切断する。第2設計部27は、物理マシン情報格納部34の物理マシン情報に関して、電源を切断した物理マシン73の物理マシンIDに対応する電源状態を切断となるように更新する。次いで、第2設計部27は、OP41の処理に戻る。
実施例1では、待機物理マシン要求情報を満足する場合に、既存の配置設計情報を参照して求めた待機物理マシン要求数を用いて判定を行っている。しかし、移動アルゴリズムを利用して待機物理マシン要求情報を満足し、且つ仮想マシンを配備しない物理マシン73を作るように仮想マシンを移動させることが可能な場合がある。そのような場合は、一旦、新たな配置設計情報、移動情報を作成した後、実施例と同様のOP41の処理を開始しても良い。
図11から図18は、実施例1の情報処理システム1000に係る資源管理の一例を示す図である。
図11は、実施例1の情報処理システム1000に係る割当要求の入力を示す図である。図11に示すように、リソースAから、時刻T1に、割当要求が入力される。入力された割当要求は、能力が「3」の仮想マシンを「5個」要求するものである。仮想マシンの割当要求が入力されると、データセンタ100は、直ちにサービスを開始する。従って、制御装置1の要求情報抽出部22は、時刻T1に割当要求入力部21から割当要求が入力されると、割当要求に仮想マシンの要求ID「R#1」を付与して要求情報を抽出し、抽出された要求情報を、図4に示す要求情報格納部33に格納する。第1設計部26は、第1読込み部23を介して、物理マシン情報格納部34の物理マシン情報と配置情報格納部35の既存配置情報を読込み、新たな配置設計情報を設計する。制御装置1の配備部/移動配備部38は、第1設計部26で設計された新たな配置設計情報を基に、作成部24で作成された配備情報に基づいて、物理マシン群7の物理マシン73上に、R#1の割当要求に対応する仮想マシンを配置する。
図3の説明で前述したように、1個の物理マシン73上には、仮想マシンの能力「1」の仮想マシンが、10個分配置できることを仮定している。一方、R#1の割当要求に対応する仮想マシンの能力は「3」である。更に、T1の時点で、全ての物理マシン73に仮想マシンが配置されていない。そのため、仮想マシンは、先頭の物理マシンID「M#1」の物理マシン73から順に配置される。なお、仮想マシンIDについては、図3、図5A及び図5Bに示す仮想マシンIDが用いられる。
図12から図18は、実施例1の情報処理システム1000に係る仮想マシンの割当を示す図である。
図11で前述したように、リソースAから、時刻T1に、割当要求が入力される。
第1設計部26は、第1読込み部23を介して、物理マシン情報格納部34の物理マシン情報及び配置情報格納部35の既存配置情報を読込み、新たな配置設計情報を設計する。次いで、第1設計部26は、図7Bに示す配置設計情報を配置情報格納部35に格納する。制御装置1の配備部/移動配備部38は、図12Aに示すように、第1設計部26で設計された配置設計情報及び作成部24で作成された配備情報に基づいて、物理マシン群7の物理マシン73上に、R#1の割当要求に対応する仮想マシンを配置する。配備部/移動配備部38は、物理マシンID「M#1」〜「M#5」のそれぞれの物理マシン73上に、リソースAの管理ID「R#1−1」〜「R#1−5」の仮想マシンをそれぞれ1個ずつ配備する。
次に、図12Aにおいて、第2設計部27は、第2読込み部25を介して、要求情報格納部33の全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37の待機物理マシン要求情報を読み込む。次いで、第2設計部27は、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。ここでは、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「5個」であるため、待機物理マシン要求情報の待機物理マシン要求能力が「5」の待機物理マシン要求数「5個」を満足する。次いで、待機物理マシン要求情報の待機物理マシン要求能力と待機物理マシン数と比較すると、両方とも同じ「5個」であるため、データセンタ100は割当要求の入力待ちとなる。
次いで、図11に示すように、リソースBから、時刻T2に、割当要求入力部21から能力が「5」の仮想マシンを「4個」要求する割当要求が入力される。制御装置1の要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#2」を付与する。
次いで、図12Bに示すように、制御装置1の配備部/移動配備部38は、第1設計部26で設計された配置設計情報及び作成部24で作成された配備情報に基づいて、物理マシン群7の物理マシン73上に、R#2の割当要求に対応する仮想マシンを配備する。ここでは、管理ID「R#2−1」〜「R#2−4」の仮想マシンは、物理マシンID「M#1」〜「M#4」の物理マシン73にそれぞれ配備される。
図12Bにおいて、制御装置1の第2設計部27は、第2読込み部25を介して、要求情報格納部33の全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37の待機物理マシン要求情報を読み込む。次いで、第2設計部27は、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。第2設計部27は、図3で前述した電源投入中である物理マシンID「M#1」〜「M#5」の物理マシン73の個々の残余能力を求める。図12Bにおいて、物理マシンID「M#1」〜「M#4」の物理マシン73の残余能力は「2」である。物理マシンID「M#5」の物理マシン73の残余能力は「7」である。
次いで、第2設計部27は、物理マシンID「M#1」〜「M#5」の物理マシン73の中で、残余能力が待機物理マシン要求能力「5」以上の物理マシン73を判定し、その合計数を求める。判定の結果、物理マシン73の残余能力が待機物理マシン要求能力以上の物理マシン73の合計数は、物理マシンID「M#5」の物理マシン73が「1個」である。
残余能力「5」の合計数は、「5個」未満であるため、待機物理マシン要求能力「5」が待機物理マシン要求数「5個」を満足しない。そのため、情報処理システム1000の待機物理マシン要求情報は満足しない。
次いで、第2設計部27は、残余能力が待機物理マシン要求能力より少ない物理マシンID「M#1」〜「M#4」の物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。選択された物理マシン73は、物理マシンID「M#4」の物理マシン73である。
選択された物理マシンID「M#4」の物理マシン73は、複数の仮想マシンである管理ID「R#1−4」及び「R#2−4」の仮想マシンを配備する。第2設計部27は、管理ID「R#1−4」及び「R#2−4」の仮想マシンの中から、選択された物理マシンID「M#4」の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを1個選択する。ここで、選択された移動対象の仮想マシンは、管理ID「R#2−4」の仮想マシンである。
図13Aにおいて、第2設計部27は、移動対象の仮想マシン「R#2−4」の仮の配備先として物理マシンID「M#6」の物理マシン73を選択する。第2設計部27は、選択された物理マシンID「M#6」の物理マシン73の状態を「仮投入」とする。第2設計部27は、この物理マシンID「M#6」を仮の配備先とした図7Cで示す仮想マシンの再配置を行う配置設計情報(図13B)を作成する。作成部24は、図7Cで示す配置設計情報を基に図8Dで示す移動情報を作成する。
図13Bにおいて、第2設計部27は、図12Aで前述した方法と同様の方法で、物理マシン群7内の物理マシン73が待機物理マシン情報を満足するか判定する。
第2設計部27は、電源状態が仮投入中を含め、電源投入中である物理マシンID「M#1」〜「M#6」の物理マシン73の個々の残余能力を求める。図13Bにおいて、物理マシンID「M#1」〜「M#3」の物理マシン73の残余能力は「2」である。物理マシンID「M#4」〜「M#5」の物理マシン73の残余能力は「7」である。物理マシンID「M#6」の物理マシン73の残余能力は「5」である。そのため、第2設計部27は、要求能力「5」を満足する物理マシン73の合計数が「3個」であり、待機物理マシン要求数の「5個」未満である。そのため、情報処理システム1000の待機物理マシン要求情報は満足しないと判定される。
次いで、第2設計部27は、残余能力が要求能力より少ない物理マシンID「M#1」〜「M#3」の物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。選択された物理マシン73は、物理マシンID「M#3」の物理マシン73である。
選択された物理マシンID「M#3」の物理マシン73は、複数の仮想マシンである管理ID「R#1−3」及び「R#2−3」の仮想マシンが配備されている。第2設計部27は、管理ID「R#1−3」及び「R#2−3」の仮想マシンの中から、選択された物理マシンID「M#3」の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを1個選択する。選択された移動対象の仮想マシンは、管理ID「R#2−3」の仮想マシンである。
図14Aにおいて、第2設計部27は、移動対象の仮想マシン「R#2−3」の仮の配備先として物理マシンID「M#7」の物理マシン73を選択する。第2設計部27は、物理マシン情報格納部34の物理マシン情報を参照して、物理マシンID「M#7」の物理マシン73の状態を、図6Cで示す「仮投入」とする。第2設計部27は、この物理マシンID「M#7」の物理マシン73を仮の配備先とした図7Dで示す仮想マシンの再配置を行う配置設計情報(図14B)を作成する。作成部24は、図7Dで示す配置設計情報を基に図8Eで示す移動情報を作成する。
図14Bにおいて、第2設計部27は、図12Aで前述した方法と同様の方法で、待機物理マシン情報を満足するか判定する。
第2設計部27は、電源状態が仮投入中を含め、電源投入中である物理マシン73において、物理マシン73の残余能力が「5」以上である物理マシン73は「5個」存在しているため、情報処理システム1000の待機物理マシン要求情報を満足する。
次いで、第2設計部27は、図7Dで示す配置設計情報及び図6Cで示す物理マシン情報から、電源投入部/電源切断部28を介して、物理マシンID「M#6」及び「M#7」の物理マシン73の電源を投入する。
次いで、第2設計部27は、物理マシン73の「仮投入」及び仮想マシンの「仮移動」情報を含む物理マシン73の仮情報を正式な情報に更新した配置設計情報を、配置設計情報格納部35に書き込む。次いで、第2設計部27は、物理マシン73の仮情報を正式な情報に更新した物理マシン情報を物理マシン情報格納部34へ書き込む。
次いで、制御装置1の作成部24は、前述した仮情報を正式な情報に更新した移動情報を、配備情報/移動情報格納部36へ書き込む。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて、管理ID「R#2−4」の仮想マシンを、物理マシンID「M#4」の物理マシン73から物理マシンID「M#6」の物理マシン73へ移動させる。次いで、配備部/移動配備部38は、管理ID「R#2−3」の仮想マシンを、物理マシンID「M#3」の物理マシン73から、物理マシンID「M#7」の物理マシン73へ移動させる。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報を空の状態に上書きする。
上述したように、制御装置1の配備処理部2は、物理マシン73の残余能力において、待機物理マシン要求能力を満足する物理マシン73の合計数が予め設定された待機物理マシン要求数を満足するまで、図12Aから図14Bまでの工程を繰り返し実行する。図12Aから図14Bまでの工程を繰り返し実行することにより、待機物理マシン要求能力を満足する物理マシン73の台数が待機物理マシン要求数を最小限に満足するまで、物理マシン73の電源を投入できる。電源投入中の物理マシン73の数を最小限に設定できるため、データセンタ100を含む情報処理システム1000の低消費電力化を図ることができる。
更に、配備処理部2は、仮想マシンの追加指示が行われた際、該仮想マシンの処理を起動中の物理マシン73だけでも処理が可能である場合は、該起動中の物理マシン73に、該仮想マシンを配備する。これと並行して、各物理マシン73の残余能力が、所定以下であれば、配備処理部2は、起動していない物理マシン73を起動させ、この起動が完了した時点で、起動していた物理マシン73が処理している仮想マシンの一部を移動させることとなる。よって、予め、仮想マシンを配備していない物理マシン73を起動させておかなくとも、新たに追加要求された仮想マシンの処理を、ユーザを待たせることなく実現させることができるようになる。
次いで、図11に示すように、リソースCから、時刻T3に、割当要求入力部21から能力が「4」の仮想マシンを「4個」要求する割当要求が入力される。制御装置1の要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#3」を付与する。
次いで、図15Aに示すように、制御装置1の配備部/移動配備部38は、第1設計部26で設計された配置設計情報及び作成部24で作成された配備情報に基づいて、物理マシン群7の物理マシン73上に、R#3の割当要求に対応する仮想マシンを配備する。ここでは、管理ID「R#3−1」〜「R#3−4」の仮想マシンは、物理マシンID「M#3」〜「M#6」の物理マシン73にそれぞれ配備される。
図15Aにおいて、第2設計部27は、第2読込み部25を介して、要求情報格納部33の全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37の待機物理マシン要求情報を読み込む。次いで、第2設計部27は、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。図15Aにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は、残余能力「5」である物理マシンID「M#7」の物理マシン73の1台のみのため、待機物理マシン要求情報を満足しない。
次いで、第2設計部27は、残余能力が要求能力より少ない物理マシンID「M#1」〜「M#6」の物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。選択された物理マシン73は、物理マシンID「M#6」の物理マシン73である。
選択された物理マシンID「M#6」の物理マシン73は、複数の仮想マシンである管理ID「R#2−3」及び「R#3−4」の仮想マシンが配備されている。第2設計部27は、「R#2−3」及び「R#3−4」の仮想マシンの中から、選択された物理マシンID「M#6」の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを1個選択する。ここで選択された移動対象の仮想マシンは、管理ID「R#3−4」の仮想マシンである。
図15Bにおいて、第2設計部27は、移動対象の仮想マシン「R#3−4」の仮の配備先として物理マシンID「M#8」の物理マシン73を選択する。第2設計部27は、物理マシン情報の物理マシンID「M#8」の状態を「仮投入」とする。第2設計部27は、管理ID「R#3−4」の仮想マシンが、この物理マシンID「M#8」の物理マシン73へ仮配備されることを示す配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
図16Aにおいて、第2設計部27は、図12Aで前述した方法と同様の方法で、待機物理マシン情報を満足するか判定する。
図16Aにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は3台のため、待機物理マシン要求情報を満足しない。
次いで、第2設計部27は、残余能力が要求能力より少ない物理マシンID「M#1」〜「M#5」の物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。選択された物理マシン73は、物理マシンID「M#2」の物理マシン73である。
選択された物理マシンID「M#2」の物理マシン73は、複数の仮想マシンである管理ID「R#1−2」及び「R#2−2」の仮想マシンが配備されている。第2設計部27は、管理ID「R#1−2」及び「R#2−2」の仮想マシンの中から、選択された物理マシンID「M#2」の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを1個選択する。ここで、選択された移動対象の仮想マシンは、管理ID「R#2−2」の仮想マシンである。
図16Bにおいて、第2設計部27は、移動対象の仮想マシン「R#2−2」の仮の配備先として物理マシンID「M#9」の物理マシン73を選択する。第2設計部27は、物理マシン情報の物理マシンID「M#9」の物理マシン73の状態を「仮投入」とする。第2設計部27は、仮想マシン「R#2−2」がこの物理マシンID「M#9」の物理マシン73へ仮配備されることを示す配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
図17Aにおいて、第2設計部27は、図12Aで前述した方法と同様の方法で、待機物理マシン要求情報を満足するか判定する。
図17Aにおいて、電源状態が仮投入中を含め、電源投入中である物理マシン73において、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「5個」存在している。そのため、情報処理システム1000の待機物理マシン要求情報を満足する。
次いで、第2設計部27は、図16Bにおいて設計を行った配置設計情報と電源状態を変更している物理マシン情報から、電源投入部/電源切断部28を介して、物理マシンID「M#8」及び「M#9」の物理マシン73の電源を投入する。
次いで、第2設計部27は、物理マシン73の「仮投入」及び仮想マシンの「仮移動」情報を含む物理マシンの仮情報を正式な情報に更新した配置設計情報を配置設計情報格納部35へ、仮情報を正式な情報に更新した物理マシン情報を物理マシン情報格納部34へ書き込む。
次いで、作成部24は、前述した仮情報を正式な情報に更新した移動情報を、配備情報/移動情報格納部36へ書き込む。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて管理ID「R#3−4」の仮想マシンを物理マシンID「M#6」の物理マシン73から物理マシンID「M#8」の物理マシン73へ移動させる。次いで、配備部/移動配備部38は、管理ID「R#2−2」の仮想マシンを、物理マシンID「M#2」の物理マシン73から、物理マシンID「M#9」の物理マシン73へ移動させる。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報を空の状態に上書きする。
上述したように、配備処理部2は、物理マシン73の残余能力が待機物理マシン要求能力を満足する物理マシン73の合計数が予め設定された待機物理マシン要求数を満足するまで、図15Aから図17Aまでの工程を繰り返し実行する。図15Aから図17Aまでの工程を繰り返し実行することにより、待機物理マシン要求能力を満足する物理マシン73の台数が待機物理マシン要求数を最小限に満足するまで、物理マシン73の電源を投入する。電源投入中の物理マシン73の数を最小限に設定できるため、データセンタ100を含む情報処理システム1000の低消費電力化を図ることができる。
次いで、図11に示すように、リソースAから、時刻T4に、割当要求入力部21から能力が「3」の仮想マシンである管理ID「R#1−2」及び「R#1−3」の仮想マシン「2個」を削除する要求する割当要求が入力される。制御装置1の要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#4」を付与する。
次いで、図17Bに示すように、第1設計部26は、物理マシン群7の物理マシン73から、R#4の割当要求に対応する管理ID「R#1−2」と「R#1−3」の仮想マシンを削除する配置設計情報を作成する。第1設計部26は、作成した配置設計情報を配置設計情報格納部35へ書き込む。次いで、第1設計部26は、作成した配置設計情報を作成部24へ送信する。作成部24は、配置設計情報の差分情報を元に移動情報を作成する。作成部24は、作成した移動情報を配備情報/移動情報格納部36へ書き込む。なお、図17Bにおける移動情報は削除情報を示す。
図17Bにおいて、配備部/移動配備部38は、配備情報/移動情報格納部36から移動情報を読込み、リソースAの管理ID「R#1−2」及び「R#1−3」の仮想マシンを削除する。即ち、管理ID「R#1−2」及び「R#1−3」の仮想マシンが、物理マシンID「M#2」及び「M#3」の物理マシン73から削除される。図17Bに示すように、物理マシンID「M#2」の物理マシン73から全ての仮想マシンが移動した状態となる。
図17Bにおいて、第2設計部27は、第2読込み部25を介して、要求情報格納部33の全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37の待機物理マシン要求情報を読み込む。次いで、第2設計部27は、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。
図17Bにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は5台以上存在し、待機物理マシン要求情報を満足する。
次いで、第2設計部27は、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の台数が待機物理マシン要求数より多いか判定する。図17Bにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は6台なので、待機物理マシン要求数「5個」より多いと判定する。
次いで、第2設計部27は、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の6台の中で、仮想マシンが配備されていない物理マシン73が存在するか判定する。
図17Bにおいて、物理マシンID「M#2」の物理マシン73が判定する条件に合うと判定される。
次いで、図18に示すように、第2設計部27は、電源投入/電源切断部28を介して、物理マシンID「M#2」の物理マシン73の電源を切断する。
次いで、再び、第2設計部27は、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の台数が待機物理マシン要求数より多いか判定する。図18において、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は5台なので、待機物理マシン要求数「5個」より多いと判定されない。そのため、制御装置1は、割当要求入力待ち状態となる。物理マシン73の電源を切断することにより、データセンタ100を含む情報処理システム1000の低消費電力化を図ることができる。
なお、図11で、削除する仮想マシンが指定されず、リソースAの能力「3」の仮想マシンを「2個」削除とだけ指定された場合に、任意で仮想マシンを選択できるため、図17Bにおいて、制御装置1は、残余の物理マシン73を作る為に、残余能力が最も大きい物理マシン73に配備された仮想マシンを選択して削除してもよい。
なお、物理マシンは、電源投入が行われた後、OSを起動若しくは復旧させる処理を行うため、このOS上で動作する仮想マシンが利用出来るようになるまでには、数十秒程度の時間がかかる。
このため、ユーザから追加要求された仮想マシンが稼働中の物理マシンに配備できなくなった時点で、電源投入されていない物理マシンの起動を行なう事にすると、ユーザは、要求を行ってから仮想マシンを利用するまでに、数十秒程度かかってしまう事がある。
よって、現状の情報処理システムでは、過去の処理実績(時間帯)などを元に、将来、不足すると想定される数を含めた台数の物理マシンを動作させておく(起動させておく)事が考えられている。しかしながら、あくまで予測に基づく処理であるため、最低限でもユーザに仮想マシンの処理開始を待たせないシステムを実現するためには、実際の予測値より多めの物理マシンを起動させることが好ましい。
その結果、仮想マシンが配備されていないにもかかわらず、動作中の物理マシンが、定常的に存在することになり、余分な消費電力を消費しているという問題があった。
特に、近年、物理マシンの予期できない故障又はトラブルに対処してサービスの継続性を維持するために、同一ユーザが利用する複数の仮想マシンを、複数の物理マシンに別々に分けて配備することが行われている。このようシステムでは、ユーザは、1度に複数台の仮想マシンの追加要求を行なう為、仮想マシンが配備されていないにもかかわらず、動作中の物理マシンを少なくとも複数台確保しなければならない。
実施例1に係る仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラムによれば、制御装置1は、待機物理マシン要求能力を満足する物理マシン73の合計数が予め設定された待機物理マシン要求数より少ない場合に、残余能力が待機物理マシン要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を1個選択する。次に、制御装置1は、選択された個々の物理マシン73に配備された複数の仮想マシンの中から、選択された個々の物理マシン73の残余能力が待機物理マシン要求能力以上となるように移動させる移動対象の仮想マシンを少なくとも1個選択する。そのため、待機物理マシン要求能力を満足する物理マシン73の台数が待機物理マシン要求数を最小限に満足するまで、物理マシン73の電源を投入する。電源投入中の物理マシン73の数を最小限に設定できるため、データセンタ100を含む情報処理システム1000の低消費電力化を図ることができる。
更に、制御装置1は、仮想マシンの追加指示が行われた際、該仮想マシンの処理を起動中の物理マシン73だけでも処理が可能である場合は、該起動中の物理マシン73に、該仮想マシンを配備する。これと並行して、各物理マシン73の残余能力が、所定以下であれば、制御装置1は、起動していない物理マシン73を起動させ、この起動が完了した時点で、起動していた物理マシン73が処理している仮想マシンの一部を移動させることとなる。よって、予め、仮想マシンを配備していない物理マシン73を起動させておかなくとも、新たに追加要求された仮想マシンの処理を、ユーザを待たせることなく実現させることができるようになる。更に、仮想マシンを配備されていない物理マシン73は電源を切断させるため、情報処理システム1000の低消費電力化を図ることができる。
(実施例2)
図19から図26は、実施例2に係る情報処理システム1000A、その制御方法及び制御プログラムが説明される。なお、実施例2において、実施例1で説明した構成と同様の構成には同一の符号を付し、説明を省略する。
実施例2に開示の技術によれば、制御装置1Aは、実施例1の開示の技術に加えて、合計数が予め設定された数より少ない場合に、残余能力が要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を、予め設定された数と合計数との差分の半分の整数個数分選択する。このような構成にすれば、実施例1と比較して、物理マシン73に対する仮想マシンの移動効率を向上させることができる。なお、実施例2に係る情報処理システム1000Aのハードウェア構成は、実施例1に係る情報処理システム1000のハードウェア構成と同様であるため、説明を省略する。
図19は、実施例2に係る情報処理システム1000Aの機能ブロック図の一例を示す図である。
情報処理システム1000Aは、実施例1に係る情報処理システム1000と同様に、データセンタ100Aと、ユーザ端末300と、リソース要求端末500と、データセンタ100Aとユーザ端末300との間を接続するネットワーク200と、データセンタ100Aとリソース要求端末500との間を接続するネットワーク400とを有する。
データセンタ100Aは、実施例1に係るデータセンタ100と同様に、制御装置1Aと、物理マシン群7Aと、記録媒体8とを備える。
制御装置1Aは、実施例1に係る制御装置1と同様に、配備処理部2A及びデータ管理部(記憶部)3Aを有する。制御装置1Aについては、図20を参照して後述する。物理マシン群7Aは、実施例1の図3に示す物理マシン群7と同様に、複数の物理マシン73(不図示)を備える。
図20は、実施例2に係る情報処理システム1000Aの機能ブロック図の一例を示す図であり、制御装置1Aについて示す図である。
制御装置1Aにおいて、配備処理部2Aは、実施例1に係る配備処理部2と同様に、リソース要求端末500から入力された仮想マシンの割当要求を受信する。配備処理部2Aは、入力された仮想マシンの割当要求に基づいて、割当要求された仮想マシンを、物理マシン群7Aの物理マシン73上に配置する配置設計を行う。配備処理部2Aは、仮想マシンの移動の条件を満足する場合に、物理マシン群7Aの物理マシン73上の仮想マシンを、物理マシン群7Aの他の物理マシン73に移動させる再配置設計を行う。配備処理部2Aは、再配置設計に基づいて移動情報を作成する。
なお、実際の仮想マシンの配備は、実施例1に係るデータ管理部(記憶部)3と同様に、データ管理部(記憶部)3Aが実行する。従って、配備処理部2Aは、実際には、物理マシン群7Aにおける仮想マシンの配置を決定する。
配備処理部2Aは、割当要求入力部21と、要求情報抽出部22と、第1読込み部23と、作成部24と、第2読込み部25Aと、第1設計部26と、第2設計部27Aと、電源投入/電源切断部28、アクセス部32と、配備部/移動配備部38とを有する。
第2読込み部25Aは、実施例1に係る第2読込み部25と同様に、全リソースの要求情報を要求情報格納部33から読み込む。第2読込み部25Aは、物理マシン情報を物理マシン情報格納部34から読み込む。第2読込み部25Aは、配置情報を配置情報格納部35から読み込む。第2読込み部25Aは、待機物理マシン要求情報を、待機物理マシン要求情報格納部37Aから読み込む。第2読込み部25Aは、読み込んだ要求情報、物理マシン情報、配置情報及び待機物理マシン要求情報を、第2設計部27Aに送信する。
第2設計部27Aは、第2読込み部25Aから読み込んだ、要求情報、物理マシン情報、既存配置設計情報及び待機物理マシン要求情報を基に仮想マシンを再配置した配置設計情報を作成する。なお、作成された配置設計情報は、既存配置設計情報との差分情報が含まれる。第2設計部27Aは、作成された配置設計情報を、配備処理部2Aの作成部24に送信する。第2設計部27Aは、作成された配置設計情報を、データ管理部(記憶部)3Aのアクセス部32を介して、データ管理部(記憶部)3Aの配置情報格納部35に書き込む。第2設計部27Aは、以下の手順で仮想マシンの再配置に用いられる配置設計情報を作成する。
第2設計部27Aは、図22で後述するダミー仮想マシンを用いて、電源投入中の複数の物理マシン73の個々の残余能力を求める。第2設計部27Aは、求められた複数の物理マシン73の残余能力から、残余能力が1個の仮想マシンを配備する為に要求される要求能力以上である物理マシン73を判定する。判定後、第2設計部27Aは、残余能力が待機物理マシン要求情報の待機物理マシン要求能力以上である物理マシン73の合計数を求める。第2設計部27Aは物理マシン73の合計数が待機物理マシン要求数より少ない場合に、残余能力が待機物理マシン要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を、予め設定された数と合計数との差分の半分の整数個数分選択する。第2設計部27Aは、選択された個々の物理マシン73に配備された複数の仮想マシンの中から、選択された個々の物理マシン73の残余能力が要求能力以上となるように移動させる移動対象の仮想マシンを複数選択する。
このような構成にすれば、実施例1に係る情報処理システム1000と比較して、複数の移動対象の仮想マシンが選択されるため、物理マシン73に対する仮想マシンの移動効率を向上させることができる。
データ管理部(記憶部)3Aは、要求情報格納部33Aと、物理マシン情報格納部34と、配置情報格納部35と、配備情報/移動情報格納部36と、待機物理マシン要求情報格納部37Aとを有する。
待機物理マシン要求情報格納部37Aは、仮想マシン及びダミー仮想マシンの待機物理マシン要求数、並びに仮想マシン及びダミー仮想マシンの待機物理マシン要求能力を格納する。仮想マシン及びダミー仮想マシンの待機物理マシン要求数、並びに仮想マシン及びダミー仮想マシンの待機物理マシン要求能力は、データセンタ100Aの運用者が設定する。仮想マシン及びダミー仮想マシンの待機物理マシン要求数、並びに仮想マシン及びダミー仮想マシンの待機物理マシン要求能力は、任意の値に設定が可能である。また、仮想マシン及びダミー仮想マシンの待機物理マシン要求数、並びに仮想マシン及びダミー仮想マシンの待機物理マシン要求能力は、適宜変更も可能である。なお、実施例2に係る待機物理マシン要求情報は、実施例1に係る待機物理マシン要求情報と同様に、指定可能な仮想マシンの最大要求能力と(ユーザ当りの平均仮想マシン数+オフセット数α個)とを用いて求められる。実施例2に係る仮想マシン及びダミー仮想マシンの待機物理マシン要求能力は、リソースの割当要求で指定可能な最大要求能力である「5」が設定される。実施例2に係る仮想マシン及びダミー仮想マシンの待機物理マシン要求数は、実施例2に係るユーザ当りの平均仮想マシン数である「4」に、オフセット数αの「1」を加えた「5」が設定される。
図21は、実施例2の情報処理システム1000Aに係る割当要求の入力を示す図である。
図21に示すように、リソースAから、時刻T1に、割当要求が入力される。入力された割当要求は、能力が「3」の仮想マシンを「5個」要求し、更に能力が5のダミー仮想マシンを「5個」要求するものである。仮想マシンの割当要求が入力されると、データセンタ100は、直ちにサービスを開始する。従って、制御装置1の要求情報抽出部22は、時刻T1に割当要求入力部21から割当要求が入力されると、割当要求に仮想マシンの要求ID「R#1」及び仮想ダミーマシン「R#D」を付与して要求情報を抽出し、抽出された要求情報を、図21に示す要求情報格納部33Aに格納する。第1設計部26は、第1読込み部23を介して、物理マシン情報格納部34の物理マシン情報と配置情報格納部35の既存配置情報を読込み、新たな配置設計情報を設計する。制御装置1Aの配備部/移動配備部38は、第1設計部26で設計された新たな配置設計情報を基に、作成部24で作成された配備情報に基づいて、物理マシン群7Aの物理マシン73上に、R#1及び仮想ダミーマシン「R#D」の割当要求に対応する仮想マシンを配置する。
図22から図26は、実施例2の情報処理システム1000Aに係る資源管理の一例を示す図である。
図22は、実施例2の情報処理システム1000Aに係る割当要求の入力を示す図である。図22に示すように、リソースAから、時刻T1に、割当要求が入力される。入力された割当要求は、能力が「3」の仮想マシンを「5個」要求するものである。仮想マシンの割当要求が入力されると、データセンタ100Aは、直ちにサービスを開始する。従って、制御装置1Aの要求情報抽出部22は、時刻T1に、割当要求入力部21から割当要求が入力されると、割当要求に仮想マシンの要求ID「R#1」を付与して要求情報を抽出する。制御装置1Aの作成部24は、抽出された要求情報を、要求情報格納部33Aに格納する。制御装置1Aの第2設計部27Aは、第1読込み部23を介して、物理マシン情報格納部34の物理マシン情報及び配置情報格納部35の既存配置情報を読込み、新たな配置設計情報を設計する。制御装置1Aの配備部/移動配備部38は、第2設計部27Aで設計された新たな配置設計情報及び作成部24で作成された配備情報に基づいて、物理マシン群7Aの物理マシン73上に、R#1の割当要求に対応する仮想マシンを配置する。
図23から図26は、実施例2の情報処理システム1000Aに係る仮想マシンの割当を示す図である。
図22に前述したように、リソースAから、時刻T1に、割当要求が入力される。
第1設計部26は、第1読込み部23を介して、物理マシン情報格納部34の物理マシン情報及び配置情報格納部35の既存配置情報を読込み、新たな配置設計情報を設計する。
次いで、制御装置1Aの配備部/移動配備部38は、図23Aに示すように、第2設計部27Aで設計された配置設計情報及び作成部24で作成された配備情報に基づいて、物理マシン群7Aの物理マシン73上に、R#1の割当要求に対応する仮想マシンを配置する。配備部/移動配備部38は、物理マシンID「M#1」〜「M#5」のそれぞれの物理マシン73上に、管理ID「R#1−1」〜「R#1−5」の仮想マシンと、管理ID「R#D−1」〜「R#D−5」のダミー仮想マシンをそれぞれ1個ずつ配置する。
次に、図23Aにおいて、第2設計部27Aは、第2読込み部25Aを介して、要求情報格納部33Aの全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37Aの待機物理マシン要求情報を読み込む。次いで、第2設計部27Aは、物理マシン群7A内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。ここでは、ダミー仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「5個」であるため、待機物理マシン要求情報を満足する。次いで、待機物理マシン要求情報の待機物理マシン要求能力と待機物理マシン数と比較すると、両方とも同じ「5個」であるため、データセンタ100Aは割当要求の入力待ちとなる。
次いで、図22に示すように、リソースBから、時刻T2に、割当要求入力部21から能力が「5」の仮想マシンを「4個」要求する割当要求が入力される。制御装置1Aの要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#2」を付与する。
次いで、図23Bに示すように、第2設計部27Aは、物理マシン群7Aの物理マシン73上に、R#2の割当要求に対応するダミー仮想マシン及び仮想マシンを配置するためのダミー仮想マシン及び仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
第2設計部27Aは、物理マシンID「M#3」の物理マシン73上に、管理ID「R#D−1」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#4」の物理マシン73上に、管理ID「R#D−2」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#5」の物理マシン73上に、管理ID「R#D−3」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
第2設計部27Aは、物理マシンID「M#6」の物理マシン73上に、管理ID「R#D−4」のダミー仮想マシンを仮に配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#7」の物理マシン73上に、管理ID「R#D−5」のダミー仮想マシンを仮に配置するダミー仮想マシンの配置設計情報を作成する。第2設計部27Aは、物理マシンID「M#7」の物理マシン73上に、管理ID「R#D−5」のダミー仮想マシンが、配置された状態をシミュレートする。作成部24は、物理マシンID「M#7」の物理マシン73上に管理ID「R#D−5」のダミー仮想マシンが仮に配置されるシミュレーションに基づいて、配置設計情報の差分情報より移動情報を作成する。
図23Bに示すように、電源投入中の物理マシン73上に配置されているダミー仮想マシンの数は「3」である。一方、電源切断中の物理マシン73上に配置されているダミー仮想マシンの数は「2」である。従って、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「3個」であることがわかる。仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73が「5個」未満であるため、情報処理システム1000Aの待機物理マシン要求情報を満足しない。
次いで、第2設計部27Aは、合計数が予め設定された数より少ない場合に、残余能力が要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を、予め設定された数と合計数との差分の半分の整数個数分選択する。第2設計部27Aは、物理マシンID「M#1」の物理マシン73上に、管理ID「R#2−1」を配置する配置設計情報を作成する。第2設計部27Aは、物理マシンID「M#2」の物理マシン73上に、管理ID「R#2−2」の仮想マシンを配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
次いで、第2設計部27Aは、物理マシンID「M#6」の物理マシン73上に、管理ID「R#2−3」の仮想マシンを仮に配置する配置設計情報を作成する。第2設計部27Aは、物理マシンID「M#7」の物理マシン73上に、管理ID「R#2−4」の仮想マシンを仮に配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
図24Aにおいて、第2設計部27Aは、作成された仮想マシンの配置設計情報及び移動情報を参照に、電源投入部/電源切断部28を介して、物理マシンID「M#6」及び「M#7」の物理マシン73の電源を投入する。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて、管理ID「R#2−3」の仮想マシンを物理マシンID「M#6」の物理マシン73上に配置する。同様に、配備部/移動配備部38は、管理ID「R#2−4」の仮想マシンを物理マシンID「M#7」の物理マシン73上に配置する。
なお、図24Aにおいて、ダミー仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「5個」である。ダミー仮想マシンが配置されている物理マシン73の残余能力が「5」以上である物理マシン73が「5個」存在しているため、情報処理システム1000Aの待機物理マシン要求情報を満足する。
次いで、図22に示すように、リソースCから、時刻T3に、割当要求入力部21から能力が「4」の仮想マシンを「4個」要求する割当要求が入力される。制御装置1Aの要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#3」を付与する。
図24Bに示すように、第2設計部27Aは、物理マシン群7Aの物理マシン73上に、R#3の割当要求に対応するダミー仮想マシン及び仮想マシンを配置するためのダミー仮想マシン及び仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
第2設計部27Aは、物理マシンID「M#2」の物理マシン73上に、管理ID「R#D−1」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#6」の物理マシン73上に、管理ID「R#D−2」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#7」の物理マシン73上に、管理ID「R#D−3」のダミー仮想マシンを配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
次いで、第2設計部27Aは、物理マシンID「M#8」の物理マシン73上に、管理ID「R#D−4」のダミー仮想マシンを仮に配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#9」の物理マシン73上に、管理ID「R#D−5」のダミー仮想マシンを仮に配置するダミー仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
図24Bに示すように、電源投入中の物理マシン73上に配置されているダミー仮想マシンの数は「3」である。一方、電源切断中の物理マシン73上に配置されているダミー仮想マシンの数は「2」である。従って、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「3個」であることがわかる。仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73が「5個」未満であるため、情報処理システム1000Aの待機物理マシン要求情報を満足しない。
第2設計部27Aは、合計数が予め設定された数より少ない場合に、残余能力が要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を、予め設定された数と合計数との差分の半分の整数個数分選択する。第2設計部27Aは、物理マシンID「M#3」の物理マシン73上に、管理ID「R#3−1」を配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#4」の物理マシン73上に、管理ID「R#3−2」の仮想マシンを配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#5」の物理マシン73上に、管理ID「R#3−3」の仮想マシンを配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
次いで、第2設計部27Aは、物理マシンID「M#8」の物理マシン73上に、管理ID「R#3−4」の仮想マシンを仮に配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。第2設計部27Aは、物理マシンID「M#9」の物理マシン73上に、管理ID「R#2−4」の仮想マシンを仮に配置する仮想マシンの配置設計情報を作成する。作成部24は、配置設計情報の差分情報より移動情報を作成する。
図25Aにおいて、第2設計部27Aは、作成された仮想マシンの配置設計情報及び移動情報を参照に、電源投入部/電源切断部28を介して、物理マシンID「M#8」及び「M#9」の物理マシン73の電源を投入する。
次いで、配備部/移動配備部38は、配備情報/移動情報格納部36の移動情報に基づいて、管理ID「R#3−4」の仮想マシンを物理マシンID「M#8」の物理マシン73上に配置する。同様に、配備部/移動配備部38は、管理ID「R#2−4」の仮想マシンを物理マシンID「M#9」の物理マシン73上に配置する。
なお、図25Aにおいて、仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73は「5個」である。仮想マシンが配置されている複数の物理マシン73の残余能力が「5」以上である物理マシン73が「5個」以上であるため、情報処理システム1000Aの待機物理マシン要求情報を満足する。
なお、制御装置1Aの配備処理部2Aは、要求能力の合計数が予め設定された数になるまで、図23Aから図25Aまでの工程を繰り返し実行する。図23Aから図25Aまでの工程を繰り返し実行することにより、要求能力を満足した物理マシン73の合計数だけ、物理マシン73の電源を投入できる。電源投入中の物理マシン73の数を最小限に設定できるため、データセンタ100Aを含む情報処理システム1000Aの低消費電力化を図ることができる。
次いで、図22に示すように、リソースAから、時刻T4に、割当要求入力部21から能力が「3」の仮想マシンを「2個」削除する要求する割当要求が入力される。制御装置1Aの要求情報抽出部22は、入力された割当要求に仮想マシンの要求ID「R#4」を付与する。
次いで、図25Bに示すように、制御装置1Aの第1設計部26は、物理マシン群7Aの物理マシン73から、R#4の割当要求に対応する管理ID「R#1−2」と「R#1−3」の仮想マシンを削除する配置設計情報を作成する。第1設計部26は、作成した配置設計情報を配置設計情報格納部35へ書き込む。次いで、第1設計部26は、作成した配置設計情報を作成部24へ送信する。作成部24は、配置設計情報の差分情報を元に移動情報を作成する。作成部24は、作成した移動情報を配備情報/移動情報格納部36へ書き込む。なお、図25Bにおける移動情報は削除情報を示す。
図25Bにおいて、第1設計部26は、配備部/移動配備部38を介して、リソースAの管理ID「R#1−1」〜「R#1−5」の仮想マシンのうち、任意の仮想マシン2個を選択して削除する。即ち、選択された管理ID「R#1−2」及び「R#1−3」の仮想マシンが、物理マシンID「M#2」及び「M#3」の物理マシン73から削除される。図25Bに示すように、物理マシンID「M#2」の物理マシン73から全ての仮想マシンが移動した状態となる。
図25Bにおいて、第2設計部27Aは、第2読込み部25Aを介して、要求情報格納部33Aの全リソースの要求情報、物理マシン情報格納部34の物理マシン情報、配置情報格納部35の配置情報及び待機物理マシン要求情報格納部37Aの待機物理マシン要求情報を読み込む。次いで、第2設計部27Aは、物理マシン群7内の物理マシン73が、待機物理マシン要求情報を満足するか判定する。
図25Bにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は5台以上存在するため、待機物理マシン要求情報を満足する。
次いで、第2設計部27Aは、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の台数が待機物理マシン要求数より多いか判定する。図25Bにおいて、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は6台なので、待機物理マシン要求数「5個」より多いと判定する。
次いで、第2設計部27Aは、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の6台の中で、仮想マシンが配備されていない物理マシン73が存在するか判定する。
図26において、物理マシンID「M#2」の物理マシン73が存在すると判定される。
次いで、図26に示すように、第2設計部27Aは、電源投入/電源切断部28を介して、物理マシンID「M#2」の物理マシン73の電源を切断する。物理マシン73の電源を切断することにより、データセンタ100Aを含む情報処理システム1000Aの低消費電力化を図ることができる。
次いで、再び、第2設計部27Aは、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73の台数が待機物理マシン要求数より多いか判定する。図26において、物理マシン73の残余能力が待機物理マシン要求能力「5」以上となる物理マシン73は5台なので、待機物理マシン要求数「5個」より多いと判定されない。そのため、制御装置1Aは、割当要求入力待ち状態となる。
実施例2に係る仮想マシンの配置変更方法、仮想マシンの配置変更装置、及び、仮想マシンの配置変更プログラムによれば、制御装置1Aは、実施例1の開示の技術に加えて、合計数が予め設定された数より少ない場合に、残余能力が要求能力より少ない物理マシン73の中から、仮想マシンが複数配備された物理マシン73を、予め設定された数と合計数との差分の半分の整数個数分選択する。このような構成にすれば、実施例1と比較して、物理マシン73に対する仮想マシンの移動効率を向上させることができる。