(57)【要約】本発明は、複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行うことを特徴とする仮想マシンのマイグレーション方法である。
2013191021.tif 000002
【特許請求の範囲】
【請求項１】
複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う
ことを特徴とする仮想マシンのマイグレーション方法。
【請求項２】
前記ネットワークの切り替えを行う際に、ネットワークの集中制御を使う
ことを特徴とする請求項１に記載の仮想マシンのマイグレーション方法。
【請求項３】
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する
ことを特徴とする請求項１又は請求項２に記載の仮想マシンのマイグレーション方法。
【請求項４】
複数の仮想マシンからなる単一のシステムのマイグレーションを行うマイグレーション装置であって、
前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う
ことを特徴とするマイグレーション装置。
【請求項５】
前記ネットワークの切り替えを行う際に、ネットワークを集中制御するネットワーク制御部を備える
ことを特徴とする請求項４に記載のマイグレーション装置。
【請求項６】
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する
ことを特徴とする請求項５又は請求項６に記載のマイグレーション装置。
【請求項７】
コンピュータに、
複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う処理
を実行させることを特徴とするプログラム。
【請求項８】
前記コンピュータに、
前記ネットワークの切り替えを行う際に、ネットワークの集中制御を使う処理を実行させることを特徴とする請求項７に記載のプログラム。
【請求項９】
前記コンピュータに、
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する処理
を実行させることを特徴とする請求項７又は請求項８に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシンのマイグレーション方法、マイグレーション装置及びプログラムに関する。
【背景技術】
【０００２】
仮想マシン（Virtual Machine：VM）の技術が実用化されている。仮想マシン技術を使うと、物理的なマシンの中に複数の仮想マシンを持つことができる。クラウドシステムでは、仮想マシンベースでユーザにリソース提供を行う。仮想マシンはマイグレーションをすることができる。マイグレーションとは、仮想マシンが動作している物理的なマシンを移動することである。その際に、仮想マシンの動作を停止することなく行うのがライブマイグレーションと呼ばれる。マイグレーションを行う理由は様々である。例えば仮想マシンの配置を変更することによりネットワークトラフィックの最適化を狙う。広域で配置されたデータセンター間でマイグレーションすることにより、顧客に近いデータセンターに仮想マシンをマイグレーションする。【０００３】
クラウドシステムでは、複数の顧客が同じクラウドシステムを利用する。このような利用形態をマルチテナントと言う。顧客ごとのシステムをテナントと言う。テナントは一つもしくは複数の仮想マシンからなるシステムである。例えばＷｅｂ３層システムは、Ｗｅｂサーバ、アプリケーションサーバ、データベースサーバの３つの仮想マシンからなる。さらに各サーバを複数用意して、トータルの処理性能を向上させることができる。【０００４】
例えば、特許文献１には、一の物理サーバ上で動作していたサービスを別の物理サーバ上へ移行する技術が開示されれている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−１８６７７５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本発明ではテナントのマイグレーションにおける課題をとりあげる。テナントは複数の仮想マシンの集合であるとする。すると、個々の仮想マシンが個別にマイグレーションを実施することになる。個別の仮想マシンのマイグレーションが失敗した場合、すでにマイグレーションした仮想マシンを巻き戻す必要が出てくる。また、マイグレーションが終わった仮想マシンからは、通信先がマイグレーション先になるので、マイグレーション先と元でネットワークが分かれた状態になる。広域マイグレーションの場合、レイテンシが長くなるため、性能が著しく落ちる可能性がある。【０００７】
本発明は、上記問題点に鑑みてなされたもので、複数の仮想マシンの集合からなるテナントをマイグレーションする場合において通信の遅延時間の悪化を防止することができる仮想マシンのマイグレーション方法、マイグレーション装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明は、複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行うことを特徴とする仮想マシンのマイグレーション方法である。【０００９】
本発明は、複数の仮想マシンからなる単一のシステムのマイグレーションを行うマイグレーション装置であって、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行うことを特徴とするマイグレーション装置である。【００１０】
本発明は、コンピュータに、複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う処理
を実行させることを特徴とするマイグレーション装置である。
【発明の効果】
【００１１】
本発明によれば、複数の仮想マシンの集合からなるテナントをマイグレーションする場合において通信の遅延時間の悪化を防止することができる。
【図面の簡単な説明】
【００１２】
【図１】図１は本発明のシステム構成を示す図である。
【図２】図２は本発明のテナントと仮想マシンの対応を示す図である。
【図３】図３は本発明のマイグレーション処理のフローを示す図である。
【図４】図４は本発明のテナントマイグレーションの概念図である。
【図５】図５は本発明のマイグレーションの状態を示す図である。
【図６】図６は本発明のマイグレーションの状態を示す図である。
【図７】図７は従来のマイグレーションの状態を示す図である。
【図８】図８は本発明のマイグレーションの状態を示す図である。
【発明を実施するための形態】
【００１３】
以下、本発明の実施形態について図面を参照して説明する。
【００１４】
図１は本発明の実施形態のシステム構成を示す図である。マイグレーション管理装置は、システム管理部１、ＶＭ制御部２、ＶＭマイグレーション管理部３、ネットワーク制御管理部４、ネットワークコントローラ６を備える。マイグレーション管理装置は、ネットワークを介して、仮想マシン群５を備える物理サーバやネットワーク装置８に接続されている。システム管理部１は、本システム全体を管理する。ＶＭマイグレーション管理部３は、仮想マシンのマイグレーションを管理する。ＶＭ制御部２は、仮想マシン群５を制御する。仮想マシン群５は、仮想マシン７の集合である。ネットワーク管理制御部４は、ネットワークを制御する。ネットワーク管理制御部４は、システム管理部１とＶＭ制御部２との連携を行う。ネットワーク管理制御部４は、ネットワークコントローラ６を介して、ネットワーク装置８の制御を行う。
【００１５】
図２はテナント９と仮想マシンの対応関係を示している。テナント９のシステムは、複数の仮想マシン７からなる。テナント９は仮想マシン群５に属する。テナント９はシステム管理部１によって管理されている。システム管理部１は、各テナントにそれぞれ対応する仮想マシンの情報を図示せぬ記憶部に記憶し管理する。通常の場合、ＶＭ制御部２はテナント９を意識することなく制御を行う。
【００１６】
本発明におけるテナント９のマイグレーションのフローを図３に示す。まずテナントマイグレーションを起動する（Ｓ１）。次に仮想マシンのマイグレーションを起動する（Ｓ２）。ここで、処理対象が複数の仮想マシンである場合には、並列に起動できればトータルのマイグレーション時間の短縮につながる。本発明では、並列でもよく直列でもよい。Ｓ３で、全仮想マシンのマイグレーションが正常に終了したかを判定する。正常に終了すれば、ネットワークをアトミックに切り替えて、テナントマイグレーションを終了する（Ｓ４）。仮想マシンのマイグレーションが一つでも失敗した場合には、ネットワークは切り替えず、マイグレーション先をクリーンアップ（すでにマイグレーション先にコピーした内容を削除）して、テナントマイグレーションは失敗として終了する（Ｓ５）。
【００１７】
本発明では、全仮想マシンのマイグレーションが終了したかを判定してから、ネットワーク切り替えを行っている点が特徴である。従来の方法では、マイグレーションが終了した仮想マシンから順次ネットワーク切り替えを行っている。そのため、一つでもマイグレーションが失敗した場合のフローが異なってくる。マイグレーションに失敗したので、テナントのマイグレーションとしては不完全な状況になっており、テナントマイグレーション全体を切り戻す必要が出てくる。すると、すでにネットワーク切り替えを行ってしまっている仮想マシンを、再度マイグレーションを行って、戻すことになる。これは運用上、手間のかかる作業であるし、新たなマイグレーションを行うということになると、それが失敗した場合も検討しなければならない。かといって、切り戻しを行わないとすると、半端な状態のまま運用を継続することになる。特にデータセンター間でマイグレーションをしている場合、テナント間の通信がデータセンターをまたぐという効率の悪い状態となってしまう。本発明によれば、マイグレーションが失敗した場合でも切り戻す必要がなく、運用が簡単になる。
【００１８】
テナントのマイグレーション処理について、図を用いて詳しく説明する。図４はテナントのマイグレーションをデータセンター間で行う場合の概念図である。テナントには例えば複数の仮想マシンが含まれており、これをテナントという固まりとしてマイグレーションしたい、というのがテナントマイグレーションで実現したいことである。
【００１９】
通常のマイグレーションでは、仮想マシンのイメージのマイグレーション先へのコピーが終了したら、順次マイグレーション先の仮想マシンに切り替えが行われる。つまり、仮想マシンに対するネットワーク通信が、マイグレーション先に行くようになる。具体的には、ＡＲＰ（Address Resolution Protocol）パケットを送信し、ネットワーク装置のＡＲＰテーブルを書き換えることで、マイグレーション元からマイグレーション先に宛先を変えることがよく行われる。しかし、この切り替えをマイグレーションが終了した仮想マシンから順次行うと、テナント内部の通信がマイグレーション元とマイグレーション先で分断されてしまい、遅延時間が増大する。この状態を防止するために、ネットワークのアトミックな切り替えを行うのが本発明の特徴である。
【００２０】
具体的には、同一テナントに含まれる全ての仮想マシンのマイグレーションが終了するまで、マイグレーション元にパケットが届くようにネットワーク制御を行う。あるテナントについてマイグレーションが起動されると、ＶＭマイグレーション管理部３が、処理対象のテナントに対応する仮想マシンについてマイグレーションの進捗管理を行い、全ての仮想マシンのマイグレーションが完了するまでは、ネットワーク管理制御部４に変更指示をしない。一般に、マイグレーションが完了した仮想マシンは、自動的にＡＲＰパケットを送信するが、本発明の仮想マシン７は、自動的なＡＲＰパケット送信はせず、ネットワーク管理制御部４により制御を行う。このようなネットワーク管理制御部４の具体的な実現手段として、例えばネットワーク制御技術OpenFlowが利用できる。OpenFlowを利用すれば、ネットワーク管理制御部４が集中的にネットワークフローを管理・制御することができる。
【００２１】
ＶＭマイグレーション管理部３は、あるテナントに対応する全ての仮想マシンのマイグレーションが完了したことを検出すると、ネットワーク管理制御部４に指示を出し、ネットワーク管理制御部４は、パケットがマイグレーション先に届くようにフロー設定（ＭＡＣアドレス、ＩＰアドレス、ポート番号等の情報に基づき、どの宛先に送るかという設定情報）を変更する。これにより、全てのマイグレーションが完了してから、アトミックにテナントのネットワークを切り替えることができる。
【００２２】
具体的に図を用いて説明する。図５はマイグレーション前の状態を示している。テナントがあるデータセンターＡに属しており、テナントの仮想マシンは全てデータセンターＡの物理サーバに配置されている。データセンター外からの通信はネットワークによりデータセンターＡにのみ転送される。テナント内部の通信は、データセンターＡの内部で閉じる。
【００２３】
テナントマイグレーションを開始した状態が図６である。ここでは複数の仮想マシンで並列にマイグレーションが行われているとする。マイグレーション先は他のデータセンターＢである。
【００２４】
従来の方法で、一つ目の仮想マシンでマイグレーションが完了した状態が図７である。マイグレーションが完了した仮想マシンはネットワークが切り替わるので、外部からの通信がデータセンターＡとデータセンターＢで分岐する。テナント内部の通信もデータセンターをまたがる通信が発生する。
【００２５】
全ての仮想マシンのマイグレーションが終了した状態が図８である。この状態になると、全ての仮想マシンがデータセンターＢに配置されているため、通信がデータセンターをまたぐことや、分岐することがなくなる。
【００２６】
本発明では、図７の状態が発生しない。図６の状態から、全ての仮想マシンでマイグレーションが終了した時点で、アトミックに図８の状態に遷移する。これにより、データセンターをまたいだ通信が発生しない。
【００２７】
以上説明したように本発明によれば、複数の仮想マシンのマイグレーションを行い、全ての仮想マシンのマイグレーションが終了した段階で、同期してアトミックに切り替えを行う。そのためにネットワークレイヤでの制御を連動させる。これにより、仮想マシン環境において、複数の仮想マシンからなるテナントのマイグレーションをアトミックに行うことができ、マイグレーション中の遅延悪化や、マイグレーション失敗による巻き戻し処理を防止することができる。
【００２８】
上述した本発明の実施形態に係るマイグレーション管理装置は、ＣＰＵ（Central Processing Unit）が記憶部に格納された動作プログラム等を読み出して実行することにより実現されてもよく、また、ハードウェアで構成されてもよい。上述した実施の形態の一部の機能のみをコンピュータプログラムにより実現することもできる。
【００２９】
上記の実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００３０】
（付記１）
複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う
ことを特徴とする仮想マシンのマイグレーション方法。
【００３１】
（付記２）
前記ネットワークの切り替えを行う際に、ネットワークの集中制御を使う
ことを特徴とする付記１に記載の仮想マシンのマイグレーション方法。
【００３２】
（付記３）
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する
ことを特徴とする付記１又は付記２に記載の仮想マシンのマイグレーション方法。
【００３３】
（付記４）
複数の仮想マシンからなる単一のシステムのマイグレーションを行うマイグレーション装置であって、
前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う
ことを特徴とするマイグレーション装置。
【００３４】
（付記５）
前記ネットワークの切り替えを行う際に、ネットワークを集中制御するネットワーク制御部を備える
ことを特徴とする付記４に記載のマイグレーション装置。
【００３５】
（付記６）
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する
ことを特徴とする付記５又は付記６に記載のマイグレーション装置。
【００３６】
（付記７）
コンピュータに、
複数の仮想マシンからなる単一のシステムのマイグレーションにおいて、前記システムに属する全ての仮想マシンのマイグレーションが終了したことを確認してからネットワークの切り替えを行う処理
を実行させることを特徴とするプログラム。
【００３７】
（付記８）
前記コンピュータに、
前記ネットワークの切り替えを行う際に、ネットワークの集中制御を使う処理を実行させることを特徴とする付記７に記載のプログラム。
【００３８】
（付記９）
前記コンピュータに、
前記システムに属する少なくとも一つの仮想マシンのマイグレーションが失敗した場合に、前記ネットワークの切り替えを行わず、すでにマイグレーション先にコピーしたデータを削除し、マイグレーションをエラーで終了する処理
を実行させることを特徴とする付記７又は付記８に記載のプログラム。
【００３９】
以上、好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも上記実施の形態に限定されるものではなく、その技術的思想の範囲内において様々に変形し実施することが出来る。
この出願は、２０１２年６月２２日に出願された日本出願特願２０１２−１４０６８７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００４０】
１  システム管理部
２  ＶＭ制御部
３  ＶＭマイグレーション管理部
４  ネットワーク制御部
５  仮想マシン群
６  ネットワークコントローラ
７  仮想マシン
８  ネットワーク装置
９  テナント
【図１】
2013191021.tif 000003
【図２】
2013191021.tif 000004
【図３】
2013191021.tif 000005
【図４】
2013191021.tif 000006
【図５】
2013191021.tif 000007
【図６】
2013191021.tif 000008
【図７】
2013191021.tif 000009
【図８】
2013191021.tif 000010
【国際調査報告】
2013191021.tif 000011
2013191021.tif 000012
2013191021.tif 000013
2013191021.tif 000014