JP5876425B2 - 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム - Google Patents

仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム Download PDF

Info

Publication number
JP5876425B2
JP5876425B2 JP2013024358A JP2013024358A JP5876425B2 JP 5876425 B2 JP5876425 B2 JP 5876425B2 JP 2013024358 A JP2013024358 A JP 2013024358A JP 2013024358 A JP2013024358 A JP 2013024358A JP 5876425 B2 JP5876425 B2 JP 5876425B2
Authority
JP
Japan
Prior art keywords
traffic
live migration
physical
virtual machine
bandwidth
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.)
Expired - Fee Related
Application number
JP2013024358A
Other languages
English (en)
Other versions
JP2014153997A (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 JP2013024358A priority Critical patent/JP5876425B2/ja
Publication of JP2014153997A publication Critical patent/JP2014153997A/ja
Application granted granted Critical
Publication of JP5876425B2 publication Critical patent/JP5876425B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、仮想マシン技術に関し、特に、複数の物理マシンを有して仮想マシンの動作を停止させることなく物理マシン間で仮想マシンの移動を行うライブマイグレーションを行う際のスケジューリング方法と、そのようなスケジューリング方法を実行する仮想マシンシステムとに関する。
負荷の最適配置や省電力化などを目的として、仮想マシン技術が注目されている。仮想マシン(VM:Virtual Machine)は、コンピュータの動作をエミュレートするソフトウェアによって実現されるものであり、仮想マシン技術を用いることによって、1台の物理マシン(物理的な実体としてのコンピュータ)上で、異なるオペレーティングシステム(OS:Operating System)を動作させてそのOS上で各種のアプリケーションソフトウェア(APL)を実行させたり、あるいは、本来ならば異なるコンピュータアーキテクチャ環境で動作するソフトウェアを実行させたりすることができる。仮想マシン技術は、例えば、データセンタなどで広く用いられている。
また、ネットワークに接続された異なる物理マシン間で、仮想マシンの動作を止めずにOSごとその仮想マシンを移動させる「ライブマイグレーション技術」がある。ライブマイグレーションは、ネットワークを介して、仮想マシンのメモリ情報のコピーを移行先の物理マシンに送信することで実現している。このライブマイグレーション技術により、例えばある物理マシンが高負荷になった際に、当該物理マシン上で動作している仮想マシンを他の物理マシンに移動させることによって、高負荷状態を解消することができる。
図1は、仮想マシンのライブマイグレーションを説明する図である。移行元の物理マシン11と移行先の物理マシン12とは、ネットワーク13で接続しており、また共有ストレージ14を共有している。各物理マシン11,12では、それぞれ、仮想化ソフトウェア15が動作しており、仮想化ソフトウェア15によって物理マシン11,12上に仮想マシン(VM)が実現されている。VMでは、オペレーティングシステムOSとアプリケーションソフトウェアAPLが実行されている。ライブマイグレーションは、移行元の物理マシン11から移行先の物理マシン12へのネットワーク13を介したメモリコピーによって達成される。
非特許文献1には、VMを管理するVM管理サーバを、物理マシンであるサーバとは別個に設け、サーバ上で動作しているVMに対し、VM管理サーバがライブマイグレーションの実行指示を与えると、VMの動作を継続したまま、移行元のサーバと移行先のサーバとの間のネットワークを通じて、メモリ情報の送信を行うことが開示されている。送信中に発生するメモリ差分情報が決められた量まで少なくなると、移行元のサーバのVMを一旦停止し、移行先のサーバで、VMを立ち上げる。これによって、VMのライブマイグレーションを実現している。
図2は、ライブマイグレーションに要する時間を説明する図である。ライブマイグレーションのためにメモリコピーを行う場合、メモリコピーを行っている間も移行元の物理マシン上ではVMが動作しているため、メモリ情報が逐次変化する。そこで、移行元の物理マシンでのVMの全メモリ領域に相当するメモリコピーを実行したのち、そのメモリコピーの間に変化したメモリ情報に関する差分をコピーして移行先の物理マシンに送信する必要がある。この差分コピーの間にもメモリ状態は変化するから、さらにその間の差分をコピーする必要がある。このように、メモリコピーと何回かの差分コピーを実行してメモリ差分情報が上記の量にまで小さくなると(ここまでに要する時間をマイグレーション時間と呼ぶ)、移行元でVMを停止し、最後に残った差分をコピーし、その後、移行先でVMを立ち上げ、VMによる処理を再開する。ここでの移行元でのVMの停止から移行先でのVMの再開までに要する時間をダウンタイムと呼ぶ。ライブマイグレーションの全体の要する時間(総マイグレーション時間)は、マイグレーション時間とダウンタイムとの和で表される。
ところで、仮想マシン環境を構成するネットワークには、VMのライブマイグレーション用のネットワークの他にも、共有ストレージアクセスのためのSAN(ストレージエリアネットワーク:Storage Area Network)、予備系のVMとの同期をとるためのフォールトトレランス(fault tolerance)用ネットワーク、VM管理サーバとの通信のためのネットワーク、WAN(広域ネットワーク:Wide Area Network)と接続するネットワークなど、さまざまなネットワークが必要である。図3は、VMとネットワーク環境の一例を示している。インタフェース数の制限やコストの面などから全てのネットワークを物理的に分離することは非効率であり、物理リンクをこれらのネットワークで共用し仮想ローカルエリアネットワーク(VLAN:Virtual Local Area Network)技術などにより論理的にネットワークを分けることで、効率よくリソースを使用することができる。ただし、VMのライブマイグレーションの実行時において、移行元の物理マシンと移行先の物理マシンとの間のネットワークには、VMのライブマイグレーション用のメモリ情報以外にも、さまざまなトラフィックが流れている可能性がある。
図4は、ライブマイグレーションの実行時に想定されるネットワークトラフィックの一例を示す図である。図4では、複数の物理マシンがネットワークで接続されている仮想マシンシステムが示されており、ここでは、物理マシン#1〜物理マシン#3がスイッチ(SW)#1に接続し、同様に、物理マシン#4〜物理マシン#6がスイッチ#2に接続している。スイッチ#1及びスイッチ#2は、さらに、ルータを介してパケット転送網にも接続している。スイッチ#1には、さらに、共有ストレージ14と、VM管理サーバ16も接続している。ここで、物理マシン#3は、予備系のVMのためのものであるとし、物理マシン#1から物理マシン#2に1つのVM(VM#1)をライブマイグレーションする場合を考える。このとき、物理マシン#1と共有ストレージ14の間には共有ストレージアクセスのトラフィックが発生し、物理マシン#1とパケット転送網の間にはユーザトラフィックが発生し、物理マシン#1と物理マシン#3との間にはフォールトトレランス同期情報のトラフィックが発生しており、これらのトラフィックによって、物理マシン#1とスイッチ#1との間の物理リンクの帯域が消費されて、物理マシン#1と物理マシン#2との間でのライブマイグレーションのためのメモリコピー用帯域が極端に小さくなる。ライブマイグレーションのために使用できる帯域が十分に確保できないと、メモリコピーに時間がかかってライブマイグレーション完了までに時間がかかるようになったり、メモリ差分情報がなかなか小さくならずにマイグレーション失敗となったりする可能性がある。
"VMware vSphereTM vSphere vMotionTM:ダウンタイムなしで仮想マシンを移行"、[online]、[2012年6月11日検索]、インターネット〈http://www.vmware.com/jp/products/datacenter-virtualization/vsphere/vmotion/overview.html〉
上述したように、従来のネットワーク環境において仮想マシン(VM)のライブマイグレーションを行おうとする場合、ネットワークでの他のトラフィックの影響によりメモリコピー用に十分な帯域が確保できなくなり、ライブマイグレーションに時間がかかったりライブマイグレーションの失敗などが起きたりする。
従来のライブマイグレーション技術における上述した課題を解決するために、本発明者らは既に特願2012−176811において、VMのライブマイグレーションの実行時に、VMのメモリコピーのトラフィックが流れるネットワーク上でその他のトラフィックのための帯域を一時的に制限し、メモリコピーのトラフィックのための帯域を確保することを提案している。この手法によって、VMライブマイグレーションを高速に完了させることができる。図5は、このように、VMライブマイグレーションの実行時に、VMメモリコピー以外のトラフィックの帯域を制限するようにしたシステムの構成の一例を示している。
図5に示すシステムにおいて、複数の物理マシン(物理マシン#1〜物理マシン#i)がスイッチ30を介して相互に接続しており、各スイッチ30には、ネットワーク内のトラフィックを監視するトラフィック監視部33とトラフィックごとに帯域を制御する帯域制御部32とが設けられている。各物理マシン上では1または複数のVMを動作させることが可能であり、各物理マシンには当該物理マシン上のVMの状態を監視するVM状態監視部31が設けられている。各スイッチはルータを介してパケット転送網に接続し、パケット転送網には複数のユーザ端末が接続している。スイッチを制御するための管理装置20も設けられている。管理装置20は、ライブマイグレーションの実行が決定されたときに、各スイッチのトラフィック監視部33でトラフィックを監視した結果に基づく情報と各物理マシンにおいてVM状態監視部31により各VMの状態の監視した結果に基づく情報とに基づき、ライブマイグレーションに必要な帯域を求めてその帯域を上回る空き帯域があるかを判定し、空き帯域が不足する場合に、帯域制御方法を決定して各スイッチの帯域制御部32に設定する。
図5に示した構成では、ユーザ端末から各VMに対するトラフィック(ユーザトラフィック)と、ライブマイグレーション時にVMのメモリーコピーを行うためのトラフィック(VMメモリコピートラフィック)とがネットワークを共有している。ここで1台の物理マシン(例えば物理マシン#1)の上で動作している複数のVMを、順次、別の物理マシン(例えば、物理マシン#2〜物理マシン#i)へ移動させる場合を考える。図5に示したシステムでは、ユーザトラフィックを一時的に制限することによりVMメモリコピートラフィック帯域を確保するが、図において太線で示すように、VMの移動の高速化のためにVMメモリコピートラフィックにリンク帯域の大半を与えてしまうと、図において細い点線で示すように、ユーザトラフィックが使える帯域が極端に小さくなる。その結果、VMによっては当該VMのユーザトラフィックが長時間にわたって帯域制限されることになり、ユーザに品質劣化を感じさせる原因となる。ここでは、VMメモリコピートラフィックと、VMから出力されるユーザトラフィックが競合する例で説明しているが、VMメモリコピートラフィックと競合するトラフィックは、ユーザトラフィック以外のトラフィックであってもよい。結局、VMライブマイグレーション時にVMメモリコピー以外のトラフィックを帯域制限する場合には、VMの移動スケジュールや帯域制御量によっては、ユーザトラフィック等を長時間にわたって制限することになり、ユーザ品質劣化が深刻になるなどの問題が生じる。
本発明の目的は、ライブマイグレーションのメモリコピーに必要な帯域を十分に確保できるとともに、ライブマイグレーションと競合するトラフィックを過度に制約しないスケジューリング方法と、そのようなスケジューリング方法を実行する仮想マシンシステムとを提供することにある。
本発明のライブマイグレーションスケジューリング方法は、複数の物理マシンと物理マシン間を接続するネットワークとを有し各物理マシン上で仮想マシンが動作可能であって、移動元の物理マシンから他の一または複数の物理マシンへの複数の仮想マシンのライブマイグレーション時に、仮想マシン移動のためのメモリコピートラフィックと、仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックとが共通のリンクを使用する仮想マシンシステムにおいて、ライブマイグレーションのスケジューリングを行う方法であって、仮想マシンに関する情報及びネットワークでのトラフィックに関する情報の少なくとも一方に基づいて、複数の仮想マシンにおけるライブマイグレーションの実行順を定める段階と、ライブマイグレーション実施前のその他トラフィックの帯域からの変動が小さくなるようにライブマイグレーションの実施中におけるその他トラフィックの帯域制御量を決定する段階と、実行順に応じて1つずつ仮想マシンのライブマイグレーションの実施を物理マシンに指示する段階と、帯域制御量を物理マシンまたはネットワークに組み込まれた帯域制御手段に設定する段階と、を有する。
本発明の仮想マシンシステムは、複数の物理マシンと物理マシン間を接続するネットワークとを有し、各物理マシン上で仮想マシンが動作可能な仮想マシンシステムであって、物理マシンまたはネットワークに組み込まれて、仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックの帯域制御を行う帯域制御手段と、物理マシン間での仮想マシンのライブマイグレーションを制御し、帯域制御の指示を行う管理装置と、を備え、管理装置は、移動元の物理マシンから複数の仮想マシンのライブマイグレーションを実施する際に、仮想マシンに関する情報及びネットワークでのトラフィックに関する情報の少なくとも一方に基づいて複数の仮想マシンにおけるライブマイグレーションの実行順を定め、かつ、ライブマイグレーション実施前のその他トラフィックの帯域からの変動が小さくなるようにライブマイグレーションの実施中におけるその他トラフィックの帯域制御量を決定する、スケジュール決定手段と、スケジュール決定手段が決定した実行順に応じて1つずつ仮想マシンのライブマイグレーションの実施を物理マシンに指示するVM管理手段と、スケジュール決定手段が決定したその他トラフィックの帯域制御量を帯域制御手段に設定する帯域制御設定手段と、を有する。
本発明において、仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックは、例えば、ユーザトラフィックである。
本発明は、仮想マシンに関する情報及びネットワークでのトラフィックに関する情報の少なくとも一方に基づいて複数の仮想マシンにおけるライブマイグレーションの実行順を定め、かつ、ライブマイグレーション実施前のその他トラフィックの帯域からの変動が小さくなるようにライブマイグレーションの実施中におけるその他トラフィック帯域の帯域制御量を決定することにより、ライブマイグレーションと競合するユーザトラフィックを過度に制限することなく、ライブマイグレーションのメモリコピーのための帯域を十分に確保できるようになって、ユーザ品質劣化を最小限にできる、という効果を有する。
仮想マシン(VM)のライブマイグレーションを説明する図である。 ライブマイグレーションに必要な時間を説明する図である。 VMとネットワーク環境の一例を示す図である。 ライブマイグレーションの実行時に想定されるネットワークトラフィックの一例を示す図である。 VMのライブマイグレーションの実行時に、VMメモリコピー以外のトラフィックの帯域を制限するようにしたシステムの構成の一例を示すブロック図である。 本発明の実施の一形態の仮想マシンシステムにおけるライブマイグレーションを説明するブロック図である。 図6における仮想マシンシステムにおいて、VMのメモリコピーのために固定した帯域を与えてライブマイグレーションを行ったときと、本発明の方法に基づいてライブマイグレーションを行ったときとにおけるユーザトラフィック帯域を対比して示すグラフである。 仮想マシンシステムの第1の構成例を示すブロック図である。 仮想マシンシステムの第2の構成例を示すブロック図である。 仮想マシンシステムの第3の構成例を示すブロック図である。 仮想マシンシステムの第4の構成例を示すブロック図である。 実施例1での動作を示すシーケンス図である。 実施例2での動作を示すシーケンス図である。
次に、本発明を実施するための形態について、図面を参照して説明する。図6は、本発明の実施の一形態の仮想マシンシステムにおけるライブマイグレーションを説明する図である。
図6に示した仮想マシンシステムは、図5に示したものと同様に、複数の物理マシン(図示した例では5台の物理マシン#1〜物理マシン#5)がネットワークによって接続された構成を有している。各物理マシンはネットワーク内のスイッチ30に接続している。ここでは、複数のスイッチ30が設けられ、物理マシンごとにいずれかのスイッチ30に接続するようになっている。各スイッチ30は、ネットワーク内のルータを介してパケット転送網にも接続している。パケット転送網には、いくつかのユーザ端末も接続している。
この仮想マシンシステムにおいても、図5に示す仮想マシンシステムと同様に、各物理マシン、各VM(仮想マシン)及び各スイッチを制御し、VMのライブマイグレーション(移動)や帯域制御を行い、特に、ライブマイグレーションの実行時にネットワーク内の各トラフィックの帯域を制限する管理装置20が設けられている。図6に示す仮想マシンシステムの管理装置20は、図5に示したものと比べ、さらに、スケジュール決定部26を備えている。スケジュール決定部26は、管理装置20のデータ保存部23に格納されているVM状態情報とスケジュール決定アルゴリズム27にしたがって、移動対象の複数のVMの移動順(すなわちVMのライブマイグレーションの実行順)、及びユーザトラフィックの帯域制御量と制御順を決定する。ここでの帯域制御量は、帯域制限の下で、当該ユーザトラフィックに対して割り当てられる帯域量を表す。さらに管理装置20は、スケジュール決定部26のほかに、ネットワークとのインタフェースとしてパケットを受信するパケット受信部21と、ネットワークとのインタフェースとしてパケットを送信するパケット送信部22と、上述したデータ保存部23と、物理マシン上のVMを管理するVM管理部24と、必要となる情報を収集してデータ保存部23に格納する情報収集部25と、スケジュール決定部26によって決定されたユーザトラフィック帯域制限量に基づき、各物理マシンやVM、スイッチに対して帯域制御設定を行う帯域制御設定部28と、を備えている。ここでVM管理部24は、特に、スケジュール決定部27で決定された結果に基づき、VMのライブマイグレーションの開始を各物理マシンに指示する。このような管理装置20は、ライブマイグレーションを実行する同一グループの物理マシンに接続するが、管理装置20からの接続は直接接続である必要はなく、ネットワーク上の到達性があればよい。したがって図示したものでは、管理装置20は、各スイッチに対して直接接続している。
各物理マシンには、当該物理マシンの負荷状況、各VMのCPU使用率やメモリ利用率、アプリケーションの動作状態などを監視してそれらに関する情報を収集するVM状態監視部31が設けられている。特にVM状態監視部31は、各VMのメモリ使用量およびメモリ変化速度を監視する機能を有する。ここでメモリ変化速度とは、VMのメモリに格納されている情報が時間当たりどれだけ変化するかを示すものである。メモリ変化速度が大きければ、図2に示した差分コピーをより大量に行わなければならなくなる。VM状態監視部31は、後述するように、管理装置20に設けられていてもよい。
各スイッチには帯域制御部32とトラフィック監視部33とが設けられている。帯域制御部32は、管理装置20での決定に基づき管理装置20の帯域制御設定部28から指示された通りに各トラフィックの帯域制御を行う機能を有する。後述するように、帯域制御部32は、スイッチではなく各物理マシンに設けられていてもよい。トラフィック監視部33は、各VMの入出力トラフィックを監視する。トラフィック監視部33は、各物理マシンに設けられていてもよい。
上記の構成において、情報収集部25は、スイッチまたは物理マシンに設けられたトラフィック監視部33から、VMのライブマイグレーションを行う物理マシン間のリンクを流れるトラフィックの情報を収集し、スイッチまたは物理マシンに設けられたVM状態監視部31から、物理マシンの負荷状況、各VMのCPU使用率やメモリ利用量、メモリ変化速度、アプリケーションの動作状況などを表すVM状態情報を収集する。
次に、本実施形態におけるスケジュール決定アルゴリズム27について説明する。スケジュール決定アルゴリズム27は、VMのライブマイグレーションの実行を決定したときに、VMの移動順やトラフィックの帯域制限量、移動スケジュールなどをどのように定めるかを規定するスケジュール決定方式を表すものである。具体的に言えばスケジュール決定方式は、VMの数、VM移動計画時間、各VMのメモリ使用量、各VMのメモリ変化速度、及びユーザトラフィック量などが与えられたときに、VMの移動順、トラフィックの帯域制御量や制御スケジュール等を定める方式である。VM移動計画時間は、1または複数について、順次、VMのライブマイグレーションを行うときに、移動対象のVMの全体の移動に要する時間として計画された時間のことである。スケジュール決定部26は、VMライブマイグレーションの実行が決定されたときに、VMマイグレーションの開始に先立って、データ保存部23からVM状態情報とスケジュール決定アルゴリズム27を読み出し、読出したVM状態情報とスケジュール決定アルゴリズム27に基づき、VMの数、VM移動計画時間、各VMのメモリ使用量、各VMのメモリ変化速度、及びユーザトラフィック量などの情報からVMの移動順、トラフィックの帯域制御量や制御スケジュール等を定める決定してそれらを示す情報を出力する。ここでVMを順次移動させる時の移動順を決定するやり方のことをVM順序決定方式と呼び、各VMのユーザトラフィックの帯域制御量をどのように決定するかのやり方のことを帯域制御方法決定方式と呼ぶ。以下に説明するように、VM順序形式方式及び帯域制御方法決定方式には、それぞれ、何通りかのものが考えられる。
図6に示したものでは、物理マシン#1上に5個のVM(VM#1〜VM#5)があるとして、VM#2を物理マシン#2に移動(ライブマイグレーション)し、VM#3を物理マシン#3に移動し、VM#4を物理マシン#4に移動し、VM#5を物理マシン#5に移動させる場合を考えている。また、ユーザトラフィックは、物理マシンからユーザ端末への方向のみを考慮するものとする。図では、VM順序決定方式として、VM移動計画時間からVM1台当たりの移動時間を算出し、VMごとに、VMのメモリ使用量とメモリ変化速度から、1台当たりの移動時間で移動を完了させるための必要帯域(すなわちVMメモリコピートラフィック帯域)を算出し、この必要帯域が小さいものから順にVMの移動を行う、というものを用いている。その上で、帯域制御方法決定方式として、VM移動のための必要帯域(VMメモリコピートラフィック帯域)を物理帯域から除いた分を移動元の物理マシンで動作中のVMの数で除算することにより、移動元の物理マシンに対するVMごとのユーザトラフィックの帯域制御量を決定する、というものを用いている。複数のVMを移動させるときは順番に1つずつさせるので、移動が完了してしまったVMに関しては、移動後の物理マシンでのユーザトラフィックの帯域制限は行わない。その結果、図6に示した例では、移動前のユーザトラフィック帯域からの変動量が小さくなるように、帯域制御が実施されることになる。
ここで、図6に示した場合において、物理マシン#1上のVM#2〜VM#5をそれぞれ物理マシン#2〜物理マシン#5に移動させる場合において、各VMごとのメモリ使用量とメモリ変化速度とが表1に示すようなものであったときにおける、本実施形態の方法と図5に示した従来方式との差について、具体的な数値を挙げて説明する。物理帯域としては、物理マシンごとに1000Mbit/sが用意されるものとし、4台のVMを移動するためのVM移動計画時間として1分を想定する。すると、VM1台当たりの移動時間は15秒となる。また、VM#1は物理マシン#1に残るものとする。
Figure 0005876425
図5に示した従来方式において、VMメモリコピートラフィックに900Mbit/sの帯域を与え、VM#2から順番に1つずつさせるとすると、各VMでのユーザトラフィック帯域の時間変化は図7の上半分に示したもののようになる。ここでは、説明を簡単にするため、VM#2とVM#4については、ユーザトラフィック帯域の時間変化は示されていない。VM#2〜VM#5の移動が完了するために要する時間は、20秒未満と短いが、VM#1は、移動元の物理マシン#1から動かないので、全体の移動が完了するまで、ユーザトラフィック帯域が大きく制限される。また、VM#5は最後に移動し、それまでは移動中の他のVMの移動元となる物理マシン#1に存在するので、VM#5についても、全体の移動が完了するまで、ユーザトラフィック帯域が大きく制限される。これに対し、VM#3は、それ自体の移動が完了して移動先の物理サーバ#3でユーザトラフィックを受けるようになれば、それ以降は、ユーザトラフィック帯域の制限を受けなくなる。全体としてみると、従来方式では、移動対象のVMのすべてが移動を完了するまでの時間は短いものの、20秒程度となる移動期間中は、ユーザトラフィック帯域が20〜50Mbit/sと極めて低く限定される。
一方、図7の下半分は、図6に示した実施形態における各VMでのユーザトラフィック帯域の時間変化を示している。上述したようにVM1台あたりの移動時間は15秒であるので、VM#2〜VM#5の各々について当該VMを15秒で移動させるために必要となる帯域(VMメモリコピートラフィック帯域)は、表1に示したようになる。この帯域が小さい順に移動順を定めるので、最初にVM#3を移動させ、以下、VM#2、VM#5、VM#4で移動させることになる。そして、VM#2〜VM#5の各々を移動している間に、各VMのユーザトラフィックに割り当てられる帯域制御量は、移動中のVMごとに、表1に示されるようになる。すなわち、1番目に移動するVM#3の移動中には、その移動のためのVMメモリコピートラフィック帯域として88.26667Mbit/sが割り当てられるので、物理帯域の1000Mbit/sからこのVMメモリコピートラフィック帯域を差し引いた911.73333Mbit/sが、この時点で移動元の物理マシン#1に存在するVM#1〜VM#5のユーザトラフィックの全体に割り当てられる帯域値となる。これをこのときの物理マシン#1上のVM数である5で除算することにより、各VMには182.34Mbit/sのユーザトラフィック帯域制御値が与えられることになる。同様に、2番目に移動するVM#2について考えると、15秒で移動させるためのVMメモリコピートラフィック帯域は136.5333Mbit/sであり、このときは、VM#3が既に移動を完了しているので、移動元の物理マシン#1でのVMの数は4となる。したがって、物理帯域からVMメモリコピートラフィックを差し引いて得られる863.4667Mbit/sを4で除算した215.88Mbit/sが、VM#2の移動中にVM#1、VM#2、VM#4及びVM#5に割り当てられるユーザトラフィック帯域制御値となる。VM#3は、既に物理マシン#3に移動完了しているので、そのユーザトラフィック制御値は物理帯域(1000Mbit/s)と一致する。
このように、図6に示した実施形態によれば、全VMが移動を完了させるまでの時間(この時間はVM移動計画時間としてユーザが設定できる)は長くなるものの、各VMごとのユーザトラフィック帯域として、概ね200Mbit/sを保つことができる。もともと物理マシン#1に5台のVMが存在する時点において各VMに割り当てられるユーザトラフィック帯域の平均は200Mbit/s(=(1000Mbit/s)/5)であることを考えれば、本実施形態によれば、VMライブマイグレーション時間の大きな増加を伴うことなく、ユーザトラフィック帯域の低下量を最小限とすることができて、ユーザ品質の劣化を最小限にとどめることができる。
次に、スケジュール決定アルゴリズムにおける、VM移動順序決定方式と帯域制御方法決定方式の各々についてのバリエーションについて説明する。VM移動順序決定方式についてのバリエーションのいずれかと帯域制御方法決定方式についてのいずれかバリエーションのいずれかとを任意の組み合わせることができる。
VM移動順序決定方式には、(1)各VMのメモリ情報に基づいてVM移動スケジュールを決定するメモリ情報利用方式と、(2)各VMの入力または出力トラフィック量に基づいてVM移動スケジュールを決定するトラフィック情報利用方式とがある。
帯域制御方法決定方式には、(a)各VMの移動時間が均等という条件の下で帯域制御値を決定するVM移動時間均等方式と、(b)VM移動中にユーザトラフィックを制限するが、制限されたことによるユーザトラフィックの低下量が設定した値以内に収まり、かつ、最も短い時間で全VMの移動が完了するように帯域制御値を決定するユーザトラフィック帯域低下最小化方式とがある。
さらに、VM移動順序決定方式と帯域制御方法決定方式とを統合したバリエーションの1つとして、(3)メモリ変化速度が0であるVM(すなわち、移動中にVMのメモリ内容が変化しないので、差分コピーを必要としないVM)については、他のVMの移動と同時に移動させる、という複数VM同時移動方式がある。
以下、これらのバリエーションの方式について、詳しく説明する。
(1)メモリ情報利用方式:
メモリ情報利用方式は、VMのメモリ使用量やメモリ変化速度がVMごとに異なるが、VMのユーザトラフィックが均一な場合に適した方法である。メモリ使用量をc[byte]、メモリ変化速度をa[bit/s]、帯域をb[bit/s]とすると、VM移動時間t[s]は、t=c×8/(b−a)で表されるが、メモリ情報利用方式では、このVM移動時間tが短い順にVMの移動順を定めるものである。帯域bは、仮想マシンシステムを構成するネットワークの仕様などに応じて与えられる任意の定数である。VMが10台(VM#1〜VM#10)存在してこれらすべてを移動する場合における移動順の決定例を表2に示す。ここでは、帯域b=3×108[bit/s]としている。表2では、VMごとにメモリ使用量cとメモリ変化速度aとが与えられるとして、VM移動時間tの計算結果とそれに基づく移動順とが示されている。
Figure 0005876425
メモリ情報利用方式は、移動時間が短いVMから素早く他の物理マシンに移動させることにより、移動元の物理マシンのリソースに早い段階から空きができるため、その時点で移動元の物理マシンに存在するVMにおけるユーザトラフィック帯域の制限を小さくすることができる、という利点がある。
(2)ユーザトラフィック情報利用方式:
ユーザトラフィック情報利用方式は、VMのメモリ使用量やメモリ変化速度は全て同じであるが、VMのユーザトラフィックがVMによって異なる場合に適した方法である。この方法では、VMの入力または出力ユーザトラフィック量が多い順に、VMの移動順を決定する。入力トラフィックに基づくか出力トラフィックに基づくかについては、VMごとに、移動元の物理マシンから出力されるVMメモリコピートラフィックと同じ方向のユーザトラフィックを選択する。VMが10台(VM#1〜VM#10)存在してこれらすべてを移動する場合における移動順の決定例を表3に示す。
Figure 0005876425
表3に示した例では、VMごとの出力ユーザトラフィック量に応じて移動順を定めている。ユーザトラフィック情報利用方式は、出力ユーザトラフィック量が多いVM、すなわちリソースを多く利用しているVMから他の物理マシンに移動させることにより、移動元の物理マシンのリソースに早い段階から空きができるため、その時点で移動元の物理マシンに存在するVMにおけるユーザトラフィック帯域の制限を小さくすることができる、という利点がある。
(a)VM移動時間均等方式:
VM移動時間均等方式では、まず、各VMの移動時間tを、
移動時間t=VM移動計画時間/移動すべきVMの数
で算出する。その上で、各移動VMについて、メモリ使用量c[byte]及びメモリ変化速度a[bit/s]を用いて、移動時間t内で移動を完了させるために必要な帯域Bを求める。当該VMが移動中における各VMのユーザトラフィックの帯域制限値は、VMのユーザトラフィック帯域が全てのVMで均一な場合には、
(物理帯域−B)/(移動元の物理マシンに残っているVMの数)
によって算出され、一方、VMのユーザトラフィック帯域がVMごとに異なる場合には、(物理帯域−B)によって表される残り帯域を、当該VMの移動開始直前における各VMのユーザトラフィック帯域量の相互間の比率で、各VMに割り当てるものとする。VMが10台(VM#1〜VM#10)存在してこれらすべてを移動する場合における、移動中のVMごとに、当該VMが移動しているときの各VMのユーザトラフィック帯域制御値の例を表4に示す。ここでは、VMのユーザトラフィック帯域が全てのVMで均一であり、VM移動計画時間は120秒(したがって、各VMの移動時間tは12秒)であるものとする。
Figure 0005876425
VM移動時間均等方式では、あるVMが移動中における各VMのユーザトラフィック帯域を大きくするためには、VM移動計画時間を長くすればよい。そして、移動開始前の各VMごとのトラフィック帯域に比例するように、移動中も各VMのユーザトラフィック帯域制御値が設定されるので、移動前のユーザトラフィックからの変動が少なくなるように、帯域制御が実施されることになる。
(b)ユーザトラフィック帯域低下最小化方式:
トラフィック帯域低下最小化方式では、帯域制限を行ったことによるユーザトラフィックの低下量の最大値を予めxと設定しておく。各VMの移動時のユーザトラフィック制御値yは、
y=(移動前のユーザトラフィック帯域)−x
で求められる。各VMの移動時において当該VMの移動に使える帯域bは、
b=物理帯域−(移動元の物理マシンに残っている各VMのyの和)
で求められる。特に、ユーザトラフィック帯域が均一である場合には、帯域bは、
b=物理帯域−{y*(全VM数−移動順+1)}
と表される。
各VMの移動時間tは、
t=c×8/(b−a)
で求められる。
表5は、ユーザトラフィック帯域低下最小化方式において、VMが10台(VM#1〜VM#10)存在してこれらすべてを移動する場合における、移動中のVMごとに、当該VMが移動しているときの各VMのユーザトラフィック帯域制御値と帯域制御が行われる時間の例を表5に示す。ここでは、物理帯域が1Gbit/sであって、VM数が10であることから最初の移動前の各VMトラフィック帯域が100Mbit/sであり、ユーザトラフィックの最大低下量を5Mbit/sとしている。また、VMのユーザトラフィックは均一であるとしている。
Figure 0005876425
ユーザトラフィック帯域低下最小化方式では、最大低下量をどのように設定するかによって、VMの移動中にユーザトラフィックの帯域がどれだけ制限されるかが決まる。移動開始前のそれぞれVMのユーザトラフィック帯域から最大低下量を引いた値として、移動中も各VMのユーザトラフィック帯域制御値が設定されるので、移動前のユーザトラフィックからの変動が少なくなるように、帯域制御が実施されることになる。
(3)複数VM同時移動方式:
次に、メモリ変化速度が0であるVMについては、その他のVMの移動を実行しているときに、空き帯域を利用して平行して移動を実施するという複数VM同時移動方式について説明する。
まず、最初のステップ(ステップ1)として、メモリ変化速度a[bit/s]が0でないVMについて、メモリ使用量をc[byte]、帯域をb[bit/s]として、
VM移動時間t[s]=c×8/(b−a)
を求める。帯域bは、仮想マシンシステムを構成するネットワークの仕様などに応じて与えられる任意の定数である。そして、a≠0であるVMについて、VM移動時間tが短い順に移動順を定める。
一方、メモリ変化速度aが0であるVMについては、メモリ使用量が小さい順に、別途、移動順を決定する。
VMが10台(VM#1〜VM#10)存在してこれらすべてを移動する場合における移動順の決定例を表6に示す。ここでは帯域bが3×108[bit/s]であるものとしている。10台のVMの中で、VM#3とVM#4はa=0なので、これら以外のVMについて、表の「移動順」の欄で1〜8で示されるように、VM移動時間tに応じて移動順が定められる。a=0であるVM#3及びVM#4については、メモリ使用量cが小さい順に、表6の「移動順」の欄でA〜Bで示されるように、移動順が定められる。
Figure 0005876425
次に、2番目のステップとして、メモリ変化速度aが0でないVMについて、当該VMの移動時間tを
VM移動時間t=VM移動計画時間/移動すべきVMの数
と算出する。そして各移動VMについて、メモリ使用量c[byte]及びメモリ変化速度a[bit/s]を用いて、移動時間t内で移動を完了させるために必要な帯域Bを求める。当該VMが移動中における各VMのユーザトラフィックの帯域制限値を
(物理帯域−B)/(移動元の物理マシンに残っているVMの数)
とする。
表7は、表6に示した場合において、VM移動計画時間を120秒とし、メモリ変化速度aが0の各VM(VM#3及びVM#4)の移動時間を15秒とし、ユーザトラフィックは均一であるとしたときの各VMのユーザトラフィック帯域制御値を示している。
Figure 0005876425
その後、3番目のステップにおいて、ユーザトラフィック帯域の最大値をxとしたときのあまり帯域を算出し、その帯域を利用して、メモリ変化速度aが0であるVM(VM#3とVM#4)の移動を実施するようにスケジュールを決定する。
複数VM同時移動方式を利用すれば、メモリ変化のないVMについては、空き帯域を利用して、他のVMと並行して移動を行うので、全VMの移動完了までの時間をさらに短縮することができる。なお、複数VM同時移動方式においても、上記のVM移動時間均等方式と同様に、移動前のユーザトラフィックからの変動が少なくなるように、帯域制御が実施されることになる。
次に、上記の各バリエーションに適した仮想マシンシステムの例について説明する。
図8に示した仮想マシンシステムは、VM移動順序決定方式としてメモリ情報利用方式を用いる場合、あるいは複数VM同時移動方式を用いる場合に適したものである。帯域制御方法決定方式としては、VM移動時間均等方式及びユーザトラフィック帯域低下最小化方式のいずれも利用することができる。
この仮想マシンシステムは、複数の物理マシン(物理マシン#1〜物理マシン#N)がネットワークに接続された構成を有しており、各物理マシンはネットワーク内のスイッチ30に接続している。スイッチ30はパケット転送網にも接続しており、図示していないが、パケット転送網30には複数のユーザ端末が接続している。各物理マシンはその上で仮想マシン(VM)を動作させることが可能なものである。図示したものでは、物理マシン#1上にn台のVM(VM#1〜VM#n)が配置している。各物理マシンには、当該物理マシンの各VMの状態を監視するVM状態監視部31が設けられている。VM状態監視部31は、特に、各VMのメモリ使用量及びメモリ変化速度を監視する。
さらにこの仮想マシンシステムには、各物理マシン、各VM及びスイッチ30を管理し、物理マシン間でのVMの移動や帯域制御の指示を行う管理装置20がスイッチ30に接続している。管理装置20としては、図6を用いて説明した管理装置20を使用することができる。特にこの例では、情報収集部25は、各VMのメモリ使用量及びメモリ変化速度を各物理マシンのVM状態監視部31から収集する。もっとも、VMのメモリ使用量及びメモリ変化速度については、そのVMに搭載されているアプリケーションの種別やその状態から計算あるいは推定によって求めてもよい。
スイッチ30は、物理マシンと管理装置20とを接続し、また、物理マシン相互間を接続するための機器である。スイッチ30には、管理装置20の帯域制御設定部28からの指示に応じ、各VMのトラフィック、特に、ユーザトラフィックの帯域制御を行う帯域制御部32が設けられている。
メモリ情報利用方式あるいは複数VM同時移動方式を用いる仮想マシンシステムにおけるネットワーク構成は、管理装置20と各物理マシンとの接続性が保たれ、また、物理マシン相互の接続性が保たれていれば、図8に示したものに限定されない。また、VM状態監視部31は、物理マシン内ではなく管理装置20内に設けることも可能である。管理装置20内にVM状態監視部31を設けた場合、そのVM状態監視部31は、ネットワークを介して各物理マシンに接続し、各VMの状態に関する情報を取得する。また、帯域制御部32も、スイッチ30内ではなく各物理マシン内に搭載することができる。物理マシン内に搭載する場合、帯域制御部32は、物理マシン内でVMを接続する仮想スイッチ上で帯域制御動作を実行する。図9は、各物理マシン内に帯域制御部32を設けた場合の構成を示している。
図10に示した仮想マシンシステムは、VM移動順序決定方式としてユーザトラフィック情報利用方式を用いる場合に適したものである。帯域制御方法決定方式としては、VM移動時間均等方式及びユーザトラフィック帯域低下最小化方式のいずれも利用することができる。この仮想マシンシステムは、図8に示した仮想マシンシステムと同様のものであるが、各物理マシンにおいて、VM状態監視部31の代わりにトラフィック監視部33が設けられている点で、図8に示すものとは異なっている。トラフィック監視部33は、各VMの入出力ユーザトラフィックを監視する。また、管理装置20内の情報収集部25は、各VMの入出力ユーザトラフィックに関する情報を各物理マシンのトラフィック監視部33から収集し、ユーザトラフィック情報としてデータ保存部23に格納する。これを受け、スケジュール決定部26は、データ保存部に格納されたユーザトラフィック情報とスケジュール決定アルゴリズムに基づいて、VMの移動順とユーザトラフィック帯域制御量を決定する。
トラフィック情報利用方式を用いる仮想マシンシステムにおけるネットワーク構成は、管理装置20と各物理マシンとの接続性が保たれ、また、物理マシン相互の接続性が保たれていれば、図10に示したものに限定されない。また、トラフィック監視部33は、物理マシン内ではなくスイッチ30内に設けることも可能である。また、帯域制御部32も、スイッチ30内ではなく各物理マシン内に搭載することができる。物理マシン内に搭載する場合、帯域制御部32は、物理マシン内でVMを接続する仮想スイッチ上で帯域制御動作を実行する。図11は、図10に示すものにおいてトラフィック監視部33をスイッチ30内に設け、帯域制御部32を各物理マシン内に設けた構成を示している。
次に、VM移動順序決定方式と帯域制御方法決定方式のバリエーションの組み合わせのうちのいくつかをさらに詳しく説明する。
[実施例1]
図8に示した構成の仮想マシンシステムを使用し、VM移動順序決定方式としてメモリ情報利用方式を使用し、帯域制御方法決定方式としてVM移動時間均等方式を用いる場合を説明する。図示されるパケット転送網には、複数のユーザ端末が接続しているものとする。仮想マシンシステム内の物理マシンの数は3台(物理マシン#1〜物理マシン#3)であり、同一のスイッチ30に接続されているものとする。物理マシン#1には10台のVM(VM#1〜VM#10)があるとして、このうち、VM#1〜VM#5を物理マシン#2にライブマイグレーションし、VM#6〜VM#10を物理マシン#3にライブマイグレーションするものとする。ライブマイグレーションのメモリコピーに要することのできる時間(VM移動計画時間)は120秒であるものとする。また、各物理リンクの帯域は1Gbit/sであるものとする。また、各VMからユーザ端末へトラフィックが流れているものとし、そのユーザトラフィック量は各VMで均一であるものとする。
スイッチ30には、図8に示すように帯域制御部32が設けられており、トラフィックは、VLAN(仮想ローカルエリアネットワーク:virtual local area network)により、どのVMのトラフィックなのか、また、ユーザトラフィックなのかVMメモリコピートラフィックなのかを識別できるものとする。帯域制御はVLANごとに実施できる。各物理マシン上のVM状態監視部31は、各VM上で、例えば、Linux(登録商標)のtopコマンドにより、VMのメモリ使用量や使用率を監視し、ページング(スワップファイル)操作数などから、各VMのメモリ使用量やメモリ変化速度を監視する。
この場合の動作の流れが図12に示されている。
ステップ101において管理装置20内のVM管理部24がVM#1〜VM#10のライブマイグレーションの実施を決定すると、その旨がVM管理部24から情報収集部25に通知される(ステップ102)。情報収集部25は、移動元の物理マシンとなる物理マシン#1のVM状態監視部31からVM状態情報を収集し(ステップ103)、収集した情報をデータ保存部24に格納する(ステップ104)。次にスケジュール決定部26は、データ保存部23からVM状態情報とスケジューリング決定アルゴリズムを取得し(ステップ105)、メモリ情報利用方式とVM移動時間均等方式とによってスケジュールを決定し(ステップ106)、決定したスケジュールをデータ保存部24に格納する(ステップ107)。このスケジュールは、VMの移動順を示すスケジュール(マイグレーションスケジュール)とユーザトラフィックの帯域制御量を示すスケジュール(帯域制御スケジュール)とからなる。この例の場合、決定されたスケジュールは表8に示すようなものになり、VMの移動順は、VM#4→VM#1→VM#7→…の順となる。
Figure 0005876425
スケジュール決定部26は、マイグレーションスケジュールをVM管理部24に通知し(ステップ108)、帯域制御スケジュールを帯域制御設定部28に通知する(ステップ109)。すると、帯域制御設定部28は、最初に移動するVMであるVM#4に対応した各VMのユーザトラフィック帯域制御値である91.47Mbit/s(表8参照)を物理マシン#1から出力される各VMのユーザトラフィック帯域制御値とするように、スイッチ30内の帯域制御部32に設定する(ステップ110)。
その後、VM管理部24は、最初に移動することとなるVM#4のライブマイグレーションを行うように物理マシン#1に指示し(ステップ111)、これにより、物理マシン#1から物理マシン#2へのVM#4についてのメモリコピーが行われる(ステップ112)。VM#4についてのメモリコピーが完了すると、物理マシン#2からVM管理部24に対してVM#4のライブマイグレーションの完了通知が送られ(ステップ113)、VM管理部24は、VM#4のライブマイグレーションの完了を帯域制御設定部28に通知する(ステップ114)。すると帯域制御設定部28は、2番目に移動するVMであるVM#1に対応した各VMのユーザトラフィック帯域制御値である100.52Mbit/s(表8参照)を物理マシン#1から出力される各VMのユーザトラフィック帯域制御値とするように、スイッチ30内の帯域制御部32に設定する(ステップ115)。
その結果、VM管理部24は、VM#4の移動のときと同様に、2番目に移動することとなるVM#1のライブマイグレーションを行うように物理マシン#1に指示し(ステップ116)、これにより、物理マシン#1から物理マシン#2へのVM#1についてのメモリコピーが行われる(ステップ117)。VM#1についてのメモリコピーが完了すると、物理マシン#2からVM管理部24に対してVM#1のライブマイグレーションの完了通知が送られ(ステップ118)、VM管理部24は、VM#1のライブマイグレーションの完了を帯域制御設定部28に通知する(ステップ119)。
以下同様にして、VM#7、VM#2、VM#8、VM#10、VM#9、VM#5、VM#6、VM#3の順でライブマイグレーションの処理が実行され(ステップ120)、最後に移動するVMであるVM#3のライブマイグレーションが終了すると、VM管理部24から帯域設定部28にVM#3ライブマイグレーション完了通知が送られ(ステップ121)、帯域設定部28は、スイッチ30内の帯域制御部32での帯域制御設定を解除する(ステップ122)。
以上により、VM#1〜VM#10についてのライブマイグレーションの一連の処理がすべて完了したことになる。
[実施例2]
図10に示した構成の仮想マシンシステムを使用し、VM移動順序決定方式としてユーザトラフィック情報利用方式を使用し、帯域制御方法決定方式としてVM移動時間均等方式を用いる場合を説明する。図示されるパケット転送網には、複数のユーザ端末が接続しているものとする。仮想マシンシステム内の物理マシンの数は3台(物理マシン#1〜物理マシン#3)であり、同一のスイッチ30に接続されているものとする。物理マシン#1には10台のVM(VM#1〜VM#10)があるとして、このうち、VM#1〜VM#5を物理マシン#2にライブマイグレーションし、VM#6〜VM#10を物理マシン#3にライブマイグレーションするものとする。ライブマイグレーションにメモリコピーに要することのできる時間(VM移動計画時間)は120秒であるものとする。また、各物理リンクの帯域は1Gbit/sであるものとする。また、各VMからユーザ端末へトラフィックが流れているものとし、そのユーザトラフィック量は各VMで異なるものとする。メモリ使用量及びメモリ変化速度は、各VMで均一であり、メモリ使用量については256Mbyte、メモリ変化速度は10Mbit/sであるものとする。
スイッチ30内にはトラフィック監視部33が設けられており、トラフィックは、VLANにより、どのVMのトラフィックなのか、また、ユーザトラフィックなのかVMメモリコピートラフィックなのかを識別できるものとする。各物理マシンには帯域制御部32が設けられており、VMごとのトラフィック及びメモリコピートラフィックの帯域を個別で制御できるものとする。
この場合の動作の流れが図12に示されている。
ステップ151において管理装置20内のVM管理部24がVM#1〜VM#10のライブマイグレーションの実施を決定すると、その旨がVM管理部24から情報収集部25に通知される(ステップ152)。情報収集部25は、スイッチ30内のトラフィック監視部33からトラフィック情報を収集し(ステップ153)、収集した情報をデータ保存部24に格納する(ステップ154)。次にスケジュール決定部26は、データ保存部23からトラフィック情報とスケジューリング決定アルゴリズムを取得し(ステップ155)、ユーザトラフィック情報利用方式とVM移動時間均等方式とによってスケジュール(マイグレーションスケジュール及び帯域制御スケジュール)を決定し(ステップ156)、決定したスケジュールをデータ保存部24に格納する(ステップ157)。この例の場合、決定されたスケジュールは表9に示すようなものになり、VMの移動順は、VM#3→VM#8→VM#1→…→VM#10の順となる。
Figure 0005876425
スケジュール決定部26は、マイグレーションスケジュールをVM管理部24に通知し(ステップ158)、帯域制御スケジュールを帯域制御設定部28に通知する(ステップ159)。すると、帯域制御設定部28は、最初に移動するVMがVM#3であるので、表9の「VM#3の移動時の帯域制御値」の欄にVMごとに記載された帯域制御値を、それぞれのVMのユーザトラフィック帯域制御値とするように、物理マシン#1内の帯域制御部32に設定する(ステップ160)。
その後、VM管理部24は、最初に移動することとなるVM#3のライブマイグレーションを行うように物理マシン#1に指示し(ステップ161)、物理マシン#1から物理マシン#2へのVM#3についてのメモリコピーが行われ(ステップ162)、このメモリコピーが完了すると、物理マシン#2からVM管理部24に対してVM#3のライブマイグレーションの完了通知が送られ(ステップ163)、VM#4のライブマイグレーションの完了がVM管理部24から帯域制御設定部28に通知する(ステップ164)。すると帯域制御設定部28は、2番目に移動するVMがVM#8であるので、表9の「VM#8の移動時の帯域制御値」の欄にVMごとに記載された帯域制御値を、それぞれのVMのユーザトラフィック帯域制御値とするように、物理マシン#1内の帯域制御部32に設定する(ステップ165)。なお、このときVM#3は既に物理マシン#1から移動済みであるので、VM#3に関するユーザトラフィックは、帯域制御の対象とはならない。
その後、VM管理部24は、VM#3の移動のときと同様に、2番目に移動することとなるVM#8のライブマイグレーションを行うように物理マシン#1に指示し(ステップ166)、これにより、物理マシン#1から物理マシン#3へのVM#8についてのメモリコピーが行われる(ステップ167)。VM#8についてのメモリコピーが完了すると、物理マシン#3からVM管理部24に対してVM#1のライブマイグレーションの完了通知が送られ(ステップ168)、VM管理部24は、VM#8のライブマイグレーションの完了を帯域制御設定部28に通知する(ステップ169)。
以下同様にして、VM#1、VM#4、VM#2、VM#7、VM#6、VM#5、VM#9、VM#10の順でライブマイグレーションの処理が実行され(ステップ170)、最後に移動するVMであるVM#10のライブマイグレーションが終了すると、VM管理部24から帯域設定部28にVM#10ライブマイグレーション完了通知が送られ(ステップ171)、帯域設定部28は、物理マシン#1内の帯域制御部32での帯域制御設定を解除する(ステップ172)。
以上により、VM#1〜VM#10についてのライブマイグレーションの一連の処理がすべて完了したことになる。
11,12 物理マシン
13 ネットワーク
14 共有ストレージ
15 仮想化ソフトウェア
16 VM管理サーバ
20 管理装置
21 パケット受信部
22 パケット送信部
23 データ保存部
24 VM管理部
25 情報収集部
26 スケジュール決定部
27 スケジュール決定アルゴリズム
28 帯域制御設定部
30 スイッチ
31 VM状態監視部
32 帯域制御部
33 トラフィック監視部

Claims (4)

  1. 複数の物理マシンと前記物理マシン間を接続するネットワークとを有し前記各物理マシン上で仮想マシンが動作可能であって、移動元の物理マシンから他の一または複数の物理マシンへの複数の仮想マシンのライブマイグレーション時に、仮想マシン移動のためのメモリコピートラフィックと、前記仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックとが共通のリンクを使用する仮想マシンシステムにおいて、ライブマイグレーションのスケジューリングを行う方法であって、
    前記各仮想マシンのメモリ使用量及びメモリ変化速度を収集する段階と、
    前記各仮想マシンごとのメモリ使用量及びメモリ変化速度に基づき、与えられた帯域の下でのライブマイグレーション時間が短い順に、あるいは、与えられた移動時間の下でのメモリコピートラフィック帯域が小さい順であって、かつ、前記メモリ変化速度が0である仮想マシンのライブマイグレーションを、他の仮想マシンのライブマイグレーションの実行中に平行して実施するように、前記複数の仮想マシンにおけるライブマイグレーションの実行順を定める段階と、
    ライブマイグレーション実施前の前記その他トラフィックの帯域からの変動が小さくなるように、前記ライブマイグレーションの実施中における前記その他トラフィックの帯域制御量を決定する段階と、
    前記実行順に応じて1つずつ前記仮想マシンのライブマイグレーションの実施を前記物理マシンに指示する段階と、
    前記帯域制御量を前記物理マシンまたは前記ネットワークに組み込まれた帯域制御手段に設定する段階と、
    を有するスケジューリング方法。
  2. 複数の物理マシンと前記物理マシン間を接続するネットワークとを有し前記各物理マシン上で仮想マシンが動作可能であって、移動元の物理マシンから他の一または複数の物理マシンへの複数の仮想マシンのライブマイグレーション時に、仮想マシン移動のためのメモリコピートラフィックと、前記仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックとが共通のリンクを使用する仮想マシンシステムにおいて、ライブマイグレーションのスケジューリングを行う方法であって、
    前記各仮想マシンに関するトラフィックについてのトラフィック情報を収集する段階と
    記トラフィック情報に基づき、仮想マシンごとの入力または出力トラフィックが多い順に、前記複数の仮想マシンにおけるライブマイグレーションの実行順を定める段階と、
    ライブマイグレーション実施前の前記その他トラフィックの帯域からの変動が小さくなるように、前記ライブマイグレーションの実施中における前記その他トラフィックの帯域制御量を決定する段階と、
    前記実行順に応じて1つずつ前記仮想マシンのライブマイグレーションの実施を前記物理マシンに指示する段階と、
    前記帯域制御量を前記物理マシンまたは前記ネットワークに組み込まれた帯域制御手段に設定する段階と、
    を有するスケジューリング方法。
  3. 複数の物理マシンと前記物理マシン間を接続するネットワークとを有し前記各物理マシン上で仮想マシンが動作可能であって、移動元の物理マシンから他の一または複数の物理マシンへの複数の仮想マシンのライブマイグレーション時に、仮想マシン移動のためのメモリコピートラフィックと、前記仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックとが共通のリンクを使用する仮想マシンシステムにおいて、ライブマイグレーションのスケジューリングを行う方法であって、
    前記仮想マシンに関する情報及び前記ネットワークでのトラフィックに関する情報の少なくとも一方に基づいて、前記複数の仮想マシンにおけるライブマイグレーションの実行順を定める段階と、
    仮想マシンの移動時間が均等であるという条件の下で、あるいは、前記その他トラフィックの帯域の低下量が設定値以内であってかつ最も短い時間で全ての仮想マシンのライブマイグレーションを完了させることができるという条件の下で、前記各仮想マシンに係る前記その他トラフィックの帯域制量を決定する段階と、
    前記実行順に応じて1つずつ前記仮想マシンのライブマイグレーションの実施を前記物理マシンに指示する段階と、
    前記帯域制御量を前記物理マシンまたは前記ネットワークに組み込まれた帯域制御手段に設定する段階と、
    を有するスケジューリング方法。
  4. 複数の物理マシンと前記物理マシン間を接続するネットワークとを有し、前記各物理マシン上で仮想マシンが動作可能な仮想マシンシステムであって、
    前記物理マシンまたは前記ネットワークに組み込まれて、仮想マシン移動のためのメモリコピートラフィックとは異なるその他トラフィックの帯域制御を行う帯域制御手段と、
    前記物理マシン間での前記仮想マシンのライブマイグレーションを制御し、帯域制御の指示を行う管理装置と、
    を備え、
    前記物理マシンまたは前記ネットワークは、前記各仮想マシンに関するトラフィックを監視するトラフィック監視手段を有し、
    前記管理装置は、
    前記管理装置内に設けられ、前記トラフィック監視手段から前記各仮想マシンに関するトラフィックについてのトラフィック情報を収集する情報収集手段と、
    移動元の物理マシンから複数の仮想マシンのライブマイグレーションを実施する際に、前記情報収集手段が収集した前記トラフィック情報に基づき、仮想マシンごとの入力または出力トラフィックが多い順に、前記複数の仮想マシンにおけるライブマイグレーションの実行順を定め、かつ、ライブマイグレーション実施前の前記その他トラフィックの帯域からの変動が小さくなるように前記ライブマイグレーションの実施中における前記その他トラフィックの帯域制御量を決定する、スケジュール決定手段と、
    前記スケジュール決定手段が決定した前記実行順に応じて1つずつ前記仮想マシンのライブマイグレーションの実施を前記物理マシンに指示するVM管理手段と、
    前記スケジュール決定手段が決定した前記その他トラフィックの帯域制御量を前記帯域制御手段に設定する帯域制御設定手段と、
    を有する、仮想マシンシステム。
JP2013024358A 2013-02-12 2013-02-12 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム Expired - Fee Related JP5876425B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013024358A JP5876425B2 (ja) 2013-02-12 2013-02-12 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013024358A JP5876425B2 (ja) 2013-02-12 2013-02-12 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム

Publications (2)

Publication Number Publication Date
JP2014153997A JP2014153997A (ja) 2014-08-25
JP5876425B2 true JP5876425B2 (ja) 2016-03-02

Family

ID=51575790

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013024358A Expired - Fee Related JP5876425B2 (ja) 2013-02-12 2013-02-12 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム

Country Status (1)

Country Link
JP (1) JP5876425B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2017101100A1 (en) 2015-12-18 2017-06-22 Intel Corporation Virtual machine batch live migration
JP6901683B2 (ja) 2017-09-22 2021-07-14 富士通株式会社 調整プログラム、調整装置および調整方法
JP7468012B2 (ja) * 2020-03-13 2024-04-16 富士通株式会社 管理装置、情報処理システム及び管理プログラム

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010043671A (ja) * 2008-08-11 2010-02-25 Ntn Corp 等速自在継手用のケージおよび等速自在継手

Also Published As

Publication number Publication date
JP2014153997A (ja) 2014-08-25

Similar Documents

Publication Publication Date Title
CN107734035B (zh) 一种云计算环境下的虚拟集群自动伸缩方法
EP3338184B1 (en) Technique for reconfiguring a virtual machine
US20170048123A1 (en) System for controlling switch devices, and device and method for controlling system configuration
US10977070B2 (en) Control system for microkernel architecture of industrial server and industrial server comprising the same
US8479038B1 (en) Method and apparatus for achieving high availability for applications and optimizing power consumption within a datacenter
KR20130115553A (ko) 동적 자원 관리를 위한 2단계 자원 관리 방법 및 장치
JP5687666B2 (ja) スケジューリング装置、システム、方法およびプログラム
CN108958880B (zh) 数据处理方法与数据处理***
WO2019056771A1 (zh) 分布式存储***升级管理的方法、装置及分布式存储***
CN104239120A (zh) 一种虚拟机的状态信息同步的方法、装置及***
JP5876425B2 (ja) 仮想マシンのライブマイグレーションスケジューリング方法及び仮想マシンシステム
CN106059940A (zh) 一种流量控制方法及装置
CN113709220A (zh) 虚拟负载均衡器的高可用实现方法、***及电子设备
JP5672504B2 (ja) 振分先を切り替える並列パケット処理方法および装置
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
Galanis et al. A multi-agent based system for run-time distributed resource management
Li et al. Co-Scheduler: A coflow-aware data-parallel job scheduler in hybrid electrical/optical datacenter networks
CN109032754B (zh) 提高通信路径可靠性的方法和设备
WO2020166423A1 (ja) リソース管理装置およびリソース管理方法
US10877800B2 (en) Method, apparatus and computer-readable medium for application scheduling
JPWO2017170309A1 (ja) ネットワークシステム、その管理方法および装置ならびにサーバ
JP5758358B2 (ja) 仮想マシンシステム及びその高速ライブマイグレーション方法
JP2010244470A (ja) 分散処理システム及び分散処理方法
JP6091333B2 (ja) ネットワーク管理装置及びネットワーク管理方法
CN115378885A (zh) 超融合架构下的虚拟机业务网络带宽管理方法及装置

Legal Events

Date Code Title Description
RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20141027

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20141031

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150202

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20150625

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20150714

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150825

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20151001

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20151005

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

R150 Certificate of patent or registration of utility model

Ref document number: 5876425

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees