JP5887149B2 - 仮想マシン配置装置、仮想マシン配置方法 - Google Patents

仮想マシン配置装置、仮想マシン配置方法 Download PDF

Info

Publication number
JP5887149B2
JP5887149B2 JP2012013184A JP2012013184A JP5887149B2 JP 5887149 B2 JP5887149 B2 JP 5887149B2 JP 2012013184 A JP2012013184 A JP 2012013184A JP 2012013184 A JP2012013184 A JP 2012013184A JP 5887149 B2 JP5887149 B2 JP 5887149B2
Authority
JP
Japan
Prior art keywords
virtual machine
machine
physical
distance
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2012013184A
Other languages
English (en)
Other versions
JP2013152622A (ja
Inventor
岡本 隆史
隆史 岡本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NTT Data Corp
Original Assignee
NTT Data Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NTT Data Corp filed Critical NTT Data Corp
Priority to JP2012013184A priority Critical patent/JP5887149B2/ja
Publication of JP2013152622A publication Critical patent/JP2013152622A/ja
Application granted granted Critical
Publication of JP5887149B2 publication Critical patent/JP5887149B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、複数の物理マシンのいずれかに仮想マシンを配置する技術に関する。
ユーザ端末からの要求を受けて、予め用意した複数の物理マシンのいずれかに仮想マシンを起動させ、起動した仮想マシンをユーザに利用させる仮想マシン提供システムが存在する。これにより、例えばユーザが何らかのコンピュータシステムを構築する場合、ユーザ自身で物理マシンを用意しなくとも、ネットワークを介して接続された物理マシンにより構成される仮想環境に起動させた仮想マシンを用いて、コンピュータシステムを構築することができる。このような仮想マシン提供システムが複数の物理マシンに仮想マシンを配置する方法として、ラウンドロビン方式やグリーディ方式が存在する。
図18は、仮想マシン提供システムがラウンドロビン方式により物理マシンに仮想マシンを配置する例を示す図である。ここでは、物理マシン131と、物理マシン132と、物理マシン133との仮想環境に、VM(仮想マシン)1からVM6を配置した例を示している。VM1からVM6は、その数値の順に起動されたことを示す。ラウンドロビン方式では、コンピュータリソースに空きのある複数の物理マシンに、仮想マシンを1台ずつ順番に配置する。図19は、仮想マシン提供システムがグリーディ方式により物理マシンに仮想マシンを配置する例を示す図である。ここでは、あるひとつの物理マシンのコンピュータリソースに余剰リソースがある限りその物理マシンに仮想マシンを起動させ、コンピュータリソースが足りなくなった場合に他の物理マシンに仮想マシンを起動していく。特許文献1には、このような仮想環境における物理マシン上に起動している仮想マシンを、負荷に応じて他の物理マシンに移動させることが記載されている。
特開2010−117760号公報
しかしながら、関連性のある複数の仮想マシンを仮想環境に起動する場合、複数の仮想マシン同士を近くに配置したい場合や、遠くに配置したい場合がある。例えば、ウェブサーバとDB(データベース)サーバとを備えるウェブシステムを構築する場合、ウェブサーバとDBサーバとが頻繁に通信を行うものであれば、パフォーマンス向上のため、近くに配置することが望ましい。一方、例えばDBサーバのバックアップサーバを用意する場合、震災等による物理的なデータ消失を回避するために、遠くに配置することが望ましい。上述のようなラウンドロビン方式やグリーディ方式は、このような状況を考慮して仮想マシンを配置するものではない。
本発明は、このような状況に鑑みてなされたもので、複数の物理マシンに仮想マシンを適切に配置する仮想マシン配置装置、仮想マシン配置方法を提供する。
上述した課題を解決するために、本発明は、自身のコンピュータリソースに仮想マシンを起動する複数の物理マシンに接続された仮想マシン配置装置であって、前記複数の物理マシン間の距離を示す物理マシン距離情報が記憶されている物理マシン距離情報記憶部と、前記複数の物理マシンのうち、第1の仮想マシンが起動される物理マシンと、第2の仮想マシンが起動される物理マシンとの距離の種別である距離種別を示す仮想マシン距離情報が記憶されている仮想マシン距離情報記憶部と、前記第1の仮想マシンが前記複数の物理マシンのいずれかに起動されている状態にて、前記第2の仮想マシンを前記複数の物理マシンのいずれかに起動させる際、前記第1の仮想マシンが起動されている物理マシンからの距離が、前記仮想マシン距離情報記憶部に記憶されている前記仮想マシン距離情報が示す距離種別に対応する物理マシンを、前記物理マシン距離情報記憶部に記憶されている物理マシン距離情報が示す距離を用いて検出する仮想マシン配置部と、を備えることを特徴とする。
また、本発明は、前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンと前記第2の仮想マシンとを同一の物理マシンに起動させるか否かを示す情報を含むことを特徴とする。
また、本発明は、前記物理マシン距離情報が示す距離は、物理マシン間のホップ数であり、前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンが起動される物理マシンと前記第2の仮想マシンが起動される物理マシンとの間のホップ数が最小であって前記第1の仮想マシンが起動される物理マシンとは異なる物理マシンに起動させるか否かを示す情報を含むことを特徴とする。
また、本発明は、前記物理マシン距離情報が示す距離は、物理マシン間のホップ数であり、前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンが起動される物理マシンと前記第2の仮想マシンが起動される物理マシンとの間のホップ数が最大となる物理マシンに起動させるか否かを示す情報を含むことを特徴とする。
また、本発明は、前記仮想マシン配置部は、検出した物理マシンで前記第2の仮想マシンを起動できない場合には、前記仮想マシン距離情報に示される前記距離種別に従って、前記第2の仮想マシンを起動可能な他の物理マシンを前記物理マシン距離情報が示す距離を用いて検出することを特徴とする。
また、本発明は、自身のコンピュータリソースに仮想マシンを起動する複数の物理マシンに接続され、前記複数の物理マシン間の距離を示す物理マシン距離情報が記憶されている物理マシン距離情報記憶部と、前記複数の物理マシンのうち、第1の仮想マシンが起動される物理マシンと、第2の仮想マシンが起動される物理マシンとの距離の種別である距離種別を示す仮想マシン距離情報が記憶されている仮想マシン距離情報記憶部とを備えた仮想マシン配置装置の仮想マシン配置方法であって、前記第1の仮想マシンが前記複数の物理マシンのいずれかに起動されている状態にて、前記第2の仮想マシンを前記複数の物理マシンのいずれかに起動させる際、前記第1の仮想マシンが起動されている物理マシンからの距離が、前記仮想マシン距離情報記憶部に記憶されている前記仮想マシン距離情報が示す距離種別に対応する物理マシンを、前記物理マシン距離情報記憶部に記憶されている物理マシン距離情報が示す距離を用いて検出するステップを備えることを特徴とする仮想マシン配置方法である。
以上説明したように、本発明によれば、複数の物理マシンに仮想マシンを適切に配置することができる。
本発明の一実施形態による仮想マシン提供システムの構成例を示すブロック図である。 本発明の一実施形態による仮想マシン情報記憶部に記憶される仮想マシン情報のデータ例を示す図である。 本発明の一実施形態による物理マシン情報記憶部に記憶される物理マシン情報のデータ例を示す図である。 本発明の一実施形態による仮想マシン配置情報記憶部に記憶される仮想マシン配置情報のデータ例を示す図である。 本発明の一実施形態によるシステム情報記憶部に記憶されるシステム情報のデータ例を示す図である。 本発明の一実施形態による仮想マシン距離情報記憶部に記憶される仮想マシン距離情報のデータ例を示す図である。 本発明の一実施形態による仮想マシン距離情報に応じた仮想マシン間の関係を示す図である。 本発明の一実施形態による物理マシン距離情報記憶部に記憶される物理マシン距離情報のデータ例を示す図である。 本発明の一実施形態により仮想マシン配置部が第2の仮想マシンを起動する物理マシンを検出する例を示す図である。 本発明の一実施形態による仮想マシン配置部が第2の仮想マシンを起動する物理マシンを検出する例を示す図である。 本発明の一実施形態による仮想マシン配置部が第2の仮想マシンを起動する物理マシンを検出する例を示す図である。 本発明の一実施形態による仮想マシン距離情報と、物理マシン距離情報とに基づいて、仮想マシン配置部によって配置された仮想マシンの例を示す図である。 本発明の一実施形態による仮想マシン提供システムの動作例を示すフローチャートである。 本発明の一実施形態による設置位置情報のデータ例を示す図である。 本発明の一実施形態によるサーバルーム距離情報のデータ例を示す図である。 本発明の一実施形態によるラック距離情報のデータ例を示す図である。 本発明の一実施形態による仮想マシン距離情報のデータ例を示す図である。 従来技術によりラウンドロビン方式によって物理マシンに仮想マシンを配置する例を示す図である。 従来技術によりグリーディ方式によって物理マシンに仮想マシンを配置する例を示す図である。
以下、本発明の一実施形態について、図面を参照して説明する。
図1は、本実施形態による仮想マシン提供システム1の構成を示すブロック図である。仮想マシン提供システム1は、ユーザ端末10と、仮想マシン配置装置20と、複数の物理マシン(物理マシン30、物理マシン31、物理マシン32、・・・)から構成される仮想環境とを備えている。ここで、仮想環境には3台の物理マシンを図示して説明するが、仮想環境は4台以上の物理マシンから構成されていてよい。物理マシン30、物理マシン31、物理マシン32は同様の構成であるため、特に区別しない場合には物理マシン30として説明する。仮想マシン提供システム1は、ユーザ端末10からの仮想マシンの起動要求に応じて、複数の物理マシンによって構成される仮想環境に仮想マシンを起動させ、起動した仮想マシンをユーザ端末10に利用させるリソース提供サービスを提供する。
このようなサービスはクラウドサービスなどとも呼ばれるものである。
ユーザ端末10は、仮想マシン提供システム1によって提供される仮想マシンを利用するユーザのコンピュータ装置である。ユーザ端末10は、ユーザからの入力に応じて、仮想マシンの起動要求を仮想マシン配置装置20に送信する。ユーザ端末10は、起動された仮想マシンにネットワークを介して接続し、利用することができる。ここでは、仮想マシン提供システム1を用いて提供するコンピュータシステムを構成する複数の仮想マシンのマシンイメージを予め仮想マシン配置装置20のマシンイメージ記憶部26に記憶させておき、ユーザ端末10は、このようなコンピュータシステムの起動要求を仮想マシン配置装置20に送信することができる。
仮想マシン配置装置20は、ユーザ端末10や複数の物理マシンから構成される仮想環境にネットワークを介して接続されており、ユーザ端末10からの仮想マシン、コンピュータシステムの起動要求に応じて、複数の物理マシン30のいずれかに仮想マシンを起動させるクラウド管理装置である。仮想マシン配置装置20は、通信部21と、仮想マシン情報記憶部22と、物理マシン情報記憶部23と、仮想マシン配置情報記憶部24と、システム情報記憶部25と、マシンイメージ記憶部26と、仮想マシン距離情報記憶部27と、物理マシン距離情報記憶部28と、仮想マシン配置部29とを備えている。
通信部21は、ネットワークを介して接続された他のコンピュータ装置と通信を行う。例えば、通信部21は、ユーザ端末10から送信される、起動したい仮想マシンを識別する仮想マシンID(Identifier)や、起動したいコンピュータシステムを識別するシステムIDが含まれる起動要求等の情報を受信する。
仮想マシン情報記憶部22には、物理マシン30に起動される仮想マシンに関する仮想マシン情報が記憶される。図2は、仮想マシン情報記憶部22に記憶される仮想マシン情報のデータ例を示す図である。仮想マシン情報には、仮想マシンIDと、リソース種別と、必要リソースとの情報が含まれる。仮想マシンIDは、ユーザ端末10からの起動要求に応じて起動する仮想マシンを識別する情報である。リソース種別は、対応する仮想マシンに対して割り当てられるコンピュータリソースの種別を示す。必要リソースは、リソース種別に定められる種別毎に、その対応する仮想マシンに対して割り当てられるコンピュータリソースの量を示す。図の例では、仮想マシンIDが「V001」である仮想マシンは、仮想CPUを2コア、仮想RAMを4GB、仮想HDDを40GBのリソースが必要であることを示す。
物理マシン情報記憶部23には、仮想環境が備える物理マシンに関する物理マシン情報が記憶される。図3は、物理マシン情報記憶部23に記憶される物理マシン情報のデータ例を示す図である。物理マシン情報には、物理マシンIDと、リソース種別と、キャパシティとの情報が含まれる。物理マシンIDは、仮想環境が備える物理マシンを識別する情報である。リソース種別は、対応する物理マシンが備えるコンピュータリソースの種別を示す。キャパシティは、リソース種別に定められる種別毎に、対応する物理マシンが備えるコンピュータリソースの量を示す。図の例では、物理マシンIDが「P001」である物理マシンは、仮想CPUを16コア、仮想RAMを128GB、仮想HDDを1000GB備えていることを示す。
仮想マシン配置情報記憶部24は、複数の仮想マシンID毎に、その仮想マシンIDが示す仮想マシンが起動している物理マシンを識別する物理マシンIDが対応付けられた仮想マシン配置情報が記憶される。図4は、仮想マシン配置情報記憶部24に記憶される仮想マシン配置情報のデータ例を示す図である。例えば、仮想マシンIDが「V001」である仮想マシンは、物理マシンIDが「P001」である物理マシン上に起動されており、その物理マシンから仮想CPUとして2コア、仮想RAMとして4GB、仮想HDDとして40GBのコンピュータリソースが割り当てられていることを示す。このような仮想マシン配置情報は、仮想マシン配置部29によって仮想マシンが起動された際に、仮想マシン配置部24によって書き込まれる。
システム情報記憶部25には、仮想マシン提供システム1が備える仮想環境の物理マシンを用いて提供されるコンピュータシステムに関するシステム情報が記憶される。図5は、このようなシステム情報のデータ例を示す図である。システム情報には、システムIDと、仮想マシンIDとの情報が含まれる。システムIDは、仮想マシン提供システム1が備える仮想環境の物理マシンを用いて提供するコンピュータシステムを識別する情報である。仮想マシンIDは、対応するコンピュータシステムを構成する複数の仮想マシンを識別する情報である。ここでは、システムIDが「S001」であるコンピュータシステムは、5台の仮想マシンにより構成されることが示されている。例えば、仮想マシンIDが「V001」である仮想マシンはロードバランサーであり、仮想マシンIDが「V002」である仮想マシンと「V003」である仮想マシンとはウェブサーバであり、仮想マシンIDが「V004」である仮想マシンはDBサーバであり、仮想マシンIDが「V005」である仮想マシンはバックアップサーバである。このようなシステム情報は、例えばユーザからユーザ端末10に入力されて仮想マシン配置装置20に送信され、システム情報記憶部25に記憶される。
マシンイメージ記憶部26には、予め定められたOS(Operating System)やソフトウェアが含まれる複数のマシンイメージが記憶されている。
仮想マシン距離情報記憶部27には、仮想環境が備える複数の物理マシンのうち、第1の仮想マシンが起動される物理マシンと、第2の仮想マシンが起動される物理マシンとの距離を示す仮想マシン距離情報が記憶されている。図6は、仮想マシン距離情報記憶部27に記憶される仮想マシン距離情報のデータ例を示す図である。仮想マシン距離情報には、第1の仮想マシンIDと、第2の仮想マシンIDと、距離種別とが含まれる。ここでは、距離種別によって、第1の仮想マシンIDが示す仮想マシンと第2の仮想マシンIDが示す仮想マシンとの間の距離が定められる。例えば、距離種別は、第1の仮想マシンと第2の仮想マシンとを同一の物理マシンに起動させるか否かを示す。また、距離種別は、第1の仮想マシンと第2の仮想マシンとを異なる近隣の物理マシンに起動させるか否かを示す。また、距離種別は、第1の仮想マシンと第2の仮想マシンとを、仮想環境が備える複数の物理マシンのうち、より距離が離れた異なる物理マシンに起動させるか否かを示す。
ここでは、距離種別が「1」であれば、第1の仮想マシンと第2の仮想マシンとを同一の物理マシンに起動させることを示す。距離種別が「2」であれば、第1の仮想マシンと第2の仮想マシンとを異なる近隣の物理マシンに起動させることを示す。距離種別が「3」であれば、第1の仮想マシンと第2の仮想マシンとを、仮想環境が備える複数の物理マシンのうち、より距離が離れた異なる物理マシンに起動させることを示す。図7は、図6に示した仮想マシン距離情報に応じた仮想マシン間の関係を示す図である。図におけるノード間の数字は距離種別を示している。
物理マシン距離情報記憶部28には、仮想環境が備える複数の物理マシン間の距離を示す物理マシン距離情報が記憶されている。図8は、物理マシン距離情報記憶部28に記憶される物理マシン距離情報のデータ例を示す図である。物理マシン距離情報には、物理マシンID毎に、他の物理マシンとの距離を示す情報が対応付けられる。ここで、距離とは、例えば、物理マシン間のスイッチのホップ数である。例えば、物理マシンIDが「P001」である物理マシンから、物理マシンIDが「P002」である物理マシンまでは1ホップの距離であり、物理マシンIDが「P003」である物理マシンまでは2ホップの距離であり、物理マシンIDが「P004」である物理マシンまでは3ホップの距離であることを示している。
仮想マシン配置部29は、第1の仮想マシンが複数の物理マシンのいずれかに起動されている状態にて、第2の仮想マシンを複数の物理マシンのいずれかに起動させる際、仮想マシン距離情報記憶部27に記憶されている仮想マシン距離情報と、物理マシン距離情報記憶部28に記憶されている物理マシン距離情報とに基づいて、複数の物理マシンから、第2の仮想マシンを起動させる物理マシンを検出する。
図9は、第1の仮想マシンと第2の仮想マシンとの距離種別が「1」である場合に仮想マシン配置部29が第2の仮想マシンを起動する物理マシン31を検出する例を示す図である。第1の仮想マシンが物理マシン31に起動されている場合、仮想マシン配置部29は、第1の仮想マシンと同一の物理マシン31に、第2の仮想マシンを起動させることができるか否かを判定する。例えば、物理マシン31に対応する物理マシン情報を物理マシン情報記憶部23から読み出し、物理マシン31に起動されている第1の仮想マシンの仮想マシン配置情報を仮想マシン配置情報記憶部24から読み出す。そして、物理マシン情報記憶部23から読み出した仮想マシンのキャパシティと、仮想マシン配置情報記憶部24から読み出した仮想マシン配置情報における確保リソースとの差を、物理マシン31の余剰リソースとして算出する。
また、仮想マシン配置部29は、第2の仮想マシンの仮想マシン情報を仮想マシン情報記憶部22から読み出し、第2の仮想マシンの必要リソースが、物理マシン31の余剰リソースより少ないか否かを判定する。仮想マシン配置部29が、第2の仮想マシンの必要リソースが、物理マシン31の余剰リソースより少ないと判定すれば、第1の仮想マシンと同一の物理マシン31に、第2の仮想マシンを起動させることができると判定する。第2の仮想マシンの必要リソースが、物理マシン31の余剰リソースより少なくないと判定すれば、物理マシン31に、第2の仮想マシンを起動させることができないと判定する。
ここで、仮想マシン配置部29は、物理マシン31に、第2の仮想マシンを起動させることができないと判定すれば、物理マシン31の近隣の物理マシンの余剰リソースを算出し、第2の仮想マシンを起動できる物理マシンを検出する。すなわち、仮想マシン配置部29は、図に示す(1)、(2)、(3)、(4)の順に、仮想マシンを起動できるか否かを判定し、最初に起動できると判定した物理マシンに仮想マシンを起動する。
図10は、第1の仮想マシンと第2の仮想マシンとの距離種別が「2」である場合に仮想マシン配置部29が第2の仮想マシンを起動する物理マシン31を検出する例を示す図である。第1の仮想マシンが物理マシン31に起動されている場合、仮想マシン配置部29は、第1の仮想マシンと異なる近隣の物理マシン30または物理マシン32に、第2の仮想マシンを起動させることができるか否かを判定する。ここで、近隣の物理マシンとは、物理マシン距離情報記憶部28に記憶されている物理マシン距離情報において、第1の仮想マシンが起動されている物理マシンとの距離が近い(ホップ数が少ない)他の物理マシンを示す。仮想マシン配置部29は、物理マシン距離情報記憶部28に記憶されている物理マシン距離情報に基づいて、第1の仮想マシンが起動されている物理マシンとの距離が近い他の物理マシンを検出する。そして、検出した物理マシンの余剰リソースと第2の仮想マシンの必要リソースとを比較して、第2の仮想マシンが起動できるか否かを判定する。仮想マシン配置部29は、起動できると判定すれば、その物理マシンに第2の仮想マシンを起動させ、起動できないと判定すれば、他の近隣の物理マシンを検出して、第2の仮想マシンを起動できる物理マシンを検出する。ここで、近隣の物理マシンを検出する際、同一の距離である他の物理マシンが複数存在する場合には、例えば物理マシンIDの数値が小さい方の物理マシンを検出してもよいし、より余剰リソースが多い方の物理マシンを検出してもよい。図の例では、仮想マシン配置部29は、(1)、(2)、(3)の順に、仮想マシンを起動できるか否かを判定し、最初に起動できると判定した物理マシンに仮想マシンを起動する。
図11は、第1の仮想マシンと第2の仮想マシンとの距離種別が「3」である場合に仮想マシン配置部29が第2の仮想マシンを起動する物理マシン31を検出する例を示す図である。第1の仮想マシンが物理マシン31に起動されている場合、仮想マシン配置部29は、第2の仮想マシンを、複数の物理マシンのうち、第1の仮想マシンが起動された物理マシンから、より距離が離れた異なる物理マシンを検出する。ここで、より距離が離れた物理マシンとは、物理マシン距離情報記憶部28に記憶されている物理マシン距離情報において、第1の仮想マシンが起動されている物理マシンとの距離が遠い(ホップ数が多い)他の物理マシンを示す。仮想マシン配置部29は、物理マシン距離情報記憶部28に記憶されている物理マシン距離情報に基づいて、第1の仮想マシンが起動されている物理マシンとの距離が遠い他の物理マシンを検出する。そして、検出した物理マシンの余剰リソースと第2の仮想マシンの必要リソースとを比較して、第2の仮想マシンが起動できるか否かを判定する。仮想マシン配置部29は、起動できると判定すれば、その物理マシンに第2の仮想マシンを起動させ、起動できないと判定すれば、その物理マシンを除いたうちで最も距離の遠い他の物理マシンを検出して、第2の仮想マシンを起動できる物理マシンを検出する。ここで、より距離の遠い物理マシンを検出する際、同一の距離である他の物理マシンが複数存在する場合には、例えば物理マシンIDの数値が小さい方の物理マシンを検出してもよいし、より余剰リソースが多い方の物理マシンを検出してもよい。図の例では、仮想マシン配置部29は、(1)、(2)、(3)の順に、仮想マシンを起動できるか否かを判定し、最初に起動できると判定した物理マシンに仮想マシンを起動する。
図12は、図6に示した仮想マシン距離情報と、図8に示した物理マシン距離情報とに基づいて、仮想マシン配置部29によって配置された仮想マシンの例を示す図である。
物理マシン30は、ユーザ端末10からの起動要求に応じて、自身のコンピュータリソースを仮想化して仮想マシンを起動するコンピュータ装置である。ここでは、複数の物理マシンによって仮想環境を構成する。
次に、図面を参照して、本実施形態による仮想マシン提供システム1の動作例を説明する。図13は、本実施形態による仮想マシン提供システム1の動作例を示すフローチャートである。
仮想マシン配置装置20の通信部21が、ユーザ端末10から、システムIDが「S001」であるコンピュータシステムの起動要求を受信すると(ステップS1)、仮想マシン配置部29は、そのシステムIDに対応付けられた複数の仮想マシンIDを、システム情報記憶部25から読み出す。そして、仮想マシン配置部29は、読み出した複数の仮想マシンIDのうち、予め定められた基準となる仮想マシン(例えば、仮想マシンIDの数値が最も小さい仮想マシン)の仮想マシンIDに対応する必要リソースを仮想マシン情報記憶部22から読み出す。そして、仮想マシン配置部29は、物理マシン情報記憶部23と仮想マシン配置情報記憶部24とを参照して、読み出した必要リソースを超える余剰リソースを持つ物理マシンを検出する(ステップS2)。
仮想マシン配置部29は、マシンイメージ記憶部26に記憶されているマシンイメージを読み出し、読み出したマシンイメージを、ステップS2において検出した物理マシンに送信し、仮想マシンを起動させる(ステップS3)。そして、ステップS1において受信したシステムIDに対応する複数の仮想マシンのうち、また起動していない仮想マシンがあれば(ステップS4:NO)、システム情報記憶部25から次の仮想マシンIDを読み出し、前回起動した仮想マシンを第1の仮想マシンとし、新たに読み出した仮想マシンIDの仮想マシンを第2の仮想マシンとして仮想マシン距離情報記憶部27に記憶されている仮想マシン距離情報を読み出す。仮想マシン配置部29は、読み出した仮想マシン距離情報の距離種別が「1」であれば(ステップS5:YES)、第1の仮想マシンが起動されている物理マシンの余剰リソースを算出して第2の仮想マシンの必要リソースと比較し、第2の仮想マシンを、その物理マシンに起動可能か否かを判定する(ステップS6)。
仮想マシン配置部29が、第2の仮想マシンを、第1の仮想マシンが起動された物理マシンに起動可能であると判定すると(ステップS6:YES)、その物理マシンに第2の仮想マシンを起動させると判定し、その物理マシンに第2の仮想マシンの起動要求を送信して(ステップS7)、ステップS4にもどる。ステップS6において、仮想マシン配置部29が、第2の仮想マシンを、第1の仮想マシンが起動された物理マシンに起動可能でないと判定すれば(ステップS6:NO)、ステップS9にすすむ。
ステップS5において、距離種別が「1」でなければ、仮想マシン配置部29は、読み出した仮想マシン距離情報の距離種別が「2」であるか否かを判定する(ステップS8)。距離種別が「2」であれば(ステップS8:YES)、仮想マシン配置部29は、第1の仮想マシンとの距離が近い他の物理マシンを検出する(ステップS9)。ステップS8において、距離種別が「2」でなければ、距離種別は「3」であり、仮想マシン配置部29は、第1の仮想マシンとの距離が遠い他の物理マシンを検出する(ステップS10)。仮想マシン配置部29は、ステップS9またはステップS10において検出した物理マシンに第2の仮想マシンを起動させると判定し、その物理マシンに第2の仮想マシンの起動要求を送信して(ステップS11)、ステップS4にもどる。
以上説明したように、本実施形態によれば、仮想環境の物理マシンに起動する複数の仮想マシンを、その性質に応じて配置することができる。これにより、例えばウェブサーバとロードバランサーなど、できるだけ同一の物理マシン上で稼働するとパフォーマンスが向上するような場合、同一の物理マシン上で稼働させることができる。あるいは、DBサーバのバックアップサーバのように、できるだけマスターのサーバから離れている方がネットワーク機器の障害等の影響を受けないような場合、できるだけ離れた物理マシンに起動させることができる。
なお、上述の例では、物理マシン距離情報として、物理マシン間のスイッチのホップ数を適用する例を示したが、例えば、物理マシンが設置されたサーバルームの拠点位置や、その物理マシンが設置されたラックの位置等を、物理マシン距離情報に含ませるようにしても良い。図14は、物理マシンIDに、その物理マシンIDが示す物理マシンが設置された設置拠点であるサーバルームを識別するサーバルーム識別情報と、その物理マシンがそのサーバルームにおいて設置されたラックを識別するラック識別情報とが対応付けられた設置位置情報のデータ例を示す図である。
図15は、このようなサーバルーム間の距離を示すサーバルーム距離情報のデータ例を示す図である。サーバルーム距離情報において距離を示す数値は、例えばサーバルーム間のスイッチのホップ数や、物理的な距離等とすることができる。図16は、このようなサーバルームにおけるラック間の距離を示すラック距離情報のデータ例を示す図である。ラック距離情報において距離を示す数値は、例えば物理的な距離等とすることができる。仮想マシン配置部29は、このような距離情報に基づいて、第1の仮想マシンに対する第2の仮想マシンを起動する物理マシンを検出する。
また、上述の例では、仮想マシンIDが「V001」である仮想マシンを第1の仮想マシンとし、仮想マシンIDが「V002」である仮想マシンを第2の仮想マシンとした場合の距離種別を対応付けているが、仮想マシンIDが「V001」である仮想マシンを第1の仮想マシンとし、仮想マシンIDが「V003」である仮想マシンを第2の仮想マシンとした場合の距離種別を対応付けていない例を示した。これは、仮想マシンIDが「V001」である仮想マシンはロードバランサーであり、仮想マシンIDが「V002」である仮想マシンと仮想マシンIDが「V003」である仮想マシンとはウェブサーバであるため、またユーザによる設定を簡単にするためであるが、図17に示すように、いずれについても設定しても良い。図17は、仮想マシンIDが「V001」である仮想マシンを第1の仮想マシンとし、仮想マシンIDが「V003」である仮想マシンを第2の仮想マシンとした場合の距離種別を対応付けた仮想マシン距離情報のデータ例を示す図である。
また、上述のようなロードバランサー、ウェブサーバ、DBサーバのような構成のコンピュータシステムを運用する場合、例えば一時的にアクセスが増えるようなことがあれば、ウェブサーバのみを一時的に増やすようなことが考えられる。このような場合のために、ロードバランサー、ウェブサーバ、DBサーバのような仮想マシンの用途を示す種別毎に、距離種別を定めることができるようにしてもよい。
なお、本発明における処理部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより仮想マシンの配置を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。また、「コンピュータシステム」は、ホームページ提供環境(あるいは表示環境)を備えたWWWシステムも含むものとする。また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(RAM)のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
1 仮想マシン提供システム
10 ユーザ端末
20 仮想マシン配置装置
21 通信部
22 仮想マシン情報記憶部
23 物理マシン情報記憶部
24 仮想マシン配置情報記憶部
25 システム情報記憶部
26 マシンイメージ記憶部
27 仮想マシン距離情報記憶部
28 物理マシン距離情報記憶部
29 仮想マシン配置部
30 物理マシン
31 物理マシン
32 物理マシン

Claims (6)

  1. 自身のコンピュータリソースに仮想マシンを起動する複数の物理マシンに接続された仮想マシン配置装置であって、
    前記複数の物理マシン間の距離を示す物理マシン距離情報が記憶されている物理マシン距離情報記憶部と、
    前記複数の物理マシンのうち、第1の仮想マシンが起動される物理マシンと、第2の仮想マシンが起動される物理マシンとの距離の種別である距離種別を示す仮想マシン距離情報が記憶されている仮想マシン距離情報記憶部と、
    前記第1の仮想マシンが前記複数の物理マシンのいずれかに起動されている状態にて、前記第2の仮想マシンを前記複数の物理マシンのいずれかに起動させる際、前記第1の仮想マシンが起動されている物理マシンからの距離が、前記仮想マシン距離情報記憶部に記憶されている前記仮想マシン距離情報が示す距離種別に対応する物理マシンを、前記物理マシン距離情報記憶部に記憶されている物理マシン距離情報が示す距離を用いて検出する仮想マシン配置部と、
    を備えることを特徴とする仮想マシン配置装置。
  2. 前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンと前記第2の仮想マシンとを同一の物理マシンに起動させるか否かを示す情報を含む
    ことを特徴とする請求項1に記載の仮想マシン配置装置。
  3. 前記物理マシン距離情報が示す距離は、物理マシン間のホップ数であり、
    前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンが起動される物理マシンと前記第2の仮想マシンが起動される物理マシンとの間のホップ数が最小であって前記第1の仮想マシンが起動される物理マシンとは異なる物理マシンに起動させるか否かを示す情報を含む
    ことを特徴とする請求項1または請求項2に記載の仮想マシン配置装置。
  4. 前記物理マシン距離情報が示す距離は、物理マシン間のホップ数であり、
    前記仮想マシン距離情報に示される前記距離種別は、前記第1の仮想マシンが起動される物理マシンと前記第2の仮想マシンが起動される物理マシンとの間のホップ数が最大となる物理マシンに起動させるか否かを示す情報を含む
    ことを特徴とする請求項1から請求項2に記載の仮想マシン配置装置。
  5. 前記仮想マシン配置部は、検出した物理マシンで前記第2の仮想マシンを起動できない場合には、前記仮想マシン距離情報に示される前記距離種別に従って、前記第2の仮想マシンを起動可能な他の物理マシンを前記物理マシン距離情報が示す距離を用いて検出する
    ことを特徴とする請求項1から請求項4のいずれか1項に記載の仮想マシン配置装置。
  6. 自身のコンピュータリソースに仮想マシンを起動する複数の物理マシンに接続され、前記複数の物理マシン間の距離を示す物理マシン距離情報が記憶されている物理マシン距離情報記憶部と、前記複数の物理マシンのうち、第1の仮想マシンが起動される物理マシンと、第2の仮想マシンが起動される物理マシンとの距離の種別である距離種別を示す仮想マシン距離情報が記憶されている仮想マシン距離情報記憶部とを備えた仮想マシン配置装置の仮想マシン配置方法であって、
    前記第1の仮想マシンが前記複数の物理マシンのいずれかに起動されている状態にて、前記第2の仮想マシンを前記複数の物理マシンのいずれかに起動させる際、前記第1の仮想マシンが起動されている物理マシンからの距離が、前記仮想マシン距離情報記憶部に記憶されている前記仮想マシン距離情報が示す距離種別に対応する物理マシンを、前記物理マシン距離情報記憶部に記憶されている物理マシン距離情報が示す距離を用いて検出するステップ
    を備えることを特徴とする仮想マシン配置方法。
JP2012013184A 2012-01-25 2012-01-25 仮想マシン配置装置、仮想マシン配置方法 Active JP5887149B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012013184A JP5887149B2 (ja) 2012-01-25 2012-01-25 仮想マシン配置装置、仮想マシン配置方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012013184A JP5887149B2 (ja) 2012-01-25 2012-01-25 仮想マシン配置装置、仮想マシン配置方法

Publications (2)

Publication Number Publication Date
JP2013152622A JP2013152622A (ja) 2013-08-08
JP5887149B2 true JP5887149B2 (ja) 2016-03-16

Family

ID=49048910

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012013184A Active JP5887149B2 (ja) 2012-01-25 2012-01-25 仮想マシン配置装置、仮想マシン配置方法

Country Status (1)

Country Link
JP (1) JP5887149B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6243817B2 (ja) * 2014-09-03 2017-12-06 日本電信電話株式会社 分散アプリケーション配置システム
JP6278908B2 (ja) * 2015-02-03 2018-02-14 日本電信電話株式会社 管理装置、および、ソフトウェアコンポーネントグルーピング方法
JP6669614B2 (ja) * 2016-08-31 2020-03-18 Kddi株式会社 データセンタと光ネットワークとを含むシステムの制御装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8112527B2 (en) * 2006-05-24 2012-02-07 Nec Corporation Virtual machine management apparatus, and virtual machine management method and program
JP5598762B2 (ja) * 2008-03-07 2014-10-01 日本電気株式会社 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
JP5211766B2 (ja) * 2008-03-10 2013-06-12 富士通株式会社 資源割り当て装置及びプログラム
JP2010140134A (ja) * 2008-12-10 2010-06-24 Hitachi Ltd 仮想マシン管理方法、プログラムおよび管理サーバ
US20130339956A1 (en) * 2011-03-03 2013-12-19 Hitachi, Ltd. Computer system and optimal arrangement method of virtual machine in computer system

Also Published As

Publication number Publication date
JP2013152622A (ja) 2013-08-08

Similar Documents

Publication Publication Date Title
JP6616827B2 (ja) スケーラブルなデータストレージプール
JP5034109B2 (ja) ライセンス管理装置、ライセンス管理方法及びライセンス認証プログラム
JP5976946B2 (ja) 仮想マシンテストシステム、仮想マシンテスト方法
US10656874B2 (en) Storage device operation control method, and storage device
TWI512483B (zh) 應用於埠倍增器之多階層埠擴充功能
JP5503678B2 (ja) ホスト提供システム及びホスト提供方法
US20130227085A1 (en) Terminal and method for using cloud services
CN107005435B (zh) 一种网络服务描述符上架方法及装置
JP5614133B2 (ja) アクセス制御装置、アクセス制御方法およびストレージシステム
JP5501276B2 (ja) 仮想マシン配置装置、仮想マシン配置方法、仮想マシン配置プログラム
JP5352367B2 (ja) 仮想マシン起動端末および仮想マシン起動プログラム
KR102387922B1 (ko) 솔리드 스테이트 드라이브의 비동기 이벤트 요청 명령 처리 방법 및 시스템
US20200034180A1 (en) Virtual network system, vim, virtual network control method and recording medium
JP5887149B2 (ja) 仮想マシン配置装置、仮想マシン配置方法
RU2017133752A (ru) Конфигурирование соединенной с сетью осветительной системы
CN108445788A (zh) 一种酒店场景控制方法及相关装置
WO2016067520A1 (en) Information processing apparatus, control method thereof, and program
JP2016045839A5 (ja)
US9319350B2 (en) Virtual address for virtual port
CN106792843B (zh) 一种设备管理方法及装置
EP3884648B1 (en) Geo-replicated iot hub
JP6089813B2 (ja) コンピュータシステム及びそのシステム構成情報管理方法
JP2010198200A (ja) プロファイル情報管理装置、プロファイル情報管理方法、及びプログラム
JP6380774B1 (ja) コンピュータシステム、サーバ装置、プログラム及び障害検出方法
JP6701846B2 (ja) 管理装置、バックアップシステム、バックアップ管理方法、プログラム

Legal Events

Date Code Title Description
RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20130516

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130816

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140827

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150515

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150623

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150824

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160119

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160215

R150 Certificate of patent or registration of utility model

Ref document number: 5887149

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250