(57)【要約】【課題】予備のＶＭの稼働による物理マシンの資源量の不足を防ぐこと。【解決手段】停止指示部６３ｂが、ＳＢＹの移動の前に、ＳＢＹに対応するＡＣＴが動作するハイパーバイザにデータ同期情報のパケットの送信停止の指示を送信する。そして、移動指示部６３ｃが、ＶＭの移動指示を移動元及び移動先のハイパーバイザに送信する。そして、再開指示部６３ｄが、ＳＢＹの移動先のハイパーバイザから経路変更情報をＡＲＰパケットで受け取ると、ＳＢＹに対応するＡＣＴが動作するハイパーバイザにデータ同期情報のパケットの送信再開の指示を送信する。【選択図】図５
2018077594.tif 000002
【特許請求の範囲】
【請求項１】
現用系仮想マシンが予備系仮想マシンに対して系の切替に必要となるデータ同期情報を送信するシステムにおける仮想マシン管理装置であって、
移動対象の予備系仮想マシンに対応する現用系仮想マシンのハイパーバイザに対して、データ同期情報の前記予備系仮想マシンへの送信の停止を指示する送信停止情報を送信する停止指示部と、
前記予備系仮想マシンの移動元と移動先それぞれのハイパーバイザに移動を指示する移動指示情報を送信する移動指示部と、
前記移動先のハイパーバイザから前記予備系仮想マシンへの通信経路切替情報を受信すると、前記現用系仮想マシンのハイパーバイザに対して、前記データ同期情報の前記予備系仮想マシンへの送信の再開を指示する送信再開情報を送信する再開指示部と
を有することを特徴とする仮想マシン管理装置。
【請求項２】
前記停止指示部は、仮想マシンの移動を管理する移動管理情報を前記送信停止情報に含めて送信し、
前記現用系仮想マシンのハイパーバイザは、前記移動管理情報に基づいて前記現用系仮想マシンを特定し、特定した前記現用系仮想マシンが前記予備系仮想マシンへ送信する前記データ同期情報の送信を停止し、
前記再開指示部は、前記移動管理情報を前記送信再開情報に含めて送信し、
前記現用系仮想マシンのハイパーバイザは、前記移動管理情報に基づいて前記現用系仮想マシンを特定し、特定した前記現用系仮想マシンが前記予備系仮想マシンへ送信する前記データ同期情報の送信を再開することを特徴とする請求項１に記載の仮想マシン管理装置。
【請求項３】
前記停止指示部は、前記送信停止情報をＡＲＰパケットを用いて送信し、前記再開指示部は、前記送信再開情報をＡＲＰパケットを用いて送信することを特徴とする請求項１又は２に記載の仮想マシン管理装置。
【請求項４】
現用系仮想マシンと前記現用系仮想マシンが系の切替に必要となるデータ同期情報を送信する先の予備系仮想マシンを含めて仮想マシンの運用を管理する仮想マシン管理装置と、前記現用系仮想マシンが動作する第１情報処理装置と、前記予備系仮想マシンの移動元である第２情報処理装置と、前記予備系仮想マシンの移動先である第３情報処理装置とを有するシステムであって、
前記仮想マシン管理装置は、
前記第１情報処理装置のハイパーバイザに対して、データ同期情報の前記予備系仮想マシンへの送信の停止を指示する送信停止情報を送信する停止指示部と、
前記第２情報処理装置と前記第３情報処理装置それぞれのハイパーバイザに前記予備系仮想マシンの移動を指示する移動指示情報を送信する移動指示部と、
前記第３情報処理装置のハイパーバイザから前記予備系仮想マシンへの通信経路切替情報を受信すると、前記第１情報処理装置のハイパーバイザに対して、前記データ同期情報の前記予備系仮想マシンへの送信の再開を指示する送信再開情報を送信する再開指示部と
を有することを特徴とするシステム。
【請求項５】
現用系仮想マシンが予備系仮想マシンに対して系の切替に必要となるデータ同期情報を送信するシステムにおける仮想マシン管理装置による仮想マシン移動方法であって、
移動対象の予備系仮想マシンに対応する現用系仮想マシンのハイパーバイザに対して、データ同期情報の前記予備系仮想マシンへの送信の停止を指示する送信停止情報を送信し、
前記予備系仮想マシンの移動元と移動先それぞれのハイパーバイザに移動を指示する移動指示情報を送信し、
前記移動先のハイパーバイザから前記予備系仮想マシンへの通信経路切替情報を受信すると、前記現用系仮想マシンのハイパーバイザに対して、前記データ同期情報の前記予備系仮想マシンへの送信の再開を指示する送信再開情報を送信する
ことを特徴とする仮想マシン移動方法。
【請求項６】
現用系仮想マシンが予備系仮想マシンに対して系の切替に必要となるデータ同期情報を送信するシステムにおける仮想マシン管理装置で実行されるプログラムであって、
移動対象の予備系仮想マシンに対応する現用系仮想マシンのハイパーバイザに対して、データ同期情報の前記予備系仮想マシンへの送信の停止を指示する送信停止情報を送信し、
前記予備系仮想マシンの移動元と移動先それぞれのハイパーバイザに移動を指示する移動指示情報を送信し、
前記移動先のハイパーバイザから前記予備系仮想マシンへの通信経路切替情報を受信すると、前記現用系仮想マシンのハイパーバイザに対して、前記データ同期情報の前記予備系仮想マシンへの送信の再開を指示する送信再開情報を送信する
処理を前記仮想マシン管理装置に実行させることを特徴とするプログラム。
【請求項７】
現用系仮想マシンが予備系仮想マシンに対して系の切替に必要となるデータ同期情報を送信するシステムであって、
移動対象の予備系仮想マシンの移動元と移動先それぞれのハイパーバイザに移動を指示する移動指示情報を送信する第１情報処理装置と、
前記予備系仮想マシンが対応する現用系仮想マシンに対してデータ同期情報の送信の停止を指示する送信停止情報を前記現用系仮想マシンのハイパーバイザへ送信する第２情報処理装置と、
前記予備系仮想マシンの自装置への移動が完了すると、前記予備系仮想マシンが対応する現用系仮想マシンに対してデータ同期情報の送信の再開を指示する送信再開情報を前記現用系仮想マシンのハイパーバイザへ送信する第３情報処理装置と、
を有することを特徴とするシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理装置、システム、仮想マシン移動方法及びプログラムに関する。
【背景技術】
【０００２】
従来、稼働中の仮想マシン（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）に対応させて予備のＶＭを待機させておき、稼動中のＶＭに障害が発生すると、予備のＶＭが稼動して処理を引き継ぐことにより、サービスの停止を防ぐ技術がある。
【０００３】
なお、イメージファイルの状態に変更があると、主系仮想マシンが、イメージファイルの差分データと差分データを識別するための差分情報とを待機系仮想マシンに送信して同期することで、無駄にリソースを消費することなく高信頼性を確保する技術がある。
【０００４】
また、仮想マシンと仮想マシンモニタとを備える現用系ホストと、ネットワークを介して現用系ホストに接続された予備系ホストとを備える計算機システム用のネットワークインタフェースに関する技術がある。この技術では、ネットワークインタフェースは、仮想マシンからネットワークに送信するパケットを受信するパケット取得手段と、パケットをネットワークに送信する送信タイミングを仮想マシンモニタから受信するパケット管理手段とを備える。このインタフェースは、計算機に障害が発生した場合でも計算を継続することを可能とする。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１３−１８６６９２号公報
【特許文献２】特開２０１０−１６０６６０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、稼動中のＶＭに障害が発生すると予備のＶＭが稼動して処理を引き継ぐ技術には、予備のＶＭが稼働すると要求する資源量が多くなるため、予備のＶＭが稼働する物理マシンの資源量が不足するという問題がある。例えば、物理マシン上に３台の予備のＶＭが動作し、３台の予備のＶＭのうち１台が稼働すると、稼動中のＶＭと予備の２台のＶＭとが要求する資源量の合計が、物理マシンの資源量を超えてしまう場合がある。
【０００７】
本発明は、１つの側面では、予備のＶＭの稼働による物理マシンの資源量の不足を防ぐことを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、仮想マシン管理装置は、現用系仮想マシンが予備系仮想マシンに対して系の切替に必要となるデータ同期情報を送信するシステムにおける装置であり、停止指示部と移動指示部と再開指示部とを有する。停止指示部は、移動対象の予備系仮想マシンに対応する現用系仮想マシンのハイパーバイザに対して、データ同期情報の予備系仮想マシンへの送信の停止を指示する送信停止情報を送信する。移動指示部は、予備系仮想マシンの移動元と移動先それぞれのハイパーバイザに移動を指示する移動指示情報を送信する。再開指示部は、移動先のハイパーバイザから予備系仮想マシンへの通信経路切替情報を受信すると、現用系仮想マシンのハイパーバイザに対して、データ同期情報の予備系仮想マシンへの送信の再開を指示する送信再開情報を送信する。
【発明の効果】
【０００９】
１つの側面では、本発明は、予備のＶＭの稼働による物理マシンの資源量の不足を防ぐことができる。
【図面の簡単な説明】
【００１０】
【図１】図１は、実施例に係る情報処理システムの構成を示す図である。
【図２Ａ】図２Ａは、ＳＢＹの移動とパケットロスを説明するための第１の図である。
【図２Ｂ】図２Ｂは、ＳＢＹの移動とパケットロスを説明するための第２の図である。
【図３】図３は、パケットロスが発生するタイミングを示す図である。
【図４】図４は、パケットロスを防ぐ方法を説明するための図である。
【図５】図５は、仮想マシン運用管理ソフトウェアの機能構成を示す図である。
【図６】図６は、移動管理テーブルの一例を示す図である。
【図７】図７は、ＡＲＰパケットフォーマットを示す図である。
【図８】図８は、ハイパーバイザの機能構成を示す図である。
【図９】図９は、情報処理システムによるＶＭ移動を示すシーケンス図である。
【図１０】図１０は、仮想マシン運用管理ソフトウェアの処理のフローを示すフローチャートである。
【図１１】図１１は、移動元のハイパーバイザの処理のフローを示すフローチャートである。
【図１２】図１２は、移動先のハイパーバイザの処理のフローを示すフローチャートである。
【図１３】図１３は、ＳＢＹからのパケット送信停止指示を説明するための図である。
【図１４】図１４は、仮想マシン運用管理ソフトウェアを実行するコンピュータのハードウェア構成を示す図である。
【発明を実施するための形態】
【００１１】
以下に、本願の開示する仮想マシン管理装置、システム、仮想マシン移動方法及びプログラムの実施例を図面に基づいて詳細に説明する。なお、この実施例は開示の技術を限定するものではない。
【実施例】
【００１２】
まず、実施例に係る情報処理システムの構成について説明する。図１は、実施例に係る情報処理システムの構成を示す図である。図１に示すように、実施例に係る情報処理システム１は、物理サーバ＃１〜＃６で表される６台の物理サーバ２とＬ２スイッチ３を有する。６台の物理サーバ２は、Ｌ２スイッチ３を介してネットワークで接続される。なお、ここでは説明の便宜上、６台の物理サーバ２を示したが、情報処理システム１はより多数あるいはより少数の物理サーバ２を有してよい。
【００１３】
物理サーバ＃１ではＶＭ＿Ａで表されるＶＭ４とハイパーバイザ５が動作する。ＶＭ４は、仮想的な計算機である。ハイパーバイザ５は、物理サーバ２の資源（リソース）を管理し、ＶＭ４への資源割り当て等を行う。「ＡＣＴ」は、稼働中（active）のＶＭ４を表す。物理サーバ＃２ではＶＭ＿Ｂで表されるＶＭ４とハイパーバイザ５が動作する。物理サーバ＃３ではＶＭ＿Ｃで表されるＶＭ４とハイパーバイザ５が動作する。ここで、例えばＶＭ＿Ａ、ＶＭ＿Ｂ、ＶＭ＿ＣはそれぞれアプリケーションＡ、アプリケーションＢ、アプリケーションＣを実行可能な、または実行している仮想マシンを示す。
【００１４】
物理サーバ＃４ではＶＭ＿Ａ、ＶＭ＿Ｂ、ＶＭ＿Ｃで表されるＶＭ４とハイパーバイザ５が動作する。ただし、物理サーバ＃４で動作するＶＭ＿Ａ、ＶＭ＿Ｂ、ＶＭ＿Ｃは、予備のＶＭ４である。「ＳＢＹ」は予備（standby）のＶＭ４を表す。物理サーバ＃５ではハイパーバイザ５が動作する。ここで、例えばＶＭ＿ＡにおけるＡＣＴとＳＢＹとは、同じアプリケーションＡが提供するサービスの稼働中の系と、予備（待機）系という関係になる。
【００１５】
物理サーバ＃６ではハイパーバイザ５と仮想マシン運用管理ソフトウェア６が動作する。仮想マシン運用管理ソフトウェア６は、仮想マシンの運用を管理する。仮想マシン運用管理ソフトウェア６が動作する物理サーバ＃６は、仮想マシン運用管理装置として機能する。
【００１６】
次に、ＳＢＹの移動とパケットロスについて説明する。図２Ａ及び図２Ｂは、ＳＢＹの移動とパケットロスを説明するための図である。図２Ａ（ａ）は通常時を示し、図２Ａ（ｂ）はＶＭ＿Ａ（ＡＣＴ）に障害が発生した時を示し、図２Ｂ（ｃ）はＶＭ＿Ｂ（ＳＢＹ）とＶＭ＿Ｃ（ＳＢＹ）を物理サーバ＃５に移動する時を示し、図２Ｂ（ｄ）はＶＭ＿Ｂ（ＳＢＹ）とＶＭ＿Ｃ（ＳＢＹ）を物理サーバ＃５に移動した直後を示す。
【００１７】
図２Ａ（ａ）に示すように、通常時は、ＶＭ＿Ａ、ＶＭ＿Ｂ、ＶＭ＿ＣがそれぞれＡＣＴとＳＢＹの間でデータ同期をとっている。ここで、データ同期とは、ＡＣＴで更新されたデータをＳＢＹに反映させることである。データ同期のために、各ＡＣＴは、定期的に同期情報をＳＢＹへ送信する。図２（ａ）で、同期情報（Ａ，Ｂ，Ｃ）は、データ同期のためにＶＭ＿Ａ、ＶＭ＿Ｂ、ＶＭ＿ＣのＡＣＴがＳＢＹに送信する情報を表す。
【００１８】
そして、図２Ａ（ｂ）に示すように、ＶＭ＿Ａ（ＡＣＴ）に障害が発生すると、ＶＭ＿Ａ（ＳＢＹ）がＶＭ＿Ａ（ＡＣＴ）の障害を検知し、ＡＣＴとなって動作する。ＶＭ４は、ＡＣＴとなって動作すると、資源の使用量が増加する。このため、例えば、物理サーバ＃４のメモリ使用率が増加し、仮想マシン運用管理ソフトウェア６が物理サーバ＃４のメモリ使用率の増加を検知する。すると、仮想マシン運用管理ソフトウェア６は、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）を物理サーバ＃５に移動する。
【００１９】
このように、仮想マシン運用管理ソフトウェア６は、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）を物理サーバ＃５に移動することで、ＶＭ＿Ａ（ＳＢＹ）の稼働による物理マシン＃４の資源量の不足を防ぐことができる。
【００２０】
仮想マシン運用管理ソフトウェア６は、リソースの不足を検知してＳＢＹを移動してもよいし、例えばＶＭ＿Ｂ（ＳＢＹ）がＶＭ＿Ｂ（ＡＣＴ）になる場合等で、将来のリソースの不足を予測してＳＢＹを移動してもよい。
【００２１】
そして、同期情報のパケットを送信する経路を変更する必要があるため、図２Ｂ（ｃ）に示すように、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）が物理サーバ＃５に移動した瞬間に物理サーバ＃５は経路変更情報をブロードキャストする。
【００２２】
しかしながら、図２Ｂ（ｄ）に示すように、経路変更情報がＶＭ＿Ｂ（ＡＣＴ）とＶＭ＿Ｃ（ＡＣＴ）に到着するまでの間はＶＭ＿Ｂ（ＡＣＴ）とＶＭ＿Ｃ（ＡＣＴ）はパケットを物理サーバ＃４へ送っており、その間のパケットが失われる。図２Ｂ（ｄ）では、一部同期情報（Ｂ，Ｃ）が失われる。
【００２３】
図３は、パケットロスが発生するタイミングを示す図である。図３に示すように、ＡＣＴはＳＢＹへ定期的にデータ同期情報を送信する（ｔ１〜ｔ４）。また、仮想マシン運用管理ソフトウェア６は、一定時間毎に物理サーバ２のリソース状況を確認する（ｔ５）。また、ＡＣＴとＳＢＹは、KeepAliveで一定時間毎に応答を確認する（ｔ６〜ｔ７）。
【００２４】
そして、ＶＭ＿Ａ（ＳＢＹ）がＶＭ＿Ａ（ＡＣＴ）の障害を検知すると、ＶＭ＿Ａ（ＳＢＹ）はＡＣＴに切り替わる（ｔ８）。そして、仮想マシン運用管理ソフトウェア６は、物理リソースが不足する可能性を検知し（ｔ９）、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）に物理サーバ＃５への移動を指示する（ｔ１０）。その間、ＶＭ＿Ｂ（ＡＣＴ）は定期的にデータ同期情報をＶＭ＿Ｂ（ＳＢＹ）へ送信し、ＶＭ＿Ｃ（ＡＣＴ）は定期的にデータ同期情報をＶＭ＿Ｃ（ＳＢＹ）へ送信する（ｔ１１〜ｔ１２）。
【００２５】
そして、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）が物理サーバ＃５への移動を開始する（ｔ１３）。その後、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）の物理サーバ＃５への移動が完了すると、物理サーバ＃５はＡＲＰ（Address  Resolution  Protocol）を用いて経路変更情報をブロードキャストする（ｔ１５）。一方、ＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）は、定期的にデータ同期情報を送信する（ｔ１４）。したがって、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）の移動完了からＡＲＰで経路変更情報を受け取るまでの間にＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）がそれぞれ送信したデータ同期情報が失われる。
【００２６】
そこで、仮想マシン運用管理ソフトウェア６は、パケットロスによりデータ同期情報が失われることを防ぐために、ＡＣＴが動作する物理サーバ２のハイパーバイザ５にパケット送信を停止させる。図４は、パケットロスを防ぐ方法を説明するための図である。図４（ａ）は、パケット送信の停止を指示する場合を示し、図４（ｂ）は、パケット送信の再開を指示する場合を示す。
【００２７】
図４（ａ）に示すように、仮想マシン運用管理ソフトウェア６は、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）へ移動を指示する前に、ＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）がそれぞれ動作する物理サーバ２のハイパーバイザ５にパケット送信停止指示を送る。
【００２８】
また、図４（ｂ）に示すように、物理サーバ＃５から経路変更情報を受け取ると、仮想マシン運用管理ソフトウェア６は、ＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）がそれぞれ動作する物理サーバ２のハイパーバイザ５にパケット送信再開指示を送る。このように、仮想マシン運用管理ソフトウェア６は、パケット送信停止指示及びパケット送信再開指示をＡＣＴのハイパーバイザ５に送ることによって、パケットロスを防ぐことができる。
【００２９】
次に、仮想マシン運用管理ソフトウェア６の機能構成について説明する。図５は、仮想マシン運用管理ソフトウェア６の機能構成を示す図である。図５に示すように、仮想マシン運用管理ソフトウェア６は、通信処理部６１と、構成／統計情報管理部６２と、ライブマイグレーション管理部６３とを有する。通信処理部６１は、ハイパーバイザ５を介して他の物理サーバ２の通信処理部との間で行うデータの送受信を制御する。
【００３０】
構成／統計情報管理部６２は、ＶＭ４の構成情報や統計情報をハイパーバイザ５から取得して管理する。ＶＭ４の構成情報や統計情報は、物理サーバ２が有する記憶部６ａに構成／統計情報ＤＢ６０として記憶される。
【００３１】
ライブマイグレーション管理部６３は、構成／統計情報ＤＢ６０を参照し、物理サーバ２のリソース残量に応じてハイパーバイザ５に対してライブマイグレーションを指示する。ライブマイグレーション管理部６３は、物理サーバ２の物理リソースの不足又は不足の可能性を検知し、ハイパーバイザ５にライブマイグレーションを指示する。ライブマイグレーション管理部６３は、移動管理テーブル６３ａと、停止指示部６３ｂと、移動指示部６３ｃと、再開指示部６３ｄとを有する。
【００３２】
移動管理テーブル６３ａは、ＶＭ４のライブマイグレーションに関する情報を保持するテーブルである。図６は、移動管理テーブル６３ａの一例を示す図である。図６に示すように、移動管理テーブル６３ａには、仮想マシンＩＤと、移動元ハイパーバイザＩＰと、移動先ハイパーバイザＩＰとが移動対象のＶＭ４毎に登録される。
【００３３】
仮想マシンＩＤは、仮想マシン運用管理ソフトウェア６とハイパーバイザ５の間で共通する一意的な仮想マシン識別情報である。移動元ハイパーバイザＩＰは、ライブマイグレーション前にＶＭ４を管理するハイパーバイザ５のＩＰ（Internet  Protocol）アドレスである。移動先ハイパーバイザＩＰは、ライブマイグレーション後のＶＭ４を管理するハイパーバイザ５のＩＰアドレスである。例えば、「１」で識別されるＶＭ４の移動元のハイパーバイザ５のＩＰアドレスは「１０．０．０．２／２４」であり、移動先のハイパーバイザ５のＩＰアドレスは「１０．０．０．３／２４」である。
【００３４】
停止指示部６３ｂは、ＳＢＹの移動の前に、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５にデータ同期情報のパケットの送信停止の指示を送信する。移動指示部６３ｂは、ＶＭ４の移動指示を移動元及び移動先のハイパーバイザ５に送信する。再開指示部６３ｄは、ＳＢＹの移動先のハイパーバイザ５から経路変更情報をＡＲＰパケットで受け取ると、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５にデータ同期情報のパケットの送信再開の指示を送信する。なお、送信停止及び送信再開の指示は、後述するＡＲＰパケット解析／生成部を介して行われる。
【００３５】
図７は、ＡＲＰパケットフォーマットを示す図である。図７に示すように、ＡＲＰパケットには、送信先ＭＡＣ（Media  Access  Control）と、送信元ＭＡＣと、タイプと、送信先ＩＰと、送信元ＩＰと、データと、ＦＣＳ（Frame  Check  Sequence）とが含まれる。送信先ＭＡＣは、送信先の物理サーバ２のＭＡＣアドレスである。送信元ＭＡＣは、送信元の物理サーバ２のＭＡＣアドレスである。
【００３６】
タイプは、イーサネット（登録商標）のタイプコード（ＡＲＰパケットでは０ｘ０８０６）である。送信先ＩＰは、送信先の物理サーバ２のＩＰアドレスである。送信元ＩＰは、送信元の物理サーバ２のＩＰアドレスである。
【００３７】
データは、送信されるデータであり、パケット送信停止／開始と移動管理テーブル６３ａとを含む。パケット送信停止／開始は、パケット送信停止又はパケット送信再開を示す。移動管理テーブル６３ａは、図６に一例を示したテーブルである。ＦＣＳは、イーサネットフレームのデータの誤りの検出・訂正に用いられる情報である。
【００３８】
次に、ハイパーバイザ５の機能構成について説明する。図８は、ハイパーバイザ５の機能構成を示す図である。図８に示すように、ハイパーバイザ５は、通信処理部５１と、ライブマイグレーション制御部５２と、構成／統計情報管理部５３と、ＡＲＰパケット解析／生成部５４とを有する。
【００３９】
通信処理部５１は、ネットワークを介して他の物理サーバ２の通信処理部との間で行うデータの送受信を制御する。ライブマイグレーション制御部５２は、ＶＭ４のライブマイグレーション制御を行う。構成／統計情報管理部５３は、ＶＭ４の構成情報や統計情報を管理して仮想マシン運用管理ソフトウェア６に構成情報及び統計情報を送信する。
【００４０】
ＡＲＰパケット解析／生成部５４は、ＡＲＰパケットのデータに含まれる移動管理テーブル６３ａの解析を行い、移動対象のＳＢＹに対応するＡＣＴを特定し、特定したＡＣＴが送信するデータ同期用のパケットの送信の一時停止及び再開を制御する。また、ＡＲＰパケット解析／生成部５４は、停止指示部６３ｂ及び再開指示部６３ｄの指示に基づいてＡＲＰパケットを通信処理部５１を介して送信する。
【００４１】
次に、情報処理システム１によるＶＭ移動のシーケンスについて説明する。図９は、情報処理システム１によるＶＭ移動を示すシーケンス図である。図９に示すように、ＡＣＴはＳＢＹへ定期的にデータ同期情報を送信する（ｔ２１〜ｔ２４）。また、仮想マシン運用管理ソフトウェア６は、一定時間毎に物理サーバ２のリソース状況を確認する（ｔ２５）。また、ＡＣＴとＳＢＹは、KeepAliveで一定時間毎に応答を確認する（ｔ２６〜ｔ２７）。
【００４２】
そして、ＶＭ＿Ａ（ＳＢＹ）がＶＭ＿Ａ（ＡＣＴ）の障害を検知すると、ＶＭ＿Ａ（ＳＢＹ）はＡＣＴに切り替わる（ｔ２８）。その間、ＶＭ＿Ｂ（ＡＣＴ）は定期的にデータ同期情報をＶＭ＿Ｂ（ＳＢＹ）へ送信し、ＶＭ＿Ｃ（ＡＣＴ）は定期的にデータ同期情報をＶＭ＿Ｃ（ＳＢＹ）へ送信する（ｔ２９）。そして、仮想マシン運用管理ソフトウェア６は、物理リソースが不足する可能性を検知すると（ｔ３０）、パケット送信停止指示を物理サーバ＃２及び＃３のハイパーバイザ５へ送信する（ｔ３１）。
【００４３】
そして、仮想マシン運用管理ソフトウェア６は、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）に物理サーバ＃５への移動を指示する（ｔ３２）。そして、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）が物理サーバ＃５への移動を開始する（ｔ３３）。その後、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）の物理サーバ＃５への移動が完了すると、物理サーバ＃５のハイパーバイザ５はＡＲＰを用いて経路変更情報をブロードキャストする（ｔ３４）。
【００４４】
仮想マシン運用管理ソフトウェア６は、物理サーバ＃５のハイパーバイザ５から経路変更のＡＲＰパケットを受信すると、ＡＣＴが動作する物理サーバ＃２及び＃３のハイパーバイザ５へパケット送信再開指示を送信する（ｔ３５）。
【００４５】
次に、仮想マシン運用管理ソフトウェア６の処理のフローについて説明する。図１０は、仮想マシン運用管理ソフトウェア６の処理のフローを示すフローチャートである。なお、図１０では、ＳＢＹがＡＣＴに切り替わった場合について説明する。
【００４６】
図１０に示すように、仮想マシン運用管理ソフトウェア６は、一定時間毎に物理サーバ２のリソース状況を確認し（ステップＳ１）、確認した物理サーバ２でリソースの不足が発生したか否かを判定する（ステップＳ２）。なお、仮想マシン運用管理ソフトウェア６は、確認した物理サーバ２でリソースの不足が予想されるか否かを判定してもよい。そして、リソースの不足が発生していない場合には、仮想マシン運用管理ソフトウェア６は、処理を終了する。
【００４７】
一方、リソースの不足が発生した場合には、仮想マシン運用管理ソフトウェア６は、物理サーバ２のリソース量に基づき、移動するＳＢＹに関して移動管理テーブル６３ａを生成し、パケット送信停止を指示するＡＲＰパケットを生成する（ステップＳ３）。そして、仮想マシン運用管理ソフトウェア６は、生成したＡＲＰパケットを、移動対象のＳＢＹに対応するＡＣＴのハイパーバイザ５に送信する（ステップＳ４）。
【００４８】
そして、仮想マシン運用管理ソフトウェア６は、ＳＢＹの移動先及び移動元のハイパーバイザ５に移動管理テーブル６３ａを送信し、ライブマイグレーションを指示する（ステップＳ５）。その後、移動先のハイパーバイザ５からＡＲＰパケットを受信すると（ステップＳ６）、仮想マシン運用管理ソフトウェア６は、移動管理テーブル６３ａに基づき、パケット送信再開を指示するＡＲＰパケットを生成する（ステップＳ７）。
【００４９】
そして、仮想マシン運用管理ソフトウェア６は、生成したＡＲＰパケットを、移動対象のＳＢＹに対応するＡＣＴのハイパーバイザ５に送信し（ステップＳ８）、ステップＳ１に戻る。
【００５０】
このように、仮想マシン運用管理ソフトウェア６は、移動対象のＳＢＹに対応するＡＣＴにパケット送信停止とパケット送信再開を指示することによって、パケットロスを防ぐことができる。
【００５１】
次に、移動元のハイパーバイザ５の処理のフローについて説明する。図１１は、移動元のハイパーバイザ５の処理のフローを示すフローチャートである。図１１に示すように、移動元のハイパーバイザ５は、仮想マシン運用管理ソフトウェア６からライブマイグレーションの実行指示及び移動管理テーブル６３ａを受信したか否かを判定する（ステップＳ１１）。そして、受信していない場合には、移動元のハイパーバイザ５は、処理を終了する。
【００５２】
一方、ライブマイグレーションの実行指示及び移動管理テーブル６３ａを受信した場合には、移動元のハイパーバイザ５は、移動管理テーブル６３ａの情報に基づきライブマイグレーションを実施する（ステップＳ１２）。その後、移動元のハイパーバイザ５は、ライブマイグレーションを完了し（ステップＳ１３）、移動先のハイパーバイザ５から経路変更を示すＡＲＰパケットを受信する（ステップＳ１４）。
【００５３】
このように、移動元のハイパーバイザ５は、移動管理テーブル６３ａの情報に基づきライブマイグレーションを実施することで、リソースの不足を防ぐことができる。
【００５４】
次に、移動先のハイパーバイザ５の処理のフローについて説明する。図１２は、移動先のハイパーバイザ５の処理のフローを示すフローチャートである。図１２に示すように、移動先のハイパーバイザ５は、仮想マシン運用管理ソフトウェア６からライブマイグレーションの実行指示及び移動管理テーブル６３ａを受信したか否かを判定する（ステップＳ２１）。そして、受信していない場合には、移動先のハイパーバイザ５は、処理を終了する。
【００５５】
一方、ライブマイグレーションの実行指示及び移動管理テーブル６３ａを受信した場合には、移動先のハイパーバイザ５は、移動管理テーブル６３ａの情報に基づきライブマイグレーションを実施する（ステップＳ２２）。その後、移動先のハイパーバイザ５は、ライブマイグレーションを完了すると（ステップＳ２３）、経路変更を示すＡＲＰパケットをブロードキャストする（ステップＳ２４）。
【００５６】
このように、移動先のハイパーバイザ５は、ライブマイグレーションを完了すると、経路変更を示すＡＲＰパケットをブロードキャストする。したがって、仮想マシン運用管理ソフトウェア６は、移動対象のＳＢＹに対応するＡＣＴが動作する物理サーバ２のハイパーバイザ５にデータ同期パケットの送信再開を指示することができる。
【００５７】
上述してきたように、実施例では、停止指示部６３ｂが、ＳＢＹの移動の前に、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５にデータ同期情報のパケットの送信停止の指示を送信する。そして、移動指示部６３ｃが、ＶＭ４の移動指示を移動元及び移動先のハイパーバイザ５に送信する。そして、再開指示部６３ｄが、ＳＢＹの移動先のハイパーバイザ５から経路変更情報をＡＲＰパケットで受け取ると、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５にデータ同期情報のパケットの送信再開の指示を送信する。したがって、情報処理システム１は、ＳＢＹの移動によるパケットロスを防ぐことができる。
【００５８】
また、実施例では、停止指示部６３ｂは、移動管理テーブル６３ａを含めてデータ同期情報のパケットの送信停止の指示を送信する。そして、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５のＡＲＰパケット解析／生成部５４は、移動管理テーブル６３ａを用いてＡＣＴを特定し、特定したＡＣＴがＳＢＹへ送信するデータ同期情報のパケットの送信を停止する。また、再開指示部６３ｄは、移動管理テーブル６３ａを含めてデータ同期情報のパケットの送信再開の指示を送信する。そして、ＳＢＹに対応するＡＣＴが動作するハイパーバイザ５のＡＲＰパケット解析／生成部５４は、移動管理テーブル６３ａを用いてＡＣＴを特定し、特定したＡＣＴがＳＢＹへ送信するデータ同期情報のパケットの送信を再開する。したがって、情報処理システム１は、ＡＣＴがＳＢＹへ送信するデータ同期情報のパケットの送信停止と送信再開を行うことができる。
【００５９】
なお、実施例では、仮想マシン運用管理ソフトウェア６がパケット送信停止指示及びパケット送信再開指示を送信する場合について説明したが、移動対象のＳＢＹがパケット送信停止指示及びパケット送信再開指示を送信してもよい。
【００６０】
図１３は、ＳＢＹからのパケット送信停止指示を説明するための図である。図１３に示すように、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）は、仮想マシン運用管理ソフトウェア６からハイパーバイザ５を介して移動指示を受け取ると、パケット送信停止指示をそれぞれＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）に送信する。また、ＶＭ＿Ｂ（ＳＢＹ）及びＶＭ＿Ｃ（ＳＢＹ）は、物理サーバ＃５への移動が完了すると、パケット送信再開指示をそれぞれＶＭ＿Ｂ（ＡＣＴ）及びＶＭ＿Ｃ（ＡＣＴ）に送信する。
【００６１】
このように、移動対象のＳＢＹがパケット送信停止指示及びパケット送信再開指示を送信することによっても、情報処理システム１は、ＳＢＹの移動によるパケットロスを防ぐことができる。
【００６２】
また、実施例では、仮想マシン運用管理ソフトウェア６について説明したが、仮想マシン運用管理ソフトウェア６は、物理サーバ２すなわちコンピュータによって実行されることにより、コンピュータを仮想マシン運用管理装置として機能させる。そこで、仮想マシン運用管理ソフトウェア６を実行するコンピュータについて説明する。
【００６３】
図１４は、仮想マシン運用管理ソフトウェア６を実行するコンピュータのハードウェア構成を示す図である。図１４に示すように、コンピュータ７０は、メインメモリ７１と、ＣＰＵ（Central  Processing  Unit）７２と、ＬＡＮ（Local  Area  Network）インタフェース７３と、ＨＤＤ（Hard  Disk  Drive）７４とを有する。また、コンピュータ７０は、スーパーＩＯ（Input  Output）７５と、ＤＶＩ（Digital  Visual  Interface）７６と、ＯＤＤ（Optical  Disk  Drive）７７とを有する。
【００６４】
メインメモリ７１は、プログラムやプログラムの実行途中結果などを記憶するメモリである。ＣＰＵ７２は、メインメモリ７１からプログラムを読み出して実行する中央処理装置である。ＣＰＵ７２は、メモリコントローラを有するチップセットを含む。
【００６５】
ＬＡＮインタフェース７３は、コンピュータ７０をＬＡＮ経由で他のコンピュータに接続するためのインタフェースである。ＨＤＤ７４は、プログラムやデータを格納するディスク装置であり、スーパーＩＯ７５は、マウスやキーボードなどの入力装置を接続するためのインタフェースである。ＤＶＩ７６は、液晶表示装置を接続するインタフェースであり、ＯＤＤ７７は、ＤＶＤの読み書きを行う装置である。
【００６６】
ＬＡＮインタフェース７３は、ＰＣＩエクスプレス（ＰＣＩｅ）によりＣＰＵ７２に接続され、ＨＤＤ７４及びＯＤＤ７７は、ＳＡＴＡ（Serial  Advanced  Technology  Attachment）によりＣＰＵ７２に接続される。スーパーＩＯ７５は、ＬＰＣ（Low  Pin  Count）によりＣＰＵ７２に接続される。
【００６７】
そして、コンピュータ７０において実行される仮想マシン運用管理ソフトウェア６は、ＤＶＤに記憶され、ＯＤＤ７７によってＤＶＤから読み出されてコンピュータ７０にインストールされる。あるいは、仮想マシン運用管理ソフトウェア６は、ＬＡＮインタフェース７３を介して接続された他のコンピュータシステムのデータベースなどに記憶され、これらのデータベースから読み出されてコンピュータ７０にインストールされる。そして、インストールされた仮想マシン運用管理ソフトウェア６は、ＨＤＤ７４に記憶され、メインメモリ７１に読み出されてＣＰＵ７２によって実行される。
【符号の説明】
【００６８】
１    情報処理システム
２    物理サーバ
３    Ｌ２スイッチ
４    ＶＭ
５    ハイパーバイザ
６    仮想マシン運用管理ソフトウェア
６ａ    記憶部
５１    通信処理部
５２    ライブマイグレーション制御部
５３    構成／統計情報管理部
５４    ＡＲＰパケット解析／生成部
６０    構成／統計情報ＤＢ
６１    通信処理部
６２    構成／統計情報管理部
６３    ライブマイグレーション管理部
６３ａ    移動管理テーブル
６３ｂ    停止指示部
６３ｃ    移動指示部
６３ｄ    再開指示部
７０    コンピュータ
７１    メインメモリ
７２    ＣＰＵ
７３    ＬＡＮインタフェース
７４    ＨＤＤ
７５    スーパーＩＯ
７６    ＤＶＩ
７７    ＯＤＤ
【図１】
2018077594.tif 000003
【図２Ａ】
2018077594.tif 000004
【図２Ｂ】
2018077594.tif 000005
【図３】
2018077594.tif 000006
【図４】
2018077594.tif 000007
【図５】
2018077594.tif 000008
【図６】
2018077594.tif 000009
【図７】
2018077594.tif 000010
【図８】
2018077594.tif 000011
【図９】
2018077594.tif 000012
【図１０】
2018077594.tif 000013
【図１１】
2018077594.tif 000014
【図１２】
2018077594.tif 000015
【図１３】
2018077594.tif 000016
【図１４】
2018077594.tif 000017