図面 (/)

技術 仮想マシン管理システムおよび仮想マシン管理方法

出願人 日本電信電話株式会社
発明者 望月このみ鈴木裕志杉園幸司橘雄三
出願日 2016年2月15日 (3年6ヶ月経過) 出願番号 2016-026306
公開日 2017年8月24日 (2年0ヶ月経過) 公開番号 2017-146675
状態 特許登録済
技術分野 マルチプログラミング
主要キーワード メモリ閾値 コア割り当て 移動実行 オンラインソフト 移動元サーバ サービス断 移動先サーバ ライブマイグレーション
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2017年8月24日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (13)

課題

複数のVMのライブマイグレーションを行う場合の処理時間を短縮する。

解決手段

検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが完了したことを検知する。また、指示部11は、検知部12によってサーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことが検知された場合、サーバ#1上で稼働しているVM#2のメモリをサーバ#2へコピーすることをサーバ#1に指示する。

概要

背景

従来、サーバ負荷平準化等の目的で、複数の仮想マシン(VM:Virtual Machine)をライブマイグレーションにより再配置することが知られている(例えば非特許文献1)。ライブマイグレーションにより負荷平準化しておくことで、処理トラヒック量ピーク時にも、必要最低限の装置で対応することができるようになる。なお、ライブマイグレーションは、VMのメモリ移動元サーバから移動先サーバネットワークを介してコピーすることで実現される。

また、例えば、ライブマイグレーションは、VM管理サーバから、移動対象となるVMが稼働しているサーバに対して送信されるコマンドにより行われる。さらに、複数のVMのライブマイグレーションを行う場合、VM管理サーバは、対象となるVMの数だけコマンドを設定し、設定したコマンドをサーバへ送信する。そして、サーバは、1つのVMのライブマイグレーションが完了すると次のVMのライブマイグレーションを実行する、といったように、順にライブマイグレーションを行っていく。

概要

複数のVMのライブマイグレーションを行う場合の処理時間を短縮する。検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが完了したことを検知する。また、指示部11は、検知部12によってサーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことが検知された場合、サーバ#1上で稼働しているVM#2のメモリをサーバ#2へコピーすることをサーバ#1に指示する。

目的

また、VM管理サーバは、ユーザが使用する端末装置クライアントとし、当該クライアントに上記のVM管理に関するサービスを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1のサーバ上で稼働している第1の仮想マシンメモリの第2のサーバへのコピーが完了したことを検知する検知部と、前記検知部によって前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことが検知された場合、前記第1のサーバ上で稼働している第2の仮想マシンのメモリを前記第2のサーバへコピーすることを前記第1のサーバに指示する指示部と、を有することを特徴とする仮想マシン管理システム

請求項2

前記第1のサーバは、前記第1の仮想マシンの前記第2のサーバへのコピーに関する後処理と、前記指示部によって指示された前記第2の仮想マシンの前記第2のサーバへのコピーと、を同時に実行することを特徴とする請求項1に記載の仮想マシン管理システム。

請求項3

前記第2のサーバと接続され、仮想マシンから送信されたRARPパケットを検知するRARP検知部をさらに有し、前記検知部は、前記RARP検知部によって第2のサーバ上の前記第1の仮想マシンから送出されたRARPパケットが検知された場合に、前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことを検知することを特徴とする請求項1または2に記載の仮想マシン管理システム。

請求項4

前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーにかかる時間を計算する計算部をさらに有し、前記検知部は、前記第1のサーバ上で稼働している前記第1の仮想マシンのメモリの前記第2のサーバへのコピーが開始された後、前記計算部によって計算された時間が経過した場合に、前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことを検知することを特徴とする請求項1または2に記載の仮想マシン管理システム。

請求項5

前記第1のサーバは、前記第1の仮想マシンのメモリを前記第2のサーバへコピーした後、前記第1の仮想マシンが稼働していることによって発生した差分のメモリをさらに前記第2のサーバへコピーすることをk回繰り返し、前記計算部は、式(1−1)で計算されるTc、および式(1−2)で計算されるTdを合計した時間を、前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーにかかる時間として計算することを特徴とする請求項4に記載の仮想マシン管理システム。

請求項6

前記第1のサーバおよび前記第2のサーバに接続され、前記第1の仮想マシンのコピーに用いられるネットワークと接続され、前記ネットワークを通過するトラヒック監視するトラヒック監視部をさらに有し、前記検知部は、前記トラヒック監視部によって前記ネットワークにトラヒックが流れなくなったことが検知された場合に、前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことを検知することを特徴とする請求項1または2に記載の仮想マシン管理システム。

請求項7

前記第2のサーバに備えられ、前記第2のサーバのメモリの増加量を監視するメモリ量監視部をさらに有し、前記検知部は、前記メモリ量監視部によって前記第2のサーバのメモリ量が増加しなくなったことが検知された場合に、前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことを検知することを特徴とする請求項1または2に記載の仮想マシン管理システム。

請求項8

第1のサーバ上で稼働している第1の仮想マシンのメモリを第2のサーバへコピーすることを、前記第1のサーバに指示する第1の指示工程と、前記第1のサーバから前記第2のサーバへの仮想マシンのメモリのコピーが完了したことを検知する検知工程と、前記検知工程によって前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことが検知された場合、前記第1のサーバ上で稼働している第2の仮想マシンのメモリを前記第2のサーバへコピーすることを前記第1のサーバに指示する第2の指示工程と、を含んだことを特徴とする仮想マシン管理方法

技術分野

0001

本発明は、仮想マシン管理システムおよび仮想マシン管理方法に関する。

背景技術

0002

従来、サーバ負荷平準化等の目的で、複数の仮想マシン(VM:Virtual Machine)をライブマイグレーションにより再配置することが知られている(例えば非特許文献1)。ライブマイグレーションにより負荷平準化しておくことで、処理トラヒック量ピーク時にも、必要最低限の装置で対応することができるようになる。なお、ライブマイグレーションは、VMのメモリ移動元サーバから移動先サーバネットワークを介してコピーすることで実現される。

0003

また、例えば、ライブマイグレーションは、VM管理サーバから、移動対象となるVMが稼働しているサーバに対して送信されるコマンドにより行われる。さらに、複数のVMのライブマイグレーションを行う場合、VM管理サーバは、対象となるVMの数だけコマンドを設定し、設定したコマンドをサーバへ送信する。そして、サーバは、1つのVMのライブマイグレーションが完了すると次のVMのライブマイグレーションを実行する、といったように、順にライブマイグレーションを行っていく。

先行技術

0004

Microsoft TechNet “仮想マシンのライブマイグレーションの概要”、[2016年2月1日検索]、インターネット(https://technet.microsoft.com/ja-jp/library/hh831435.aspx)

発明が解決しようとする課題

0005

しかしながら、従来のライブマイグレーションの方法には、複数のVMのライブマイグレーションを行う場合の処理時間が長いという問題があった。

0006

例えば、従来のライブマイグレーションの方法では、VMのメモリが移動元のサーバから移動先のサーバへコピーされた後に実行される最終処理が完了するのを待って、次のVMのメモリのコピーが指示されていた。このため、複数のVMのライブマイグレーションを行う場合、最終処理の完了を待機する時間が発生するため、処理時間が長くなっていた。

課題を解決するための手段

0007

本発明の仮想マシン管理システムは、第1のサーバ上で稼働している第1の仮想マシンのメモリの第2のサーバへのコピーが完了したことを検知する検知部と、前記検知部によって前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことが検知された場合、前記第1のサーバ上で稼働している第2の仮想マシンのメモリを前記第2のサーバへコピーすることを前記第1のサーバに指示する指示部と、を有することを特徴とする。

0008

また、本発明の仮想マシン管理方法は、第1のサーバ上で稼働している第1の仮想マシンのメモリを第2のサーバへコピーすることを、前記第1のサーバに指示する第1の指示工程と、前記第1のサーバから前記第2のサーバへの仮想マシンのメモリのコピーが完了したことを検知する検知工程と、前記検知工程によって前記第1のサーバから前記第2のサーバへの前記第1の仮想マシンのメモリのコピーが完了したことが検知された場合、前記第1のサーバ上で稼働している第2の仮想マシンのメモリを前記第2のサーバへコピーすることを前記第1のサーバに指示する第2の指示工程と、を含んだことを特徴とする。

発明の効果

0009

本発明によれば、複数のVMのライブマイグレーションを行う場合の処理時間を短縮することができる。

図面の簡単な説明

0010

図1は、VMの再配置の概要を示す図である。
図2は、従来の仮想マシン管理システムの構成の一例を示す図である。
図3は、従来の仮想マシン管理システムによるライブマイグレーションに要する時間について説明するための図である。
図4は、VM管理サーバの構成の一例を示す図である。
図5は、VM管理サーバの処理の一例を示すフローチャートである。
図6は、第1の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。
図7は、第2の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。
図8は、第2の実施形態に係る仮想マシン管理システムの動作について説明するための図である。
図9は、第3の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。
図10は、第4の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。
図11は、実施形態の仮想マシン管理システムによるライブマイグレーションに要する時間について説明するための図である。
図12は、プログラムが実行されることにより、VM管理サーバが実現されるコンピュータの一例を示す図である。

実施例

0011

以下に、本願に係る仮想マシン管理システムおよび仮想マシン管理方法の実施形態を図面に基づいて詳細に説明する。なお、この実施形態により本発明が限定されるものではない。

0012

[ライブマイグレーションの概要]
まず、ライブマイグレーションの概要を説明する。図1に示すように、サーバ101、102および103のそれぞれにおいて、複数のVMが稼働している状況を考える。図1は、VMの再配置の概要を示す図である。ここで、リソース使用量が大きいサーバでは、処理トラヒック量の増加に対応できない場合がある。そのため、処理トラヒック量の増加に備えて、あらかじめVMを再配置することで負荷を平準化しておく必要がある。

0013

図1の例では、サーバ101のリソース使用量が大きく、サーバ103のリソース使用量が小さいため、ライブマイグレーションにより、サーバ101で稼働しているVMのうち2つのVMをサーバ103に移動させている。これにより、サーバ101のリソース使用量が減少し、サーバ103のリソース使用量が増加し、全体の負荷が平準化される。

0014

また、図2に示すように、複数のVMのライブマイグレーションは、VM管理サーバが、VMが稼働しているサーバにコマンドを送信することによって行われる。図2は、従来の仮想マシン管理システムの構成の一例を示す図である。図2に示すように、VM管理サーバ10aは、VM#1のライブマイグレーションのためのコマンド、およびVM#2のライブマイグレーションのためのコマンドを設定し、設定したコマンドをサーバ#1に送信する。

0015

また、ライブマイグレーションは、移動処理および移動の最終処理を含んでいる。移動処理では、VMのメモリが移動元のサーバから移動先のサーバへコピーされる。また、移動の最終処理では、移動元のサーバに残っているVMのメモリの削除等が行われる。例えば、図2に示すようなVM#1およびVM#2のライブマイグレーションにおいては、VM#1の移動処理、VM#1の移動の最終処理、VM#2の移動処理、VM#2の移動の最終処理の順に処理が行われる。

0016

ライブマイグレーションに要する時間について、図3を用いて説明する。図3は、従来の仮想マシン管理システムによるライブマイグレーションに要する時間について説明するための図である。図3に示すように、サーバ#1で稼働していたVM#1のメモリがサーバ#1からサーバ#2にコピーされると、サーバ#2で稼働を開始すると同時に、VM#1はRARP(Reverse Address Resolution Protocol)パケット送出する。そして、その後VM#1の移動の最終処理が行われる。なお、RARPとは、MACアドレスからIPアドレスを解決するためのプロトコルであるが、ここでは、VMの移動、つまり、MACアドレスの移動を周辺ネットワーク機器通知するために使われる。

0017

そして、VM#1の移動の最終処理が完了した後、サーバ#1で稼働しているVM#2のメモリのサーバ#1からサーバ#2へのコピーが開始される。このとき、VM#1の移動の最終処理が行われている間(図3のta)は、VM#2の移動処理が開始されないため、メモリのコピーのためのリソース空き状態となる。このため、移動の最終処理が完了するのを待機している時間が無駄な時間となり、トータルの処理時間を増加させていることが考えられる。

0018

また、以下の実験結果からも、移動の最終処理のための待ち時間がトータルの処理時間を増加させていることが分かっている。実験においては、下記のようなVMをサーバ#1上に複数設定し、サーバ#1からサーバ#2へ順次ライブマイグレーションを実行させた。
VMの処理:IP forwarding
VM1つ当たりのコア割り当て数:1コア
VM1つ当たりのメモリ割り当て量:512MB
VM1つ当たりの処理フロー帯域:100kbps
この結果、RARPの受信間隔移動指示間隔)は約9秒、VM1つ当たりの移動処理時間(移動指示からRARP送出までの時間)は約5秒であった。これより、1つのVMの移動の最終処理のための待ち時間が約4秒発生していることが分かる。

0019

本発明は、このような移動の最終処理のための待ち時間を発生させないようにすることで、複数のVMのライブマイグレーションを行う場合の処理時間を短縮することを目的としている。以降、本発明の実施形態について説明する。

0020

[第1の実施形態]
第1の実施形態に係る仮想マシン管理システムの構成、処理の流れおよび効果を説明する。まず、仮想マシン管理システムに含まれる装置であるVM管理サーバの構成について、図4を用いて説明する。図4は、VM管理サーバの構成の一例を示す図である。

0021

図4に示すように、VM管理サーバ10は、指示部11、検知部12および記憶部13を有する。検知部12は、サーバ上で稼働しているVMのメモリの他のサーバへのコピーが完了したことを検知する。また、指示部11は、サーバに対し、当該サーバ上で稼働しているVMのメモリを他のサーバへコピーすることを指示する。また、記憶部13は、処理に必要な情報を記憶する。記憶部13は、例えば、移動対象となるVMのリストを記憶する。なお、指示部11は、メモリのコピーを行うためのコマンドを設定し、設定したコマンドをサーバに送信することにより指示を行う。

0022

具体的に、サーバ#1上で稼働しているVM#1およびVM#2を、サーバ#2へライブマイグレーションにより移動させる場合、VM管理サーバ10の各部は以下のような処理を行う。まず、指示部11は、サーバ#1上で稼働しているVM#1のメモリをサーバ#2へコピーすることをサーバ#1に指示する。そして、検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが完了したことを検知する。さらに、指示部11は、検知部12によってサーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことが検知された場合、サーバ#1上で稼働しているVM#2のメモリをサーバ#2へコピーすることをサーバ#1に指示する。なお、このとき、VM#2のメモリのコピーとともにVM#1の移動の最終処理が実行される。

0023

例えば、指示部11によってVM#2のサーバ#2へのコピーの指示が行われる時点において、サーバ#1は、VM#1のサーバ#2へのコピーに関する後処理、すなわち移動の最終処理を行っている場合がある。このとき、サーバ#1は、VM#1のサーバ#2へのコピーに関する後処理と、指示部11によって指示されたVM#2のサーバ#2へのコピーと、を同時に実行する。

0024

VM管理サーバ10の各部の処理を、図5のフローチャートを用いて説明する。図5は、VM管理サーバの処理の一例を示すフローチャートである。まず、前提として、記憶部13は、ライブマイグレーションの対象となるVMのリストを記憶しているものとする。このとき、記憶部13は、例えばVM#1およびVM#2を移動対象のVMとして記憶している。

0025

図5に示すように、まず、指示部11は、記憶部13に記憶されている移動対象となるVMのリストを参照し、移動対象のVMを選択する(ステップS101)。このとき、指示部11は、移動対象のVMとしてVM#1を選択したこととする。そして、指示部11は、VM#1の移動実行コマンドをサーバ#1に送信する(ステップS102)。

0026

ここで、検知部12は、VM#1のサーバ#1からサーバ#2へのメモリコピーの完了を検知するまで待機する(ステップS103、No)。そして、検知部12が、VM#1のサーバ#1からサーバ#2へのメモリコピーが完了したことを検知した場合(ステップS103、Yes)、指示部11は、記憶部13を参照し、移動対象のVMのうち未選択のVMがあるか否かを確認する(ステップS104)。

0027

このとき、VM#2が未選択のVMとして残っているため(ステップS104、Yes)、指示部11は、移動対象のVMとしてVM#2を選択する(ステップS101)。そして、VM管理サーバ10は、VM#2についてもVM#1の場合と同様の処理を行い、記憶部13に記憶されている未選択のVMがなくなったところで処理を終了する(ステップS104、No)。

0028

[第1の実施形態の検知方式
本発明の各実施形態においては、検知部12がどのようにしてメモリコピーの完了を検知するかが異なっている。ここで、図6を用いて第1の実施形態における検知方式について説明する。図6は、第1の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。

0029

図6に示すように、第1の実施形態の仮想マシン管理システムには、RARP検知部20が備えられている。RARP検知部20は、サーバ#2と接続され、VMから送信されたRARPパケットを検知する。RARP検知部20は、U−planeネットワーク用スイッチを介してサーバ#2と接続されている。なお、U−planeネットワークはユーザの端末およびサーバ#2が接続されたネットワークである。また、サーバ#2へのメモリコピーが完了したVMは、U−planeネットワークに対してRARPパケットを送出する。なお、RARP検知部20は、サーバ#2において送出されるRARPパケットを受信可能な任意の場所に備えられていればよい。

0030

検知部12は、RARP検知部20によってサーバ#2上のVM#1から送出されたRARPパケットが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。なお、RARP検知部20は、RARPパケットを検知した場合、RARPパケットを検知したことを検知部12に通知する。

0031

[第2の実施形態]
第2の実施形態において、仮想マシン管理システムは、メモリコピーに要する時間をあらかじめ計算しておき、移動実行コマンドによりサーバに対してメモリコピーを指示した後に、計算した時間が経過した場合にメモリコピーが完了したことを検知する。

0032

[第2の実施形態の検知方式]
図7を用いて第2の実施形態における検知方法について説明する。図7は、第2の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。図7に示すように、VM管理サーバ10は、第1の実施形態の構成に加えて、計算部14をさらに有する。計算部14は、移動元のサーバから移動先のサーバへのVMのメモリのコピーにかかる時間を計算する。

0033

計算部14は、サーバ#1からサーバ#2へのVM#1のメモリのコピーにかかる時間を計算する。このとき、検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが開始された後、計算部14によって計算された時間が経過した場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0034

ここで、ライブマイグレーションにおいては、例えばサーバ#2にVM#1のメモリのコピーを行っている最中であっても、サーバ#1においてVM#1は稼働中であり、サーバ#1におけるVM#1のメモリとサーバ#2にコピーされたVM#1のメモリとの間に差分が発生する場合がある。

0035

そこで、サーバ#1は、VM#1のメモリをサーバ#2へコピーした後、VM#1が稼働していることによって発生した差分のメモリをさらにサーバ#2へコピーすることを繰り返すことで差分を埋めていくことができる。そして、最後の差分をコピーする間だけ、サーバ#1におけるVM#1の稼働を停止させることで、停止時間をできるだけ短くしつつ、VM#1のメモリのコピーを正確に行うことが可能となる。

0036

ここで、サーバ#1がVM#1の差分のコピーをk回繰り返す場合の例を、図8を用いて説明する。図8は、第2の実施形態に係る仮想マシン管理システムの動作について説明するための図である。図8においては、k回目のメモリのコピーにかかる時間をtk、最後にVM#1の稼働を停止させる時間をtとしている。図8に示すように、差分のコピーが繰り返されるたびに、コピーにかかる時間は減少していく。

0037

次に、計算部14による、k回目までのメモリコピーにかかるメモリコピー時間Tcおよびサービス断時間Tdの計算方法について説明する。計算部14は、VMのメモリサイズをM、VMのメモリ変化速度をW、メモリコピー帯域をB、メモリ閾値をMtとすると、TcおよびTdを、下記の式(1−1)および式(1−2)を用いて計算する。

0038

例として、VM#1をサーバ#1からサーバ#2に移動する場合であって、M=100[MB]、W=50[Mbps]、B=100[Mbps]、Mt=10[MB]である場合について説明する。この場合、VM#1はメモリサイズが100MBであり、メモリには毎秒50Mbの差分が発生する。また、サーバ#1からサーバ#2へは、100Mbpsの速度でVM#1のメモリがコピーされ、差分のメモリ量が10MB以下となった場合はサービス断時間を設けてVM#1の稼働を停止するものとする。

0039

この場合、kは、k>=log(W/B)Mt/Mを満たす最小の整数であるので、k=4である。これは、4回目のメモリコピーにおいては、コピーするメモリ量がメモリ閾値以下になることを表している。また、計算部14は、式(1−1)および式(1−2)を用いて、Tc=15[s]、Td=0.5[s]であることを計算し、さらに、Tc+Td=15.5[s]であることを計算する。

0040

つまり、この場合、計算部14は、メモリコピーに要する時間が15.5秒であることをあらかじめ計算する。そして、検知部12は、指示部11が移動実行コマンドによりサーバに対してメモリコピーを指示した後に、15.5秒が経過した場合にメモリコピーが完了したことを検知する。

0041

[第3の実施形態]
第3の実施形態において、仮想マシン管理システムは、VMの移動元のサーバとVMの移動先のサーバとの間のメモリコピー用のネットワークにおけるトラヒック監視することによってメモリコピーが完了したことを検知する。

0042

[第3の実施形態の検知方式]
図9を用いて第3の実施形態における検知方式について説明する。図9は、第3の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。図9に示すように、仮想マシン管理システムは、VM管理サーバ10およびトラヒック監視部30を有する。VM監視サーバ10の構成および処理は第1の実施形態と同様である。

0043

トラヒック監視部30は、サーバ#1およびサーバ#2に接続され、VM#1のコピーに用いられるネットワークと接続され、ネットワークを通過するデータ量を監視する。具体的に、トラヒック監視部30は、サーバ#1とサーバ#2との間でVMのメモリのコピーを行うためのネットワークであるメモリコピーネットワークのスイッチに接続されている。そして、トラヒック監視部30は、メモリコピーネットワークのトラヒックを監視する。検知部12は、トラヒック監視部30によってネットワークにトラヒックが流れなくなったことが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0044

これにより、VM管理サーバ10の検知部12は、VM#1のメモリコピーが完了したことを検知する。

0045

[第4の実施形態]
第4の実施形態において、仮想マシン管理システムは、VMの移動先のサーバのメモリ量を監視することによってメモリコピーが完了したことを検知する。

0046

[第4の実施形態の検知方式]
図10を用いて第4の実施形態における検知方式について説明する。図10は、第4の実施形態に係る仮想マシン管理システムの構成の一例を示す図である。図10に示すように、仮想マシン管理システムは、VM管理サーバ10およびメモリ量監視部40を有する。VM監視サーバ10の構成および処理は第1の実施形態と同様である。

0047

メモリ量監視部40は、サーバ#2に備えられ、サーバ#2のメモリの増加量を監視する。このとき、検知部12は、メモリ量監視部40によってサーバ#2のメモリ量が増加しなくなったことが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0048

これにより、VM管理サーバ10の検知部12は、VM#1のメモリコピーが完了したことを検知する。

0049

[実施形態の効果]
第1〜第4の実施形態において、検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが完了したことを検知する。また、指示部11は、検知部12によってサーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことが検知された場合、サーバ#1上で稼働しているVM#2のメモリをサーバ#2へコピーすることをサーバ#1に指示する。

0050

なお、指示部11によってVM#2のサーバ#2へのコピーの指示が行われる時点において、サーバ#1は、VM#1のサーバ#2へのコピーに関する後処理を行っている場合がある。このとき、サーバ#1は、VM#1のサーバ#2へのコピーに関する後処理と、指示部11によって指示されたVM#2のサーバ#2へのコピーと、を同時に実行してもよい。

0051

これにより、図11に示すように、VM管理サーバ10は、VM#1のメモリコピーが完了した後、VM#1の移動の最終処理の完了を待つことなくVM#2の移動指示を出すことができるため、複数のVMのライブマイグレーションを行う場合の処理時間を短縮することができる。図11は、実施形態の仮想マシン管理システムによるライブマイグレーションに要する時間について説明するための図である。

0052

また、第1の実施形態において、RARP検知部20は、サーバ#2と接続され、VMから送信されたRARPパケットを検知する。このとき、検知部12は、RARP検知部20によってサーバ#2上のVM#1から送出されたRARPパケットが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0053

このように、ライブマイグレーションでは従来から用いられているRARPパケットを利用することで、特別な処理を追加することなくメモリコピーの完了を検知することが可能となる。

0054

また、第2の実施形態において、計算部14は、サーバ#1からサーバ#2へのVM#1のメモリのコピーにかかる時間を計算する。このとき、検知部12は、サーバ#1上で稼働しているVM#1のメモリのサーバ#2へのコピーが開始された後、計算部14によって計算された時間が経過した場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。また、サーバ#1は、VM#1のメモリをサーバ#2へコピーした後、VM#1が稼働していることによって発生した差分のメモリをさらにサーバ#2へコピーすることをk回繰り返す。このとき、計算部14は、式(1−1)で計算されるTc、および式(1−2)で計算されるTdを合計した時間を、サーバ#1からサーバ#2へのVM#1のメモリのコピーにかかる時間として計算する。

0055

このように、ライブマイグレーションの開始前にメモリコピーが完了するまでの時間を事前に計算しておくことで、ライブマイグレーション中にサーバ等に余分な負荷を与えることなくメモリコピーの完了を検知することが可能となる。

0056

また、第3の実施形態において、トラヒック監視部30は、サーバ#1およびサーバ#2に接続され、VM#1のコピーに用いられるネットワークと接続され、ネットワークを通過するトラヒックを監視する。このとき、検知部12は、トラヒック監視部30によってネットワークにトラヒックが流れなくなったことが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0057

また、第4の実施形態において、メモリ量監視部40は、サーバ#2に備えられ、サーバ#2のメモリの増加量を監視する。このとき、検知部12は、メモリ量監視部40によってサーバ#2のメモリ量が増加しなくなったことが検知された場合に、サーバ#1からサーバ#2へのVM#1のメモリのコピーが完了したことを検知する。

0058

このように、サーバ#1とサーバ#2との間のトラヒック、もしくはサーバ#2のメモリの増加量を監視することで、ライブマイグレーションの際に確実にメモリコピーの完了を検知することが可能となる。

0059

システム構成等]
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、CPU(Central Processing Unit)および当該CPUにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。

0060

また、本実施形態において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともでき、あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順制御手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。

0061

[プログラム]
一実施形態として、VM管理サーバは、パッケージソフトウェアオンラインソフトウェアとして上記のVM管理を実行するVM管理プログラムを所望のコンピュータにインストールさせることによって実装できる。例えば、上記のVM管理プログラムを情報処理装置に実行させることにより、情報処理装置をVM管理サーバとして機能させることができる。ここで言う情報処理装置には、デスクトップ型またはノート型パーソナルコンピュータが含まれる。また、その他にも、情報処理装置にはスマートフォン携帯電話機やPHS(Personal Handyphone System)等の移動体通信端末、さらには、PDA(Personal Digital Assistant)等のスレート端末等がその範疇に含まれる。

0062

また、VM管理サーバは、ユーザが使用する端末装置クライアントとし、当該クライアントに上記のVM管理に関するサービスを提供するサーバ装置として実装することもできる。例えば、VM管理サーバは、移動元サーバ、移動先のサーバおよび移動対象のVMに関する情報を入力とし、ライブマイグレーションの実行結果を出力とするVM管理サービスを提供するサーバ装置として実装される。この場合、VM管理サーバは、Webサーバとして実装することとしてもよいし、アウトソーシングによって上記のVM管理に関するサービスを提供するクラウドとして実装することとしてもかまわない。

0063

図12は、プログラムが実行されることにより、VM管理サーバが実現されるコンピュータの一例を示す図である。コンピュータ1000は、例えば、メモリ1010、CPU1020を有する。また、コンピュータ1000は、ハードディスクドライブインタフェース1030、ディスクドライブインタフェース1040、シリアルポートインタフェース1050、ビデオアダプタ1060、ネットワークインタフェース1070を有する。これらの各部は、バス1080によって接続される。

0064

メモリ1010は、ROM(Read Only Memory)1011およびRAM(Random Access Memory)1012を含む。ROM1011は、例えば、BIOS(Basic Input Output System)等のブートプログラムを記憶する。ハードディスクドライブインタフェース1030は、ハードディスクドライブ1090に接続される。ディスクドライブインタフェース1040は、ディスクドライブ1100に接続される。例えば磁気ディスク光ディスク等の着脱可能な記憶媒体が、ディスクドライブ1100に挿入される。シリアルポートインタフェース1050は、例えばマウス1110、キーボード1120に接続される。ビデオアダプタ1060は、例えばディスプレイ1130に接続される。

0065

ハードディスクドライブ1090は、例えば、OS1091、アプリケーションプログラム1092、プログラムモジュール1093、プログラムデータ1094を記憶する。すなわち、VM管理サーバの各処理を規定するプログラムは、コンピュータにより実行可能なコードが記述されたプログラムモジュール1093として実装される。プログラムモジュール1093は、例えばハードディスクドライブ1090に記憶される。例えば、VM管理サーバにおける機能構成と同様の処理を実行するためのプログラムモジュール1093が、ハードディスクドライブ1090に記憶される。なお、ハードディスクドライブ1090は、SSD(Solid State Drive)により代替されてもよい。

0066

また、上述した実施形態の処理で用いられる設定データは、プログラムデータ1094として、例えばメモリ1010やハードディスクドライブ1090に記憶される。そして、CPU1020が、メモリ1010やハードディスクドライブ1090に記憶されたプログラムモジュール1093やプログラムデータ1094を必要に応じてRAM1012に読み出して実行する。

0067

なお、プログラムモジュール1093やプログラムデータ1094は、ハードディスクドライブ1090に記憶される場合に限らず、例えば着脱可能な記憶媒体に記憶され、ディスクドライブ1100等を介してCPU1020によって読み出されてもよい。あるいは、プログラムモジュール1093およびプログラムデータ1094は、ネットワーク(LAN(Local Area Network)、WAN(Wide Area Network)等)を介して接続された他のコンピュータに記憶されてもよい。そして、プログラムモジュール1093およびプログラムデータ1094は、他のコンピュータから、ネットワークインタフェース1070を介してCPU1020によって読み出されてもよい。

0068

10 VM管理サーバ
11指示部
12 検知部
13 記憶部
20 RARP検知部
30トラヒック監視部
40メモリ量監視部

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • 三菱電機株式会社の「 情報処理装置および情報処理方法」が 公開されました。( 2019/08/08)

    【課題・解決手段】情報処理装置(1)は、外部装置から時系列なデータが入力されるデータ入力部(11)と、指定された時間内に処理を行うリアルタイムオペレーティングシステム上で、データ入力部(11)から取得... 詳細

  • 三菱電機株式会社の「 情報処理装置」が 公開されました。( 2019/08/08)

    【課題・解決手段】情報処理装置(1)は、指定された時間内に処理を行うリアルタイムオペレーティングシステム上でデータを処理する第1処理部(11)と、非リアルタイムオペレーティングシステム上でデータを処理... 詳細

  • 株式会社Cygamesの「 通信を行うためのシステム、プログラム、方法及びサーバ」が 公開されました。( 2019/07/25)

    【課題】より簡易に、同時に起動する複数のアプリケーション間で通信することが可能なシステムを提供する。【解決手段】本発明は、携帯端末装置において動作している複数のアプリケーション間における通信を行うため... 詳細

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ