JP6325348B2 - 仮想マシン配置装置 - Google Patents

仮想マシン配置装置 Download PDF

Info

Publication number
JP6325348B2
JP6325348B2 JP2014110754A JP2014110754A JP6325348B2 JP 6325348 B2 JP6325348 B2 JP 6325348B2 JP 2014110754 A JP2014110754 A JP 2014110754A JP 2014110754 A JP2014110754 A JP 2014110754A JP 6325348 B2 JP6325348 B2 JP 6325348B2
Authority
JP
Japan
Prior art keywords
virtual machine
placement
communication
physical server
switch
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
JP2014110754A
Other languages
English (en)
Other versions
JP2015225560A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2014110754A priority Critical patent/JP6325348B2/ja
Publication of JP2015225560A publication Critical patent/JP2015225560A/ja
Application granted granted Critical
Publication of JP6325348B2 publication Critical patent/JP6325348B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、仮想マシン配置装置、仮想マシン配置方法、および、仮想マシン配置プログラムの技術に関する。
近年、データセンタなどでサーバの仮想化によるサーバ集約が検討されている。1台の物理的なサーバ上に、複数台の論理的なサーバ(仮想マシン)を構築することにより、物理的なサーバの台数を集約できる。仮想マシンの負荷量が同じであっても、仮想化システム全体の性能は、各仮想マシンがどの物理サーバに配置されるかという配置状況によって大きく変化する。配置状況がよくないと、ある計算機資源だけが過剰に使用されてしまうものの、別の計算機資源は使用されないという非効率な状態も発生する。
そこで、特許文献1には、使用リソース量の大きい仮想マシンから順に、移動対象の仮想マシン候補として抽出することで、リソース使用効率を向上させる方法が記載されている。
また、特許文献2には、仮想マシン間の依存関係を考慮して仮想マシンを配置するために、通信量の多い2台の仮想マシン同士を、同じ物理マシンで実行されるように配置する方法が記載されている。
特開2013−239095号公報 特開2010−140134号公報
ここで、エンドツーエンドで仮想マシン間の通信品質(QoS:Quality of Service)を保証するためには、物理サーバと仮想マシンとの関係や、仮想マシン同士の関係だけに着目して仮想マシンの配置先を決定するだけでは、不充分である。
仮想化システムの構成要素として、仮想マシンを搭載する物理サーバだけでなく、それらの物理サーバ間のトラフィックを転送する通信装置(スイッチ)も存在する。よって、いくら物理サーバ単体で処理能力に余裕があっても、複数のトラフィックが1台のスイッチに集中してしまうと、そのスイッチがボトルネックとなって仮想マシン間の通信遅延が発生してしまう。
そこで、本発明は、仮想マシン間の通信品質を保証するように、各仮想マシンを物理サーバに配置することを、主な課題とする。
前記課題を解決するために、本発明の仮想マシン配置装置は、第1の物理サーバ内の第1の仮想マシンと、第2の物理サーバ内の第2の仮想マシンとの間で行われる所定の通信に対して、前記所定の通信で使用される通信量が、前記第1の物理サーバと前記第2の物理サーバとの間で前記所定の通信を中継するスイッチの空き容量以内に収まっているときに、前記第1の仮想マシンの配置先を前記第1の物理サーバとして選択し、前記第2の仮想マシンの配置先を前記第2の物理サーバとして選択する配置処理部を有することを特徴とし、前記配置処理部は、配置済みの前記第1および第2の仮想マシン間の前記所定の通信を転送する前記スイッチのうち、現時点での前記所定の通信で使用される通信量が前記スイッチの通信容量を超過している前記スイッチが存在する場合は、その超過している前記スイッチが担当していた前記所定の通信で使用される通信量の少なくとも一部を別の前記スイッチが担当するように、担当していた前記第1および第2の仮想マシンのうちの少なくとも1つの仮想マシンを、前記第1および第2の物理サーバとは別の物理サーバへと現時点で再配置することを特徴とする。
これにより、スイッチの通信容量の超過を回避するようにあらかじめ考慮して仮想マシンの配置先の候補となる物理サーバを選択するので、仮想マシン間の通信品質を保証するように、各仮想マシンを物理サーバに配置することができ、現時点で発生してしまったスイッチの通信容量の超過を早急に解消できる。
また、本発明は、第1の物理サーバ内の第1の仮想マシンと、第2の物理サーバ内の第2の仮想マシンとの間で行われる所定の通信に対して、前記所定の通信で使用される通信量が、前記第1の物理サーバと前記第2の物理サーバとの間で前記所定の通信を中継するスイッチの空き容量以内に収まっているときに、前記第1の仮想マシンの配置先を前記第1の物理サーバとして選択し、前記第2の仮想マシンの配置先を前記第2の物理サーバとして選択する配置処理部を有することを特徴とし、前記配置処理部は、配置済みの前記第1および第2の仮想マシン間の前記所定の通信を転送する前記スイッチのうち、将来時点での前記所定の通信で使用される通信量が前記スイッチの通信容量を超過すると予測される前記スイッチが存在する場合は、その超過が予測される前記スイッチが担当する前記所定の通信で使用される通信量の少なくとも一部を別の前記スイッチが担当するように、担当する前記第1および第2の仮想マシンのうちの少なくとも1つの仮想マシンを、前記第1および第2の物理サーバとは別の物理サーバへと将来時点で再配置することを特徴とする。
これにより、将来時点で発生が予測されるスイッチの通信容量の超過を、未然に防止できる。
本発明は、前記配置処理部が、前記第1の仮想マシンと前記第2の仮想マシンとの間の前記所定の通信で使用される通信量と、前記第1の仮想マシンと前記第2の仮想マシンとの間のホップ数との積を仮想マシン間の通信評価値とし、前記通信評価値の総和が最小になるように、仮想マシンの配置先となる物理サーバを決定することを特徴とする。
これにより、ネットワーク全体の仮想マシンの通信量が最小化されることで、ネットワーク全体の利用効率を向上させることができる。
本発明は、前記配置処理部が、未配置の仮想マシンの集合から配置先を決定する前記第1および第2の仮想マシンを選択するときに、前記第1の仮想マシンと前記第2の仮想マシンとの間の前記所定の通信で使用される通信量が多いほど、前記第1および第2の仮想マシンを早い順序で配置先を決定し、仮想マシンの配置先の候補となる物理サーバの集合から配置先となる前記第1および第2の物理サーバを選択するときに、前記第1および第2の物理サーバからみてその近傍に接続される前記スイッチの通信容量の余裕が多いほど、前記第1および第2の物理サーバを早い順序で配置先を決定することを特徴とする。
これにより通信容量の大きいスイッチの周辺により通信量の大きい仮想マシンを配置可能となり、ネットワーク全体で適切なネットワークリソース配分が可能となる。
本発明によれば、仮想マシン間の通信品質を保証するように、各仮想マシンを物理サーバに配置することができる。
本発明の一実施形態に関する仮想化システムを示す構成図である。 本発明の一実施形態に関するVM使用量予測部による予測値などのグラフ(図2(a))と、NW情報管理部(図2(b))とを示す説明図である。 本発明の一実施形態に関するVM使用量の一例(図3(a))と、NW情報の一例(図3(b))と、図3(b)のNW情報に対して、図3(a)のVM使用量をもとにしたVM配置部の初期配置処理(図3(c))を示す説明図である。 本発明の一実施形態に関するVM使用量の一例(図4(a))と、NW情報の一例(図4(b))と、図4(b)のNW情報に対して、図4(a)のVM使用量をもとにしたVM配置部の初期配置処理(図4(c))を示す説明図である。 本発明の一実施形態に関するVM配置部の初期配置処理を示すフロー説明図である。 本発明の一実施形態に関する再配置を要する状況(図6(a))と、その状況から再配置を実行した後の状況(図6(b))とを示す説明図である。 本発明の一実施形態に関する図6(a)の再配置を要する状況が現時点で発生した旨を示すグラフ(図7(a))と、図6(b)の再配置を現時点で実行した旨を示すグラフ(図7(b))である。 本発明の一実施形態に関する図6(a)の再配置を要する状況が将来時点で発生した旨を示すグラフ(図8(a))と、図6(b)の再配置を将来時点で実行した旨を示すグラフ(図8(b))である。 本発明の一実施形態に関するVM配置部の再配置処理を示すフロー説明図である。
以下、本発明の一実施形態について、図面を参照して詳細に説明する。
図1は、仮想化システムを示す構成図である。仮想化システムは、VM配置装置1と、物理サーバ4と、スイッチ3とを含めて構成される。これらの仮想化システムを構成する各装置は、それぞれCPU(Central Processing Unit)とメモリとハードディスク(記憶手段)とネットワークインタフェースを有するコンピュータとして構成され、このコンピュータは、CPUが、メモリ上に読み込んだプログラムを実行することにより、各処理部を動作させる。
VM配置装置1は、仮想マシン2ごとに、その配置先となる物理サーバ4を決定する。
なお、仮想マシン2は、物理サーバ4の計算機資源を利用し、コンピュータの動作をエミュレートした計算機環境である。以下、物理サーバ4をPS(Physical Server)と略し、仮想マシン2をVM(Virtual Machine)と略し、スイッチ3をSW(SWitch)と略す場合もある。
VM配置装置1は、VM使用量予測部11と、SW使用量予測部12と、SW容量管理部13と、NW情報管理部14と、VMスコア算出部15と、配置先算出部16と、VM配置部17と、VM情報受信部18と、SW情報受信部19と、PSスコア算出部10aと、PS使用量収集部10bとを有する。
仮想マシン2は、VM使用量収集部21と、VM情報転送部22とを有する。
スイッチ3は、SW使用量収集部31と、SW情報転送部32とを有する。
物理サーバ4は、PS使用量収集部41と、PS情報転送部42とを有する。
以下、図1の各構成要素の詳細を説明する。
VM使用量収集部21は、所定期間ごとに、自身のVMと、その通信先のVMとのペアごとのVM使用量(実測値)を収集する。なお、VM使用量とは、VMペアの通信(トラフィック)を転送するために使用する通信資源の量である。
VM情報転送部22は、VM使用量収集部21が収集したVM使用量などの自身のVMに関する情報を、VM情報受信部18に対して送信する。
VM情報受信部18は、VM情報転送部22から各VMに関する情報を受信する。
VM使用量予測部11は、VM情報受信部18が受信したVM使用量の実測値から、今後の所定期間におけるVM使用量の予測値を計算する。なお、VM使用量予測部11は、所定のVMペアにおけるVM使用量の実測値が更新されるたびに、その実測値をもとにしたVM使用量の予測値を再計算する。
図2(a)は、VM使用量予測部11による予測値などを示すグラフである。グラフの横軸は時刻を示し、縦軸は所定のVMペア間のVM使用量を示す。
例えば、現在時刻を10月11日(10/11と表記)の14:00とする。
グラフの実線は、過去のトラフィック傾向を示すVM使用量の実測値である。前日(10/10)は朝から夜までの一日の実測値が計測されており、今日(10/11)は朝から14:00までの実測値が計測されている。
グラフの破線は、実測値をもとにしたVM使用量の予測値である。今日は14:00から夜までの予測値が計算されている。
例えば、図2(a)のグラフの横軸(定義域)を1日とすると、前日の実測値から、朝(グラフの左側)は使用量が少なく、昼(グラフの中央側)は使用量が増加し、夕方(グラフのやや右側)は使用量が減少し、夜(グラフの右側)は使用量が増加するという過去のトラフィック傾向がわかる。
そして、今日の朝から14:00までの実測値は、前日の同時刻の実測値よりもVM使用量が若干高いものの、全体的な傾向が類似する。
よって、今日14:00から夜までの予測値は、過去の(前日の)トラフィック傾向に類似することが期待されるので、今日の予測値は、前日の同時刻の実測値よりも若干高い値をなぞるようにして計算される。例えば、前日の夕方(16:00)の実測値が低くなっているので、本日の夕方(16:00)の予測値も低くする。また、前日の夜(19:00)の実測値が高くなっているので、本日の夜(19:00)の予測値も高くする。
図1に戻って、VMスコア算出部15は、仮想マシン2ごとにその仮想マシン2が次のキーVM(詳細は、図3)としての選ばれやすさを示す「VMスコア」を算出する。VMスコアは、高いほど次のVMの配置先として選ばれやすくなるとともに、高いほど配置済みのVMについてのリセット対象としても選ばれやすくなる。以下、VMスコアの計算方法を例示する。
1つめのVMスコアの計算方法として、所定のVMとその通信先のVMとの間のVMペアについて、VMペアごとのVM使用量(所定期間における平均値)が大きい(例えば、VM使用量が所定閾値を超える)か否かを判定し、VM使用量が大きい通信先のVMの台数が多いほど、所定のVMに対するVMスコアを高くする方法がある。
2つめのVMスコアの計算方法として、所定のVMについてのVM使用量(所定期間における平均値)を、所定のVMからみた通信先のVMごとに計算し、所定のVMについてのVM使用量の合計値が大きいほど、所定のVMに対するVMスコアを高くする方法がある。
なお、VMスコア算出部15は、VMスコアの計算に用いるVM使用量として、VM使用量予測部11からの予測値と、VM情報受信部18からの実測値とをそれぞれ受信する。そして、VMスコア算出部15は、受信したVM使用量が更新されるたびに、VMスコアを再計算する。
SW使用量収集部31は、所定期間ごとに、自身のSWについてのSW使用量(実測値)を収集する。SW使用量とは、SWがVMペアの通信を転送するために使用する通信資源の量であり、具体的には、あるSWの使用量とは、そのSWを通過する経路のVM使用量の総和である。
SW情報転送部32は、SW使用量収集部31が収集したSW使用量などの自身のSWに関する情報を、SW情報受信部19に対して送信する。
SW情報受信部19は、SW情報転送部32から各SWに関する情報を受信する。
SW容量管理部13は、各SWに関する情報として、SW情報受信部19が受信したSW使用量と、あらかじめSWごとに登録されているSW容量(SWの通信能力から求まるSWの通信容量)とを管理する。
SW使用量予測部12は、VM使用量予測部11が予測したVM使用量と、配置先算出部16が決定したVMの配置関係とをもとに、単位時間あたりの各SWの使用量を予測する。なお、SW使用量予測部12は、入力パラメータ(VM使用量、VMの配置関係)が更新されるたびに、各SWの使用量の予測値が再計算される。
PS使用量収集部41は、所定期間ごとに、自身の物理サーバ4についてのPS使用量(実測値)や搭載VM数を収集する。PS使用量とは、物理サーバ4が使用する通信資源の量である。搭載VM数とは、自身の物理サーバ4に配置(搭載)されているVMの数である。
PS情報転送部42は、PS使用量収集部41が収集した自身の物理サーバ4に関する情報を、PSスコア算出部10aおよびNW情報管理部14に対してそれぞれ送信する。
PS使用量収集部10bは、各物理サーバ4のPS情報転送部42から送信されたPS使用量や搭載VM数を収集する。
NW情報管理部14は、VMの配置対象であるネットワークシステムのトポロジ情報を、あらかじめ管理者などから受け付けて管理する。トポロジ情報とは、例えば、以下の情報である。
・各物理サーバ間の経路情報
・各物理サーバ間の経路ごとの経路ホップ数情報
・各経路に存在するSW情報
図2(b)は、NW情報管理部14が管理するトポロジ情報を示す説明図である。スイッチ3(SW1〜SW5)と、物理サーバ4(PS1〜PS4)とが図示したように接続されている。
図1に戻って、PSスコア算出部10aは、物理サーバ4ごとにその物理サーバ4が次のVMの配置先としての選ばれやすさを示す「PSスコア」を算出する。PSスコアは、高いほど次のVMの配置先としての選ばれやすくなる。以下、PSスコアの計算方法を例示する。
1つめのPSスコアの計算方法は、自身の物理サーバ4からみてNホップ(例えば、N=1)以内のスイッチ3に着目し、それらのスイッチ3のうちの所定期間継続して空き通信容量が所定値以上の(換言すると、余裕のある)スイッチ3の台数が多いほど、PSスコアを高くする方法である。
2つめのPSスコアの計算方法は、自身の物理サーバ4からみてNホップ(例えば、N=1)以内のスイッチ3に着目し、着目した各スイッチ3の所定期間中の空き通信容量の合計値が大きいほど、PSスコアを高くする方法である。
なお、スイッチ3ごとの空き通信容量は、スイッチ3の容量(通信能力)からスイッチ3の使用量を減じたものである。PSスコア算出部10aは、スイッチ3の使用量として、SW使用量予測部12からの予測値と、SW容量管理部13からの実測値とをそれぞれ受信する。PSスコア算出部10aは、受信したスイッチ3の使用量が更新されるたびに、PSスコアを再算出する。
配置先算出部16は、仮想マシン2ごとに、その配置先となる物理サーバ4を配置ポリシをもとに決定する。配置ポリシは、下記の(ルール1)〜(ルール5)をすべて満たすように、各VMの配置先を決定することである。または、(ルール1)〜(ルール5)のうちの少なくとも1つの条件を満たすように、各VMの配置先を決定することである。
(ルール1)VMスコアが高い(使用量が大きく、混んでいるVM)順に、対象VMを選択し、その対象VMとの間で使用量が大きいキーVMを選択する。
(ルール2)PSスコアが高い(使用量が小さく、空いているPS)順に、配置先の物理サーバ4を選択する。
(ルール3)ネットワーク全体のスイッチ3が中継する通信量を最小化するように、(ルール1)で選択した対象VMとキーVMとを、(ルール2)で選択した物理サーバ4に配置する。
(ルール4)各SWの物理制約条件(SW使用量≦SW容量)を満たす。
(ルール5)各PSの物理制約条件(PS使用量≦PS容量や、搭載VM数≦搭載VM上限数)を満たす。
配置先算出部16は、前記した配置ポリシを満たすか否かを判断するため、VMの初期配置時には、他の各処理部から以下の情報を取得する。図1では、情報の流れを示す矢印のうち、配置先算出部16に流れる矢印の一部を省略している。
・VM使用量の予測値(VM使用量予測部11から)
・SW容量(SW容量管理部13から)
・トポロジ情報(NW情報管理部14から)
・VMスコア(VMスコア算出部15から)
・PSスコア(PSスコア算出部10aから)
・PS使用量や搭載VM数(PS使用量収集部10bから)
さらに、配置先算出部16は、前記した配置ポリシを満たすか否かを判断するため、VMの再配置時には、前記した初期配置時に取得した情報に加え、他の各処理部から以下の情報を取得する。
・SW使用量の実測値(SW情報受信部19から)
・VM使用量の実測値(VM情報受信部18から)
VM配置部17は、配置先算出部16からのVMの初期配置の指示および再配置の指示に従い、実際に各仮想マシン2を各物理サーバ4へと配置する。なお、配置先算出部16とVM配置部17とを1つの配置処理部として構成してもよい。
図3(a)は、VM情報受信部18が受信した各VMペアにおけるVM使用量の一例を示す説明図である。6つの仮想マシン2(VM1〜VM6)のうち、直接接続されているVMペア(VM1とVM2など)は、VMペア間の通信が発生するものであり、その通信量(VM使用量)をリンクの近傍に記載する(例えば、VM1−VM2間のVM使用量は「40」)。
なお、説明を簡単にするために、各VM使用量を時間経過にかかわらず一定の値としたが、実際は、各VM使用量は逐次更新される。
また、VMペアの接続線のうち、閾値「30」以上のVM使用量が発生する接続線を太線で表記している。この太線の接続線は、「対象VM」と「キーVM」との関係を示す。VM配置部17は、ある対象VM(例えば、VM1)を選択すると、その対象VMに対して太線の接続線で接続されている他のVM(VM1に対するVM2,VM3,VM4)をキーVMとして選択する。
なお、キーVMとは、対象VMとの間でのVM使用量(所定期間における平均値など)が所定量(閾値「30」)を超える通信を行うVMである。
図3(b)は、NW情報管理部14が管理するNW情報の一例を示す説明図である。説明を簡単にするために、図2(b)よりも単純なトポロジを例示する。
ここで、各物理サーバ4(PS1〜PS3)について、それぞれの収容VM上限数を「2」と仮定する。例えば、PS1には、対象VM(VM1)と、そのキーVM(VM2)との2台を収容できるが、3台目のキーVM(VM3)は収容できない。
図3(c)は、図3(b)のNW情報に対して、図3(a)のVM使用量をもとにしたVM配置部17の初期配置処理を示す説明図である。
以下、表の列要素が示す各段階(第1段階〜第5段階)において、徐々に仮想マシン2が配置されていく様子を説明する。表の行要素は、図3(a)の各仮想マシン2と、図3(b)の各スイッチ3とを示す。
表の各セルの内容について、仮想マシン2のセルには、「対象VM」や「キーVM」などの現在の選択状況や、「(PS2)」などの現在の配置先の物理サーバ4が記載される。スイッチ3のセルには、「110/150」などの分数形式が記載され、分母が自身の容量を示し、分子が現在の割り当て済みの使用量を示す。
第1段階では、VM配置部17は、(ルール1)に従い、VMスコアが最高のVM1を対象VMとして選択する。VM1は、太線で接続される通信相手(キーVM)が多い(3台)上に、VM使用量の合計値(30+40+50=120)も他のVM2〜6よりも大きいために、VMスコアが最高になる。
そして、VM配置部17は、(ルール2)に従い、PSスコアが高いPS2を、対象VM(VM1)の配置先として決定する。なお、PS2は、1ホップ以内に存在するSW1,SW2がともに所定閾値(50)より大きい空き通信容量を有しており、かつ、その2台の空き通信容量の合計値(80+150)が最大であるため、PSスコアが他のPS1,PS3より高くなる。
さらに、VM配置部17は、図3(a)で説明したように、対象VM(VM1)から太線で接続される通信相手(VM2,VM3,VM4)をそれぞれキーVMとして選択する。
第2段階では、VM配置部17は、収容VM上限数「2」という(ルール5)と、(ルール3)とに従い、キーVMのうちの最高のVM使用量(50)であるVM3だけをVM1と同じ(0ホップの)PS2に配置する。
第3段階では、VM配置部17は、(ルール3)に従い、残りのキーVM(VM2,4)を対象VM(VM1)からなるべく近く(1ホップ)になるPS3に配置する。ここで、VM配置部17は、PS2(VM1,VM3)と、PS3(VM2,VM4)との間のVM使用量の総和は「40+30+40=110」であり、PS2−PS3間を中継するSW2の容量(150)以内に収まっているので、(ルール4)も満たすようにPS3を選択している。また、VM配置部17は、収容VM上限数「2」という(ルール5)を満たすようにPS3を選択している。
第4段階では、VM配置部17は、初回の対象VM(VM1)とそのキーVM(VM2,VM3,VM4)が配置済みになったので、2回目の対象VM(VM5)とそのキーVM(VM6)とを第1段階と同様に選択する。この選択処理では、配置済みになった各VM(VM1〜VM4)は選択対象から除外される。
第5段階では、VM配置部17は、第1段階〜第3段階と同様に、各配置ポリシを満たすように、第4段階で選択したVM5,6をともにPS1へと配置する。
図4(a)は、VM使用量の一例を示す説明図であり、図3(a)とは別の構成である。
図4(b)は、NW情報の一例を示す説明図であり、図3(b)とは別の構成である。
図4(c)は、図4(b)のNW情報に対して、図4(a)のVM使用量をもとにしたVM配置部17の初期配置処理を示す説明図である。図4(c)では、図3(c)と異なり、いったん配置した仮想マシン2の配置をリセット(解除)するケースを説明する。
図4(c)の第1段階では、図3(c)の第1段階〜第3段階で説明したように、VM配置部17は、(ルール1)に従い、VMスコアが最高のVM1を対象VMとして選択し、(ルール2)に従い、PSスコアが高いPS2を、対象VM(VM1)の配置先として決定する。そして、VM配置部17は、(ルール3)に従い、残りのキーVM(VM2,4)を対象VM(VM1)からなるべく近く(1ホップ)になるPS1に配置する。
図4(c)の第2段階では、VM配置部17は、(ルール1)に従い、次の対象VMとしてVM5を選択し、そのキーVMとしてVM5を選択する。しかし、(ルール5)により搭載VM上限数に余裕のあるVM5の配置先候補(PS3,PS4)のどちらにVM5を配置しても、そのVM5とVMペアをなすVM4がPS1に配置済みのため、そのVMペアの通信量「50」がSW1を通過することで、SW1の通信量超過(130/90)が発生してしまう。
図4(c)の第3段階では、VM配置部17は、第2段階で問題となった配置済みのVM4をリセットする。これにより、未配置のVMは、VM4,VM5,VM6となる。
図4(c)の第4段階では、VM配置部17は、(ルール1)への例外処理として、第3段階でリセットしたVM4を、VMスコアが高いVM5よりも優先して今回の対象VMとする。よって、VM4と太線で接続されるVM5が今回のキーVMとなる。VM配置部17は、(ルール2)に従い、PSスコアが高いPS3を、対象VM(VM4)の配置先として決定し、(ルール3)に従い、キーVM(VM5)を対象VM(VM1)からなるべく近く(0ホップ)になるPS3に配置する。
図4(c)の第5段階では、VM配置部17は、残りのVM6を、配置ポリシを満たすPS4へと配置する。
図5は、VM配置部17の初期配置処理を示すフロー説明図である。
S101として、VM配置部17は、未配置のVMが存在するか否かを判定する。S101でYesならS102に進み、Noなら終了する。そのため、VM配置部17は、VMごとに現在配置済みか否かを示す情報と、配置済みである場合にはその配置先の物理サーバ4を示す情報とを、記憶手段にて管理する。
S102として、VM配置部17は、(ルール1)により、未配置VMから対象VMを選択する。例えば、図3(c)の第1段階では、VM1が対象VMとして選択される。なお、(ルール1)では、VMスコアが高い順に複数台のVMを選択してもよい。
S103として、VM配置部17は、図3(a)で説明したように、選択した対象VMからキーVMを選択する。例えば、図3(c)の第1段階では、VM2,VM3,VM4が対象VM(VM1)のキーVMとして選択される。
S104として、VM配置部17は、(ルール2)、(ルール5)により配置先PSを選択する。例えば、図3(c)の第1段階では、PSスコアが高く、他に搭載するVMが存在していないPS2が配置先PSとして選択される。なお、(ルール2)では、PSスコアが高い順に複数台のPSを選択してもよい。
S105として、VM配置部17は、S102で選択した対象VMと、S103で選択したキーVMとを(ルール3)により、S104で選択した配置先PS(や他のPS)に配置する。
例えば、図3(c)の第1段階では、S102で選択した対象VM1を、S104で選択したPS2に配置する。また、図3(c)の第2段階では、S103で選択したキーVM3を、S104で選択したPS2に配置する。さらに、図3(c)の第3段階では、S103で選択したキーVM2,4を、PS3に配置する。
なお、(ルール3)を満たすか否かは、ネットワーク全体の通信量の評価式を元に判定される。まず、VM配置部17は、S102で選択した対象VMと、S103で選択したキーVMとの組み合わせごとのVMペア集合を形成し、それらのVMペアのVM使用量(所定期間における合計値)の総和を、合計通信量とする。なお、VMペアのVM使用量には、VMペア間のホップ数を重み付け(乗算)してもよい。VMペアの両方が同じ物理サーバ4上に配置されるときには、ホップ数が0なので、そのVMペアのVM使用量も0となる。つまり、選択した各VM間のホップ数をなるべく小さくなるように配置すれば、合計通信量も小さくなる。
そして、VM配置部17は、S102で選択した対象VMと、S103で選択したキーVMとをそれぞれS104の配置先PSのいずれかに配置するようにさまざまな配置先の組み合わせを試す(仮配置する)ことにより、合計通信量が最小になる組み合わせを発見する。
なお、S103で選択したキーVMが配置済みである場合、配置ポリシを満たしつつ、(ルール3)の合計通信量が改善する(より小さくなる)場合は、その配置済みのキーVMをリセットした後、S105で再配置してもよい。
S106として、VM配置部17は、S105の配置処理により、各スイッチ3が(ルール4)を満たすか否かを判定する。S106でYesならS101に戻り、NoならS107に進む。
例えば、図3(c)の第3段階では、SW2の通信量が「110/150」で容量内に収まっているので、(ルール4)を満たす。
一方、図4(c)の第2段階では、SW1の通信量が「130/90」で容量を超過しているので、(ルール4)を満たさない。
ここで、配置済みの対象VMのVMスコアが高いほど、SWの容量(110/150の分母「150」など)を示す閾値を低く設定してもよい。
S107として、VM配置部17は、今回S105で配置したキーVMをリセットし、そのリセットしたVMを次回の対象VMとして選択し、S103に戻る。
例えば、図4(c)の第3段階では、第2段階でキーVMとして配置したVM4をリセットしており、そのVM4が第4段階の対象VMとして選択されている。
なお、VM配置部17は、無限ループを防ぐために、各VMについて、すでに試行した配置先の履歴を保持し、以前に試行して失敗した配置先の物理サーバ4を、次回以降の配置先に候補から除外することが、望ましい。
図6(a)は、再配置を要する状況を示す説明図である。PS1にはVM1とVM2とが配置され、PS2にはVM3とVM4とが配置され、PS3にはVM5が配置されている。ここで、VM1−VM3ペア間のVM使用量が大きいため、そのVMペア間の経路上に位置するSW1のSW使用量が増大し、SW1に輻輳が発生する場合を考える。
図6(b)は、図6(a)から再配置を実行した後の状況を示す説明図である。VM配置部17は、PS1からVM1をリセット(配置解除)し、その後にVM1をPS3へと再配置する。これにより、VM1−VM3ペア間のVM使用量は引き続き大きいものの、その経路上に位置するSW2のSW容量には余裕があるため、SW1,SW2の輻輳を発生させずに済む。
図7(a)は、図6(a)の再配置を要する状況が現時点で発生した旨を示すグラフである。まず、現時点のSW1のSW使用量(実測値)は、VM1−VM3ペア間のVM使用量だけでなく、他のVM使用量と合わせると、閾値が示すSW容量を超過してしまっている。一方、現時点のSW2のSW使用量は、まだ余裕があり、仮にVM1−VM3ペア間のVM使用量を追加したとしても、現時点から所定期間先まで(実測値だけでなく予測値も含む)は、SW2のSW容量を超過しない。
そこで、VM配置部17は、(ルール4)と(ルール5)とに従い、SWの物理制約条件を双方のSW1,SW2が満たすように、VM1−VM3ペア間のVM使用量を、SW1からSW2へと再配置する(そのために、VM1をPS3へと再配置する)ことを決定する。
図7(b)は、図6(b)の再配置を現時点で実行した旨を示すグラフである。双方のSW1,SW2ともに、SW使用量が閾値(SW容量)内に収まることで、(ルール4)を満たすことができる。なお、VM配置部17は、(ルール5)の搭載VM上限数の制約を満たすために、すでに上限の2台のVMが搭載されているPS2を再配置先の候補から除外する。
図8(a)は、図6(a)の再配置を要する状況が将来時点(時刻t)で発生した旨を示すグラフである。図8(b)は、図6(b)の再配置を将来時点(時刻t)で実行した旨を示すグラフである。
図8と図7とを比較すると、SW1のSW容量の超過時点が現時点から将来時点(時刻t)へと置き換わっている。つまり、図8では現時点においては、SW1のSW容量は超過しない。
図8(a)では、将来時点(時刻t)でのSW1のVM使用量(予測値)は、VM1−VM3ペア間のVM使用量だけでなく、他のVM使用量と合わせると、閾値が示すSW容量を超過してしまっている。一方、将来時点(時刻t)でのSW2のVM使用量(予測値)は、まだ余裕があり、仮にVM1−VM3ペア間のVM使用量を追加したとしても、将来時点(時刻t)から所定期間先までは、SW2のSW容量を超過しないと予測される。
そこで、図8(b)に示すように、VM配置部17は、(ルール4)に従い、SWの物理制約条件を双方のSW1,SW2が満たすように、VM1−VM3ペア間のVM使用量を、SW1から再配置することを決定する。なお、図7(b)と異なり、VM配置部17は、配置ポリシを満たすVM使用量の再配置先(図では、SW2)の決定を、現時点ではなく将来時点(時刻t)の直前に行ってもよい。つまり、VM1のリセット処理と、VM1の再配置処理は、現時点ではなく将来時点(時刻t)の直前に行ってもよい。
これにより、各SWのSW使用量として、予測値よりも精度の高い実測値を活用することができるので、確実に空きのあるSWをVM使用量の再配置先として選ぶことができる。
図9は、VM配置部17の再配置処理を示すフロー説明図である。
S201として、VM配置部17は、VM配置状況が配置ポリシを満たしているか否かを判断する材料として、VM使用量およびSW使用量をそれぞれ取得する(詳細は、図1の説明)。
S202として、VM配置部17は、各スイッチ3が(ルール4)の物理制約条件(SW使用量≦SW容量)を満たすか否かを判定する。S202でYesなら終了し、NoならS203に進む。例えば、図6(a)のSW1は、(ルール4)を満たさないために輻輳してしまった例である。
S203として、VM配置部17は、S202で(ルール4)を満たさないスイッチ3に対して、そのスイッチ3が収容するVM使用量のうちの割合が大きいVMペア(図6〜図8では、「VM1−VM3のペア」)を選択する。
S204として、VM配置部17は、(ルール4)と(ルール5)とに従い、VM使用量の再配置先を検索する。例えば、図7(a)や図8(a)では、SW使用量が空いているSW2が検索される。
S205として、VM配置部17は、S204で再配置先が発見されたか否かを判定する。S205でYesならS206に進み、NoならS208に進む。図6〜図8では、VM1の再配置先としてPS3が発見されている(S205でYes)。
S206として、VM配置部17は、VMペアの片方(図6〜図8では、「VM1」)をリセットし、VMペアのVM使用量がS204で検索したスイッチ3を通過するように、リセットしたVMを別の物理サーバ4(図6〜図8では、「PS3」)に再配置する。この再配置処理は、配置済VMの配置リセットを実行しない指示をつけて、図5の初期配置処理を呼び出すことで実現される。
S207として、VM配置部17は、S206の再配置に成功したか否かを判定する。S207でYesならS202に戻り、NoならS208に進む。
S208として、VM配置部17は、VMペアの両方(図6〜図8では、「VM1とVM3」)をリセットし、そのリセットしたVMを再配置するために、図5の初期配置処理を呼び出す。そして、S208の後は、処理をS202へ戻す。
以上説明した図9の各処理の実行時刻について、図7のように、再配置を要する状況が現時点で発生した場合は、S201〜S208の各処理を現時点で実行する。
一方、図8のように、再配置を要する状況が将来時点(時刻t)で発生することを予測した場合は、S202〜S203を現時点で実行し、それ以降の各処理(S204〜S208)を、将来時点(時刻t)の直前まで待ってから実行する。
以上説明した本実施形態では、図3,図4で示したように、(ルール4)に従って、各スイッチ3の容量が超過しないように、対象VMやキーVMを初期配置していくことで、仮想マシン間の通信品質を保証するように、各仮想マシンを物理サーバに配置することができる。
さらに、図6〜図8で示したように、過去の初期配置の時点では(ルール4)を満たしていても、トラフィックの変動などにより、現時点や将来時点で(ルール4)を満たさなくなる事象に対して、配置済みの仮想マシン2を再配置することによって、事後的に(ルール4)を満たすように改善することができる。
1 VM配置装置(仮想マシン配置装置)
2 VM(仮想マシン)
3 SW(スイッチ)
4 物理サーバ
11 VM使用量予測部
12 SW使用量予測部
13 SW容量管理部
14 NW情報管理部
15 VMスコア算出部
16 配置先算出部(配置処理部)
17 VM配置部(配置処理部)
18 VM情報受信部
19 SW情報受信部
10a PSスコア算出部
10b PS使用量収集部
21 VM使用量収集部
22 VM情報転送部
31 SW使用量収集部
32 SW情報転送部
41 PS使用量収集部
42 PS情報転送部

Claims (4)

  1. 第1の物理サーバ内の第1の仮想マシンと、第2の物理サーバ内の第2の仮想マシンとの間で行われる所定の通信に対して、前記所定の通信で使用される通信量が、前記第1の物理サーバと前記第2の物理サーバとの間で前記所定の通信を中継するスイッチの空き容量以内に収まっているときに、前記第1の仮想マシンの配置先を前記第1の物理サーバとして選択し、前記第2の仮想マシンの配置先を前記第2の物理サーバとして選択する配置処理部を有し、
    前記配置処理部は、配置済みの前記第1および第2の仮想マシン間の前記所定の通信を転送する前記スイッチのうち、現時点での前記所定の通信で使用される通信量が前記スイッチの通信容量を超過している前記スイッチが存在する場合は、その超過している前記スイッチが担当していた前記所定の通信で使用される通信量の少なくとも一部を別の前記スイッチが担当するように、担当していた前記第1および第2の仮想マシンのうちの少なくとも1つの仮想マシンを、前記第1および第2の物理サーバとは別の物理サーバへと現時点で再配置することを特徴とする
    仮想マシン配置装置。
  2. 第1の物理サーバ内の第1の仮想マシンと、第2の物理サーバ内の第2の仮想マシンとの間で行われる所定の通信に対して、前記所定の通信で使用される通信量が、前記第1の物理サーバと前記第2の物理サーバとの間で前記所定の通信を中継するスイッチの空き容量以内に収まっているときに、前記第1の仮想マシンの配置先を前記第1の物理サーバとして選択し、前記第2の仮想マシンの配置先を前記第2の物理サーバとして選択する配置処理部を有し、
    前記配置処理部は、配置済みの前記第1および第2の仮想マシン間の前記所定の通信を転送する前記スイッチのうち、将来時点での前記所定の通信で使用される通信量が前記スイッチの通信容量を超過すると予測される前記スイッチが存在する場合は、その超過が予測される前記スイッチが担当する前記所定の通信で使用される通信量の少なくとも一部を別の前記スイッチが担当するように、担当する前記第1および第2の仮想マシンのうちの少なくとも1つの仮想マシンを、前記第1および第2の物理サーバとは別の物理サーバへと将来時点で再配置することを特徴とする
    仮想マシン配置装置。
  3. 前記配置処理部は、前記第1の仮想マシンと前記第2の仮想マシンとの間の前記所定の通信で使用される通信量と、前記第1の仮想マシンと前記第2の仮想マシンとの間のホップ数との積を仮想マシン間の通信評価値とし、前記通信評価値の総和が最小になるように、各仮想マシンの配置先となる各物理サーバを決定することを特徴とする
    請求項1または2に記載の仮想マシン配置装置。
  4. 前記配置処理部は、
    未配置の仮想マシンの集合から配置先を決定する前記第1および第2の仮想マシンを選択するときに、前記第1の仮想マシンと前記第2の仮想マシンとの間の前記所定の通信で使用される通信量が多いほど、前記第1および第2の仮想マシンを早い順序で配置先を決定し、
    仮想マシンの配置先の候補となる物理サーバの集合から配置先となる前記第1および第2の物理サーバを選択するときに、前記第1および第2の物理サーバからみてその近傍に接続される前記スイッチの通信容量の余裕が多いほど、前記第1および第2の物理サーバを早い順序で配置先を決定することを特徴とする
    請求項1ないし請求項3のいずれか1項に記載の仮想マシン配置装置。
JP2014110754A 2014-05-29 2014-05-29 仮想マシン配置装置 Active JP6325348B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014110754A JP6325348B2 (ja) 2014-05-29 2014-05-29 仮想マシン配置装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014110754A JP6325348B2 (ja) 2014-05-29 2014-05-29 仮想マシン配置装置

Publications (2)

Publication Number Publication Date
JP2015225560A JP2015225560A (ja) 2015-12-14
JP6325348B2 true JP6325348B2 (ja) 2018-05-16

Family

ID=54842239

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014110754A Active JP6325348B2 (ja) 2014-05-29 2014-05-29 仮想マシン配置装置

Country Status (1)

Country Link
JP (1) JP6325348B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102532641B1 (ko) * 2016-03-22 2023-05-15 삼성전자 주식회사 장치 및 이의 가상 머신 재배치 방법
JP6692994B2 (ja) * 2017-06-26 2020-05-13 株式会社日立製作所 仮想マシンの管理装置及び管理方法
KR102557617B1 (ko) * 2022-12-27 2023-07-21 오케스트로 주식회사 가상머신 배치 평가 장치 및 이를 포함하는 서버 운영 시스템
KR102622088B1 (ko) * 2023-03-31 2024-01-09 오케스트로 주식회사 클라우드 운영 환경의 성능 보장을 고려한 클라우드 운용 평가 장치 및 이를 포함하는 서버 운영 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003224598A (ja) * 2002-01-31 2003-08-08 Mitsubishi Electric Corp ポリシー定義設定方法およびポリシーサーバ
JP2010146420A (ja) * 2008-12-22 2010-07-01 Hitachi Ltd 余剰資源管理システム、その管理方法、及びサーバ装置
JP2011221581A (ja) * 2010-04-02 2011-11-04 Hitachi Ltd 計算機システムの管理方法、計算機システム管理端末および計算機管理システム
JP2011243112A (ja) * 2010-05-20 2011-12-01 Hitachi Ltd システム管理方法、及び管理装置
JP5697102B2 (ja) * 2012-02-20 2015-04-08 日本電信電話株式会社 画像処理システムの構成装置および構成方法

Also Published As

Publication number Publication date
JP2015225560A (ja) 2015-12-14

Similar Documents

Publication Publication Date Title
US20190319844A1 (en) Service deployment method and apparatus
JP6325348B2 (ja) 仮想マシン配置装置
WO2014208661A1 (ja) 仮想マシン配置設計装置及び方法とシステム並びにプログラム
CN106681839B (zh) 弹性计算动态分配方法
JP6406633B2 (ja) 仮想ネットワーク制御装置、仮想ネットワーク制御方法、及びプログラム
JP6293683B2 (ja) 計算機システム及び計算機システムの性能障害の対処方法
JP2015007942A (ja) プログラム、仮想マシン管理方法および情報処理装置
CN110851235B (zh) 一种适用于多维资源优化配置的虚拟网络功能部署方法
KR101448413B1 (ko) Atca-기반 장비에서 통신 트래픽을 스케줄링하기 위한 방법 및 장치
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
CN105704180B (zh) 数据中心网络的配置方法及其***
CN114362929A (zh) 基于量子密钥分发网络的保护方法、装置和电子设备
JP6960444B2 (ja) 計算機システム及びリソース管理方法
JP6721921B2 (ja) 設備設計装置、設備設計方法、及びプログラム
KR20170014804A (ko) 클라우드 서비스를 위한 가상 머신 프로비저닝 시스템 및 방법
JP6389811B2 (ja) 物理リソース割当装置、物理リソース割当方法、及びプログラム
JP6963465B2 (ja) 計算機システム及びデータ処理の制御方法
JP6947134B2 (ja) サービスチェイン収容装置、および、サービスチェイン収容方法
WO2019167859A1 (ja) 見積り装置および見積り方法
JP6186287B2 (ja) システムの管理サーバ及び制御方法
JP6232698B2 (ja) ネットワークスイッチ装置、タスク移動方法、およびタスク移動プログラム
JP7239861B2 (ja) リソース割当装置、リソース割当方法、および、リソース割当プログラム
JP6721106B2 (ja) 第1の制御装置、装置、方法、プログラム、記録媒体、及びシステム
JP2016099972A (ja) プロセスマイグレーション方法及びクラスタシステム
JP6310406B2 (ja) タグ割当サーバ、タグ割当方法およびタグ割当プログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160722

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170530

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170627

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170828

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20180109

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180314

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20180323

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: 20180406

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180412

R150 Certificate of patent or registration of utility model

Ref document number: 6325348

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150