(57)【要約】【課題】マイグレーションの実行による不要なトラフィックの発生を防止することを課題とする。【解決手段】管理サーバ１０は、マイグレーションによる移動対象のＶＭの移動先サーバ３０の物理ポートが移動対象のＶＭが使用するＶＬＡＮに属していない場合に、当該移動先サーバ３０の物理ポートが当該ＶＬＡＮを利用できるように制御する。また、管理サーバ１０は、マイグレーションによって移動対象のＶＭが移動先サーバ３０に移動された場合に、移動対象のＶＭが使用していたＶＬＡＮが移動元サーバ２０で実行される他のＶＭで利用されているか否かを判定する。そして、管理サーバ１０は、移動元サーバ２０の他のＶＭで利用されていないと判定された場合に、移動元サーバ２０の物理ポートが移動対象のＶＭが使用していたＶＬＡＮを利用できないように制御する。【選択図】図２
2011146002.tif 000002
【特許請求の範囲】
【請求項１】
マイグレーションによる移動対象の仮想マシンの移動先である移動先サーバ装置の物理ポートが移動対象の仮想マシンが使用する仮想ネットワークに属していない場合に、当該移動先サーバ装置の物理ポートが当該仮想ネットワークを利用できるように制御する利用制御手順と、
前記移動対象の仮想マシンが前記移動先サーバ装置に移動された場合に、前記移動対象の仮想マシンが使用していた仮想ネットワークが移動元サーバ装置で実行される他の仮想マシンで利用されているか否かを判定する利用判定手順と、
利用されていないと判定された場合に、前記移動元サーバ装置の物理ポートが前記移動対象の仮想マシンが使用していた仮想ネットワークを利用できないように制御する利用停止手順と
を情報処理装置に実行させることを特徴とする仮想ネットワーク制御プログラム。
【請求項２】
前記情報処理装置は、
前記移動先サーバについて、前記移動先サーバについて、前記マイグレーションの実行後の仮想ネットワークの設定状況である第２設定状況を記憶し、
前記利用制御手順は、前記マイグレーション開始前における移動先サーバの仮想ネットワークの設定状況と前記第２設定状況とを比較して、前記移動先サーバ装置の物理ポートが移動対象の仮想マシンが使用する仮想ネットワークに属しているか否かを判定することを特徴とする請求項１に記載の仮想ネットワーク制御プログラム。
【請求項３】
前記情報処理装置は、前記移動元サーバについて、前記マイグレーションの実行後の仮想ネットワークの設定状況である第１設定状況を記憶し、
前記移動元サーバについて、前記マイグレーションの実行後に予定される仮想ネットワークの設定状況を記憶する移動元予定情報記憶部をさらに有し、
前記利用判定手順は、前記マイグレーション開始前における移動元サーバの仮想ネットワークの設定状況と前記第１設定状況とを比較して、前記移動対象の仮想マシンが使用していた仮想ネットワークが移動元サーバ装置で実行される他の仮想マシンで利用されているか否かを判定することを特徴とする請求項１または２に記載の仮想ネットワーク制御プログラム。
【請求項４】
前記情報処理装置は、実行中のマイグレーションに関する情報を記憶し、
前記利用停止手順は、さらに、前記実行中のマイグレーションに関する情報によって、前記移動元サーバ装置が他の仮想マシンの移動先サーバ装置であり、当該他の仮想マシンが前記移動対象の仮想マシンが使用していた仮想ネットワークを使用しないと特定される場合に、前記移動元サーバ装置の物理ポートが前記移動対象の仮想マシンが使用していた仮想ネットワークを利用できないように制御することを特徴とする請求項１〜３のいずれか一つに記載の仮想ネットワーク制御プログラム。
【請求項５】
マイグレーションによる移動対象の仮想マシンの移動先である移動先サーバ装置の物理ポートが移動対象の仮想マシンが使用する仮想ネットワークに属していない場合に、当該移動先サーバ装置の物理ポートが当該仮想ネットワークを利用できるように制御する利用制御ステップと、
前記移動対象の仮想マシンが前記移動先サーバ装置に移動された場合に、前記移動対象の仮想マシンが使用していた仮想ネットワークが移動元サーバ装置で実行される他の仮想マシンで利用されているか否かを判定する利用判定ステップと、
利用されていないと判定された場合に、前記移動元サーバ装置の物理ポートが前記移動対象の仮想マシンが使用していた仮想ネットワークを利用できないように制御する利用停止ステップと 
を含んだことを特徴とする仮想ネットワーク制御方法。
【請求項６】
マイグレーションによる移動対象の仮想マシンの移動先である移動先サーバ装置の物理ポートが移動対象の仮想マシンが使用する仮想ネットワークに属していない場合に、当該移動先サーバ装置の物理ポートが当該仮想ネットワークを利用できるように制御する利用制御部と、
前記移動対象の仮想マシンが前記移動先サーバ装置に移動された場合に、前記移動対象の仮想マシンが使用していた仮想ネットワークが移動元サーバ装置で実行される他の仮想マシンで利用されているか否かを判定する利用判定部と、
利用されていないと判定された場合に、前記移動元サーバ装置の物理ポートが前記移動対象の仮想マシンが使用していた仮想ネットワークを利用できないように制御する利用停止部と
を有することを特徴とする情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置に関する。
【背景技術】
【０００２】
従来、情報処理装置としてのサーバ上で、複数のＶＭ（Virtual  Machine：仮想マシン）といわれる仮想的なサーバを動作させるサーバ仮想化技術が知られている。サーバでは、ＶＭの生成などＶＭに関する各種制御を実施するＶＭＭ（Virtual  Machine  Monitor）を動作させている。
【０００３】
このサーバ仮想化技術では、あるサーバで稼動中のＶＭを、動作を停止させることなく別のサーバに移行させるライブマイグレーション（Live  Migration）が実行されている。ここで、図２２と図２３を用いて、ライブマイグレーションの処理例を説明する。図２２は、ライブマイグレーションを実施するシステムの構成を示す図であり、図２３は、ライブマイグレーションの動作シーケンスを示す図である。
【０００４】
図２２に示すように、この例では、移動元サーバであるサーバＡのＶＭを移動先サーバであるサーバＢに移動させる例について説明する。また、サーバＡおよびサーバＢ各々では、ＶＭに関する各種制御を実施するＶＭＭが動作している。このような状態において、移動先であるサーバＢで動作するＶＭＭは、図２３の（１）に示すように、管理者等の指示操作を受け付けると、新しいＶＭをサーバＢ上に生成する。
【０００５】
続いて、移動元であるサーバＡで動作するＶＭＭは、移動対象のＶＭがサーバＡで動作している状態で、図２３の（２）に示すように、プレコピーを実施する。具体的には、サーバＡで動作するＶＭＭは、自身が利用しているメモリ内容をサーバＢのＶＭＭに転送する。そして、サーバＡのＶＭＭは、メモリの変更量に応じて、このプレコピーを繰り返す。
【０００６】
その後、サーバＡのＶＭＭは、図２３の（３）に示すように、メモリの変更量が所定値以下になった場合に、ストップアンドコピーを実施する。具体的には、サーバＡのＶＭＭは、移動対象のＶＭの業務を一時的に停止し、自身が利用しているメモリ内容をサーバＢのＶＭＭに転送する。
【０００７】
そして、サーバＢのＶＭＭは、図２３の（４）に示すように、移動されたＶＭを起動して業務を再開するとともに、物理スイッチにリバースＡＲＰ（Address  Resolution  Protocol）を送出する。そして、サーバＢのＶＭＭは、ＭＡＣアドレス（Media  Access  Control  address）とＩＰ（Internet  Protocol）アドレスがサーバＢに移行したことを通知する。上述したライブマイグレーションを実行することで、ＶＭを移動させることができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１８１４１８号公報
【特許文献２】特開２００９−２１７３０２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
しかしながら、従来の技術では、マイグレーションの実行によって、不要なトラフィックが発生する場合があるという課題があった。
【００１０】
例えば、図２４の（１）に示すように、サーバＡのＶＭ１とサーバＢのＶＭ３とが同じＶＬＡＮ（Virtual  Local  Area  Network）であるＶＬＡＮ（Ａ）で接続されており、サーバＡのＶＭ２とサーバＢのＶＭ４とが同じＶＬＡＮ（Ｂ）で接続されているとする。この場合に、サーバＡのＶＭ２をサーバ２に、サーバＢのＶＭ３をサーバＡにライブマイグレーションする。ライブマイグレーションでは、移動先のサーバもＶＬＡＮに属するように、ネットワークを構成する外部スイッチのＶＬＡＮ設定がされている必要がある。したがって、図２４の（２）に示すように、それぞれのサーバ上では、移行したＶＭが使用していたＶＬＡＮが残っている状態となり、不要なトラフィックが発生する。図２４は、従来技術に係るライブマイグレーション結果を示す図である。
【００１１】
開示の技術は、上記に鑑みてなされたものであって、マイグレーションの実行による不要なトラフィックの発生を防止することが可能である仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置を提供することを目的とする。
【課題を解決するための手段】
【００１２】
本願の開示する仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置は、一つの態様において、マイグレーションによる移動対象の仮想マシンの移動先である移動先サーバ装置の物理ポートが移動対象の仮想マシンが使用する仮想ネットワークに属していない場合に、当該移動先サーバ装置の物理ポートが当該仮想ネットワークを利用できるように制御する利用制御手順と、前記移動対象の仮想マシンが前記移動先サーバ装置に移動された場合に、前記移動対象の仮想マシンが使用していた仮想ネットワークが移動元サーバ装置で実行される他の仮想マシンで利用されているか否かを判定する利用判定手順と、利用されていないと判定された場合に、前記移動元サーバ装置の物理ポートが前記移動対象の仮想マシンが使用していた仮想ネットワークを利用できないように制御する利用停止手順とを情報処理装置に実行させる。
【発明の効果】
【００１３】
本願の開示する仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置の一つの態様によれば、マイグレーションの実行による不要なトラフィックの発生を防止することが可能であるという効果を奏する。
【図面の簡単な説明】
【００１４】
【図１】図１は、実施例１に係るシステムの全体構成を示す図である。
【図２】図２は、管理サーバの構成を示すブロック図である。
【図３】図３は、移動元サーバの構成を示すブロック図である。
【図４】図４は、物理スイッチの構成を示すブロック図である。
【図５】図５は、ＭＡＣテーブルに記憶される情報の例を示す図である。
【図６】図６は、ＶＬＡＮテーブルに記憶される情報の例を示す図である。
【図７】図７は、実施例１に係るマイグレーション時の処理の流れを示すシーケンス図である。
【図８】図８は、管理サーバにおけるメンバ追加の流れを示すフローチャートである。
【図９】図９は、管理サーバにおけるメンバ削除の流れを示すフローチャートである。
【図１０】図１０は、実施例２におけるマイグレーション処理前後のＶＭ構成を説明する図である。
【図１１】図１１は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図である。
【図１２】図１２は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【図１３】図１３は、実施例２に係る管理サーバにおけるメンバ追加の流れを示すフローチャートである。
【図１４】図１４は、実施例２に係る管理サーバにおけるメンバ削除の流れを示すフローチャートである。
【図１５】図１５は、実施例３におけるマイグレーション処理前後のＶＭ構成を説明する図である。
【図１６】図１６は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図である。
【図１７】図１７は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【図１８】図１８は、実施例４におけるマイグレーション処理前後のＶＭ構成を説明する図である。
【図１９】図１９は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図である。
【図２０】図２０は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【図２１】図２１は、マイグレーション制御プログラムを実行するコンピュータシステム１００を示す図である。
【図２２】図２２は、ライブマイグレーションを実施するシステムの構成を示す図である。
【図２３】図２３は、ライブマイグレーションの動作シーケンスを示す図である。
【図２４】図２４は、従来技術に係るライブマイグレーション結果を示す図である。
【発明を実施するための形態】
【００１５】
以下に、本願の開示する仮想ネットワーク制御プログラム、仮想ネットワーク制御方法および情報処理装置の実施例を図面に基づいて詳細に説明する。なお、この実施例によりこの発明が限定されるものではない。
【実施例１】
【００１６】
［全体構成］
まず、図１を用いて、本願が開示する管理サーバを含むシステムの全体構成を説明する。図１は、実施例１に係るシステムの全体構成を示す図である。図１に示すように、このシステムは、管理サーバ１０と移動元サーバ２０と移動先サーバ３０と物理スイッチ４０とを有している。
【００１７】
管理サーバ１０は、サーバ間でＶＭ（Virtual  Machine：仮想マシン）をライブマイグレーションする際に、当該ＶＭに関する情報を管理制御する情報処理装置である。例えば、管理サーバ１０は、ライブマイグレーションによる移動対象のＶＭの移動先である移動先サーバ３０の物理ポートが、移動対象のＶＭが使用するＶＬＡＮ（Virtual  Local  Area  Network）に属していないか否かを判定する。
【００１８】
そして、管理サーバ１０は、移動対象のＶＭが使用するＶＬＡＮに属していない場合、移動先サーバ３０の物理ポートが当該ＶＬＡＮを利用できるように制御する。その後、管理サーバ１０は、ライブマイグレーションによって移動対象のＶＭが移動先サーバ３０に移動された場合に、移動対象のＶＭが使用していたＶＬＡＮが移動元サーバ２０上の他のＶＭで利用されているか否かを判定する。そして、管理サーバ１０は、移動元サーバ２０上の他のＶＭで利用されていないと判定された場合に、移動元サーバ２０の物理ポートが移動対象のＶＭが使用していたＶＬＡＮを利用できないように制御する。
【００１９】
移動元サーバ２０は、ライブマイグレーションによって移動先サーバ３０に移動されるＶＭの移動元の情報処理装置である。なお。ここでは、移動元サーバ２０には、１つのＶＭが起動している図示しているが、これに限定されるものではなく、複数のＶＭが起動していてもよい。
【００２０】
移動先サーバ３０は、ライブマイグレーションによって移動元サーバ２０上のＶＭが移動する先の情報処理装置である。なお。ここでは、移動先サーバ３０には、１つのＶＭが起動している図示しているが、これに限定されるものではなく、複数のＶＭが起動していてもよい。
【００２１】
物理スイッチ４０は、各サーバ間でやり取りされるデータ転送をルーティング制御するスイッチなどのネットワーク機器である。例えば、物理スイッチ４０は、各サーバ間のルーティング情報や各サーバで実行されているＶＭ間のルーティング情報を保持し、これらを用いて、ルーティング制御を実施する。
【００２２】
［各装置の構成］
次に、図１に示した各装置の構成について説明する。ここでは、管理サーバ１０、移動元サーバ２０、物理スイッチ４０の順に説明する。なお、移動元サーバ２０と移動先サーバ３０とは同様の構成を有するので、移動元サーバ２０についてのみ詳細に説明する。
【００２３】
（管理サーバの構成）
図２は、管理サーバの構成を示すブロック図である。図２に示すように、管理サーバ１０は、物理インタフェース１１と記憶部１２と制御部１３とを有する。なお、これら以外にも、例えば管理者等から各種指示を受け付けるマウス等の入力部や、マイグレーション結果を表示したりするディスプレイ等の表示部などを有していてもよい。
【００２４】
物理インタフェース１１は、他のサーバや物理スイッチ４０との間の通信を制御するネットワークインタフェースカード（NIC：Network  Interface  Card）である。例えば、物理インタフェース１１は、後述する制御部１３から送信された移動先サーバ３０に対するＶＭ作成指示やＶＭ起動指示を転送し、これらに対する応答を受信する。また、物理インタフェース１１は、同様に制御部１３から送信された物理スイッチ４０に対する移動先サーバ３０の物理ポートをＶＬＡＮに追加する指示や移動対象のＶＭが使用していたＶＬＡＮから移動元サーバ２０の物理ポートを削除する指示を転送する。
【００２５】
記憶部１２は、制御部１３による各種処理に必要なデータおよびプログラムを格納する半導体メモリ素子、または、ハードディスクなどの記憶装置である。制御部１３は、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）などの電子回路である。この制御部１３は、ＯＳ（Operating  System）などの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、マイグレーション制御部１４を有し、これらによって各種処理を実行する。
【００２６】
マイグレーション制御部１４は、ＶＭＭ（Virtual  Machine  Monitor）制御部１４ａと物理スイッチ制御部１４ｂとを有し、これらによって各サーバ間で実行されるマイグレーションの実行を制御する。
【００２７】
ＶＭＭ制御部１４ａは、移動元サーバ２０や移動先サーバ３０のＶＭＭに対して各種制御を実施する。例えば、ＶＭＭ制御部１４ａは、管理者等からどのサーバのどのＶＭをどこに移動させるなどのマイグレーション情報などを、マウスなどの入力部を介して受け付ける。そして、ＶＭＭ制御部１４ａは、受け付けたマイグレーション情報に従って、ＶＭの移動先サーバ３０のＶＭＭに対して、ＶＭの作成指示を送信する。また、ＶＭＭ制御部１４ａは、マイグレーションの実行が完了すると、移動先サーバ３０のＶＭＭに対して、移動された新たなＶＭの起動指示を送信する。
【００２８】
なお、ここでは、管理者等からマイグレーション情報や開始指示を受け付ける例について説明したが、これに限定されるものではない。例えば、開始契機やマイグレーション情報を予め登録してスケジューリングしておき、スケジューリングに従って実行することもできる。
【００２９】
物理スイッチ制御部１４ｂは、利用制御部１４ｃと利用判定部１４ｄと利用停止部１４ｅとを有し、これらによって、マイグレーションによるＶＭの移動元サーバ２０のＶＬＡＮ構成や移動先サーバ３０のＶＬＡＮ構成を制御する。利用制御部１４ｃは、マイグレーションによる移動対象のＶＭの移動先である移動先サーバ３０の物理ポートが、移動対象のＶＭが使用するＶＬＡＮに属していない場合に、移動先サーバ３０の物理ポートを当該ＶＬＡＮに追加する。
【００３０】
利用判定部１４ｄは、マイグレーションによって移動対象のＶＭが移動先サーバ３０に移動された場合に、移動対象のＶＭが使用していたＶＬＡＮが移動元サーバ２０上の他のＶＭで利用されているか否かを判定する。利用停止部１４ｅは、利用判定部１４ｄによって、移動元サーバ２０上の他のＶＭで利用されていないと判定された場合に、移動対象のＶＭが使用していたＶＬＡＮから移動元サーバ２０の物理ポートを削除する。
【００３１】
具体的に例として、移動元サーバは、物理ポート（Ｐ１）を介して物理スイッチに接続され、ＶＬＡＮ（Ｖ１）を利用するＶＭ１とＶＬＡＮ（Ｖ２）を利用するＶＭ２とを実行しているとする。また、移動先サーバは、物理ポート（Ｐ２）を介して物理スイッチに接続され、ＶＬＡＮ（Ｖ１）を利用するＶＭ３とＶＬＡＮ（Ｖ２）を利用するＶＭ４とを実行しているとする。このような状態において、「移動対象ＶＭ、移動元サーバ、移動先サーバ、属するＶＬＡＮ」として「ＶＭ１、移動元サーバ２０、移動先サーバ３０、Ｖ１」がＶＭＭ制御部１４ａによって受け付けられたとする。つまり、ＶＬＡＮ＝Ｖ１に属している移動対象のＶＭ１を移動先サーバ３０に移動させる例について説明する。
【００３２】
この場合、利用制御部１４ｃは、移動先サーバ３０の物理ポート（Ｐ２）がＶＬＡＮ（Ｖ１）に属しているか否かを、物理スイッチ４０のＶＬＡＮテーブル４３等を参照して判定する。そして、利用制御部１４ｃは、移動先サーバ３０の物理ポート（Ｐ２）がＶＬＡＮ（Ｖ１）に属していない場合には、ＶＬＡＮテーブル４３に記憶される「Ｖ１」に属する物理ポート一覧に、物理ポート（Ｐ２）を追加する指示を物理スイッチ４０に送信する。なお、利用制御部１４ｃは、移動先サーバ３０の物理ポート（Ｐ２）がＶＬＡＮ（Ｖ１）に属している場合には、特段処理を実施しない。
【００３３】
そして、利用判定部１４ｄは、ＶＭ１の移動元である移動元サーバ２０上で起動する他のＶＭがＶＬＡＮ（Ｖ１）に属しているか否かを、物理スイッチ４０のＶＬＡＮテーブル４３等を参照して判定する。上記した例の場合、利用判定部１４ｄは、移動元サーバ２０上の他のＶＭがＶＬＡＮ（Ｖ１）に属していない場合には、判定結果として「利用されていない」ことを示す情報を利用停止部１４ｅに送信する。一方、利用判定部１４ｄは、移動元サーバ２０上の他のＶＭがＶＬＡＮ（Ｖ１）に属している場合には、判定結果として「利用されている」ことを示す情報を利用停止部１４ｅに送信する。
【００３４】
そして、利用停止部１４ｅは、利用判定部１４ｄから「利用されていない」ことを示す情報を判定結果として受信したとする。この場合、利用停止部１４ｅは、ＶＬＡＮテーブル４３に記憶される「Ｖ１」に属する物理ポート一覧から、移動元サーバ２０の物理ポート（Ｐ１）を削除する指示を物理スイッチ４０に送信する。
【００３５】
（移動元サーバの構成）
図３は、移動元サーバの構成を示すブロック図である。図３に示すように、移動元サーバ２０は、物理インタフェース２１と記憶部２２と仮想マシン領域２３と制御部２４とを有する。なお、これら以外にも、例えば管理者等から各種指示を受け付けるマウス等の入力部や、マイグレーション結果を表示したりするディスプレイ等の表示部などを有していてもよい。
【００３６】
物理インタフェース２１は、他のサーバや物理スイッチ４０との間の通信を制御するＮＩＣである。例えば、物理インタフェース２１は、管理サーバ１０からＶＭ作成指示やＶＭ起動指示、マイグレーション実施開始指示などを受信する。また、物理インタフェース２１は、ＶＭ作成完了応答やＶＭ起動完了応答、マイグレーション実施終了応答などを管理サーバ１０に送信する。
【００３７】
記憶部２２は、後述する制御部２４による各種処理に必要なデータおよびプログラムを格納する半導体メモリ素子、または、ハードディスクなどの記憶装置であり、例えば、ＶＭの識別番号や属するＶＬＡＮ等のＶＭに関する情報を記憶する。仮想マシン領域２３は、制御部２４によって作成された複数のＶＭを起動する領域であり、任意に数のＶＭを起動することができる。
【００３８】
制御部２４は、例えば、ＣＰＵやＭＰＵなどの電子回路である。この制御部２４は、ＯＳなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、ＶＭＭ２５を有し、これらによって各種処理を実行する。
【００３９】
ＶＭＭ２５は、ＶＭの作成、削除、起動、停止などＶＭに関する各種制御を実施するソフトウエアであり、マイグレーション実行部２５ａを有する。例えば、ＶＭＭ２５は、管理サーバ１０からＶＭ作成指示を受信した場合には、仮想マシン領域２３にＶＭを作成し、管理サーバ１０からＶＭ削除指示を受信した場合には、該当ＶＭを仮想マシン領域２３から削除する。また、ＶＭＭ２５は、管理サーバ１０からＶＭ起動指示を受信した場合には、仮想マシン領域２３上の該当ＶＭを起動し、管理サーバ１０からＶＭ停止指示を受信した場合には、仮想マシン領域２３上の該当ＶＭを停止する。
【００４０】
マイグレーション実行部２５ａは、マイグレーションの実行を制御する。例えば、マイグレーション実行部２５ａは、管理サーバ１０からマイグレーション実行開始指示をＶＭＭ２５が受信した場合に、該当ＶＭのプレコピーを実施し、メモリの変更量に応じてプレコピーを繰り返す。そして、マイグレーション実行部２５ａは、メモリの変更量が所定値以下になった場合に、ストップアンドコピーを実施する。なお、どのＶＭをどこにマイグレーションさせるかなどの情報は、管理サーバ１０から受け付けても良いし、タスク等によってスケジューリングされていてもよい。
【００４１】
（物理スイッチの構成）
図４は、物理スイッチの構成を示すブロック図である。図４に示すように、物理スイッチ４０は、物理インタフェース４１とＭＡＣテーブル４２とＶＬＡＮテーブル４３と制御部４４とを有する。なお、これら以外にも、例えば管理者等から各種指示を受け付けるマウス等の入力部や、マイグレーション結果を表示したりするディスプレイ等の表示部などを有していてもよい。
【００４２】
物理インタフェース４１は、管理サーバ１０、移動元サーバ２０、移動先サーバ３０それぞれとの間の通信を制御するＮＩＣである。例えば、物理インタフェース４１は、管理サーバ１０からどのＶＭをどのＶＬＡＮに参加させるかや管理サーバ１０からどのＶＭをどのＶＬＡＮから削除させるかなどの情報を受信する。
【００４３】
ＭＡＣテーブル４２は、接続されるサーバのＭＡＣアドレス（Media  Access  Control  address）とＶＬＡＮ、ポート番号を動的に学習して記憶する半導体メモリ素子、または、ハードディスクなどの記憶装置である。例えば、ＭＡＣテーブル４２は、図５に示すように、「ＭＡＣアドレス、ＶＬＡＮ  ＩＤ、ポート番号」として「Ｘ、Ｖ１、Ｐ３」や「Ｙ、Ｖ１、Ｐ１」などを記憶する。なお、図５は、ＭＡＣテーブルに記憶される情報の例を示す図である。また、ＭＡＣテーブルに記憶される情報は、任意に設定変更することができる。
【００４４】
ここで記憶される「ＭＡＣアドレス」は、物理インタフェース４１を介して受信したデータ（パケット）に含まれる送信元のＭＡＣアドレスである。「ＶＬＡＮ  ＩＤ」は、物理インタフェース４１を介して受信したパケットに含まれるＶＬＡＮを識別する識別子である。「ポート番号」は、パケットを受信した物理インタフェース４１のポート番号、すなわち、送信元サーバのポート番号であり、これによってサーバがどのポート番号に接続されているのかを認識できる。
【００４５】
ＶＬＡＮテーブル４３は、ＶＬＡＮに属するポート番号を記憶する半導体メモリ素子、または、ハードディスクなどの記憶装置である。例えば、ＶＬＡＮテーブル４３は、図６に示すように、「ＶＬＡＮ  ＩＤ、属するサーバのポート番号」として「Ｖ１、Ｐ１・Ｐ２・Ｐ３・Ｐ４」などを記憶する。これらの情報は、管理者等によって手動で登録されてもよく、やり取りされるパケットから自動で取得することもできる。なお、図６は、ＶＬＡＮテーブルに記憶される情報の例を示す図である。また、ＶＬＡＮテーブルに記憶される情報は、任意に設定変更することができる。
【００４６】
ここで記憶される「ＶＬＡＮ  ＩＤ」は、物理インタフェース４１を介して受信したパケットに含まれるＶＬＡＮを識別する識別子である。「ポート番号」は、ＶＬＡＮ  ＩＤに属しているサーバのポート番号である。これらの情報は、管理者等によって手動で登録されてもよく、やり取りされるパケットから自動で取得することもできる。
【００４７】
制御部４４は、例えば、ＣＰＵやＭＰＵなどの電子回路である。この制御部４４は、ＯＳなどの制御プログラム、各種の処理手順などを規定したプログラムおよび所要データを格納するための内部メモリを有するとともに、行先制御部４５とＶＬＡＮ制御部４６を有し、これらによって各種処理を実行する。
【００４８】
行先制御部４５は、接続される各サーバ間でやり取りされるデータのルーティングを制御する。例えば、行先制御部４５は、移動元サーバ２０などのサーバからデータを受信した場合に、ＭＡＣテーブル４２やＶＬＡＮテーブル４３を参照して、宛先のサーバや宛先のサーバが属するＶＬＡＮを特定する。そして、行先制御部４５は、特定した宛先サーバが接続されるポート番号やＶＬＡＮに対してデータを送信する。
【００４９】
また、行先制御部４５は、受信したパケットからＭＡＣテーブル４２を学習する。例えば、行先制御部４５は、「宛先＝Ｘ、送信元＝Ｙ、ＶＬＡＮ＝Ｖ１」のパケットをポート番号（Ｐ１）から受信し、このパケットが未学習の場合には、ＶＬＡＮ（Ｖ１）に属する全てのポート番号に受信したパケットをフラディングする。そして、行先制御部４５は、「ＭＡＣアドレス＝Ｙ、ＶＬＡＮ  ＩＤ＝Ｖ１、ポート番号＝Ｐ１」をＭＡＣテーブル４２に格納する。その後、行先制御部４５は、「宛先＝Ｙ、送信元＝Ｘ、ＶＬＡＮ＝Ｖ１」のパケットをポート番号（Ｐ３）から受信した場合、「ＭＡＣアドレス＝Ｘ、ＶＬＡＮ  ＩＤ＝Ｖ１、ポート番号＝Ｐ３」をＭＡＣテーブル４２に格納する。このようにして、行先制御部４５は、受信したパケットからＭＡＣテーブル４２を学習する。
【００５０】
ＶＬＡＮ制御部４６は、ＶＬＡＮの生成や削除などＶＬＡＮに関する各種制御を実施する。例えば、ＶＬＡＮ制御部４６は、管理者等から新たなＶＬＡＮの作成指示と当該ＶＬＡＮに属するポート番号一覧を受信したとする。この場合、ＶＬＡＮ制御部４６は、当該ＶＬＡＮを作成するとともに、当該ＶＬＡＮのＶＬＡＮ  ＩＤと受け付けたポート番号一覧とを対応付けてＶＬＡＮテーブル４３に格納する。また、ＶＬＡＮ制御部４６は、管理者等からＶＬＡＮの削除指示を受信した場合、当該ＶＬＡＮのＶＬＡＮ  ＩＤに対応するデータをＶＬＡＮテーブル４３から削除する。
【００５１】
さらに、ＶＬＡＮ制御部４６は、既に存在しているＶＬＡＮに対して、新たなポート番号の登録指示を受信した場合、ＶＬＡＮテーブル４３に記憶される当該ＶＬＡＮのＶＬＡＮ  ＩＤに対応するポート番号一覧に受信したポート番号を登録する。例えば、ＶＬＡＮ制御部４６は、ＶＬＡＮ（Ｖ１）に対して、移動先サーバ３０のポート番号「Ｐ２」の追加指示を受信した場合には、ＶＬＡＮテーブル４３におけるＶＬＡＮ（Ｖ１）に属するポート番号一覧に「Ｐ２」を追加する。
【００５２】
さらに、ＶＬＡＮ制御部４６は、既に存在しているＶＬＡＮに属するポート番号の削除指示を受信した場合、ＶＬＡＮテーブル４３に記憶される当該ＶＬＡＮのＶＬＡＮ  ＩＤに対応するポート番号一覧から指示されたポート番号を削除する。例えば、ＶＬＡＮ制御部４６は、ＶＬＡＮ（Ｖ１）に対して、移動元サーバ２０のポート番号「Ｐ１」の削除指示を受信した場合には、ＶＬＡＮテーブル４３におけるＶＬＡＮ（Ｖ１）に属するポート番号一覧から「Ｐ１」を削除する。
【００５３】
［処理の流れ］
次に、実施例１に係るシステムにおける処理の流れを説明する。ここでは、図７を用いて、実施例１に係るマイグレーション時の処理の流れを説明し、図８を用いて、管理サーバにおけるメンバ追加の流れを説明し、図９を用いて、管理サーバにおけるメンバ削除の流れを説明する。
【００５４】
（マイグレーション時の処理の流れ）
図７を用いて、実施例１に係るマイグレーション時の処理の流れを説明する。図７は、実施例１に係るマイグレーション時の処理の流れを示すシーケンス図である。
【００５５】
管理サーバ１０のＶＭＭ制御部１４ａは、マイグレーション開始指示を受け付けると（ステップＳ１０１）、移動対象となるＶＭの作成指示を移動先サーバ３０に送信する（ステップＳ１０２）。そして、移動先サーバ３０のＶＭＭは、受信した指示に従ってＶＭを仮想マシン領域に作成し（ステップＳ１０３）、作成が完了すると、作成完了応答を管理サーバ１０に送信する（ステップＳ１０４）。
【００５６】
続いて、管理サーバ１０のＶＭＭ制御部１４ａは、移動元サーバ２０のＶＭＭ２５に対してプレコピーの開始指示を送信する（ステップＳ１０５）。すると、移動元サーバ２０のＶＭＭ２５は、移動先サーバ３０のＶＭＭに対して、自身が利用しているメモリ内容を転送する（ステップＳ１０６とステップＳ１０７）。
【００５７】
その後、管理サーバ１０の物理スイッチ制御部１４ｂは、プレコピーの完了通知を移動元サーバ２０から受信する（ステップＳ１０８）。続いて、物理スイッチ制御部１４ｂは、マイグレーションによるＶＭの移動元サーバ２０のＶＬＡＮ構成や移動先サーバ３０のＶＬＡＮ構成を制御するＶＬＡＮ制御を実施する（ステップＳ１０９）。つまり、移動先サーバ３０の物理ポートが、移動対象のＶＭが使用するＶＬＡＮに属していない場合に、移動先サーバ３０の物理ポートを当該ＶＬＡＮに追加するメンバ追加を実行する（ステップＳ１１０）。なお、このステップＳ１１０の処理は、図７のステップＳ１０１〜ステップＳ１１８までのいつ実行してもよく、さらには、ステップＳ１０１の前段階で実行してもよい。
【００５８】
そして、管理サーバ１０によってメンバ追加処理が実行されている間も、移動元サーバ２０のＶＭＭ２５は、メモリの変更量に応じて、プレコピーを繰り返す（ステップＳ１１１〜ステップＳ１１３）。
【００５９】
その後、管理サーバ１０の物理スイッチ制御部１４ｂは、プレコピーの完了通知を移動元サーバ２０から受信する（ステップＳ１１４）。続いて、ＶＭＭ制御部１４ａは、移動元サーバ２０のＶＭＭ２５に対してストップアンドコピーの開始指示を送信する（ステップＳ１１５）。すると、移動元サーバ２０のＶＭＭ２５は、自身のサーバ上で実行されている移動対象のＶＭの業務を一時的に停止し、自身が利用しているメモリ内容を移動先サーバ３０のＶＭＭに転送する（ステップＳ１１６とステップＳ１１７）。
【００６０】
そして、ＶＭＭ制御部１４ａは、ストップアンドコピーが終了したことを示す完了通知を受信すると（ステップＳ１１８）、移動先サーバ３０のＶＭＭに対して、新たに作成された（移動された）ＶＭの起動指示を送信する（ステップＳ１１９）。この起動指示を受信した移動先サーバ３０のＶＭＭは、新たに作成したＶＭを起動し（ステップＳ１２０）、起動が完了したことを管理サーバ１０に送信する（ステップＳ１２１）。
【００６１】
続いて、物理スイッチ制御部１４ｂは、マイグレーションによるＶＭの移動元サーバ２０のＶＬＡＮ構成や移動先サーバ３０のＶＬＡＮ構成を制御するＶＬＡＮ制御を実施する（ステップＳ１２２）。つまり、物理スイッチ制御部１４ｂは、移動元サーバ２０上の他のＶＭが当該ＶＬＡＮを利用していない場合に、移動対象のＶＭが使用していたＶＬＡＮから移動元サーバ２０の物理ポートを削除するメンバ削除を実行する（ステップＳ１２３）。
【００６２】
（メンバ追加の処理の流れ）
図８を用いて、管理サーバにおけるメンバ追加の流れを説明する。図８は、管理サーバにおけるメンバ追加の流れを示すフローチャートである。
【００６３】
図８に示すように、管理サーバ１０のＶＭＭ制御部１４ａは、マイグレーション開始指示（イベント）を受け付けると（ステップＳ２０１）、マイグレーション情報を取得する（ステップＳ２０２）。例えば、ＶＭＭ制御部１４ａは、マイグレーション情報として、「どのサーバのどのＶＭをどのサーバに移動させるのか」として「移動元サーバ２０のＶＭ１を移動先サーバ３０に移動させる」などを取得する。取得する先としては、スケジューリングされている情報や管理者等の入力などである。
【００６４】
続いて、物理スイッチ制御部１４ｂの利用制御部１４ｃは、物理スイッチ４０のＶＬＡＮテーブル４３を参照して、移動先サーバ３０のポート番号が移動対象のＶＭが使用するＶＬＡＮに属しているか否かを判定する（ステップＳ２０３）。
【００６５】
そして、利用制御部１４ｃは、移動先サーバ３０のポート番号が移動対象のＶＭが使用するＶＬＡＮに属していない場合（ステップＳ２０３否定）、移動先サーバ３０のポート番号を当該ＶＬＡＮのメンバに追加する（ステップＳ２０４）。具体的には、利用制御部１４ｃは、追加対象の「ＶＬＡＮ  ＩＤ」と追加対象の「ポート番号」を示すメンバ追加する指示を物理スイッチ４０に送信し、物理スイッチ４０は、受信した指示に従ってＶＬＡＮテーブル４３を更新する。
【００６６】
一方、利用制御部１４ｃは、移動先サーバ３０のポート番号が移動対象のＶＭが使用するＶＬＡＮに属している場合（ステップＳ２０３肯定）、ステップＳ２０５の処理を実行する。
【００６７】
その後、利用制御部１４ｃは、進行中のマイグレーション情報を記憶部１２等に格納する（ステップＳ２０５）。なお、利用制御部１４ｃは、進行中のマイグレーションが終了した場合には、当該情報を記憶部１２から削除する。また、記憶される進行中のマイグレーション情報とは、例えば、「移動元サーバ、移動対象ＶＭ、使用ＶＬＡＮ、移動元サーバのＶＬＡＮ情報、移動先サーバのＶＬＡＮ情報」などである。
【００６８】
（メンバ削除の処理の流れ）
図９を用いて、管理サーバにおけるメンバ削除の流れを説明する。図９は、管理サーバにおけるメンバ削除の流れを示すフローチャートである。
【００６９】
図９に示すように、管理サーバ１０のＶＭＭ制御部１４ａは、ストップアンドコピー完了時又はＶＭ起動完了時のイベントを受け付けると（ステップＳ３０１）、進行中のマイグレーション情報を取得する（ステップＳ３０２）。こうすることで、どのマイグレーションが終了したのかを特定することができる。
【００７０】
続いて、物理スイッチ制御部１４ｂの利用判定部１４ｄは、物理スイッチ４０のＶＬＡＮテーブル４３を参照して、移動元サーバ２０に同じＶＬＡＮに属しているＶＭが存在するか否かを判定する（ステップＳ３０３）。そして、利用判定部１４ｄは、移動元サーバ２０に同じＶＬＡＮに属しているＶＭが存在しないと判定した場合（ステップＳ３０３否定）、移動元サーバ２０に同じＶＬＡＮに属する他のＶＭがマイグレーション中であるか否かを判定する（ステップＳ３０４）。
【００７１】
続いて、利用判定部１４ｄが、移動元サーバ２０に同じＶＬＡＮに属する他のＶＭがマイグレーション中でないと判定したとする（ステップＳ３０４否定）。この場合、利用停止部１４ｅは、移動元サーバ２０のポート番号を当該ＶＬＡＮのメンバから削除する（ステップＳ３０５）。具体的には、利用停止部１４ｅは、削除対象の「ＶＬＡＮ  ＩＤ」と削除対象の「ポート番号」を示すメンバ削除する指示を物理スイッチ４０に送信し、物理スイッチ４０は、受信した指示に従ってＶＬＡＮテーブル４３を更新する。
【００７２】
その後、利用停止部１４ｅは、記憶部１２に記憶される進行中のマイグレーション情報を更新する（ステップＳ３０６）。
【００７３】
一方、移動元サーバ２０に同じＶＬＡＮに属しているＶＭが存在すると利用判定部１４ｄが判定した場合（ステップＳ３０３肯定）、利用停止部１４ｅは、ステップＳ３０４〜ステップＳ３０６の処理を実行することなく処理を終了する。また、移動元サーバ２０に同じＶＬＡＮに属する他のＶＭがマイグレーション中であると利用判定部１４ｄが判定した場合（ステップＳ３０４肯定）、利用停止部１４ｅは、ステップＳ３０５とステップＳ３０６の処理を実行することなく処理を終了する。
【００７４】
［実施例１による効果］
このように、実施例１によれば、管理サーバ１０は、マイグレーションによる移動対象のＶＭの移動先である移動先サーバ３０の物理ポートが、移動対象のＶＭが使用するＶＬＡＮに属していない場合に、移動先サーバ３０の物理ポートを当該ＶＬＡＮに追加する。そして、管理サーバ１０は、マイグレーションによって移動対象のＶＭが移動先サーバ３０に移動された場合に、移動対象のＶＭが使用していたＶＬＡＮが移動元サーバ２０上の他のＶＭで利用されているか否かを判定する。その後、管理サーバ１０は、移動元サーバ２０上の他のＶＭで利用されていないと判定された場合に、移動対象のＶＭが使用していたＶＬＡＮから移動元サーバ２０の物理ポートを削除する。この結果、マイグレーションの実行による不要なトラフィックの発生を防止することが可能である。
【００７５】
また、実施例１によれば、高速なイーサネット（登録商標）を用いて、ネットワークだけでなく、ストレージもＦＣｏＥ（Fiber  Channel  over  Ethernet（登録商標））を用いて集約した環境においても、マイグレーションを効率よく実行できる。仮想マシンの移行に合わせて物理スイッチの設定を最適化することで、不要なトラフィックをなくすことができる。ＩＧＭＰスヌーピングを実行中にマイグレーションを行っても、移動先のサーバが業務を継続できる。
【実施例２】
【００７６】
ところで、実施例１では、管理サーバ１０は、物理スイッチ４０のＶＬＡＮテーブル４３を参照して、ＶＬＡＮのメンバに追加したり、ＶＬＡＮのメンバから削除したりする例について説明したが、これに限定されるものではない。例えば、管理サーバ１０は、管理者等から受け付けたマイグレーション実行後（移動後）のＶＬＡＮ情報を予定セットとして記憶部１２に記憶する。そして、管理サーバ１０は、記憶する予定セットに基づいて、ＶＬＡＮのメンバに追加したり、ＶＬＡＮのメンバから削除したりすることもできる。
【００７７】
そこで、実施例２では、予定セットを用いてＶＬＡＮのメンバに追加したり、ＶＬＡＮのメンバから削除したりする例について説明する。ここでは、図１０〜図１２を用いて、実施例２に係るマイグレーション処理を説明し、図１３を用いてメンバの追加を説明し、図１４を用いてメンバの削除を説明する。
【００７８】
（実施例２に係るマイグレーション処理）
図１０は、実施例２におけるマイグレーション処理前後のＶＭ構成を説明する図である。図１１は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図であり、図１２は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【００７９】
図１０の（１）に示すように、サーバ１にはＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＬＡＮ（Ｖ２）に属するＶＭ２が起動している。また、サーバ２にはＶＬＡＮ（Ｖ１）に属するＶＭ３とＶＬＡＮ（Ｖ２）に属するＶＭ４が起動している。また、サーバ１は、物理ポートＰ１を介して物理スイッチと接続され、サーバ２は、物理ポートＰ２を介して物理スイッチと接続され、物理スイッチは、物理ポートＰ３を介して他のサーバと接続される。
【００８０】
ここでは、このような状態を図１０の（２）に示すように、サーバ１にはＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＭ３のみが起動しており、サーバ２にはＶＬＡＮ（Ｖ２）に属するＶＭ２とＶＭ４のみが起動している状態に移動させる例について説明する。
【００８１】
したがって、物理スイッチ４０のＶＬＡＮテーブル４３は、図１１に示すように「Ｖ１：Ｐ１，Ｐ２，Ｐ３、Ｖ２：Ｐ１，Ｐ２，Ｐ３」を現状のＶＬＡＮ情報として記憶する。つまり、ＶＬＡＮテーブル４３は、マイグレーション実行によるＶＭ移動前においては、図１０に示した各物理ポートＰ１、Ｐ２、Ｐ３がＶＬＡＮ（Ｖ１）とＶＬＡＮ（Ｖ２）のそれぞれに属していることを記憶する。
【００８２】
一方、管理サーバ１０の記憶部１２は、図１２に示すように「Ｖ１：Ｐ１，Ｐ３、Ｖ２：Ｐ２，Ｐ３」を移動後のＶＬＡＮ情報として記憶する。つまり、記憶部１２は、マイグレーション実行によるＶＭ移動後においては、図１０に示した物理ポートＰ１、Ｐ３がＶＬＡＮ（Ｖ１）に属しており、物理ポートＰ２、Ｐ３がＶＬＡＮ（Ｖ２）に属していることを予定セットとして記憶する。
【００８３】
このような状態において、サーバ１からサーバ２へＶＭ２の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１１）とマイグレーション実行後（移動後）のＶＬＡＮ情報（図１２）とを比較する。そして、管理サーバ１０は、マイグレーション実行後にはサーバ２の物理ポート（Ｐ２）がＶ２に属していると判定する。したがって、サーバ１からサーバ２へのＶＭ２の移動に伴う移動先サーバに関するＶＬＡＮ設定変更はない。
【００８４】
続いて、サーバ２からサーバ１へＶＭ３の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１１）とマイグレーション実行後のＶＬＡＮ情報（図１２）とを比較する。そして、管理サーバ１０は、実行後にはサーバ１の物理ポート（Ｐ１）がＶ１に属していると判定する。したがって、サーバ２からサーバ１へのＶＭ３の移動に伴う移動先サーバに関するＶＬＡＮ設定変更はない。
【００８５】
その後、サーバ１からサーバ２へＶＭ２の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１１）とマイグレーション実行後のＶＬＡＮ情報（図１２）とを比較する。そして、管理サーバ１０は、実行後にはサーバ１の物理ポート（Ｐ１）がＶ２に属していないと判定する。したがって、管理サーバ１０は、物理スイッチ４０に対して、Ｖ２からＰ１を削除する処理を実施する。
【００８６】
また、サーバ２からサーバ１へＶＭ３の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１１）とマイグレーション実行後のＶＬＡＮ情報（図１２）とを比較する。そして、管理サーバ１０は、実行後にはサーバ２の物理ポート（Ｐ２）がＶ１に属していないと判定する。したがって、管理サーバ１０は、物理スイッチ４０に対して、Ｖ１からＰ２を削除する処理を実施する。
【００８７】
（実施例２に係るメンバ追加の流れ）
次に、図１３を用いて、実施例２に係る管理サーバにおけるメンバ追加の流れを説明する。図１３は、実施例２に係る管理サーバにおけるメンバ追加の流れを示すフローチャートである。
【００８８】
図１３に示すように、管理サーバ１０のＶＭＭ制御部１４ａは、マイグレーション開始イベントを受け付けると（ステップＳ４０１）、マイグレーション情報を取得する（ステップＳ４０２）。例えば、ＶＭＭ制御部１４ａは、マイグレーション情報として、「移動対象のＶＭ、移動元サーバのＶＬＡＮ情報、移動先サーバのＶＬＡＮ情報」などである。
【００８９】
続いて、物理スイッチ制御部１４ｂの利用制御部１４ｃは、マイグレーション情報を予定セットして記憶部１２に記憶する（ステップＳ４０３）。例えば、利用制御部１４ｃは、ステップＳ４０２で取得したマイグレーション実行後の各サーバのＶＬＡＮ情報を予定セットとして記憶部１２に記憶する。
【００９０】
そして、利用制御部１４ｃは、現状のＶＬＡＮ情報と予定セットとして記憶されるマイグレーション実行後の各サーバのＶＬＡＮ情報とを比較する（ステップＳ４０４）。続いて、利用制御部１４ｃは、移動先サーバのポート番号が移動対象のＶＭが使用するＶＬＡＮに属しているか否かを判定する（ステップＳ４０５）。例えば、利用制御部１４ｃは、現状の各サーバのＶＬＡＮ情報を物理スイッチ４０のＶＬＡＮテーブル４３から取得する。そして、利用制御部１４ｃは、取得した現状の各サーバのＶＬＡＮ情報と予定セットとして記憶されるＶＬＡＮ情報とを比較する。
【００９１】
その後、利用制御部１４ｃは、移動先サーバのポート番号が移動対象のＶＭが使用するＶＬＡＮに属していない場合には（ステップＳ４０５否定）、移動先サーバのポート番号を当該ＶＬＡＮのメンバに追加する（ステップＳ４０６）。一方、利用制御部１４ｃは、移動先サーバのポート番号が移動対象のＶＭが使用するＶＬＡＮに属している場合には（ステップＳ４０５肯定）、ステップＳ４０６の処理を実行することなく処理を終了する。
【００９２】
なお、利用制御部１４ｃは、マイグレーションを実行するたびに、現状の各サーバのＶＬＡＮ情報を物理スイッチ４０のＶＬＡＮテーブル４３から取得する必要はない。例えば、利用制御部１４ｃは、前回の移動後の情報を記憶しておき、この前回の移動後の情報を今回の現状の情報として用いてもよい。また、利用制御部１４ｃは、ステップＳ４０２で管理者等から受け付けるようにしてもよい。
【００９３】
（実施例２に係るメンバ削除の流れ）
図１４を用いて、実施例２に係る管理サーバにおけるメンバ削除の流れを説明する。図１４は、実施例２に係る管理サーバにおけるメンバ削除の流れを示すフローチャートである。
【００９４】
図１４に示すように、管理サーバ１０のＶＭＭ制御部１４ａは、ストップアンドコピー完了時又はＶＭ起動完了時のイベントを受け付けると（ステップＳ５０１）、終了したマイグレーションの情報を取得する（ステップＳ５０２）。例えば、記憶部１２等に実行中のマイグレーションと当該マイグレーションを識別する識別子とを対応付けて記憶し、終了したマイグレーションの識別子を制御部等から取得することで、終了したマイグレーションを特定することができる。
【００９５】
利用判定部１４ｄは、取得したマイグレーションの情報を予定セットから削除し（ステップＳ５０３）、現状のＶＬＡＮ情報とマイグレーション実行後のＶＬＡＮ情報とを比較する（ステップＳ５０４）。なお、予定セットからの削除は、ステップＳ５０４やステップＳ５０６以降であってもよい。
【００９６】
続いて、利用判定部１４ｄは、移動されたＶＭと同じＶＬＡＮに属しているＶＭが移動元サーバに存在するか否かを判定する（ステップＳ５０５）。そして、移動されたＶＭと同じＶＬＡＮに属しているＶＭが移動元サーバに存在しないと利用判定部１４ｄが判定した場合（ステップＳ５０５否定）、利用停止部１４ｅは、移動元サーバのポート番号を当該ＶＬＡＮのメンバから削除する（ステップＳ５０６）。一方、利用停止部１４ｅは、は、移動されたＶＭと同じＶＬＡＮに属しているＶＭが移動元サーバに存在すると利用判定部１４ｄによって判定された場合（ステップＳ５０５肯定）、ステップＳ５０６を実行することなく処理を終了する。
【００９７】
（実施例２による効果）
このように、実施例２によれば、予約セットを用いて、現状のＶＬＡＮ設定状況とマイグレーション後のＶＬＡＮ設定状況とを比較する。この結果、仮想マシンの移行に合わせて物理スイッチの設定を効率的に最適化することができ、不要なトラフィックも効率的になくすことができる。
【実施例３】
【００９８】
実施例３では、図１５〜図１７を用いて、実施例２で説明した予定セットを用いた別例を説明する。図１５は、実施例３におけるマイグレーション処理前後のＶＭ構成を説明する図である。図１６は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図であり、図１７は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【００９９】
図１５の（１）に示すように、サーバ１にはＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＭ３が起動している。また、サーバ２にはＶＬＡＮ（Ｖ２）に属するＶＭ２とＶＭ４が起動している。また、サーバ１は、物理ポートＰ１を介して物理スイッチと接続され、サーバ２は、物理ポートＰ２を介して物理スイッチと接続され、物理スイッチは、物理ポートＰ３を介して他のサーバと接続される。
【０１００】
ここでは、このような状態を図１５の（２）に示すような状態に移動させる例について説明する。具体的には、サーバ１は、ＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＬＡＮ（Ｖ２）に属するＶＭ３が起動している状態である。サーバ２は、ＶＬＡＮ（Ｖ１）に属するＶＭ３とＶＬＡＮ（Ｖ２）に属するＶＭ４が起動している状態である。
【０１０１】
したがって、物理スイッチ４０のＶＬＡＮテーブル４３は、図１６に示すように「Ｖ１：Ｐ１，Ｐ３、Ｖ２：Ｐ２，Ｐ３」を現状のＶＬＡＮ情報として記憶する。つまり、ＶＬＡＮテーブル４３は、マイグレーション実行によるＶＭ移動前においては、図１５に示した物理ポートＰ１、Ｐ３がＶＬＡＮ（Ｖ１）に属しており、物理ポートＰ２、Ｐ３がＶＬＡＮ（Ｖ２）に属していることを記憶する。
【０１０２】
一方、管理サーバ１０の記憶部１２は、図１７に示すように「Ｖ１：Ｐ１，Ｐ２，Ｐ３、Ｖ２：Ｐ１，Ｐ２，Ｐ３」を移動前のＶＬＡＮ情報として記憶する。つまり、記憶部１２は、マイグレーション実行によるＶＭ移動後においては、図１５に示した各物理ポートＰ１、Ｐ２、Ｐ３がＶＬＡＮ（Ｖ１）とＶＬＡＮ（Ｖ２）のそれぞれに属していることを記憶する。
【０１０３】
このような状態において、サーバ１からサーバ２へＶＭ３の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１６）とマイグレーション実行後のＶＬＡＮ情報（図１７）とを比較する。そして、管理サーバ１０は、実行後のサーバ２の物理ポート（Ｐ２）がＶ１に属していないと判定する。したがって、管理サーバ１０は、物理スイッチ４０に対して、Ｖ１にＰ２を追加する処理を実施する。
【０１０４】
続いて、サーバ２からサーバ１へＶＭ２の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１６）とマイグレーション実行後のＶＬＡＮ情報（図１７）とを比較する。そして、管理サーバ１０は、実行後のサーバ１の物理ポート（Ｐ１）がＶ２に属していないと判定する。したがって、管理サーバ１０は、物理スイッチ４０に対して、Ｖ２にＰ１を追加する処理を実施する。
【０１０５】
その後、サーバ１からサーバ２へＶＭ３の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１６）とマイグレーション実行後のＶＬＡＮ情報（図１７）とを比較する。そして、管理サーバ１０は、実行後のサーバ１の物理ポート（Ｐ１）がＶ１に属していると判定する。したがって、サーバ１からサーバ２へのＶＭ３の移動に伴う移動元サーバに関するＶＬＡＮ設定変更はない。
【０１０６】
また、サーバ２からサーバ１へＶＭ２の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１６）とマイグレーション実行後のＶＬＡＮ情報（図１７）とを比較する。そして、管理サーバ１０は、実行後のサーバ２の物理ポート（Ｐ２）がＶ１に属していると判定する。したがって、サーバ２からサーバ１へのＶＭ２の移動に伴う移動元サーバに関するＶＬＡＮ設定変更はない。
【０１０７】
このように、実施例３によれば、実施例２と同様、予約セットを用いて、現状のＶＬＡＮ設定状況とマイグレーション後のＶＬＡＮ設定状況とを比較する。この結果、仮想マシンの移行に合わせて物理スイッチの設定を効率的に最適化することができ、不要なトラフィックも効率的になくすことができる。したがって、どのような設定状況であっても、物理スイッチの設定を効率的に最適化することができ、不要なトラフィックも効率的になくすことができる。
【実施例４】
【０１０８】
実施例４では、図１８〜図２０を用いて、移動元サーバと移動先サーバとの間で、同じＶＬＡＮに属するＶＭをそれぞれに同時に移動させる例について説明する。図１８は、実施例４におけるマイグレーション処理前後のＶＭ構成を説明する図である。図１９は、マイグレーションが開始された現状のＶＬＡＮ設定情報を示す図であり、図２０は、予定セットとして記憶されるマイグレーション完了後のＶＬＡＮ設定情報を示す図である。
【０１０９】
図１８の（１）に示すように、サーバ１にはＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＬＡＮ（Ｖ２）に属するＶＭ２が起動している。また、サーバ２にはＶＬＡＮ（Ｖ１）に属するＶＭ３とＶＬＡＮ（Ｖ２）に属するＶＭ４が起動している。また、サーバ１は、物理ポートＰ１を介して物理スイッチと接続され、サーバ２は、物理ポートＰ２を介して物理スイッチと接続され、物理スイッチは、物理ポートＰ３を介して他のサーバと接続される。
【０１１０】
ここでは、このような状態を図１８の（２）に示すような状態に移動させる例について説明する。具体的には、サーバ１は、ＶＬＡＮ（Ｖ１）に属するＶＭ１とＶＬＡＮ（Ｖ２）に属するＶＭ４が起動している状態である。サーバ２は、ＶＬＡＮ（Ｖ１）に属するＶＭ３とＶＬＡＮ（Ｖ２）に属するＶＭ２が起動している状態である。
【０１１１】
したがって、物理スイッチ４０のＶＬＡＮテーブル４３は、図１９に示すように「Ｖ１：Ｐ１，Ｐ２，Ｐ３、Ｖ２：Ｐ１，Ｐ２，Ｐ３」を現状のＶＬＡＮ情報として記憶する。つまり、ＶＬＡＮテーブル４３は、マイグレーション実行によるＶＭ移動前においては、図１８に示した各物理ポートＰ１、Ｐ２、Ｐ３がＶＬＡＮ（Ｖ１）とＶＬＡＮ（Ｖ２）のそれぞれに属していることを記憶する。
【０１１２】
一方、管理サーバ１０の記憶部１２は、図２０に示すように「Ｖ１：Ｐ１，Ｐ２，Ｐ３、Ｖ２：Ｐ１，Ｐ２，Ｐ３」を移動後のＶＬＡＮ情報として記憶する。つまり、記憶部１２は、マイグレーション実行によるＶＭ移動後においては、図２０に示した各物理ポートＰ１、Ｐ２、Ｐ３がＶＬＡＮ（Ｖ１）とＶＬＡＮ（Ｖ２）のそれぞれに属していることを記憶する。
【０１１３】
このような状態において、サーバ１からサーバ２へＶＭ２の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１９）とマイグレーション実行後のＶＬＡＮ情報（図２０）とを比較する。そして、管理サーバ１０は、実行後のサーバ２の物理ポート（Ｐ２）がＶ２に属していると判定する。したがって、サーバ１からサーバ２へのＶＭ２の移動に伴う移動先サーバに関するＶＬＡＮ設定変更はない。また、このマイグレーションに関する情報を記憶部１２に進行中の情報として記憶する。
【０１１４】
続いて、サーバ２からサーバ１へＶＭ４の移動を開始した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１９）とマイグレーション実行後のＶＬＡＮ情報（図２０）とを比較する。そして、管理サーバ１０は、実行後のサーバ１の物理ポート（Ｐ１）がＶ２に属していると判定する。したがって、サーバ２からサーバ１へのＶＭ３の移動に伴う移動先サーバに関するＶＬＡＮ設定変更はない。また、このマイグレーションに関する情報を記憶部１２に進行中の情報として記憶する。
【０１１５】
その後、サーバ１からサーバ２へＶＭ２の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１９）とマイグレーション実行後のＶＬＡＮ情報（図２０）とを比較する。そして、管理サーバ１０は、実行後のサーバ１の物理ポート（Ｐ１）がＶ１に属していると判定する。したがって、サーバ１からサーバ２へのＶＭ２の移動に伴う移動元サーバに関するＶＬＡＮ設定変更はない。また、このマイグレーションに関する情報を記憶部１２に記憶される進行中の情報から削除する。
【０１１６】
また、サーバ２からサーバ１へＶＭ４の移動が終了した場合、管理サーバ１０は、マイグレーション実行前の現状のＶＬＡＮ情報（図１９）とマイグレーション実行後のＶＬＡＮ情報（図２０）とを比較する。そして、管理サーバ１０は、実行後のサーバ２の物理ポート（Ｐ２）がＶ２に属していると判定する。したがって、サーバ２からサーバ１へのＶＭ４の移動に伴う移動元サーバに関するＶＬＡＮ設定変更はない。また、このマイグレーションに関する情報を記憶部１２に記憶される進行中の情報から削除する。
【０１１７】
このように、実施例４によれば、移動元サーバと移動先サーバとの間で同じＶＬＡＮに属するＶＭをそれぞれに移動させる場合に、それぞれのマイグレーションの進行情報と予定セットとを記憶部１２に記憶管理する。この結果、無駄なＶＬＡＮ設定変更の実施を抑止することができ、マイグレーションを効率的に実行することができる。
【実施例５】
【０１１８】
さて、これまで本発明の実施例について説明したが、本発明は上述した実施例以外にも、種々の異なる形態にて実施されてよいものである。そこで、以下に異なる実施例を説明する。
【０１１９】
（利用開始制御および停止制御の手法）
実施例１〜４では、物理ポートがＶＬＡＮを使用可能にする制御として、ＶＬＡＮのメンバに物理ポートを追加する手法を例示したがこれに限定されるものではない。例えば、物理スイッチ４０のＶＬＡＮテーブル４３に「使用可能状況」などのフラグを用意し、使用可能であれば「ＯＮ」、使用不可であれば「ＯＦＦ」を登録するようにしてもよい。また、物理ポートがＶＬＡＮを使用不能にする制御として、ＶＬＡＮのメンバから物理ポートを削除する手法を例示したがこれに限定されるものではない。上記例と同様に、例えば、物理スイッチ４０のＶＬＡＮテーブル４３に「使用可能状況」などのフラグを用意し、使用可能であれば「ＯＮ」、使用不可であれば「ＯＦＦ」を登録するようにしてもよい。
【０１２０】
（システム）
また、本実施例において説明した各処理のうち、自動的におこなわれるものとして説明した処理の全部または一部を手動的におこなうこともできる。あるいは、手動的におこなわれるものとして説明した処理の全部または一部を公知の方法で自動的におこなうこともできる。この他、上記文書中や図面中で示した処理手順、制御手順、具体的名称、例えば図３、図４、図６〜図１６等に示した各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。
【０１２１】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、例えばＶＭＭ制御部１４ａと物理スイッチ制御部１４ｂとを統合するなど各装置の分散・統合の具体的形態は図示のものに限られない。また、管理サーバ１０の各制御部を物理スイッチ４０が設けるようにしてもよい。つまり、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。さらに、各装置にて行なわれる各処理機能は、その全部または任意の一部が、ＣＰＵおよび当該ＣＰＵにて解析実行されるプログラムにて実現され、あるいは、ワイヤードロジックによるハードウェアとして実現され得る。
【０１２２】
（プログラム）
ところで、上記の実施例で説明した各種の処理は、あらかじめ用意されたプログラムをパーソナルコンピュータやワークステーションなどのコンピュータシステムで実行することによって実現することができる。そこで、以下では、上記の実施例と同様の機能を有するプログラムを実行するコンピュータシステムの一例を説明する。
【０１２３】
図２１は、マイグレーション制御プログラムを実行するコンピュータシステム１００を示す図である。図２１に示すように、コンピュータシステム１００は、ＲＡＭ１０１と、ＨＤＤ１０２と、ＲＯＭ１０３と、ＣＰＵ１０４とを有する。ここで、ＲＯＭ１０３には、上の実施例と同様の機能を発揮するプログラムがあらかじめ記憶されている。つまり、図２１に示すように、ＶＭＭ制御プログラム１０３ａ、利用制御プログラム１０３ｂ、利用判定プログラム１０３ｃ、利用停止プログラム１０３ｄがあらかじめ記憶されている。
【０１２４】
そして、ＣＰＵ１０４には、これらのプログラム１０３ａ〜１０３ｄを読み出して実行することで、図２１に示すように、各プロセスとなる。つまり、ＶＭＭ制御プロセス１０４ａ、利用制御プロセス１０４ｂ、利用判定プロセス１０４ｃ、利用停止プロセス１０４ｄとなる。なお、ＶＭＭ制御プロセス１０４ａは、図２に示したＶＭＭ制御部１４ａに対応し、同様に、利用制御プロセス１０４ｂは、利用制御部１４ｃに対応する。また、利用判定プロセス１０４ｃは、利用判定部１４ｄに対応し、利用停止プロセス１０４ｄは、利用停止部１４ｄに対応する。また、ＨＤＤ１０２には、各プロセスで実行されるデータを記憶する領域やテンポラリ領域が設けられる。
【０１２５】
ところで、上記したプログラム１０３ａ〜１０３ｄは、必ずしもＲＯＭ１０３に記憶させておく必要はない。例えば、コンピュータシステム１００に挿入されるフレキシブルディスク（ＦＤ）、ＣＤ−ＲＯＭ、ＤＶＤディスク、光磁気ディスク、ＩＣカードなどの「可搬用の物理媒体」に記憶させておくにしてもよい。また、コンピュータシステム１００の内外に備えられるハードディスクドライブ（ＨＤＤ）などの「固定用の物理媒体」に記憶させておいてもよい。さらに、公衆回線、インターネット、ＬＡＮ、ＷＡＮなどを介してコンピュータシステム１００に接続される「他のコンピュータシステム」に記憶させておいてもよい。そして、コンピュータシステム１００がこれらからプログラムを読み出して実行するようにしてもよい。
【０１２６】
すなわち、この他の実施例でいうプログラムは、上記した「可搬用の物理媒体」、「固定用の物理媒体」、「通信媒体」などの記録媒体に、コンピュータ読み取り可能に記録されるものである。そして、コンピュータシステム１００は、このような記録媒体からプログラムを読み出して実行することで上記した実施例と同様の機能を実現する。なお、この他の実施例でいうプログラムは、コンピュータシステム１００によって実行されることに限定されるものではない。例えば、他のコンピュータシステムまたはサーバがプログラムを実行する場合や、これらが協働してプログラムを実行するような場合にも、本発明を同様に適用することができる。
【符号の説明】
【０１２７】
１０  管理サーバ
１１  物理インタフェース
１２  記憶部
１３  制御部
１４  マイグレーション制御部
１４ａ  ＶＭＭ制御部
１４ｂ  物理スイッチ制御部
１４ｃ  利用制御部
１４ｄ  利用判定部
１４ｅ  利用停止部
２０  移動元サーバ
２１  物理インタフェース
２２  記憶部
２３  仮想マシン領域
２４  制御部
２５  ＶＭＭ
２５ａ  マイグレーション実行部
４０  物理スイッチ
４１  物理インタフェース
４２  ＭＡＣテーブル
４３  ＶＬＡＮテーブル
４４  制御部
４５  行先制御部
４６  ＶＬＡＮ制御部
１００  コンピュータシステム
１０１  ＲＡＭ
１０２  ＨＤＤ
１０３  ＲＯＭ
１０３ａ  ＶＭＭ制御プログラム
１０３ｂ  利用制御プログラム
１０３ｃ  利用判定プログラム
１０３ｄ  利用停止プログラム
１０４  ＣＰＵ
１０４ａ  ＶＭＭ制御プロセス
１０４ｂ  利用制御プロセス
１０４ｃ  利用判定プロセス
１０４ｄ  利用停止プロセス
【図１】
2011146002.tif 000003
【図２】
2011146002.tif 000004
【図３】
2011146002.tif 000005
【図４】
2011146002.tif 000006
【図５】
2011146002.tif 000007
【図６】
2011146002.tif 000008
【図７】
2011146002.tif 000009
【図８】
2011146002.tif 000010
【図９】
2011146002.tif 000011
【図１０】
2011146002.tif 000012
【図１１】
2011146002.tif 000013
【図１２】
2011146002.tif 000014
【図１３】
2011146002.tif 000015
【図１４】
2011146002.tif 000016
【図１５】
2011146002.tif 000017
【図１６】
2011146002.tif 000018
【図１７】
2011146002.tif 000019
【図１８】
2011146002.tif 000020
【図１９】
2011146002.tif 000021
【図２０】
2011146002.tif 000022
【図２１】
2011146002.tif 000023
【図２２】
2011146002.tif 000024
【図２３】
2011146002.tif 000025
【図２４】
2011146002.tif 000026