説明

仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラム

【課題】利用者が要求する仮想マシンの水準と仮想マシンサーバの物理的な属性に応じて仮想マシンを配置する。
【解決手段】複数の仮想マシンサーバ30a〜30dと、仮想マシンの種別を入力するための操作用端末10と、仮想マシンの種別と仮想マシンサーバ30a〜30dと仮想マシンサーバ30a〜30d上の物理的な属性要素とに対応づけた区画を設定しておき、操作用端末10に仮想マシンの種別が入力された場合、仮想マシンサーバ30a〜30dのその仮想マシンの種別に設定された区画にその仮想マシンを配置する仮想マシン制御サーバ20とを有する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、複数の物理サーバに仮想マシンを配置する仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラムに関する。
【背景技術】
【0002】
従来より、ハイパーバイザと呼ばれるソフトウェアで、一台の物理サーバ上に複数の仮想的な計算機となる仮想マシンを実現する技術が知られている。この仮想マシンは、それぞれが独立にオペレーティングシステムを動作させることができる。複数の仮想マシンが動作する物理サーバである仮想マシンサーバは、ワークステーションやパーソナルコンピュータ等のコンピュータである。また、仮想マシンサーバがネットワークを介して複数台接続された環境においては、仮想マシンサーバ上に実現された仮想マシンもネットワークを介して通信することができる。
【0003】
このような仮想マシンサーバが複数台接続された環境において、仮想マシンを生成する場合にその仮想マシンを配置する場所を選択、決定する方法がいくつか知られている。
【0004】
例えば、特許文献1には、仮想マシン配置決定手段が、仮想マシンの起動要求時に利用者が指定する仮想マシン種別、CPU種別、割当CPU使用率及び割当メモリ使用量を用いて、予め登録された物理サーバの中から、利用者が指定したCPU種別が合致し、CPU使用率とメモリ使用量が空いている物理サーバを取り出し、それらの中から仮想マシン種別の組合せ毎にその組合せの仮想マシン種別どうしが同じ物理サーバに配置される適切度を示すスコアを記憶する配置規則表を用いて、最適な物理サーバを選択する技術が開示されている。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】国際公開第2007/136021号
【発明の概要】
【発明が解決しようとする課題】
【0006】
通常、仮想マシンの用途によって処理能力に対する要件は異なる。一定時間内に応答することが要求されるアプリケーションを動作させる場合やアプリケーションの性能を測定する場合は、他の仮想マシンの負荷による予期できない計算機の処理能力のゆらぎが問題となる。一方で、標準的なアプリケーションを動作させる場合は、計算機の処理能力の多少のゆらぎは問題とならず、得られる処理能力の期待値が大きいことが望まれる。
【0007】
仮想マシンのCPUコア数とメモリサイズが一定であっても、その仮想マシンに割り当てられた物理サーバの専有状態によって仮想マシンが得る処理能力の期待値は異なる。専有状態には、仮想マシンが物理サーバを専有している状態、仮想マシンが物理サーバのCPUコア等の一部のリソースを専有している状態、仮想マシンが物理サーバの特定のリソースを専有せずに他の仮想マシンと共有する状態がある。
【0008】
物理サーバを専有している状態では、割り当てられた物理サーバが持つCPUコアの計算処理能力とメモリ等の入出力処理能力が得られ、他の仮想マシンの負荷によって処理能力がゆらぐ恐れもない。しかし、リソースを他の仮想マシンと共有しないため、利用効率は低いままとなる。
【0009】
また、物理サーバの特定のCPUコアのみを専有している状態では、割り当てられたCPUコアの計算処理能力は得られるが、メモリ等の入出力処理能力が他の仮想マシンにも利用されるため、仮想マシンが得る処理能力がゆらぐ可能性があり、処理の内容によっては大きな影響を与える可能性がある。
【0010】
また、物理サーバのリソースを専有せずに他の仮想マシンと共有する状態では、CPUコアの計算処理能力とメモリの入出力処理能力が他の仮想マシンにも利用されるため、物理サーバのリソースの利用効率は高くなるが、仮想マシンが得る処理能力が大きくゆらぐ可能性がある。
【0011】
上述した特許文献1に開示された技術においては、CPU種別、割当CPU使用率及び割当メモリ使用量といった仮想マシンの要求仕様を基準として、仮想マシンサーバの選択と、仮想マシン種別を用いた他の仮想マシンの影響を加味した仮想マシンサーバの順位づけを行うことができるが、専有状態といった仮想マシンサーバの物理的な属性を用いた仮想マシンの配置制御を実現することができないという問題点がある。
【0012】
本発明は、上述したような従来の技術が有する問題点に鑑みてなされたものであって、利用者が要求する仮想マシンの水準と仮想マシンサーバの物理的な属性に応じて仮想マシンを配置することができる、仮想マシン制御システム、仮想マシン制御装置、仮想マシン制御方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【0013】
上記目的を達成するために本発明は、
複数の物理サーバと、
仮想マシンの種別を入力するための端末と、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておき、前記端末に仮想マシンの種別が入力された場合、前記物理サーバの当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン制御サーバとを有する。
【0014】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御装置であって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手段と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手段にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手段とを有する。
【0015】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御方法であって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録処理と、
前記仮想マシンの種別が指定された場合、前記ポジション登録処理にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成処理とを有する。
【0016】
また、複数の物理サーバに仮想マシンを配置する仮想マシン制御装置に実行させるためのプログラムであって、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手順と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手順にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手順とを有する。
【発明の効果】
【0017】
以上説明したように本発明においては、複数の物理サーバに仮想マシンを配置する場合に、仮想マシンの種別と物理サーバと物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておき、仮想マシンの種別が指定された場合、その仮想マシンの種別に設定された区画にその仮想マシンを配置する構成としたため、物理サーバの専有状態によって仮想マシンを区別しながらも複数の物理サーバから構成されるシステムを統一的に管理し、自動で仮想マシンの配置を決定することができる。それにより、仮想マシンの利用者の処理能力に対する様々な要求水準を考慮して仮想マシンを配置することができる。また、物理サーバやその物理CPUコアの専有状態が異なることで、処理性能のみならずセキュリティの安全性が異なり、仮想マシンの利用者のセキュリティに対する要求水準を考慮して仮想マシンを配置することができる。また、物理サーバの専有状態のみならず、物理サーバの物理的な属性を考慮して仮想マシンを配置することができる。例えば、物理サーバが収容されているラックや電源系統で物理サーバを区別し、それぞれに異なったマシン種別を対応づけることで、複数の仮想マシンから構成されるシステムの冗長化による高信頼化を実現できる。また、物理サーバの構成部品の仕様の差異といった物理的な属性によって物理サーバを区別し、それぞれに異なったマシン種別を対応づけることで、詳細な要求水準を考慮して仮想マシンを配置することができる。さらには、仮想マシンの配置を自動で行うことで、手動で行うことに比べ、運用にかかる稼働を削減することができ、仮想マシンを利用可能な状態とするまでにかかる時間を短縮することができる。
【図面の簡単な説明】
【0018】
【図1】本発明の仮想マシン制御システムの実施の一形態を示す図であり、(a)は全体の構成を示す図、(b)は(a)に示した仮想マシン制御サーバの構成を示す図である。
【図2】図1に示したマシン種別データベースに登録されたマシン種別情報の例を示す図である。
【図3】図1に示したサーバ情報データベースに登録されたマシン情報の例を示す図である。
【図4】図1に示したポジション情報データベースに登録されたポジション情報の例を示す図である。
【図5】図1に示した仮想マシン情報データベースに登録された仮想マシン情報の例を示す図である。
【図6】図1〜図5に示した仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法を説明するためのフローチャートである。
【発明を実施するための形態】
【0019】
以下に、本発明の実施の形態について図面を参照して説明する。
【0020】
図1は、本発明の仮想マシン制御システムの実施の一形態を示す図であり、(a)は全体の構成を示す図、(b)は(a)に示した仮想マシン制御サーバ20の構成を示す図である。
【0021】
本形態は図1に示すように、複数の仮想マシンサーバ30a〜30dと、操作用端末10と、仮想マシン制御サーバ20とがコンピュータネットワーク40を介して接続されて構成されており、仮想マシンを借り受ける利用者と、仮想マシンを貸し出す提供者がおり、事前に提供者が登録した仮想マシンサーバ30a〜30dを管理し、利用者の要求に応じて要求の水準にあった仮想マシンサーバを選択し、仮想マシンが提供できるように仮想マシンサーバと仮想マシンを制御するシステムである。
【0022】
仮想マシンサーバ30a〜30dは、仮想マシンの実体が動作する物理サーバである。仮想マシンサーバ30a〜30d上でハイパーバイザが動作し、ハイパーバイザが仮想マシンを制御する。
【0023】
仮想マシン制御サーバ20は、操作用端末10に入力指示された要求を受け付け、仮想マシンサーバ30a〜30dの中から仮想マシンを配置する仮想マシンサーバを選択し、その仮想マシンサーバに対して、仮想マシンを操作するための制御信号・データを送出する制御プログラムが動作する計算機である。仮想マシン制御サーバ20は、マシン種別登録・削除部21と、仮想マシンサーバ登録・削除部22と、ポジション登録・削除部23と、仮想マシン作成・削除部24とを有しており、これらは、仮想マシン制御サーバ20上の制御プログラムで機能する。
【0024】
マシン種別登録・削除部21は、入力として、マシン種別識別子、仮想CPUコア数及び仮想メモリサイズを受け付け、入力情報をマシン種別情報としてマシン種別データベース21aに登録する。また、マシン種別登録・削除部21は、入力としてマシン種別識別子を受け付け、そのマシン種別識別子が、ポジション情報データベース23aに登録されたポジション情報に含まれていないことを確認し、マシン種別データベース21aから該当するレコードを削除する。
【0025】
図2は、図1に示したマシン種別データベース21aに登録されたマシン種別情報の例を示す図である。
【0026】
図2に示すように、マシン種別データベース21aには、マシンの種別毎に仮想CPUコア数と仮想メモリサイズとがマシン種別識別子に対応づけて登録されており、マシン種別が指定された仮想マシンが具備する仮想CPUコア数と仮想メモリサイズとが定められる。これにより、仮想CPUコア数と仮想メモリサイズは、生成される仮想マシンに具備され、ゲストOSに認識されるCPUコアの数とメモリサイズを規定する。本例においては、3つのマシン種別が登録されており、マシン種別識別子がShared_LargeとPrivate_Largeとは、同じ仮想CPUコア数と仮想メモリサイズであるが、専有状態が異なる2つの要求水準を区別するものとして登録されている。
【0027】
仮想マシンサーバ登録・削除部22は、入力として、仮想マシンサーバ識別子と制御用ネットワークアドレスを受け付け、入力情報を仮想マシンサーバ情報としてサーバ情報データベース22aに登録する。また、仮想マシンサーバ登録・削除部22は、入力として仮想マシンサーバ識別子を受け付け、その仮想マシンサーバ識別子が、ポジション情報データベース23aに登録されたポジション情報に含まれていないことを確認し、サーバ情報データベース22aから該当するレコードを削除する。
【0028】
図3は、図1に示したサーバ情報データベース22aに登録されたマシン情報の例を示す図である。
【0029】
図3に示すように、サーバ情報データベース22aには、仮想マシンサーバ30a〜30dのそれぞれについて、仮想マシン制御サーバ20から仮想マシンサーバ30a〜30dにデータと制御信号を送出するために用いる制御用ネットワークアドレスが仮想マシンサーバ識別子に対応づけて登録されている。
【0030】
ポジション登録・削除部23は、入力として、ポジション識別子、マシン種別識別子、仮想マシンサーバ識別子、並びに仮想CPUコアと物理CPUコアの割当を受け付け、そのマシン種別識別子と仮想マシンサーバ識別子がそれぞれ、マシン情報データベース21aに登録されたマシン種別情報と、サーバ情報データベース22aに登録された仮想マシンサーバ情報に含まれていることを確認し、入力情報をポジション情報としてポジション情報データベース23aに登録する。また、ポジション登録・削除部23は、入力として、ポジション識別子を受け付け、そのポジション識別子が、仮想マシン情報データベース24aに登録された仮想マシン情報に含まれていないことを確認し、ポジション情報データベース23aから該当するレコードを削除する。
【0031】
図4は、図1に示したポジション情報データベース23aに登録されたポジション情報の例を示す図である。
【0032】
図4に示すように、ポジション情報データベース23aには、ポジション識別子と、マシン種別識別子と、仮想マシンサーバ識別子と、仮想CPUコアと物理CPUコアの割当とが対応づけて登録されており、ポジションに配置される仮想マシンに適用すべきマシン種別、仮想マシンサーバ、並びに、仮想マシンサーバ30a〜30d上の物理的な属性要素となる仮想CPUコアと物理CPUコアの割当を定めている。すなわち、仮想マシンの種別と仮想マシンサーバ30a〜30dと仮想マシンサーバ30a〜30d上の物理的な属性要素とに対応づけた区画となるポジションが設定されている。なお、ポジション情報に含まれる仮想CPUコアと物理CPUコアの割当は、ハイパーバイザが仮想マシンのCPUコアに割り当てる仮想マシンサーバのCPUコアを規定する。また、図4においては、便宜的に、仮想CPUと物理CPUの番号の対応関係を区切り文字「=」で連結して表し、それを区切り文字「,」で繰り返した文字列で示すものとする。本例においては、8つのポジションが登録されており、この状態ではマシン種別がSmallである仮想マシンを4台、Shared_Largeである仮想マシンを2台、Private_Largeである仮想マシンを2台まで提供可能である。マシン種別としてSmallとShared_Largeが指定された場合は、仮想マシンサーバVM_Server_1かVM_Server_2が用いられ、マシン種別としてPrivate_Largeが指定された場合は、仮想マシンサーバVM_Server_3かVM_Server_4が用いられる。Private_Largeの仮想マシンは仮想マシンサーバを専有する。また、マシン種別がSmallである仮想マシンの仮想CPUコアは、仮想マシンサーバの物理CPUコア0番と1番に割り当てられる。これらの物理CPUコアは他の仮想マシンにも割り当てられるため、Smallの仮想マシンは仮想マシンサーバの特定の物理CPUコアを共有する。マシン種別がShared_Largeである仮想マシンの仮想CPUコアは、物理CPUコア2番から5番までに割り当てられる。これらの物理CPUコアは他の仮想マシンには割り当てられないため、Shared_Largeの仮想マシンは仮想マシンサーバの特定の物理CPUコアを専有する。一方で、SmallとShared_Largeの仮想マシンは同じ仮想マシンサーバに配置されるため、メモリ等の入出力処理能力を共有する。このように、仮想マシンサーバの専有状態が異なる仮想マシンの要求水準を表すマシン種別を設定することが可能であり、仮想マシンの専有状態によって仮想マシンを区別しながらも複数の仮想マシンサーバから構成されるシステムを統一的に管理し、自動で仮想マシンの配置を決定することが可能となる。
【0033】
仮想マシン作成・削除部24は、仮想マシンの種別が指定された場合、ポジション登録・削除部23にてその仮想マシンの種別に設定されてポジション情報データベース23aに登録されたポジションにその仮想マシンを配置する処理を行い、仮想マシン情報として仮想マシン情報データベース24aに登録する。
【0034】
図5は、図1に示した仮想マシン情報データベース24aに登録された仮想マシン情報の例を示す図である。
【0035】
図5に示すように、仮想マシン情報データベース24aには、仮想マシン識別子と、ポジション識別子とが対応づけて登録されており、これにより、仮想マシンが配置されているポジションが示される。
【0036】
このように、仮想マシン制御サーバ20は、仮想マシン制御システム全体の状態を示す情報が登録された、マシン情報データベース21a、サーバ情報データベース22a、ポジション情報データベース23a及び仮想マシン情報データベース24aを有しており、仮想マシンの初期状態を規定するデータである仮想マシンイメージを保持している。
【0037】
操作用端末10は、利用者が要求を入力するためのものであって、入力された要求に応じた信号を仮想マシン制御サーバ20に対して送る計算機である。
【0038】
コンピュータネットワーク40は、操作用端末10と仮想マシンサーバ20と仮想マシン制御サーバ30a〜30dを通信可能とする通信網である。
【0039】
以下に、上記のように構成された仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法について説明する。
【0040】
図6は、図1〜図5に示した仮想マシン制御システムにて仮想マシンを配置する仮想マシン制御方法を説明するためのフローチャートである。
【0041】
まず、操作用端末10からの入力によって、仮想マシン制御サーバ20は、上述したマシン情報データベース21a、サーバ情報データベース22a、ポジション情報データベース23aにそれぞれの情報を登録、設定しておく。マシン種別登録・削除部21は、マシン種別識別子、仮想CPUコア数及び仮想メモリサイズを受け付け、これらの入力情報をマシン種別情報としてマシン種別データベース21aに登録する。仮想マシンサーバ登録・削除部22は、仮想マシンサーバ識別子と制御用ネットワークアドレスを受け付け、これらの入力情報を仮想マシンサーバ情報としてサーバ情報データベース22aに登録する。ポジション登録・削除部23は、ポジション識別子、マシン種別識別子、仮想マシンサーバ識別子、並びに、仮想マシンサーバ30a〜30d上の物理的な属性要素となる仮想CPUコアと物理CPUコアの割当を受け付け、仮想マシンの種別と仮想マシンサーバ30a〜30dと仮想マシンサーバ30a〜30d上における仮想CPUコアと物理CPUコアの割当とに対応づけた区画となるポジションを設定し、これらの入力情報をポジション情報としてポジション情報データベース23aに登録する。
【0042】
このようにして、マシン情報データベース21a、サーバ情報データベース22a、ポジション情報データベース23aに情報が登録された後、仮想マシンの種別を示すマシン種別識別子と仮想マシン識別子が操作用端末10に入力されることによって指定されると、これらの情報が仮想マシン制御サーバ20に送られる。
【0043】
そして、仮想マシン制御サーバ20が、これら仮想マシン識別子とマシン種別識別子を受け付けると(ステップ1)、まず、仮想マシン作成・削除部24が、受け付けたマシン種別識別子が、マシン情報データベース21aに登録されたマシン種別情報に含まれていることを確認する(ステップ2)。
【0044】
受け付けたマシン種別識別子が、マシン情報データベース21aに登録されたマシン種別情報に含まれている場合は、仮想マシン作成・削除部24は、受け付けたマシン種別の仮想CPUコア数と仮想メモリサイズをマシン種別情報から取得する(ステップ3)。
【0045】
次に、仮想マシン作成・削除部24は、ポジション情報データベース23aに登録されたポジション情報の中から、ステップ1にて受け付けたマシン種別識別子と一致するポジションを候補ポジションとして抽出する(ステップ4)。
【0046】
次に、仮想マシン作成・削除部24は、ステップ4にて抽出した候補ポジションから、仮想マシン情報データベース24aに登録された仮想マシン情報に含まれるポジションを除外する(ステップ5)。
【0047】
ステップ4にて抽出した候補ポジションから、仮想マシン情報データベース24aに登録された仮想マシン情報に含まれるポジションを除外した結果、候補ポジションが1つもなくなった場合は(ステップ6)、仮想マシン作成・削除部24は、操作用端末10に対して異常応答を返し処理を終了する(ステップ7)。また、ステップ2にて、受け付けたマシン種別識別子が、マシン情報データベース21aに登録されたマシン種別情報に含まれていない場合も、仮想マシン作成・削除部24は、操作用端末10に対して異常応答を返し処理を終了する。
【0048】
ステップ4にて抽出した候補ポジションから、仮想マシン情報データベース24aに登録された仮想マシン情報に含まれるポジションを除外した結果、候補ポジションが1つ以上ある場合は、仮想マシン作成・削除部24は、仮想マシン情報データベース24aに登録された仮想マシン情報と、ポジション情報データベース23aに登録されたポジション情報とから、仮想マシンサーバ30a〜30d毎に配置されている仮想マシンの数を算出する(ステップ8)。これは、例えば、図5に示した仮想マシン情報から、仮想マシンVM_1がPosition_S1に配置されていることがわかり、図4に示したポジション情報から、Position_S1には仮想マシンサーバVM_Server_1が割り当てられていることがわかるため、仮想マシンVM_1が仮想マシンサーバVM_Server_1に配置されていることがわかり、これを全ての仮想マシンサーバ30a〜30dについて行うことにより、仮想マシンサーバ30a〜30d毎に配置されている仮想マシンの数を算出することができる。
【0049】
そして、仮想マシン作成・削除部24は、仮想マシンを配置する優先度として上述した算出値を設定する(ステップ9)。
【0050】
次に、仮想マシン作成・削除部24は、候補ポジションの中で優先度が最も大きなポジションを配置ポジションとする。すなわち、仮想マシン作成・削除部24は、ポジション情報データベース23aに登録されたポジション情報において、ステップ2にて受け付けたマシン種別識別子によって識別されるマシン種別に設定されたポジションが複数ある場合は、そのポジションのうち、仮想マシンが最も多く配置されている仮想マシンサーバにあるポジションを配置ポジションとして選択する(ステップ10)。なお、仮想マシンが配置された数が同じ仮想マシンサーバが存在する場合は、ポジション情報データベース23aにおけるレコード順で先頭にある仮想マシンサーバのポジションを選択することが考えられる。
【0051】
次に、仮想マシン作成・削除部24は、ポジション情報データベース23aに登録されたポジション情報と、サーバ情報データベース22aに登録された仮想マシンサーバ情報とから、仮想マシンを配置するポジションの制御用ネットワークアドレスと仮想CPUコアと物理CPUコアの割当を取得する(ステップ11)
そして、仮想マシン作成・削除部24は、取得した制御用ネットワークアドレスに対し、仮想マシンを配置するために、仮想マシンイメージのデータを送出し、仮想CPUコア数と、仮想メモリサイズと、仮想CPUコアと物理CPUコアの割当とを適用した仮想マシンの作成起動の制御信号を送出する(ステップ12)。
【0052】
最後に、仮想マシン作成・削除部24は、ステップ1にて受け付けた仮想マシン識別子と、上述した処理にて仮想マシンが配置されるポジションの識別子とを仮想マシン情報データベース24aに登録し(ステップ13)、また、その旨を操作用端末10に正常応答として返す(ステップ14)。
【0053】
また、仮想マシン作成・削除部24は、仮想マシン情報データベース24aに登録された仮想マシン情報を削除する場合は、操作用端末10に入力された仮想マシン識別子を入力として受け付けると、まず、その仮想マシン識別子が、仮想マシン情報データベース24aに登録されている仮想マシン情報に含まれていることを確認する。そして、仮想マシン情報データベース24aに登録された仮想マシン情報と、ポジション情報データベース23aに登録されたポジション情報と、サーバ情報データベース22aに登録された仮想マシンサーバ情報とから、入力された仮想マシンが動作する仮想マシンサーバの制御用ネットワークアドレスを取得し、その制御用ネットワークアドレスに対し、仮想マシンの停止削除の制御信号を送出する。最後に、入力された仮想マシン識別子に該当する仮想マシン情報のレコードを仮想マシン情報データベース24aから削除する。
【0054】
図5に示した仮想マシン情報の例においては、生成されている仮想マシンがシステム内に3台存在する。それぞれの仮想マシンのポジション識別子と、図4に示したポジション情報とを合わせて見ると、仮想マシンサーバVM_Server_1上に仮想マシンVM_1とVM_2が配置され、VM_Server_3上に仮想マシンVM_3が配置されている。
【0055】
上述したように、仮想マシン作成・削除部24は、マシン種別が一致して、かつ、その時点で仮想マシンが最も多く配置されている仮想マシンサーバを仮想マシンの配置対象として選択する。仮想マシンサーバを無作為に選択する方法や固定的な順番で選択する方法に比べて、仮想マシンがいくつかの仮想マシンサーバに片寄った配置になり、仮想マシンが配置されている仮想マシンサーバの数が少なくなる。例えば、図5にある状態において、新たにマシン種別Smallの仮想マシンVM_4を生成する場合、候補ポジションとしてPosition_S2、Position_S3とPosition_S4が選択され、その中で、配置されている仮想マシンの数が最も多い仮想マシンサーバVM_Server_1のポジションPosition_S2が配置ポジションとされ、仮想マシンVM_4が仮想マシンサーバVM_Server_1上に配置、生成される。仮に、仮想マシンVM_4が仮想マシンサーバVM_Server_2上に配置、生成される場合、仮想マシンが配置されている仮想マシンサーバ数は3台に増えるが、本機能の配置ではPosition_S1と同じVM_Server_1上に生成されるため、仮想マシンサーバ数は2台のままとなり、新たな仮想マシンVM_4を生成しても仮想マシンサーバ数は変わらない。これにより、仮想マシンが配置されていない仮想マシンサーバを電源オフといった非稼働状態にすることで、システムの消費電力を削減することができる。なお、サーバ情報データベース22aに登録された仮想マシンサーバ情報に仮想マシンサーバの電源状態を管理するための項目を追加し、仮想マシン生成・削除部24aにおいて、仮想マシンサーバに対してデータや制御信号を送出する前に必要に応じてWake On LAN機能等を用いた電源投入を行う処理を追加し、仮想マシンを削除する際に、仮想マシンサーバに対して制御信号を送出した後に必要に応じて電源停止を行う処理を追加してもよい。
【0056】
上述したように本形態においては、仮想マシンのCPUコア数とメモリサイズを含み、利用者が要求する仮想マシンの水準を区別する識別子であるマシン種別がデータベースに保持されており、利用者が仮想マシンの生成要求を行う際にマシン種別を選択すると、仮想マシンを配置する仮想マシンサーバ上の論理的な区画であるポジションの設定に従って、そこに配置される仮想マシンのマシン種別と物理的な属性が決定する。具体的には、ポジションの物理的な属性は、仮想マシンサーバと仮想CPUコアが割り当てられる仮想マシンサーバの物理CPUコアを含む。利用者は、ポジション登録時に、マシン種別に、仮想マシンサーバの専有状態、仮想マシンサーバのCPUクロック数、仮想マシンサーバが収容されているラックや電源系統といった仮想マシンサーバの物理的な属性に依存した特徴を対応づけることができる。
【0057】
そして、仮想マシンの生成時に要求されたマシン種別に合致するポジションが仮想マシンに1つ割り当てられ、その物理的な属性が仮想マシンに適用されるというように、ポジションを用いて仮想マシンの配置選択と機器制御が行われるため、専有状態といった仮想マシンサーバの物理的な属性を用いた仮想マシンの配置制御を実現できる。
【0058】
さらに、仮想マシン生成時に、マシン種別が一致して、かつ、仮想マシンが最も多く配置されている仮想マシンサーバに仮想マシンを配置することにより、仮想マシンがいくつかの仮想マシンサーバに片寄った配置になり、仮想マシンが配置されていない仮想マシンサーバを電源オフといった非稼働状態にすることで、システムの消費電力を削減することができる。そして、仮想マシンの生成起動と停止削除を繰り返すことで、仮想マシンの配置は片寄った状態へ収束していき、動作中の仮想マシンに性能上の影響を与えるライブマイグレーション機能等を用いずにシステムの消費電力が可能となる。
【0059】
なお、本発明においては、仮想マシン制御サーバ20内の処理は上述の専用のハードウェアにより実現されるもの以外に、その機能を実現するためのプログラムを仮想マシン制御サーバ20にて読取可能な記録媒体に記録し、この記録媒体に記録されたプログラムを仮想マシン制御サーバ20に読み込ませ、実行するものであっても良い。仮想マシン制御サーバ20にて読取可能な記録媒体とは、ICカードやメモリカード、あるいは、フロッピーディスク(登録商標)、光磁気ディスク、DVD、CD等の移設可能な記録媒体の他、仮想マシン制御サーバ20に内蔵されたHDD等を指す。この記録媒体に記録されたプログラムは、例えば、制御ブロックにて読み込まれ、制御ブロックの制御によって、上述したものと同様の処理が行われる。
【符号の説明】
【0060】
10 操作用端末
20 仮想マシン制御サーバ
21 マシン種別登録・削除部
21a マシン種別データベース
22 仮想マシンサーバ登録・削除部
22a サーバ情報データベース
23 ポジション登録・削除部
23a ポジション情報データベース
24 仮想マシン作成・削除部
24a 仮想マシン情報データベース
30a〜30d 仮想マシンサーバ
40 コンピュータネットワーク

【特許請求の範囲】
【請求項1】
複数の物理サーバと、
仮想マシンの種別を入力するための端末と、
仮想マシンの種別と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておき、前記端末に仮想マシンの種別が入力された場合、前記物理サーバの当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン制御サーバとを有する仮想マシン制御システム。
【請求項2】
請求項1に記載の仮想マシン制御システムにおいて、
前記仮想マシン制御サーバは、前記端末に入力された仮想マシンの種別に設定している区画が複数ある場合、当該複数の区画のうち、仮想マシンが最も多く配置されている物理サーバ上の区画に前記種別が入力された仮想マシンを配置する仮想マシン制御システム。
【請求項3】
複数の物理サーバに仮想マシンを配置する仮想マシン制御装置であって、
仮想マシンの種別毎と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手段と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手段にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手段とを有する仮想マシン制御装置。
【請求項4】
請求項3に記載の仮想マシン制御装置において、
前記仮想マシン作成手段は、前記ポジション登録手段にて前記指定された仮想マシンの種別に設定された区画が複数ある場合、当該複数の区画のうち、仮想マシンが最も多く配置されている物理サーバ上の区画に前記種別が指定された仮想マシンを配置する仮想マシン制御装置。
【請求項5】
複数の物理サーバに仮想マシンを配置する仮想マシン制御方法であって、
仮想マシンの種別毎と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録処理と、
前記仮想マシンの種別が指定された場合、前記ポジション登録処理にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成処理とを有する仮想マシン制御方法。
【請求項6】
請求項5に記載の仮想マシン制御方法において、
前記仮想マシン作成処理は、前記ポジション登録処理にて前記指定された仮想マシンの種別に設定された区画が複数ある場合、当該複数の区画のうち、仮想マシンが最も多く配置されている物理サーバ上の区画に前記種別が指定された仮想マシンを配置する仮想マシン制御方法。
【請求項7】
複数の物理サーバに仮想マシンを配置する仮想マシン制御装置に、
仮想マシンの種別毎と前記物理サーバと当該物理サーバ上の物理的な属性要素とに対応づけた区画を設定しておくポジション登録手順と、
前記仮想マシンの種別が指定された場合、前記ポジション登録手順にて当該仮想マシンの種別に設定された区画に当該仮想マシンを配置する仮想マシン作成手順とを実行させるためのプログラム。
【請求項8】
請求項7に記載のプログラムにおいて、
前記仮想マシン作成手順は、前記ポジション登録処理にて前記指定された仮想マシンの種別に設定された区画が複数ある場合、当該複数の区画のうち、仮想マシンが最も多く配置されている物理サーバ上の区画に前記種別が指定された仮想マシンを配置するプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate