JP2013200615A - Virtual machine movement control system, virtual machine movement method, and program - Google Patents
Virtual machine movement control system, virtual machine movement method, and program Download PDFInfo
- Publication number
- JP2013200615A JP2013200615A JP2012067302A JP2012067302A JP2013200615A JP 2013200615 A JP2013200615 A JP 2013200615A JP 2012067302 A JP2012067302 A JP 2012067302A JP 2012067302 A JP2012067302 A JP 2012067302A JP 2013200615 A JP2013200615 A JP 2013200615A
- Authority
- JP
- Japan
- Prior art keywords
- virtual machine
- network bandwidth
- movement
- time
- memory rewrite
- 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.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
本発明は、仮想マシン移動制御システム、仮想マシン移動方法およびプログラムに関する。 The present invention relates to a virtual machine movement control system, a virtual machine movement method, and a program.
仮想マシンの移動に関連して幾つかの技術が提案されている。例えば、特許文献1には、仮想マシンの移動計画を立案し、実行する仮想マシン移動制御装置が示されている。
図13は、特許文献1に示されている仮想マシン移動制御装置の構成を示すブロック図である。この仮想マシン移動制御装置1010は、仮想マシン監視部1011、移動計画立案部1012、所要時間推計部1013、評価部1014、計画実行部1015を有する。また、仮想マシン移動制御装置1010は、仮想マシン1030が動作している物理マシン1020と接続されている。
Several techniques have been proposed in connection with the movement of virtual machines. For example,
FIG. 13 is a block diagram illustrating a configuration of the virtual machine movement control device disclosed in
この仮想マシン移動制御装置1010は、物理マシン1020で稼動する仮想マシン1030の移動状況に応じて、仮想マシン1030が現在稼動している物理マシン1020から他の物理マシン1020へ移動するための移動計画を移動計画立案部1012で立案する。そして、仮想マシン移動制御装置1010は、立案した移動計画の移動所要時間と現在実行中の仮想マシン1030の移動計画の移動所要時間を評価部1014で比較し、立案された移動計画と現在実行中の仮想マシン1030の移動計画とでは、どちらの移動計画の終了時刻が早いかを評価する。計画実行部1015は、評価部1014によって評価された結果、立案された移動計画の終了時刻が現在実行中の仮想マシン1030の移動計画の終了時刻よりも早い場合には、立案された移動計画を実行する。
これにより、ユーザ数や、サービスの利用量の変化が激しい状況下であっても、仮想マシンの移動にかかる所要時間を短縮することが可能であるとされている。
The virtual machine
As a result, the time required to move the virtual machine can be shortened even under a situation where the number of users and the usage amount of the service are drastically changed.
ユーザ数やサービスの利用量の変動が激しい状況下では、特許文献1に記載の仮想マシン移動制御装置が仮想マシンを移動させる際の転送スループット、言い換えると、仮想マシンの移動に利用できるネットワーク帯域が変動する。例えば、特許文献1に記載の仮想マシン移動制御装置が移動所要時間を推定した後、移動計画立案までの間にネットワーク帯域が変動すると、当該仮想マシン移動制御装置は、現状(計画立案時の状況)に適した移動計画を立案できないおそれがある。このため、当該仮想マシン移動装置が、移動所要時間を短縮できないおそれがある。
Under a situation where the number of users and the usage amount of the service are drastically changed, the transfer throughput when the virtual machine movement control device described in
また、特許文献1に記載の仮想マシン移動制御装置が、現状に適した移動計画を立案できた場合でも、その後のネットワーク帯域の変動に対応するために、移動計画の立案を頻繁に行う必要が生じ得る。移動計画の立案を頻繁に行うことで、当該仮想マシン移動制御装置の負荷が上昇してしまう。
Further, even when the virtual machine movement control device described in
本発明は、上述の課題を解決することのできる仮想マシン移動制御システム、仮想マシン移動方法およびプログラムを提供することを目的としている。 An object of the present invention is to provide a virtual machine migration control system, a virtual machine migration method, and a program that can solve the above-described problems.
この発明は上述した課題を解決するためになされたもので、本発明の一態様による仮想マシン移動制御システムは、ネットワーク帯域の予約を行うネットワーク帯域確保手段と、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、を具備することを特徴とする。 The present invention has been made to solve the above-described problems. A virtual machine migration control system according to an aspect of the present invention includes a network bandwidth securing unit that reserves a network bandwidth, and a network reserved by the network bandwidth securing unit. A migration plan planning unit that formulates a migration plan of a virtual machine based on a bandwidth; a virtual machine migration execution unit that executes a migration of a virtual machine based on the migration plan of the virtual machine that is planned by the migration plan planning unit; It is characterized by comprising.
また、本発明の一態様による仮想マシン移動方法は、仮想マシン移動制御システムの仮想マシン移動方法であって、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を具備することを特徴とする。 The virtual machine migration method according to one aspect of the present invention is a virtual machine migration method of a virtual machine migration control system, wherein a network bandwidth securing step for reserving a network bandwidth and a network bandwidth reserved by the network bandwidth securing means A migration plan planning step for formulating a migration plan for a virtual machine based on the virtual machine migration execution step for executing a migration of a virtual machine based on the migration plan for the virtual machine formulated by the migration plan planning unit. It is characterized by comprising.
また、本発明の一態様によるプログラムは、仮想マシン移動制御システムとしてのコンピュータに、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を実行させるためのプログラムである。 A program according to an aspect of the present invention includes a network bandwidth securing step for reserving a network bandwidth in a computer as a virtual machine migration control system, and a virtual machine migration based on the network bandwidth reserved by the network bandwidth securing means. A program for executing a migration plan planning step for formulating a plan, and a virtual machine migration execution step for executing migration of a virtual machine based on the migration plan of the virtual machine designed by the migration plan planning unit .
本発明によれば、仮想マシンの移動計画をより適切に立案することができ、また、移動計画の立案の頻発を抑制することができる。 ADVANTAGE OF THE INVENTION According to this invention, the migration plan of a virtual machine can be drawn more appropriately, and the frequent occurrence of the planning of a migration plan can be suppressed.
<第1の実施形態>
以下、図面を参照して、本発明の実施の形態について説明する。
図1は、本発明の第1の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム1は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600と、仮想マシン移動安定化装置100と、動的負荷分散機構(移動計画立案手段)300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100は、ネットワーク帯域計算手段110と、仮想マシン移動時間推定手段120とを具備する。
<First Embodiment>
Embodiments of the present invention will be described below with reference to the drawings.
FIG. 1 is a schematic block diagram showing a functional configuration of a virtual machine migration control system according to the first embodiment of the present invention. In the figure, a virtual machine
仮想マシン400は、物理マシン上で、コンピュータを擬似的に構築するプログラムであり、本発明における移動対象である。ここで、仮想マシン移動制御システム1は、仮想マシン400を構築可能(プログラムとしての仮想マシン400を実行可能)な複数の物理マシンに接続されて通信可能である。また、物理マシン同士もネットワークで接続されて通信可能である。そして、仮想マシン移動制御システム1は、仮想マシン400を構築するためのデータ(プログラムを含む)を物理マシン間で伝送させることで、仮想マシンを物理マシン間で移動させる。
The
メモリ書き換え量監視手段500は、仮想マシン400のメモリ書き換えを監視し、単位時間当たりのメモリ書き換え量を測定する。ここで、仮想マシンのメモリ書き換えとは、仮想マシンの移動に際して伝送されるデータ(例えば、仮想マシンの構成や状態を示すデータや、仮想マシンが記憶するデータなど各種データ)の更新であり、データの追加(新規登録)および削除を含む。
メモリ書き換え量監視手段500は、測定したメモリ書き換え量をメモリ書き換え量格納部600に記憶させる。
The memory rewrite
The memory rewrite
メモリ書き換え量格納部600は、メモリ書き換え量監視手段500が測定した、仮想マシン400のメモリ書き換え量を格納(記憶)する。
図2は、メモリ書き換え量格納部600が記憶するデータのデータ構造例を示す説明図である。同図において、メモリ書き換え量格納部600は、テーブル(表)形式のデータを格納(記憶)しており、1行が1つの仮想マシン400に対応している。
The memory rewrite
FIG. 2 is an explanatory diagram showing an example of the data structure of data stored in the memory rewrite
図2に示すデータ構造にて、メモリ書き換え量格納部600は、仮想マシン400毎に、仮想マシン名601と、仮想マシン400のメモリ使用量602と、単位時間当たりのメモリ書き換え量603とを格納している。ここで、仮想マシン400のメモリ使用量とは、当該仮想マシン400の移動に際して伝送されるデータのデータ量である。以下では、メモリ書き換え量格納部600が記憶するデータを、「メモリ書き換え量データ」と称する。
なお、図2では、メモリ書き換え量の単位時間を1秒としているが、これに限らない。例えばミリ秒など、様々な単位時間を用いることができる。
メモリ書き換え量格納部600は、メモリ書き換え量監視手段500の書き込みに従ってデータを記憶し、記憶しているデータを、ネットワーク帯域計算手段100の読み込みに従って出力する。
In the data structure shown in FIG. 2, the memory rewrite
In FIG. 2, the unit time of the memory rewrite amount is 1 second, but is not limited to this. Various unit times, such as milliseconds, can be used.
The memory rewrite
動的負荷分散機構300は、2つの役割を有する。1つは、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ、仮想マシン400の最大移動許容時間を出力することである。ここで、仮想マシン400の最大移動許容時間とは、仮想マシン400の移動に許容される上限時間であり、仮想マシン400の移動を何分、もしくは何秒以内に終了させることの要求を示す。
動的負荷分散機構300は、この要求を、仮想マシン毎に、仮想マシン名と仮想マシン400の最大移動許容時間との組み合わせとして仮想マシン移動安定化装置100へ出力する。
The dynamic
The dynamic
ここで、動的負荷分散機構300が最大移動許容時間を取得する方法として、様々な方法を用いることができる。例えば、動的負荷分散機構300が、最大移動許容時間を、一律の定数あるいは仮想マシン毎の定数として予め記憶するようにしてもよい。あるいは、動的負荷分散機構300が、最大移動許容時間を入力するユーザ操作を受け付けるようにしてもよい。
動的負荷分散機構300のもう一つの役割は、仮想マシン移動安定化装置100から出力される仮想マシン移動所要時間を元に、仮想マシン400の移動計画を立案することである。
Here, various methods can be used as a method by which the dynamic
Another role of the dynamic
なお、本実施形態では、仮想マシン移動制御システム1が、物理マシンの負荷分散を目的として仮想マシン400の移動を行う場合について説明する。例えば、仮想マシンサーバを複数備えるデータセンターにおけるサーバ負荷の分散に、仮想マシン移動制御システム1を用いることができる。
ただし、本発明は、仮想マシンの移動目的に依存しない。例えば、物理マシンの稼働台数の削減など、様々な目的で仮想マシン400の移動を行う際に、本発明を適用し得る。例えば、仮想マシンサーバを複数備えるデータセンターにおいて、サーバ稼働台数を低減させ、サーバ消費電力を削減するために、仮想マシン移動制御システム1を用いることができる。
In the present embodiment, a case will be described in which the virtual machine
However, the present invention does not depend on the purpose of moving the virtual machine. For example, the present invention can be applied when moving the
図3は、動的負荷分散機構300が生成する移動計画の一例を示す説明図である。同図を参照すると、動的負荷分散機構300が生成する移動計画は、時刻(移動開始時刻)301と、仮想マシン名302と、移動先物理マシン名303とを含む。この移動計画を元に、動的負荷分散機構300は、仮想マシン移動実行手段700に対して仮想マシン400の移動を命令する。動的負荷分散機構300は、自らの生成した移動計画を記憶しておき、当該移動計画に基づいて、仮想マシン移動実行手段700に移動命令を出力する。
FIG. 3 is an explanatory diagram illustrating an example of a movement plan generated by the dynamic
仮想マシン移動実行手段700は、動的負荷分散機構300からの移動命令に基づいて、仮想マシン400を移動させる。
ネットワーク帯域確保手段200は、ネットワーク帯域の予約と開放との手段を提供する。予約されたネットワーク帯域は他のプログラムによって利用されることは無い。例えば、帯域幅が1Gbps(ギガビット毎秒)のネットワークが、仮想マシン400の移動元と移動先の間に存在すると仮定する。そのうち、ネットワーク帯域確保手段200が、10Mbps(メガビット毎秒)の帯域を、ある仮想マシン400の移動用に予約したとすると、他のプログラムは最大でも990Mbpsのネットワーク帯域しか使えない。
The virtual machine
Network bandwidth securing means 200 provides means for reserving and releasing network bandwidth. The reserved network bandwidth is not used by other programs. For example, it is assumed that a network having a bandwidth of 1 Gbps (gigabit per second) exists between the migration source and the migration destination of the
ネットワーク帯域確保手段200は、ネットワーク経路とネットワーク帯域との入力情報を、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)から受けて、ネットワーク帯域の予約を行う。そして、ネットワーク帯域確保手段200は、出力情報として、実際に確保できたネットワーク帯域を、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ出力する。
The network
仮想マシン移動安定化装置100において、ネットワーク帯域計算手段110は、動的負荷分散機構300からの、最大移動許容時間と、移動対象となる仮想マシン400のメモリ書き換え量と、移動対象となる仮想マシン400のメモリ使用量とから、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。そして、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200に対して、計算したネットワーク帯域の予約を要求する。
In the virtual machine
ここで、ネットワーク帯域計算手段110が行う帯域の計算方法の例について説明する。
まず、仮想マシン400のメモリ使用量をM、ネットワーク帯域(当該仮想マシン400の移動に用いられるネットワーク帯域)をtp、当該仮想マシン400の単位時間当たりのメモリ書き換え量をrで示す。すると、当該仮想マシン400のメモリ使用量Mを移動(データ転送)するのに要する時間は、M/tpとなる。この時間M/tpの間に書き換えられたデータの転送に要する時間は、(M/tp)rとなる。さらに、このデータ転送の間に書き換えられたデータの転送が必要になる、というように、i番目のデータ転送に要する時間は、数式(1)のように示される。
Here, an example of a bandwidth calculation method performed by the network
First, the memory usage of the
ここで、転送元と転送先とでデータの差異が充分小さくなるようデータ転送を繰り返すことを想定して、データ転送回数nをn→∞とすると、当該仮想マシン400の転送に要する時間(最大転送時間)Tは、数式(2)のように示される。 Here, assuming that the data transfer is repeated so that the difference in data between the transfer source and the transfer destination becomes sufficiently small, if the data transfer count n is changed from n to ∞, the time required for transfer of the virtual machine 400 (maximum) (Transfer time) T is expressed as in Equation (2).
ただし、tp>rを条件とする。すなわち、単位時間当たりのメモリ書き換え量以上のネットワーク帯域を確保できない場合、仮想マシン400の転送を完了させることができない。
数式(2)についてネットワーク帯域tpを左辺とする等式に書き換えると、数式(3)が得られる。
However, tp> r is a condition. In other words, when the network bandwidth exceeding the memory rewrite amount per unit time cannot be secured, the transfer of the
Rewriting equation (2) into an equation with the network band tp as the left side, equation (3) is obtained.
ここで、vm1は、移動対象となる1つ以上の仮想マシン400のうちの1つを示す。また、tpvm1、Mvm1、Tvm1、rvm1は、それぞれ、仮想マシンvm1の移動に必要なネットワーク帯域、仮想マシンvm1のメモリ使用量、仮想マシンvm1の最大転送時間、仮想マシンvm1の単位時間当たりのメモリ書き換え量を示す。移動対象となる仮想マシン400が複数ある場合、仮想マシンvm2、vm3・・・についても同様である。
Here, vm1 indicates one of one or more
ネットワーク帯域計算手段110は、この数式(3)に、最大移動許容時間と、仮想マシン400のメモリ書き換え量と、仮想マシン400のメモリサイズとを代入して、必要なネットワーク帯域を計算する。具体的には、ネットワーク帯域計算手段110は、メモリ書き換え量格納部600から、仮想マシンのメモリ使用量を読み出して、仮想マシン400のメモリサイズとして用いる。また、ネットワーク帯域計算手段110は、メモリ書き換え量格納部600から、1秒当たりの平均書き換え量を読み出して、仮想マシン400のメモリ書き換え量として用いる。仮想マシン400は、これらのデータと、動的負荷分散機構300からの最大移動許容時間とを数式(3)に代入して、必要なネットワーク帯域を計算する。
The network
ただし、数式(4)に示すとおり、あるネットワークを利用して移動する仮想マシン400がN個(Nは自然数)存在する場合、仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えてはならない。
However, as shown in Formula (4), when there are N
数式(4)において、tpvm1、tpvm2、・・・、tpvmNは、それぞれ、仮想マシンvm1、vm2、・・・、vmNの移動に必要なネットワーク帯域を示す。また、tpmaxは、仮想マシン400の移動に必要なネットワーク帯域の総和を示す。
仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超える場合、ネットワーク帯域計算手段110は、必要なネットワーク帯域の調整を行う。具体的には、ネットワーク帯域計算手段110は、移動する仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えないように調整する。例えば、ネットワーク帯域計算手段110は、個々の仮想マシン400の移動に用いるネットワーク帯域を、tp>rの範囲内で減らすか、各仮想マシン400の移動優先度を元に、当該仮想マシン400のいくつかを移動対象から除外する。
In Expression (4), tp vm1 , tp vm2 ,..., Tp vmN indicate network bandwidths necessary for movement of the virtual machines vm1, vm2,. Also, tp max indicates the total network bandwidth necessary for moving the
When the sum of the network bandwidths necessary for the movement of the
調整を行っても、仮想マシン400の移動に必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を必ず超えてしまう場合、ネットワーク帯域計算手段110は、動的負荷分散機構300に対して、予約に失敗したことを通知する。一方、仮想マシン400の移動に必要なネットワーク帯域を全て予約できる場合、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200を用いて、当該ネットワーク帯域を予約する。ネットワーク帯域の予約後、ネットワーク帯域計算手段110は、実際に予約できたネットワーク帯域を仮想マシン移動時間推定手段120に通知する。
If the total network bandwidth necessary for moving the
仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200で実際に確保されたネットワーク帯域を受け取って、仮想マシン400の移動時間を推定する。仮想マシン移動時間推定手段120は、数式(2)を用いて移動時間を推定し、推定結果を、仮想マシン名と推定移動時間との組み合わせにて、動的負荷分散機構300へ通知する。
The virtual machine movement
なお、仮想マシン400の移動に利用可能なネットワークが複数存在していてもよい。この場合、ネットワーク帯域計算手段110は、ネットワーク毎にこれら帯域の計算を行なう。
例えば、仮想マシン400の移動に利用可能なネットワークが4本存在する場合、より具体的には、仮想マシン400の移動元に接続されているネットワークケーブルが4本あり、それぞれが独立した経路を持っている場合、それぞれのネットワークに対してネットワーク帯域計算手段110を設ける。それぞれのネットワーク帯域計算手段110は、それぞれのネットワークの予約できる最大ネットワーク帯域を予め記憶している。
この場合、動的負荷分散機構300は、仮想マシン名と当該仮想マシン400の最大移動許容時間とに加えて、ネットワーク名を、ネットワーク帯域計算手段110に出力する。
There may be a plurality of networks that can be used to move the
For example, if there are four networks that can be used to move the
In this case, the dynamic
次に、図4を参照して仮想マシン移動制御システム1の動作について説明する。
図4は、仮想マシン移動制御システム1が、仮想マシンの移動予約を設定する処理手順を示すフローチャートである。
Next, the operation of the virtual machine
FIG. 4 is a flowchart illustrating a processing procedure in which the virtual machine
同図の処理において、まず、動的負荷分散機構300が、仮想マシン移動安定化装置100(ネットワーク帯域計算手段110)へ、仮想マシン400毎の最大移動許容時間を出力する(ステップS1)。具体的には、動的負荷分散機構300は、仮想マシン400の仮想マシン名と当該仮想マシン400の最大移動許容時間との組み合わせにて、仮想マシン400毎の最大移動許容時間を出力する。
In the process shown in FIG. 5, first, the dynamic
次に、ネットワーク帯域計算手段110は、当該仮想マシン400のメモリ使用量と単位時間当たりのメモリ書き換え量とを、メモリ書き換え量格納部600から読み込む(ステップS2)。
次に、ネットワーク帯域計算手段110は、各仮想マシンの移動に必要となるネットワーク帯域を計算する(ステップS3)。例えば、ネットワーク帯域計算手段110は、数式(3)を移動対象となる仮想マシン400毎に適用して、ネットワーク帯域を計算する。
Next, the network
Next, the network
次に、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えているかどうかを判定する(ステップS4)。
超えていると判定した場合(ステップS4のYES)、ネットワーク帯域計算手段110は、計算した仮想マシン400毎のネットワーク帯域を縮小する(ステップS5)。その際、ネットワーク帯域計算手段110が、仮想マシン400毎に一律に縮小しても良いし、優先度を設けて、優先的に縮小する仮想マシン400を決めておいても良い。
Next, the network
When it is determined that the network bandwidth has been exceeded (YES in step S4), the network
そして、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400のうち、当該仮想マシン400のためのネットワーク帯域よりも、当該仮想マシン400の単位時間当たりのメモリ書き換え量が多いものが存在するか否かを判定する(ステップS6)。
Then, the network
存在すると判定した場合(ステップS6のYES)、ネットワーク帯域割り当て不可能として、動的負荷分散機構300に通知する。一方、移動対象となる仮想マシン400の全てについて、当該仮想マシン400のためのネットワーク帯域よりも、当該仮想マシン400の単位時間当たりのメモリ書き換え量が少ないと判定した場合(ステップS6のNO)、仮想マシン移動時間推定手段120が、各仮想マシンの移動時間を推定する。
If it is determined that it exists (YES in step S6), the dynamic
一方、移動対象となる仮想マシン400で必要なネットワーク帯域の総和が、予約できる最大ネットワーク帯域を超えていないと判定した場合(ステップS4のNO)、ネットワーク帯域計算手段110は、ネットワーク帯域確保手段200に仮想マシン毎のネットワーク帯域予約要求を出し、ネットワーク帯域確保手段200は、要求に従ってネットワーク帯域を予約する(ステップS7)。
On the other hand, when it is determined that the total network bandwidth necessary for the
そして、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が実際に予約できたネットワーク帯域に基づいて、仮想マシン400の移動時間を推定する(ステップS8)。
その後、同図の処理を終了し、動的負荷分散機構300は、各仮想マシンの推定移動時間を元に、仮想マシン400の移動計画を立案する。そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシンの移動を実行する。
Then, the virtual machine movement
Thereafter, the processing in FIG. 6 is terminated, and the dynamic
以上のように、ネットワーク帯域計算手段110は、移動対象となる仮想マシン400の単位時間当たりのメモリ書き換え量、当該仮想マシン400のメモリ量、ならびに当該仮想マシン400の最大移動許容時間から、必要となるネットワーク帯域を計算する。
これにより、ネットワーク帯域計算手段110は、仮想マシン400の移動に必要なネットワーク帯域を、より正確に求めることができる。
As described above, the network
As a result, the network
そして、ネットワーク帯域確保手段200は、ネットワーク帯域計算手段110が求めたネットワーク帯域に基づいて、ネットワーク帯域の予約を行う。
これにより、ネットワーク帯域確保手段200は、より適切にネットワーク帯域の予約を行うことができ、必要以上にネットワーク帯域を確保する事態や、ネットワーク帯域が不足する事態を低減させることができる。
Then, the network
Thereby, the network bandwidth securing means 200 can reserve the network bandwidth more appropriately, and can reduce the situation of securing the network bandwidth more than necessary and the situation where the network bandwidth is insufficient.
また、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて仮想マシン400の移動時間を推定する。
これにより、仮想マシン移動時間推定手段120は、ネットワーク帯域の安定した(確保された)状態における仮想マシン400の移動時間を推定することができ、仮想マシン400の移動時間(移動にかかる所要時間)をより正確に推定することができる。
The virtual machine movement
Thereby, the virtual machine movement time estimation means 120 can estimate the movement time of the
また、動的負荷分散機構300は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、仮想マシン400の移動計画を立案する。
これにより、動的負荷分散機構300は、ネットワーク帯域の安定した(確保された)状態において、仮想マシン400の移動計画をより適切に立案することができる。すなわち、動的負荷分散機構300は、より短時間で移動完了可能な移動計画を立案することができる。
特に、動的負荷分散機構300は、仮想マシン移動時間推定手段120が推定した仮想マシン400の移動時間に基づいて移動計画を立案することで、仮想マシン400の移動計画をより適切に立案することができる。
Further, the dynamic
As a result, the dynamic
In particular, the dynamic
そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシン400の移動を実行する。
これにより、仮想マシン移動実行手段700は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、ネットワーク帯域の安定した(確保された)状態において、仮想マシンの移動を安定的に行なうことができる。
Then, the virtual machine
As a result, the virtual machine
特に、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に沿って(ほぼ移動計画どおりに)、仮想マシン400の移動を実行することができ、移動計画の見直しを行なう回数を少なくすることができる。すなわち、移動計画の立案の頻発を抑制することができる。
なお、仮想マシン移動制御システムは、例えば、単位時間当たりのメモリ書き換え量が大きく変化した場合に、移動計画の見直しを行なう。
In particular, the virtual machine movement execution means 700 can execute the movement of the
Note that the virtual machine migration control system reviews the migration plan when, for example, the amount of memory rewriting per unit time changes significantly.
次に、仮想マシン移動制御システム1の、より具体的な構成例について説明する。
図5は、仮想マシン移動制御システム1の、より具体的な構成例を示す概略構成図である。同図において、図1の仮想マシン400は、KVM(Kernel-based Virtual Machine)800にて構築される。KVMは、Linux(登録商標)のカーネルをハイパーバイザとして構築する仮想マシンである。また、図1のメモリ書き換え量監視手段500は、Linuxカーネルモジュール810(Linuxは登録商標)にて構築される。
Next, a more specific configuration example of the virtual machine
FIG. 5 is a schematic configuration diagram illustrating a more specific configuration example of the virtual machine
また、図1のメモリ書き換え量格納部600は、SQLサーバ820にて構築される。SQLサーバは、リレーショナル・データベース管理サーバであり、各種データを記憶する。
また、図1の仮想マシン移動実行手段700は、libvirtデーモン840にて構築される。libvirtは、仮想マシンの制御を抽象化したライブラリである。
1 is constructed by the
Further, the virtual machine movement execution means 700 in FIG. 1 is constructed by the
また、ネットワーク帯域確保手段200は、オープンフロー(Open Flow)スイッチ830にて構築される。オープンフロースイッチは、オープンフローコントローラにて制御可能なスイッチである。仮想マシン移動制御システム1では、仮想マシン移動安定化装置100が、オープンフロースイッチを制御して、ネットワーク帯域の予約を行わせる。
The network bandwidth securing means 200 is constructed by an
図5に示す構成において、Linuxカーネルモジュール810(Linuxは登録商標)は、KVM800のページテーブルを参照し、メモリ書き換え量を計算する。ここで、ページテーブルとは、ページエントリから構成されるテーブルである。ページテーブルは、ページング方式の仮想記憶システムにおいて、仮想アドレスと物理アドレスとのマッピングを格納する。また、ページエントリとは、ページ単位に区切られたメモリ領域の状態を保持するデータである。ページエントリには、ダーティービットと呼ばれる、ページが書き換えられたかどうかを示す情報が備えられている。 In the configuration shown in FIG. 5, the Linux kernel module 810 (Linux is a registered trademark) refers to the page table of the KVM 800 and calculates the memory rewrite amount. Here, the page table is a table composed of page entries. The page table stores a mapping between a virtual address and a physical address in a paging virtual storage system. A page entry is data that holds the state of a memory area divided into page units. The page entry includes information called a dirty bit indicating whether the page has been rewritten.
Linuxカーネルモジュール810(Linuxは登録商標)は、定期的にダーティービットを参照することによってメモリ書き換え量を計算する。例えば、Linuxカーネルモジュール810(Linuxは登録商標)は、1秒毎にダーティービットを参照して、単位時間1秒にてメモリ書き換え量を計算する。ここで、Linuxカーネルモジュール810(Linuxは登録商標)は、参照後、ダーティービットをクリアする(OFFにする)。従って、次の参照にてダーティービットがONになっていることを検出することで、Linuxカーネルモジュール810(Linuxは登録商標)は、単位時間のうちに、当該ダーティービットに対応するページに書き換えが発生したことを検出できる。
The Linux kernel module 810 (Linux is a registered trademark) periodically calculates the memory rewrite amount by referring to the dirty bit. For example, the Linux kernel module 810 (Linux is a registered trademark) refers to the dirty bit every second and calculates the memory rewrite amount per
SQLサーバ820は、仮想マシン毎のメモリ書き換え量を格納する。具体的には、SQLサーバ820は、仮想マシン名とメモリ書き換え量とを属性情報として、仮想マシンの数だけエントリを持つデータベースとして、メモリ書き換え量を格納する。
libvirtデーモン840は、KVM800のライブマイグレーションを実行する。ここで、ライブマイグレーションとは、仮想マシンをある物理マシンから他の物理マシンへ移動することを指す。
The
The
オープンフロースイッチ830は、ネットワーク帯域予約手段を提供する。オープンフロースイッチ830は、ネットワークスイッチの一種であり、フロー毎、つまり、仮想マシンの移動に使われるネットワーク毎にネットワークの速度やその他の振る舞いを制御できるネットワークスイッチである。
例えば、OpenFlowSwitch Specification Version 1.1.0のA.2.2節には、オープンフロースイッチ830における具体的なネットワーク帯域の予約方法が記載されている。その概略は次の通りである。仮想マシンの移動に使うネットワーク(オープンフロースイッチ830におけるフロー)毎にキューを生成し、当該キューのコンフィギュレーションに、最大データ転送保証を設定する。このように、オープンフロースイッチ830は、仮想マシンの移動(データ転送)フローをキューに格納し、各物理マシンに転送されるデータ量を制御することができる(従って、ネットワーク帯域を予約し、確保することができる)。
The
For example, A. of OpenFlowSwitch Specification Version 1.1.0. Section 2.2 describes a specific network bandwidth reservation method in the
<第2の実施形態>
次に、本発明の第2の実施形態について図面を参照して説明する。
図6は、本発明の第2の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム2は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600Bと、仮想マシン移動安定化装置100Bと、動的負荷分散機構300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100Bは、ネットワーク帯域計算手段110Bと、仮想マシン移動時間推定手段120と、メモリ書き換え量推定手段130とを具備する。
<Second Embodiment>
Next, a second embodiment of the present invention will be described with reference to the drawings.
FIG. 6 is a schematic block diagram illustrating a functional configuration of the virtual machine migration control system according to the second embodiment of the present invention. In the figure, the virtual machine movement control system 2 includes a
同図に示す仮想マシン移動制御システム2は、仮想マシン移動制御システム1(図1)が具備する各部に加えて、メモリ書き換え量推定手段130を具備する。また、メモリ書き換え量推定手段130の追加に伴って、ネットワーク帯域計算手段110Bおよびメモリ書き換え量格納部600Bが扱うデータの構造が、仮想マシン移動制御システム1の場合と異なっている。
The virtual machine movement control system 2 shown in the figure includes a memory rewrite
図7は、メモリ書き換え量格納部600Bが記憶するデータのデータ構造例を示す説明図である。同図において、メモリ書き換え量格納部600Bは、仮想マシン400毎にテーブル形式のデータを格納している。各テーブルには、仮想マシン名601と、仮想マシンのメモリ使用量602と、単位時間当たりのメモリ書き換え量603とに加えて、状態取得時刻604が含まれている。当該データ構造にて、メモリ書き換え量格納部600Bは、状態取得時刻604における仮想マシンのメモリ使用量602と1秒当たりの平均書き換え量603との履歴を複数記憶している。
FIG. 7 is an explanatory diagram showing an example of the data structure of data stored in the memory rewrite
なお、図7に示されるメモリ書き換え量格納部600Bのデータの例では、仮想マシン毎のテーブルエントリ数が3つになっているが、このエントリ数は2つ以上であればよい。また、仮想マシン毎にエントリ数が異なっていてもよい。
メモリ書き換え量格納部600Bは、メモリ書き換え量監視手段500からの書き込みに従ってデータを記憶し、記憶しているデータを、メモリ書き換え量推定手段130の読み込みに従って出力する。
In the example of data in the memory rewrite
The memory rewrite
ネットワーク帯域計算手段110Bは、ネットワーク帯域計算手段110(図1)とは異なり、メモリ書き換え量推定手段130に対して、移動対象となる仮想マシン400の将来(要求時よりも未来)のメモリ書き換え量を要求する。ネットワーク帯域計算手段110Bは、仮想マシン名と推定の必要な時刻とをメモリ書き換え量推定手段130へ出力して、当該時刻のメモリ書き換え量を、メモリ書き換え量推定手段130から受け取る。例えば、ネットワーク帯域計算手段110Bは、仮想マシン400の最大移動許容時間を2で割った値、つまり移動の中間時刻を算出して、推定の必要な時刻とする。
ネットワーク帯域計算手段110Bは、メモリ書き換え量推定手段130からのメモリ書き換え量(推定値)に基づいて、ネットワーク帯域計算手段110(図1)と同様に、仮想マシン400の移動に必要なネットワーク帯域を計算する。そして、ネットワーク帯域計算手段110Bは、ネットワーク帯域確保手段200に対して、計算したネットワーク帯域の予約を要求する。また、ネットワーク帯域計算手段110Bは、ネットワーク帯域計算手段110(図1)と同様に、ネットワーク帯域の調整等も行う。
Unlike the network bandwidth calculator 110 (FIG. 1), the
Based on the memory rewrite amount (estimated value) from the memory rewrite
メモリ書き換え量推定手段130は、メモリ書き換え量格納部600Bに格納されている状態取得時刻と1秒当たりの平均書き換え量(仮想マシン400毎のメモリ書き換え量)との複数の組から、仮想マシン400の将来のメモリ書き換え量を推定(予測)する。具体的な例としては、メモリ書き換え量推定手段130は、仮想マシン400毎に格納されている、状態取得時刻と単位時間当たりのメモリ書き換え量との組み合わせを、メモリ書き換え量格納部600Bから複数読み込む。そして、メモリ書き換え量推定手段130は、最小二乗法により、読み出したメモリ書き換え量に対する、メモリ書き換え量の予測関数を計算する。
The memory rewrite
ここで、最小二乗法は、例えば(x,y)の組からなるN個のデータに対して、最も当てはまる近時関数を求める方法である。例えば、直線式y=ax+bを求める場合、係数aは、数式(5)により求められる。 Here, the least square method is a method for obtaining a most recent function which is most applicable to N pieces of data composed of, for example, a set of (x, y). For example, when the linear equation y = ax + b is obtained, the coefficient a is obtained by Equation (5).
また、係数bは、数式(6)により求められる。 Further, the coefficient b is obtained by Expression (6).
最小二乗法を用いて、直線式だけではなく、2次関数、3次関数など多次の近似関数を求めることもできる。
このように、メモリ書き換え量推定手段130は、状態取得時刻と単位時間当たりのメモリ書き換え量との複数の組み合わせから、状態取得時刻と単位時間当たりのメモリ書き換え量との関係を示す近似式を求める。そして、メモリ書き換え量推定手段130は、得られた式に推定の必要な時刻(将来時刻)を代入することで、当該時刻における単位時間当たりのメモリ書き換え量を求める。
By using the least square method, not only a linear expression but also a multi-order approximation function such as a quadratic function and a cubic function can be obtained.
As described above, the memory rewrite
ただし、メモリ書き換え量推定手段130が将来のメモリ書き換え量を推定(計算)する方法は、最小二乗法を用いる方法に限らない。状態取得時刻と単位時間当たりのメモリ書き換え量の組み合わせから、当該メモリ書き換え量を求めることのできる方法であればよい。
メモリ書き換え量推定手段130は、得られたメモリ書き換え量を、ネットワーク帯域計算手段110Bに出力する。
However, the method by which the memory rewrite
The memory rewrite
図8は、仮想マシン移動制御システム2が、仮想マシン400の移動予約を設定する処理手順を示すフローチャートである。同図の処理手順において、ステップS1およびS3〜S8は、図4の場合と同様である。図8の処理手順は、図4の処理手順のうち、ステップS2を、メモリ書き換え量推定手段130の動作を示すステップS9に置き換えたものとなっている。
FIG. 8 is a flowchart illustrating a processing procedure in which the virtual machine migration control system 2 sets a migration reservation for the
次に、図9を参照して、メモリ書き換え量推定手段130の動作について説明する。
図9は、メモリ書き換え量推定手段130が、仮想マシン400のメモリ書き換え量を推定(予測)する処理の手順を示すフローチャートである。メモリ書き換え量推定手段130は、図8のステップS9にて、図9の処理を行う。
Next, the operation of the memory rewrite
FIG. 9 is a flowchart illustrating a procedure of processing in which the memory rewrite
図9の処理において、メモリ書き換え量推定手段130は、まず、仮想マシン400の状態取得時刻を読み込む(ステップS10)、次に、メモリ書き換え量推定手段130は、当該仮想マシン400のメモリ書き換え量を読み込む(ステップS11)。この2つのステップでは、次の近似関数を計算する際に必要な数だけ、状態取得時刻とメモリ書き換え量の組を読み込む。読み込む組み合わせの数が多いほど、近似関数の精度は高くなる。
In the process of FIG. 9, the memory rewrite
次に、メモリ書き換え量推定手段130は、近似関数を計算する(ステップS12)。そして、メモリ書き換え量推定手段130は、ある時点(推定の必要な時刻)におけるメモリ書き換え量を計算する(ステップS13)。例えば、近似関数がy=ax+bであり、5秒後のメモリ書き換え量を計算したい場合、メモリ書き換え量推定手段130は、Y=5a+bとなるY、つまり、メモリ書き換え量を計算する。
ただし、メモリ書き換え量推定手段130の説明で述べたように、計算される将来のメモリ書き換え量推定は、状態取得時刻と単位時間当たりのメモリ書き換え量の組み合わせから計算できれば、最小二乗法以外の方法を用いてもよい。
Next, the memory rewrite amount estimating means 130 calculates an approximate function (step S12). Then, the memory rewrite
However, as described in the description of the memory rewrite
以上のように、メモリ書き換え量推定手段130は、仮想マシン400の、将来時刻における単位時間当たりのメモリ書き換え量を推定する。そして、ネットワーク帯域計算手段110Bは、メモリ書き換え量推定手段130が推定した、将来時刻における単位時間当たりのメモリ書き換え量に基づいて、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。
これにより、ネットワーク帯域計算手段110Bは、仮想マシン400の移動に必要なネットワーク帯域を、より高精度に算出することができる。
そして、ネットワーク帯域確保手段200は、ネットワーク帯域計算手段110Bが求めたネットワーク帯域に基づいて、ネットワーク帯域の予約を行うことで、より適切にネットワーク帯域の予約を行うことができる。
As described above, the memory rewrite
Thereby, the network
Then, the network bandwidth securing means 200 can make a network bandwidth reservation more appropriately by making a network bandwidth reservation based on the network bandwidth obtained by the network bandwidth calculation means 110B.
また、仮想マシン移動時間推定手段120は、ネットワーク帯域確保手段200が予約したネットワーク帯域と、メモリ書き換え量推定手段130が推定した、将来時刻におけるメモリ書き換え量に基づいて、仮想マシン400の移動時間を推定する。
仮想マシン400の移動時におけるメモリ書き換え量に基づいて推定を行うことで、仮想マシン移動時間推定手段120は、仮想マシン400の移動時間(移動にかかる所要時間)を、さらに正確に推定し得る。
そして、動的負荷分散機構300は、仮想マシン移動時間推定手段120が将来時刻におけるメモリ書き換え量に基づいて推定した仮想マシン400の移動時間を用いて、仮想マシン400の移動計画を立案する。これにより、動的負荷分散機構300は、仮想マシン400の移動計画をさらに適切に立案し得る。
Further, the virtual machine movement
By performing the estimation based on the memory rewrite amount at the time of movement of the
Then, the dynamic
<第3の実施形態>
次に、本発明の第3の実施形態について図面を参照して説明する。
図10は、本発明の第3の実施形態における仮想マシン移動制御システムの機能構成を示す概略ブロック図である。同図において、仮想マシン移動制御システム3は、仮想マシン400と、メモリ書き換え量監視手段500と、メモリ書き換え量格納部600と、仮想マシン移動安定化装置100Cと、動的負荷分散機構300と、仮想マシン移動実行手段700と、ネットワーク帯域確保手段200とを具備する。仮想マシン移動安定化装置100Cは、ネットワーク帯域計算手段110Cと、仮想マシン移動時間推定手段120と、ネットワーク帯域測定手段140とを具備する。
<Third Embodiment>
Next, a third embodiment of the present invention will be described with reference to the drawings.
FIG. 10 is a schematic block diagram illustrating a functional configuration of the virtual machine migration control system according to the third embodiment of the present invention. In the figure, the virtual machine
同図に示す仮想マシン移動制御システム3は、仮想マシン移動制御システム1(図1)が具備する各部に加えて、ネットワーク帯域測定手段140を具備する。また、ネットワーク帯域測定手段140の追加に伴って、ネットワーク帯域計算手段110Cの動作が、ネットワーク帯域計算手段110(図1)の場合と異なっている。
The virtual machine
ネットワーク帯域測定手段140は、1つのネットワークについて、利用可能なネットワーク帯域を測定する。具体的には、ネットワーク帯域測定手段140は、まず、当該ネットワーク上で測定用のデータ通信を行い、現在使われて(利用されて)いないネットワーク帯域を測定する。次に、ネットワーク帯域測定手段140は、測定したネットワーク帯域を、当該ネットワークが有する最大帯域から減算して、現在利用されているネットワーク帯域を算出する。
The network
例として、1Gbpsの帯域を持つネットワーク上でのネットワーク利用帯域の測定方法を示す。ネットワーク帯域測定手段140は、まず、iperfなどの既存のネットワーク帯域測定プログラムを用いて、利用可能なネットワーク帯域、すなわち現在使われていないネットワーク帯域を測定する。仮に、現在使われていないネットワーク帯域が100Mbpsだとすると、900Mbpsが現在利用されているネットワーク帯域であることがわかる。
ネットワーク帯域測定手段140は、測定したネットワーク帯域を、ネットワーク帯域測定手段内に格納しておく。
As an example, a method for measuring a network usage band on a network having a band of 1 Gbps is shown. The network
The network
ネットワーク帯域計算手段110Cは、ネットワーク帯域計算手段110(図1)とは異なり、ネットワーク帯域測定手段140に対して、現在利用されているネットワーク帯域を要求し、その結果を用いて、ネットワーク帯域の計算を行なう。具体的には、ネットワーク帯域計算手段110Cは、当該仮想マシン400のメモリ使用量と、メモリ書き換え量と、当該仮想マシン400の最大移動許容時間とから、当該仮想マシン400の移動に必要なネットワーク帯域を計算する。ネットワーク帯域計算手段110Cは、移動対象となる仮想マシン400毎に当該計算を行って、必要なネットワーク帯域の総和を求める。そして、ネットワーク帯域計算手段110Cは、得られた総和に、ネットワーク帯域測定手段によって得た現在利用中のネットワーク帯域を加える。そして、ネットワーク帯域計算手段110Cは、得られた値が当該ネットワークの持つ最大帯域を超えているかどうか判定する。超えていなければ、そのままネットワーク帯域を予約できる。一方、超えていれば、これから予約するネットワーク帯域を縮小するか、そのまま予約するかを判断する。
なお、調整(ネットワーク帯域の縮小)を行っても、ネットワーク帯域の総和が、予約できる最大ネットワーク帯域を必ず超えてしまう場合、ネットワーク帯域計算手段110Cは、動的負荷分散機構300に対して、予約に失敗したことを通知する。一方、予約に成功した場合、ネットワーク帯域計算手段110Cは、ネットワーク帯域計算手段110(図1)と同様、実際に予約できたネットワーク帯域を仮想マシン移動時間推定手段120に通知する。
Unlike network bandwidth calculation means 110 (FIG. 1), network bandwidth calculation means 110C requests network bandwidth measurement means 140 for the currently used network bandwidth, and uses the result to calculate network bandwidth. To do. Specifically, the network
If the total network bandwidth always exceeds the maximum reservable network bandwidth even after adjustment (reduction of network bandwidth), the network
第1の実施形態でも説明したとおり、ネットワーク帯域が予約されれば、他のプログラムは当該予約帯域を利用することができなくなる。つまり、予約帯域の総和と現在利用中のネットワーク帯域の総和が、当該ネットワークの最大帯域を超えている状態でネットワーク帯域を予約すれば、現在、ネットワークを利用中のプログラムのネットワーク通信を圧迫することになる。
そこで、ネットワーク帯域計算手段110Cがネットワーク帯域の調整を行うことで、ネットワークを利用中のプログラムへの影響を低減させることができる。
As described in the first embodiment, if a network band is reserved, other programs cannot use the reserved band. In other words, if the network bandwidth is reserved when the sum of the reserved bandwidth and the sum of the network bandwidth currently in use exceeds the maximum bandwidth of the network, the network communication of the program that is currently using the network will be compressed. become.
Therefore, the network
図11は、仮想マシン移動制御システム3が、仮想マシン400の移動予約を設定する処理手順を示すフローチャートである。同図の処理手順において、ステップS1〜S3およびS4〜S8は、図4の場合と同様である。図11の処理手順では、ステップS3とS4との間に、ステップS14が挿入されている。
FIG. 11 is a flowchart illustrating a processing procedure in which the virtual machine
ステップS14は、計算したネットワークの総和に現在のネットワーク使用量を加算するというステップであり、現在のネットワーク使用量は、ネットワーク帯域測定手段140によって測定されているものとする。また、図中のステップS5において、縮小すべきネットワーク帯域は、これから予約するネットワーク帯域であっても、現在利用されているネットワーク帯域であってもどちらでもよい。これから予約するネットワーク帯域を縮小する場合は、ステップS6の条件を必ず確認する必要があるが、現在利用されているネットワーク帯域を縮小する場合、つまり計算された予約帯域はそのまま予約する場合、ステップS6は必ず「NO」となる。 Step S14 is a step of adding the current network usage amount to the calculated sum of the networks, and it is assumed that the current network usage amount is measured by the network bandwidth measuring means 140. In step S5 in the figure, the network bandwidth to be reduced may be a network bandwidth to be reserved or a network bandwidth that is currently used. When reducing the network bandwidth to be reserved from now on, it is necessary to confirm the conditions of step S6. However, when reducing the currently used network bandwidth, that is, when the calculated reserved bandwidth is reserved as it is, step S6 is used. Is always “NO”.
以上のように、ネットワーク帯域測定手段140は、現在利用中のネットワーク帯域を測定する。そして、ネットワーク帯域計算手段110Cは、現在利用中のネットワーク帯域(測定値)に基づいて、予約すべきネットワーク帯域の決定や調整を行う。
これにより、ネットワーク帯域計算手段11Cは、現在利用中のネットワーク帯域を考慮しつつ、仮想マシンの移動に必要なネットワーク帯域を(ネットワーク帯域確保手段を介して)予約することができる。従って、仮想マシン移動制御システム3では、仮想マシンの移動に使われるネットワーク帯域と他のサービス・プログラムで利用されるネットワーク帯域とを混在させることができ、他のサービス・プログラムで利用されるネットワーク帯域への影響を低減させ得る。
As described above, the network
Thereby, the network bandwidth calculation unit 11C can reserve the network bandwidth necessary for the movement of the virtual machine (via the network bandwidth securing unit) in consideration of the network bandwidth currently being used. Therefore, in the virtual machine
次に、図12を参照して、仮想マシン移動制御システム1における最小構成について説明する。図12は、図1に示した各部のうち、仮想マシン移動制御システム1における本発明の最小構成を示す概略ブロック図である。同図において、図1に示した仮想マシン移動制御システム1の各部のうち、ネットワーク帯域確保手段200と、動的負荷分散機構300と、仮想マシン移動実行手段700とが示されている。
Next, a minimum configuration in the virtual machine
この構成において、図1に示した構成に基づいて上述したのと同様、ネットワーク帯域確保手段200が、ネットワーク帯域の予約を行う。そして、動的負荷分散機構300は、ネットワーク帯域確保手段200が予約したネットワーク帯域に基づいて、仮想マシン400の移動計画を立案する。そして、仮想マシン移動実行手段700は、動的負荷分散機構300が立案した移動計画に従って、仮想マシン400の移動を実行する。
これにより、動的負荷分散機構300は、ネットワーク帯域の安定した(確保された)状態において、仮想マシン400の移動計画をより適切に立案することができる。また、仮想マシン移動実行手段700が、ネットワーク帯域の安定した状態で仮想マシン400の移動実行することで、移動計画に沿って仮想マシン400の移動を実行することができ、移動計画の立案の頻発を抑制することができる。
In this configuration, as described above based on the configuration shown in FIG. 1, the network
As a result, the dynamic
なお、仮想マシン移動制御システム1〜3の全部または一部の機能を実現するためのプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行することにより各部の処理を行ってもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものとする。
また、「コンピュータシステム」は、WWWシステムを利用している場合であれば、ホームページ提供環境(あるいは表示環境)も含むものとする。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムを送信する場合の通信線のように、短時間の間、動的にプログラムを保持するもの、その場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリのように、一定時間プログラムを保持しているものも含むものとする。また上記プログラムは、前述した機能の一部を実現するためのものであっても良く、さらに前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるものであっても良い。
Note that a program for realizing all or part of the functions of the virtual machine
Further, the “computer system” includes a homepage providing environment (or display environment) if a WWW system is used.
The “computer-readable recording medium” refers to a storage device such as a flexible medium, a magneto-optical disk, a portable medium such as a ROM and a CD-ROM, and a hard disk incorporated in a computer system. Furthermore, the “computer-readable recording medium” dynamically holds a program for a short time like a communication line when transmitting a program via a network such as the Internet or a communication line such as a telephone line. In this case, a volatile memory in a computer system serving as a server or a client in that case, and a program that holds a program for a certain period of time are also included. The program may be a program for realizing a part of the functions described above, and may be a program capable of realizing the functions described above in combination with a program already recorded in a computer system.
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計変更等も含まれる。 The embodiment of the present invention has been described in detail with reference to the drawings. However, the specific configuration is not limited to this embodiment, and includes design changes and the like without departing from the gist of the present invention.
上記の実施形態の一部または全部は、以下の付記のようにも記載され得るが、以下には限られない。 A part or all of the above-described embodiment can be described as in the following supplementary notes, but is not limited thereto.
(付記1)ネットワーク帯域の予約を行うネットワーク帯域確保手段と、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、を具備することを特徴とする仮想マシン移動制御システム。 (Appendix 1) Network bandwidth securing means for reserving network bandwidth, migration plan planning means for planning a virtual machine migration plan based on the network bandwidth reserved by the network bandwidth securing means, and the migration plan planning means A virtual machine movement execution means for executing movement of the virtual machine based on the movement plan of the virtual machine.
(付記2)ネットワーク帯域計算手段と、仮想マシン移動時間推定手段と、を具備し、前記ネットワーク帯域計算手段は、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、前記ネットワーク帯域確保手段は、前記ネットワーク帯域計算手段が計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、前記仮想マシン移動時間推定手段は、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、前記移動計画立案手段は、前記仮想マシン移動時間推定手段が推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、ことを特徴とする付記1に記載の仮想マシン移動制御システム。
(Appendix 2) Network bandwidth calculation means and virtual machine movement time estimation means, wherein the network bandwidth calculation means includes a maximum movement allowable time, a memory rewrite amount per unit time in a virtual machine to be moved, and The network bandwidth necessary for the movement of the virtual machine is calculated from the memory usage of the virtual machine, and the network bandwidth securing means calculates the network necessary for the movement of the virtual machine calculated by the network bandwidth calculation means. Reserving the network bandwidth based on a bandwidth, the virtual machine moving time estimating means estimates the moving time of a virtual machine based on the network bandwidth reserved by the network bandwidth securing means, and the movement planning means Is the movement time of the virtual machine estimated by the virtual machine movement time estimation means Virtual machine movement control system according to
(付記3)前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部と、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定手段と、を具備し、前記ネットワーク帯域計算手段は、前記メモリ書き換え量推定手段が推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、ことを特徴とする付記2に記載の仮想マシン移動制御システム。 (Additional remark 3) The memory rewrite amount storage part which memorize | stores the measured value and measurement time of the memory rewrite amount per unit time in the virtual machine used as the movement object in association, and the memory which the memory rewrite amount storage part stores Memory rewrite amount estimating means for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the rewrite amount, and the network bandwidth calculating means includes: The network bandwidth necessary for moving the virtual machine is calculated based on the memory rewrite amount per unit time at the future time estimated by the memory rewrite amount estimation unit. Virtual machine migration control system.
(付記4)使用されているネットワーク帯域を測定するネットワーク帯域測定手段を具備し、前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域に基づいて、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記2または3に記載の仮想マシン移動制御システム。
(Additional remark 4) It has the network band measurement means which measures the used network band, The said network band calculation means reserves based on the said used network band which the said network band measurement means measured The virtual machine migration control system according to
(付記5)前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記4に記載の仮想マシン移動制御システム。 (Supplementary Note 5) The network bandwidth calculation means is such that the sum of the used network bandwidth measured by the network bandwidth measurement means and the network bandwidth required for moving the virtual machine does not exceed the maximum bandwidth of the network. The virtual machine migration control system according to appendix 4, wherein the network bandwidth to be reserved is adjusted as described above.
(付記6)前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知する、ことを特徴とする付記5に記載の仮想マシン移動制御システム。 (Additional remark 6) The said network bandwidth calculation means, The sum total of the said used network bandwidth measured by the said network bandwidth measurement means and the network bandwidth required for the movement of the said virtual machine does not exceed the maximum bandwidth of a network The virtual machine migration control system according to appendix 5, characterized in that, when the adjustment cannot be made in such a manner, the network band reservation is notified of failure.
(付記7)仮想マシン移動制御システムの仮想マシン移動方法であって、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を具備することを特徴とする仮想マシン移動方法。 (Supplementary note 7) A virtual machine movement method of a virtual machine movement control system, wherein a network bandwidth reservation step for reserving a network bandwidth, and a virtual machine movement plan based on the network bandwidth reserved in the network bandwidth reservation step A virtual machine movement step for planning, and a virtual machine movement execution step for moving a virtual machine based on the virtual machine movement plan prepared in the movement planning step. Machine moving method.
(付記8)ネットワーク帯域計算ステップと、仮想マシン移動時間推定ステップと、を具備し、前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、ことを特徴とする付記7に記載の仮想マシン移動方法。 (Supplementary Note 8) A network bandwidth calculation step and a virtual machine movement time estimation step, wherein the network bandwidth calculation step includes a maximum allowable movement time and a memory rewrite amount per unit time in a virtual machine to be moved. The network bandwidth required for moving the virtual machine is calculated from the memory usage of the virtual machine. In the network bandwidth securing step, the network bandwidth required for moving the virtual machine calculated in the network bandwidth calculating step is calculated. Reserving the network bandwidth based on a network bandwidth, and in the virtual machine movement time estimating step, estimating the movement time of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step, and In the planning step, the virtual machine movement Based on the travel time of the virtual machine estimated at between estimating step, to develop a movement program of the virtual machine, the virtual machine migration method of statement 7, characterized in that.
(付記9)前記仮想マシン移動制御システムは、前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部を具備し、前記仮想マシン移動方法は、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを具備し、前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、ことを特徴とする付記8に記載の仮想マシン移動方法。 (Supplementary Note 9) The virtual machine movement control system includes a memory rewrite amount storage unit that stores a measurement value and a measurement time of the memory rewrite amount per unit time in the virtual machine to be moved in association with each other, The virtual machine migration method estimates a memory rewrite amount per unit time at a future time of the virtual machine to be migrated based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit. A memory rewrite amount estimation step, and in the network bandwidth calculation step, necessary for moving the virtual machine based on the memory rewrite amount per unit time at the future time estimated in the memory rewrite amount estimation step The virtual machine according to appendix 8, characterized by calculating a network bandwidth. Down movement method.
(付記10)使用されているネットワーク帯域を測定するネットワーク帯域測定ステップを具備し、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整する、ことを特徴とする付記8または9に記載の仮想マシン移動方法。 (Supplementary Note 10) A network bandwidth measurement step for measuring a used network bandwidth is provided. In the network bandwidth calculation step, the virtual bandwidth is measured based on the used network bandwidth measured in the network bandwidth measurement step. The virtual machine moving method according to appendix 8 or 9, wherein a network bandwidth necessary for moving the machine is adjusted.
(付記11)前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整する、ことを特徴とする付記10に記載の仮想マシン移動方法。 (Supplementary Note 11) In the network bandwidth calculation step, the sum of the used network bandwidth measured in the network bandwidth measurement step and the network bandwidth necessary for moving the virtual machine exceeds the maximum bandwidth of the network. The virtual machine migration method according to appendix 10, wherein the network bandwidth to be reserved is adjusted so as not to exist.
(付記12)前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知する、ことを特徴とする請求項11に記載の仮想マシン移動方法。 (Supplementary note 12) In the network bandwidth calculation step, the sum of the used network bandwidth measured in the network bandwidth measurement step and the network bandwidth necessary for moving the virtual machine exceeds the maximum bandwidth of the network. The virtual machine migration method according to claim 11, wherein if the adjustment cannot be made so that the network bandwidth cannot be adjusted, notification that the reservation of the network bandwidth has failed is made.
(付記13)仮想マシン移動制御システムとしてのコンピュータに、ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、を実行させるためのプログラム。 (Supplementary note 13) A network bandwidth securing step for reserving a network bandwidth in a computer as a virtual machine migration control system, and a migration plan for creating a migration plan for a virtual machine based on the network bandwidth reserved in the network bandwidth securing step A program for executing a planning step and a virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step.
(付記14)前記コンピュータに、ネットワーク帯域計算ステップと、仮想マシン移動時間推定ステップと、を実行させ、前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算させ、前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行わせ、前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定させ、前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案させる、ことを特徴とする付記13に記載のプログラム。 (Supplementary Note 14) The computer is caused to execute a network bandwidth calculation step and a virtual machine movement time estimation step, and in the network bandwidth calculation step, a maximum allowable movement time and a unit time per unit time in the virtual machine to be moved From the memory rewrite amount and the memory usage amount of the virtual machine, the network bandwidth necessary for the movement of the virtual machine is calculated, and in the network bandwidth securing step, the virtual machine calculated in the network bandwidth calculation step is calculated. Reserving the network bandwidth based on the network bandwidth required for movement, and in the virtual machine movement time estimating step, estimating the movement time of the virtual machine based on the network bandwidth reserved in the network bandwidth securing step The movement plan In-up, on the basis of the travel time of the virtual machine estimated by virtual machine travel time estimation step, the program according to Note 13, wherein to formulate the movement plan of the virtual machine, and wherein the.
(付記15)前記移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量の測定値と測定時刻とを対応付けて記憶するメモリ書き換え量格納部を具備する前記コンピュータに、前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを実行させ、前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算させる、ことを特徴とする付記14に記載のプログラム。 (Supplementary Note 15) The memory rewrite amount storage unit in the computer including the memory rewrite amount storage unit that stores the measurement value and the measurement time of the memory rewrite amount per unit time in the virtual machine to be moved in association with each other. The memory rewrite amount estimating step for estimating the memory rewrite amount per unit time at the future time of the virtual machine to be moved based on the measurement value and the measurement time of the memory rewrite amount stored in the network bandwidth, In the calculating step, the network bandwidth required for the movement of the virtual machine is calculated based on the memory rewriting amount per unit time at the future time estimated in the memory rewriting amount estimating step. 14. The program according to 14.
(付記16)前記コンピュータに、使用されているネットワーク帯域を測定するネットワーク帯域測定ステップを実行させ、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整させる、ことを特徴とする付記14または15に記載のプログラム。 (Supplementary Note 16) The computer is caused to execute a network bandwidth measurement step for measuring a used network bandwidth, and the network bandwidth calculation step is based on the used network bandwidth measured in the network bandwidth measurement step. The program according to appendix 14 or 15, wherein a network bandwidth necessary for moving the virtual machine is adjusted.
(付記17)前記コンピュータに、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように、予約する前記ネットワーク帯域を調整させる、ことを特徴とする付記16に記載のプログラム。 (Supplementary Note 17) In the network bandwidth calculation step, the computer uses the network bandwidth measured in the network bandwidth measurement step and the sum of the network bandwidth necessary for moving the virtual machine as the network bandwidth. The program according to appendix 16, wherein the network bandwidth to be reserved is adjusted so as not to exceed the maximum bandwidth.
(付記18)前記コンピュータに、前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域と、前記仮想マシンの移動に必要なネットワーク帯域との総和が、ネットワークの最大帯域を超えないように調整できない場合、ネットワーク帯域の予約に失敗したことを通知させる、ことを特徴とする付記17に記載の仮想マシン移動方法。 (Supplementary Note 18) In the network bandwidth calculation step, the computer uses the network bandwidth used in the network bandwidth measurement step and the network bandwidth necessary for the movement of the virtual machine as a sum of the network bandwidth. 18. The virtual machine migration method according to appendix 17, characterized in that if the adjustment cannot be made so as not to exceed the maximum bandwidth, the notification of failure to reserve the network bandwidth is made.
100、100B、100C 仮想マシン移動安定化装置
110、110B、110C ネットワーク帯域計算手段
120 仮想マシン移動時間推定手段
130 メモリ書き換え量推定手段
140 ネットワーク帯域測定手段
200 ネットワーク帯域確保手段
300 動的負荷分散機構
400 仮想マシン
500 メモリ書き換え量監視手段
600、600B メモリ書き換え量格納部
700 仮想マシン移動実行手段
100, 100B, 100C Virtual machine
Claims (10)
前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案手段と、
前記移動計画立案手段が立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行手段と、
を具備することを特徴とする仮想マシン移動制御システム。 Network bandwidth securing means for reserving network bandwidth;
A migration plan planning means for planning a migration plan of a virtual machine based on the network bandwidth reserved by the network bandwidth securing means;
Virtual machine movement execution means for executing movement of a virtual machine based on the movement plan of the virtual machine planned by the movement plan planning means;
A virtual machine movement control system comprising:
仮想マシン移動時間推定手段と、
を具備し、
前記ネットワーク帯域計算手段は、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、
前記ネットワーク帯域確保手段は、前記ネットワーク帯域計算手段が計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、
前記仮想マシン移動時間推定手段は、前記ネットワーク帯域確保手段が予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、
前記移動計画立案手段は、前記仮想マシン移動時間推定手段が推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、
ことを特徴とする請求項1に記載の仮想マシン移動制御システム。 Network bandwidth calculation means;
A virtual machine moving time estimating means;
Comprising
The network bandwidth calculation means calculates the network bandwidth necessary for the movement of the virtual machine from the maximum allowable movement time, the memory rewrite amount per unit time in the virtual machine to be moved, and the memory usage of the virtual machine. Calculate
The network bandwidth securing means reserves the network bandwidth based on the network bandwidth necessary for movement of the virtual machine calculated by the network bandwidth calculation means,
The virtual machine moving time estimating means estimates the moving time of the virtual machine based on the network bandwidth reserved by the network bandwidth securing means,
The migration plan planning unit formulates a migration plan for the virtual machine based on the migration time of the virtual machine estimated by the virtual machine migration time estimation unit.
The virtual machine movement control system according to claim 1.
前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定手段と、
を具備し、
前記ネットワーク帯域計算手段は、前記メモリ書き換え量推定手段が推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、
ことを特徴とする請求項2に記載の仮想マシン移動制御システム。 A memory rewrite amount storage unit for storing a measurement value and a measurement time of the memory rewrite amount per unit time in the virtual machine to be moved;
A memory rewrite amount estimating means for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit; ,
Comprising
The network bandwidth calculation means calculates a network bandwidth necessary for moving the virtual machine based on the memory rewrite amount per unit time at the future time estimated by the memory rewrite amount estimation means.
The virtual machine movement control system according to claim 2.
前記ネットワーク帯域計算手段は、前記ネットワーク帯域測定手段が測定した前記使用されているネットワーク帯域に基づいて、予約する前記ネットワーク帯域を調整する、
ことを特徴とする請求項2または3に記載の仮想マシン移動制御システム。 Comprising network bandwidth measuring means for measuring the network bandwidth being used;
The network bandwidth calculating means adjusts the reserved network bandwidth based on the used network bandwidth measured by the network bandwidth measuring means;
The virtual machine movement control system according to claim 2 or 3,
ことを特徴とする請求項4に記載の仮想マシン移動制御システム。 The network bandwidth calculating means reserves so that the sum of the used network bandwidth measured by the network bandwidth measuring means and the network bandwidth necessary for moving the virtual machine does not exceed the maximum bandwidth of the network. Adjusting the network bandwidth,
The virtual machine movement control system according to claim 4.
ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、
前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、
前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、
を具備することを特徴とする仮想マシン移動方法。 A virtual machine movement method of a virtual machine movement control system,
Network bandwidth reservation step for reserving network bandwidth;
A migration plan planning step of planning a migration plan of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step;
A virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step;
A virtual machine moving method comprising:
仮想マシン移動時間推定ステップと、
を具備し、
前記ネットワーク帯域計算ステップでは、最大移動許容時間と、移動対象となる仮想マシンにおける単位時間当たりのメモリ書き換え量と、当該仮想マシンのメモリ使用量とから、当該仮想マシンの移動に必要なネットワーク帯域を計算し、
前記ネットワーク帯域確保ステップでは、前記ネットワーク帯域計算ステップにて計算した、前記仮想マシンの移動に必要なネットワーク帯域に基づいて、前記ネットワーク帯域の予約を行い、
前記仮想マシン移動時間推定ステップでは、前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて、仮想マシンの移動時間を推定し、
前記移動計画立案ステップでは、前記仮想マシン移動時間推定ステップにて推定した前記仮想マシンの移動時間に基づいて、前記仮想マシンの移動計画を立案する、
ことを特徴とする請求項6に記載の仮想マシン移動方法。 Network bandwidth calculation step;
A virtual machine movement time estimation step;
Comprising
In the network bandwidth calculation step, the network bandwidth required for the movement of the virtual machine is calculated from the maximum allowable movement time, the memory rewrite amount per unit time in the virtual machine to be moved, and the memory usage of the virtual machine. Calculate
In the network bandwidth securing step, reservation of the network bandwidth is performed based on the network bandwidth necessary for the movement of the virtual machine calculated in the network bandwidth calculating step,
In the virtual machine moving time estimating step, the moving time of the virtual machine is estimated based on the network bandwidth reserved in the network bandwidth securing step,
In the migration planning step, the migration plan of the virtual machine is drafted based on the migration time of the virtual machine estimated in the virtual machine migration time estimation step.
The virtual machine moving method according to claim 6.
前記仮想マシン移動方法は、
前記メモリ書き換え量格納部が記憶する前記メモリ書き換え量の測定値および測定時刻に基づいて、前記移動対象となる仮想マシンの将来時刻における単位時間当たりのメモリ書き換え量を推定するメモリ書き換え量推定ステップを具備し、
前記ネットワーク帯域計算ステップでは、前記メモリ書き換え量推定ステップにて推定した、前記将来時刻における単位時間当たりのメモリ書き換え量に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を計算する、
ことを特徴とする請求項7に記載の仮想マシン移動方法。 The virtual machine movement control system includes a memory rewrite amount storage unit that stores a measurement value and a measurement time of a memory rewrite amount per unit time in the virtual machine to be moved in association with each other,
The virtual machine moving method is:
A memory rewrite amount estimation step for estimating a memory rewrite amount per unit time at a future time of the virtual machine to be moved based on a measurement value and a measurement time of the memory rewrite amount stored in the memory rewrite amount storage unit. Equipped,
In the network bandwidth calculation step, based on the memory rewrite amount per unit time at the future time estimated in the memory rewrite amount estimation step, the network bandwidth necessary for moving the virtual machine is calculated.
The virtual machine moving method according to claim 7, wherein:
前記ネットワーク帯域計算ステップでは、前記ネットワーク帯域測定ステップにて測定した前記使用されているネットワーク帯域に基づいて、前記仮想マシンの移動に必要なネットワーク帯域を調整する、
ことを特徴とする請求項7または8に記載の仮想マシン移動方法。 A network bandwidth measuring step for measuring the network bandwidth being used;
In the network bandwidth calculation step, based on the used network bandwidth measured in the network bandwidth measurement step, a network bandwidth necessary for movement of the virtual machine is adjusted.
9. The virtual machine moving method according to claim 7, wherein the virtual machine moving method is characterized in that:
ネットワーク帯域の予約を行うネットワーク帯域確保ステップと、
前記ネットワーク帯域確保ステップにて予約したネットワーク帯域に基づいて仮想マシンの移動計画を立案する移動計画立案ステップと、
前記移動計画立案ステップにて立案した前記仮想マシンの移動計画に基づいて、仮想マシンの移動を実行する仮想マシン移動実行ステップと、
を実行させるためのプログラム。 To a computer as a virtual machine movement control system,
Network bandwidth reservation step for reserving network bandwidth;
A migration plan planning step of planning a migration plan of a virtual machine based on the network bandwidth reserved in the network bandwidth securing step;
A virtual machine movement execution step for executing movement of a virtual machine based on the movement plan of the virtual machine planned in the movement plan planning step;
A program for running
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067302A JP2013200615A (en) | 2012-03-23 | 2012-03-23 | Virtual machine movement control system, virtual machine movement method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012067302A JP2013200615A (en) | 2012-03-23 | 2012-03-23 | Virtual machine movement control system, virtual machine movement method, and program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2013200615A true JP2013200615A (en) | 2013-10-03 |
Family
ID=49520844
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012067302A Pending JP2013200615A (en) | 2012-03-23 | 2012-03-23 | Virtual machine movement control system, virtual machine movement method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2013200615A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016184252A (en) * | 2015-03-26 | 2016-10-20 | 日本電気株式会社 | Live migration management method and apparatus |
JP2016537705A (en) * | 2013-12-06 | 2016-12-01 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Method, apparatus and system for virtual machine migration management |
US9720728B2 (en) | 2013-12-06 | 2017-08-01 | Huawei Technologies Co., Ltd. | Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time |
JP2019204378A (en) * | 2018-05-25 | 2019-11-28 | コニカミノルタ株式会社 | Print controller and program |
US10565009B2 (en) | 2015-12-08 | 2020-02-18 | Nec Corporation | Planning system for planning disposition of virtual machine, planning method, and recording medium for storing planning program |
-
2012
- 2012-03-23 JP JP2012067302A patent/JP2013200615A/en active Pending
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2016537705A (en) * | 2013-12-06 | 2016-12-01 | ホアウェイ・テクノロジーズ・カンパニー・リミテッド | Method, apparatus and system for virtual machine migration management |
US9720728B2 (en) | 2013-12-06 | 2017-08-01 | Huawei Technologies Co., Ltd. | Migrating a VM when the available migration duration times of a source and destination node are greater than the VM's migration duration time |
JP2016184252A (en) * | 2015-03-26 | 2016-10-20 | 日本電気株式会社 | Live migration management method and apparatus |
US10565009B2 (en) | 2015-12-08 | 2020-02-18 | Nec Corporation | Planning system for planning disposition of virtual machine, planning method, and recording medium for storing planning program |
JP2019204378A (en) * | 2018-05-25 | 2019-11-28 | コニカミノルタ株式会社 | Print controller and program |
JP7059802B2 (en) | 2018-05-25 | 2022-04-26 | コニカミノルタ株式会社 | Print controller and program |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10296364B2 (en) | Capacity risk management for virtual machines | |
CN107548549B (en) | Resource balancing in a distributed computing environment | |
US10055252B2 (en) | Apparatus, system and method for estimating data transfer periods for job scheduling in parallel computing | |
JP6005795B2 (en) | Reliable deterministic live migration of virtual machines | |
US9372627B2 (en) | Dynamic feedback-based throughput control for black-box storage systems | |
US11216310B2 (en) | Capacity expansion method and apparatus | |
CN108182105B (en) | Local dynamic migration method and control system based on Docker container technology | |
JP6168576B2 (en) | Method, apparatus and system for virtual machine migration management | |
JP5370946B2 (en) | Resource management method and computer system | |
US9229778B2 (en) | Method and system for dynamic scaling in a cloud environment | |
US20070283016A1 (en) | Multiple resource control-advisor for management of distributed or web-based systems | |
CN103986766B (en) | Adaptive load balancing job task dispatching method and device | |
US20210182108A1 (en) | Optimizing distribution of heterogeneous software process workloads | |
RU2015114568A (en) | AUTOMATED RESOURCE USE PROFILING | |
US10142211B2 (en) | Storage management device and control method | |
Li | An adaptive overload threshold selection process using Markov decision processes of virtual machine in cloud data center | |
JP2013200615A (en) | Virtual machine movement control system, virtual machine movement method, and program | |
US20160364167A1 (en) | Storage management device, storage management method, and computer-readable recording medium | |
US11003379B2 (en) | Migration control apparatus and migration control method | |
US20220237016A1 (en) | Apparatus for determining resource migration schedule | |
US9609054B2 (en) | Load balancing scalable storage utilizing optimization modules | |
Babu et al. | Interference aware prediction mechanism for auto scaling in cloud | |
US20100205306A1 (en) | Grid computing system, management apparatus, and method for managing a plurality of nodes | |
Shi et al. | Adaptive QoS-aware Microservice Deployment with Excessive Loads via Intra-and Inter-Datacenter Scheduling | |
US11995460B2 (en) | Resource determination device, method, and program |