(57)【要約】【課題】疎通確認可能であるが、管理装置からの制御を受け付けなくなった情報処理装置で動作する仮想マシンを、管理装置が制御可能な情報処理装置に移行する。【解決手段】管理装置によって管理される情報処理装置は、管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築する仮想マシン管理部と、他の情報処理装置が仮想マシンのＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンを稼働させている場合に、該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信する制御部と、通知後に仮想マシンをネットワークに接続する仮想スイッチと、を備える。【選択図】図１２
2017130125.tif 000002
【特許請求の範囲】
【請求項１】
管理装置によって管理される情報処理装置であって、
前記管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築する仮想マシン管理部と、
他の情報処理装置が前記仮想マシンの前記ＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンを稼働させている場合に、該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信する制御部と、
前記通知後に前記仮想マシンを前記ネットワークに接続する仮想スイッチと、
を備える情報処理装置。
【請求項２】
前記制御部は、前記仮想マシン管理部が前記仮想マシンを構築する前に、前記他の情報処理装置で稼働し前記仮想マシンの前記ＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンとの通信が可能か否かを確認する、
請求項１に記載の情報処理装置。
【請求項３】
前記仮想マシン管理部は、前記仮想マシンを前記ネットワークに接続しない状態で構築し、
前記制御部は、前記他の情報処理装置が前記ネットワークから切断された場合に前記仮想マシンを前記ネットワークに接続する、
請求項１または２に記載の情報処理装置。
【請求項４】
前記制御部は、前記通知を前記ネットワークにブロードキャストで送信し、
前記他の情報処理装置は、前記ＭＡＣアドレスを含む前記通知を受信した場合に、前記他の情報処理装置を前記ネットワークから切断する、
請求項１から３のいずれか一項に記載の情報処理装置。
【請求項５】
第１のＭＡＣアドレスを有する第１の仮想マシンが稼働する第１の情報処理装置および第２の情報処理装置を管理する管理装置であって、
前記第１の情報処理装置と疎通可能か否かを監視する物理マシン監視部と、
前記第１の仮想マシンの稼働情報を取得する仮想マシン監視部と、
前記第１の情報処理装置と疎通可能であり、前記第１の仮想マシンの稼働情報が取得されない場合に、前記第１のＭＡＣアドレスを有する第２の仮想マシンをネットワークに接続しない状態で前記第２の情報処理装置に構築させる移行制御部と、
前記第１の情報処理装置が疎通可能でなくなった場合に、前記第２の情報処理装置に、前記第２の仮想マシンを前記ネットワークに接続させる通信移行制御部と、
を備える管理装置。
【請求項６】
管理装置によって管理される情報処理装置が、
前記管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築し、
他の情報処理装置が前記仮想マシンの前記ＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンを稼働させている場合に、該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信し、
前記通知後に前記仮想マシンを前記ネットワークに接続する、
情報処理装置の切替方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、管理装置および情報処理装置の切替方法に関する。
【背景技術】
【０００２】
仮想マシンを稼働させる複数の情報処理装置を監視する管理装置がある。監視対象の情報処理装置で異常が検知された場合、管理装置は、異常が検知された情報処理装置で動作している仮想マシンを、処理継続のために正常な情報処理装置に再配置する。
【０００３】
検知された異常が情報処理装置間の通信経路の障害等である場合には、管理装置は、情報処理装置間の通信を他の経路に切り替えることにより、処理を継続させることができる（例えば、特許文献１から３）。また、情報処理装置の一部分の故障により異常が検知されても、故障した情報処理装置上の仮想マシンが動作している場合には、管理装置は、動作している仮想マシンを、正常な情報処理装置に再配置し、正常に処理を継続させることができる。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００７−２１３４６５号公報
【特許文献２】特開２０１１−１７５５８２号公報
【特許文献３】特開２０１２−０１４６７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかし、情報処理装置の一部分の故障により異常が検知され、故障した情報処理装置が疎通確認可能であるが、管理装置からの制御を受け付けなくなった場合には、故障した情報処理装置で動作している仮想マシンが再配置されないという問題があった。仮想マシンの再配置は、以下、仮想マシンの移行ともいう。
【０００６】
本発明は、疎通確認可能であるが、管理装置からの制御を受け付けなくなった情報処理装置で動作する仮想マシンを、管理装置が制御可能な情報処理装置に移行する技術を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本発明の態様の一つは、管理装置によって管理される情報処理装置である。情報処理装置は、管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築する仮想マシン管理部と、他の情報処理装置が仮想マシンのＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンを稼働させている場合に、該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信する制御部と、通知後に仮想マシンをネットワークに接続する仮想スイッチと、を備える。
【発明の効果】
【０００８】
本発明の一態様によれば、疎通確認可能であるが、管理装置からの制御を受け付けなくなった情報処理装置で動作する仮想マシンを、管理装置が制御可能な情報処理装置に移行することができる。
【図面の簡単な説明】
【０００９】
【図１】仮想マシンの再配置の例を示す図である。
【図２】物理マシンが管理装置からの制御を受け付けない場合の例を示す図である。
【図３】管理装置が物理マシンのリソースの情報および通信状況の情報を取得する処理の例を示すシーケンス図である。
【図４】管理装置が、故障した物理マシン上で動作する仮想マシンを移行先の物理マシンに移行する処理の例を示すシーケンス図である。
【図５】故障した物理マシンが管理装置からの制御を受け付けない場合の処理の例を示すシーケンス図である。
【図６】物理マシンのハードウェア構成の一例を示す図である。
【図７】物理マシンおよび管理装置の構成要素の一例を示す図である。
【図８】物理マシンおよび管理装置の構成要素間の関係を例示する図である。
【図９】物理マシンが誤正常であることを確認する処理の例を示す図である。
【図１０】移行先の物理マシンにおいて仮想マシンを起動する処理の例を示す図である。
【図１１】移行先の物理マシンにおいて仮想マシンの通信を制御する処理の例を示す図である。
【図１２】誤正常の物理マシン上で動作する仮想マシンを移行先の物理マシンに移行する処理の例を示すフローチャートである。
【図１３】誤正常の物理マシン上で動作する仮想マシンを移行先の物理マシンに移行する処理の例を示すシーケンス図である。
【発明を実施するための形態】
【００１０】
以下、図面に基づいて、本発明の実施の形態を説明する。以下の実施形態の構成は例示であり、本発明は実施形態の構成に限定されない。
【００１１】
〔実施形態〕
管理装置によって管理される情報処理装置の故障により異常が検知された場合、故障した情報処理装置が管理装置から制御可能である場合、管理装置は、故障した情報処理装置で動作している仮想マシンを正常な情報処理装置に移行する。一方、故障した情報処理装置が疎通確認可能であるが管理装置からの制御を受け付けない場合には、移行先の正常な情報処理装置が、故障した情報処理装置で動作している仮想マシンを自身の情報処理装置に移行する。なお、仮想マシンを稼働させる情報処理装置は、物理マシンとも呼ばれる。
【００１２】
＜仮想マシンの再配置＞
図１は、仮想マシンの再配置の例を示す図である。図１の左側には、仮想マシンの再配置前の状態が図示され、右側には、仮想マシンの再配置後の状態が図示されている。図１において、管理装置２は、物理マシン１ａ、１ｂおよび１ｃに接続される。以下、物理マシン１ａ、１ｂおよび１ｃは、物理マシン１とも総称される。
【００１３】
物理マシン１同士は、相互に接続され、インターネット５等の公衆ネットワークに接続される。各物理マシン１上で、１又は複数の仮想マシンが稼働することができる。図１の例では、仮想マシンの再配置前において、物理マシン１ａは、仮想マシン３ａ−１および３ａ−２を稼働させる。また、物理マシン１ｂは、仮想マシン３ｂ−１および３ｂ−２を稼働させる。以下、仮想マシン３ａ−１および３ａ−２は、仮想マシン３ａとも総称される。また仮想マシン３ｂ−１および３ｂ−２は、仮想マシン３ｂとも総称される。さらに、仮想マシン３ａおよび仮想マシン３ｂは、仮想マシン３とも総称される。
【００１４】
各仮想マシン３のアプリケーション等で使用する処理対象のデータおよび自身のＯｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ（ＯＳ）は、Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ（ＮＡＳ）等の外部のストレージ４に保存される。ストレージ４は、各物理マシン１からアクセスできるようにストレージ４用のネットワークに接続される。
【００１５】
各仮想マシン３は、自身の仮想マシン３を稼働させる物理マシン１のメモリ上に、構成情報を展開することでアプリケーションを動作させる。構成情報は、例えば、仮想マシン名、メモリサイズ、プロセッサ数、ネットワークアダプタの設定等の情報を含む。
【００１６】
図１の例では、管理装置２は、物理マシン１ａの異常を検知すると、物理マシン１ａ上で動作している仮想マシン３ａ−１および３ａ−２を、残りの物理マシン１、例えば物理マシン１ｃに再配置する。物理マシン１ｃが仮想マシン３ａ−１および３ａ−２を稼働させることで、処理が継続される。
【００１７】
図２は、物理マシン１が管理装置２からの制御を受け付けない場合の例を示す図である。図２の左側に図示した仮想マシン３の再配置前の図は、図１と同一であるため、その説明は省略される。
【００１８】
図２の右側に示した再配置後の図について説明する。物理マシン１ａにおいて、管理装置２からの制御対象箇所が故障しても、一部の通信および仮想マシン３ａの通信に異常がなく、仮想マシン３ａが正常に動作している場合がある。例えば、物理マシン１ａが、ｐｉｎｇコマンドに対する応答等による疎通確認が可能であっても、仮想マシン３ａを管理するソフトウェアの不具合等により、管理装置２からの制御を受け付けない場合である。この場合、物理マシン１ａで動作している仮想マシン３ａ−１および３ａ−２は、管理装置２の制御によっては、物理マシン１ｃに移行されない。
【００１９】
物理マシン１が疎通確認可能であるが管理装置２からの制御を受け付けず、物理マシン１上の仮想マシン３が正常に動作している状態は、本明細書において、「誤正常」と呼ぶ。本実施形態において、誤正常の物理マシン１ａ上で動作する仮想マシン３ａは、管理装置２によって制御される移行先の物理マシン１ｃの制御によって、当該移行先の物理マシン１ｃに再配置される。
【００２０】
＜仮想マシンの移行＞
図３、図４、図５は、仮想マシン３ａの移行を説明するためのシーケンス図である。図３、図４、図５において、物理マシン１ａおよび物理マシン１ｃは、管理装置２によって管理される。図３は、管理装置２が物理マシン１ａのリソースの情報および通信状況の情報を取得する処理の例を示す。リソースの情報は、例えば、物理マシン１ａの構成情報、物理マシン１ａ上で動作する各仮想マシン３ａの構成情報、物理マシン１ａに備えられたプロセッサおよびメモリの使用状況を示す情報の少なくとも一つを含む。通信状況の情報は、例えば、物理マシン１ａまたは各仮想マシン３ａに対する通信が可能か否かを示す情報である。
【００２１】
Ｓ１では、管理装置２は、物理マシン１ａ宛てにｐｉｎｇコマンド（ｅｃｈｏ  ｒｅｑｕｅｓｔ）を発行し、物理マシン１ａが通信可能か否かを判断する。Ｓ２では、物理マシン１ａは、管理装置２に対し、ｐｉｎｇコマンドに対する通信応答（ｅｃｈｏ  ｒｅｐｌｙ）を送信する。
【００２２】
Ｓ３では、管理装置２は、物理マシン１ａに対し、リソースの情報および通信状況の情報取得を依頼する。Ｓ４では、物理マシン１ａは、管理装置２に対し、物理マシン１ａおよび物理マシン１ａ上で動作する各仮想マシンに係るリソースの情報および通信状況の情報を送信する。管理装置２は、Ｓ１からＳ４までの処理を定期的に、例えば５分ごとに繰り返す。
【００２３】
図４は、故障した物理マシン１ａ上で動作する仮想マシン３ａを移行先の物理マシン１
ｃに移行する処理の例を示すシーケンス図である。Ｓ１１では、管理装置２は、物理マシン１ａに対してｐｉｎｇコマンドを発行し、物理マシン１ａが通信可能か否かを判断する。Ｓ２１では、物理マシン１ａが故障しているため、管理装置２は、ｐｉｎｇコマンドに対する通信応答を受信しない。
【００２４】
Ｓ３１では、管理装置２は、物理マシン１ａに対し、リソースの情報および通信状況の情報取得を依頼する。物理マシン１ａは、故障しているため、管理装置２からの依頼を受信しない。Ｓ４１では、物理マシン１ａが管理装置２からの依頼を受信しないため、物理マシン１ａおよび物理マシン１ａ上で動作する各仮想マシンに係るリソースおよび通信状況等の情報は、管理装置２に対して送信されない。
【００２５】
Ｓ５１では、管理装置２は、仮想マシン３ａの移行先を決定する。管理装置２は、例えば、制御可能な物理マシン１から収集したリソースの情報に基づき、故障した物理マシン１ａ以外の各物理マシン１の中で、リソースの使用状況に余裕がある物理マシン１を移行先として決定する。図４の例では、管理装置２は、故障した物理マシン１ａ上で動作する各仮想マシン３ａの移行先を、物理マシン１ｃに決定する。
【００２６】
Ｓ６１では、管理装置２は、物理マシン１ａ上で動作する移行対象の仮想マシン３ａの情報を物理マシン１ｃに送信する。移行対象の仮想マシン３ａが複数存在する場合、管理装置２は、仮想マシン３ａごとの情報を物理マシン１ｃに送信する。物理マシン１ｃに送信される移行対象の仮想マシン３ａの情報は、物理マシン１ａが故障する前に、管理装置２が図３のＳ４の処理により取得した仮想マシンの構成情報である。構成情報は、例えば、メモリサイズ、プロセッサ数、Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ（ＮＩＣ）の数およびＭＡＣアドレス（Ｍｅｄｉａ  Ａｃｃｅｓｓ  Ｃｏｎｔｒｏｌ  ａｄｄｒｅｓｓ）等の情報を含む。
【００２７】
Ｓ７１では、物理マシン１ｃは、管理装置２から受信した移行対象の仮想マシン３ａの構成情報に基づき、仮想マシン３ａを起動する。物理マシン１ｃは、仮想マシン３ａの構成情報以外のアプリケーション等で使用するデータを、物理マシン１ａおよび物理マシン１ｃ外の外部記憶装置から取得することで、移行された仮想マシン３ａによる処理を継続する。外部記憶装置は、例えば、ＮＡＳであってもよい。Ｓ８１では、物理マシン１ｃは、管理装置２に対し、移行対象の仮想マシン３ａが起動されたこと、および移行された仮想マシン３ａの構成情報を管理装置２に送信する。
【００２８】
図５は、故障した物理マシン１ａが管理装置２からの制御を受け付けない場合の処理の例を示すシーケンス図である。Ｓ１２からＳ３２までの処理は、図３のＳ１からＳ３までの処理と同一であるため、その説明は省略される。また、Ｓ６１およびＳ７１の処理は、図４において同一の符号で示される処理と同一であるため、その説明は省略される。
【００２９】
Ｓ４２では、物理マシン１ａの一部分の故障により、管理装置２からの依頼は処理されない。したがって、管理装置２は、物理マシン１ａおよび物理マシン１ａ上で動作する各仮想マシン３ａに係るリソースの情報および通信状況の情報を、物理マシン１ａから受信しない。すなわち、物理マシン１ａは、一部分の故障により、管理装置２からの情報取得および操作を受け付けない誤正常の状態となっている。
【００３０】
Ｓ５２では、管理装置２は、物理マシン１ａとの通信は可能であるが、物理マシン１ａが管理装置２からの操作を受け付けないため、従来技術においては移行処理を実施するか否かの判断がされない。このため、管理装置２は、物理マシン１ａ上で動作中の仮想マシンを、物理マシン１ｃに移行しない。すなわち、管理装置２は、Ｓ６１の処理を実行しない。また、物理マシン１ｃは、Ｓ７１の処理を実行しない。
【００３１】
実施形態において、物理マシン１ａが疎通確認可能であるが管理装置２からの制御を受け付けない場合、物理マシン１ｃは、物理マシン１ａ上で動作している仮想マシン３ａと同一のＭＡＣアドレスを有する仮想マシンを起動する。物理マシン１ｃにより当該ＭＡＣアドレスが登録された接続情報をネットワーク上に送信することで、物理マシン１ａ上で動作中の仮想マシンは、物理マシン１ｃに移行される。
【００３２】
＜装置構成＞
図６は、物理マシン１として適用可能な物理マシン１０のハードウェア構成の一例を示す図である。物理マシン１０は、プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、ネットワークインタフェース１６を備える。プロセッサ１１、主記憶装置１２、補助記憶装置１３、入力装置１４、出力装置１５、ネットワークインタフェース１６はバス１７により互いに接続される。
【００３３】
プロセッサ１１は、補助記憶装置１３に保持されたオペレーティングシステム（ＯＳ）や様々なコンピュータプログラムを主記憶装置１２にロードして実行することによって、様々な処理を実行する。ただし、コンピュータプログラムによる処理の一部がハードウェア回路により実行されてもよい。プロセッサ１１は、例えば、ＣＰＵとも呼ばれる。また、プロセッサ１１は、Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ（ＤＳＰ）であってもよい。また、プロセッサ１１は、複数のコアを含むマルチコアのプロセッサ、複数のＣＰＵを組み合わせたマルチプロセッサであってもよい。
【００３４】
主記憶装置１２は、プロセッサ１１に、補助記憶装置１３に格納されているプログラムをロードするための記憶領域、及びプログラムを実行するための作業領域を提供する。また、主記憶装置１２は、データを保持するためのバッファとして用いられる。主記憶装置１２は、例えば、Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ（ＲＯＭ）、Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ（ＲＡＭ）等の半導体メモリである。
【００３５】
補助記憶装置１３は、様々なプログラムや、各プログラムの実行に際してプロセッサ１１が使用するデータを格納する。補助記憶装置１３は、例えば、Ｅｒａｓａｂｌｅ  Ｐｒｏｇｒａｍｍａｂｌｅ  ＲＯＭ（ＥＰＲＯＭ）、又はハードディスクドライブ（Ｈａｒｄ
Ｄｉｓｋ  Ｄｒｉｖｅ、ＨＤＤ）、Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ（ＳＳＤ）等の不揮発性のメモリである。補助記憶装置１３は、例えば、ＯＳ、その他様々なアプリケーションプログラムを保持する。
【００３６】
入力装置１４は、ユーザからの操作入力を受け付ける。例えば、入力装置１４は、タッチパッド、マウス、タッチパネル等のポインティングデバイス、キーボード、操作ボタン、遠隔操作機からの信号を受信する回路等である。出力装置１５は、故障した物理マシンおよび移行対象の仮想マシンについての情報等を出力する。出力装置１５は、例えば、液晶ディスプレイ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ、ＬＣＤ）である。
【００３７】
ネットワークインタフェース１６は、ネットワークとの情報の入出力を行うインタフェースである。ネットワークインタフェース１６は、有線のネットワークと接続するインタフェースまたは無線のネットワークと接続するインタフェースである。ネットワークインタフェース１６は、例えば、ＮＩＣ、無線Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ（ＬＡＮ）カード等である。ネットワークインタフェース１６は、複数の回線を収容するポートを備えてもよい。図６の例では、ネットワークインタフェース１６は、アドレス帯の異なる複数のインタフェースである業務ＬＡＮ１６１、管理ＬＡＮ１６２およびストレージＬＡＮ１６３を備える。アドレス帯の異なる複数のインタフェースを備えることにより、ネットワークインタフェース１６における通信を分割して管理することが容易になる。
【００３８】
業務ＬＡＮ１６１は、物理マシン１０相互間を接続するためのインタフェースである。業務ＬＡＮ１６１は、インターネット等の公衆ネットワークに接続される。管理ＬＡＮ１６２は、管理装置２０と接続するためのインタフェースである。管理装置２０は、管理ＬＡＮ１６２を介して、物理マシン１０を制御する。ストレージＬＡＮ１６３は、ＮＡＳ等の外部記憶装置１８と接続するためのインタフェースである。
【００３９】
外部記憶装置１８は、管理装置２０が管理する複数の物理マシン１０に接続される。外部記憶装置１８は、各物理マシン１０上で動作する仮想マシンが使用する業務のデータおよび仮想マシンのＯＳ等を記憶する。なお、物理マシン１０のハードウェア構成は一例であり、上記に限られず、実施の形態に応じて適宜構成要素の省略や置換、追加が可能である。
【００４０】
管理装置２０のハードウェア構成は、ネットワークインタフェース１６以外は物理マシン１０と同様である。管理装置２０のネットワークインタフェース１６は、物理マシン１０と接続するための管理ＬＡＮ１６２、および外部記憶装置１８と接続するためのストレージＬＡＮ１６３を備えていればよい。
【００４１】
図７および図８は、物理マシンおよび管理装置の構成要素を説明する。図７は、物理マシンおよび管理装置の構成要素の一例を示す図である。図７の例では、管理装置２０は、スイッチ１９Ｂを介して、物理マシン１０Ａ、１０Ｂおよび１０Ｃに接続される。以下、物理マシン１０Ａ、１０Ｂおよび１０Ｃは、物理マシン１０とも総称される。物理マシン１０Ｂおよび１０Ｃは、物理マシン１０Ａと同様の構成であるため、物理マシン１０Ａの構成要素により物理マシン１０の構成が説明される。
【００４２】
図７の物理マシン１０Ａは、仮想スイッチ（仮想ＳＷ）４０、仮想マシン３０およびハイパーバイザ１１０を備える。ハイパーバイザ１１０は、複数の仮想マシン３０を並列に実行するためのソフトウェアである。ハイパーバイザ１１０は、構成管理部１２０、マシン監視部１３０および制御部１４０を備える。
【００４３】
物理マシン１０Ａは、ＮＩＣ１６１Ａを介して、移行先の物理マシン１０Ｂおよび１０Ｃと接続されるスイッチ１９Ａに接続される。また、物理マシン１０Ａは、ＮＩＣ１６２Ａおよびスイッチ１９Ｂを介して、管理装置２０と接続される。
【００４４】
仮想ＳＷ４０は、複数の仮想マシン３０に接続され、仮想ＳＷ４０に接続される仮想マシン３０の通信状況の情報を保持する。物理マシン１０Ａは、仮想ＳＷ４０を複数備えてもよい。
【００４５】
仮想マシン３０は、ハイパーバイザ１１０の制御により、起動および停止される。仮想マシン３０は、アプリケーション（アプリ）３１を、仮想ＯＳ３２上で実行する。
【００４６】
構成管理部１２０は、仮想マシン管理部１２１および仮想ＳＷ管理部１２２を備える。仮想マシン管理部１２１は、物理マシン１０Ａで動作している複数の仮想マシン３０のリソースの情報および通信状況の情報を管理する。仮想ＳＷ管理部１２２は、仮想ＳＷ４０に接続している仮想マシン３０の一覧および通信状況を取得し管理する。
【００４７】
マシン監視部１３０は、仮想マシン監視部１３１を備える。仮想マシン監視部１３１は、物理マシン１０Ａで動作している複数の仮想マシン３０のリソースの情報および通信状況の情報を取得する。
【００４８】
制御部１４０は、仮想ＳＷ制御部１４１を備える。仮想ＳＷ制御部１４１は、仮想マシン３０の仮想ＳＷ４０に対するポート接続のリンクアップおよびリンクダウンを制御する。リンクアップは、仮想マシン３０の通信ポートが物理ＮＩＣ１６１Ａに割り当てられた仮想ＳＷ４０に接続され、通信が可能になることである。リンクダウンは、仮想マシン３０の通信ポートが仮想ＳＷ４０に接続されず、通信されない状態になることである。仮想ＳＷ制御部１４１は、「制御部」の一例である。
【００４９】
図７の管理装置２０は、ＯＳ２１０、構成管理部２２０、マシン監視部２３０、移行制御部２４０を備える。管理装置２０は、ＮＩＣ１６２Ｎおよびスイッチ１９Ｂを介して、物理マシン１０と接続される。
【００５０】
構成管理部２２０は、仮想マシン管理部２２１、物理マシン管理部２２２および仮想ＳＷ管理部２２３を備える。仮想マシン管理部２２１は、管理装置２０および複数の物理マシン１０が接続されるシステムにおいて、各物理マシン１０上で動作する複数の仮想マシン３０のリソースの情報および通信状況の情報を管理する。物理マシン管理部２２２は、システム内の複数の物理マシン１０のリソースの情報および通信状況の情報を管理する。仮想ＳＷ管理部２２３は、システム内の各物理マシン１０が備える物理ＮＩＣ１６１Ａに割り当てられた１または複数の仮想ＳＷ４０に接続している仮想マシン３０の一覧および通信状況の情報を取得する。
【００５１】
マシン監視部２３０は、仮想マシン監視部２３１および物理マシン監視部２３２を備える。仮想マシン監視部２３１は、システム内の各物理マシン１０が備える複数の仮想マシン３０のリソースの情報および通信状況の情報を取得する。物理マシン監視部２３２は、システム内の複数の物理マシン１０のリソースの情報および通信状況の情報を取得する。
【００５２】
移行制御部２４０は、仮想マシン移行制御部２４１および仮想ＳＷ通信移行制御部２４２を備える。仮想マシン移行制御部２４１は、同一のＭＡＣアドレスを有する仮想マシン３０が、システム内で複数の物理マシン１０上に複数存在しないように制御する。仮想ＳＷ通信移行制御部２４２は、システム内の各物理マシン１０が備える仮想マシン３０と仮想ＳＷ４０との接続を制御する。
【００５３】
図８は、物理マシン１０および管理装置２０の構成要素間の関係を例示する図である。図８において、図７と同一の構成要素には、同一の符号が付される。図８において、物理マシン１０は、図７に示される構成要素の他に、物理マシン情報格納部１６０を備える。また、仮想マシン３０は、仮想マシン情報格納部３３を備える。さらに、仮想ＳＷ４０は、仮想マシン接続情報格納部４１を備える。
【００５４】
物理マシン情報格納部１６０は、物理マシン１０の構成情報、プロセッサ１１およびメモリ（主記憶装置）１２の使用状況等のリソースの情報を保持する。仮想マシン情報格納部３３は、仮想マシン３０の構成情報、プロセッサおよびメモリの使用状況等のリソースの情報を保持する。仮想マシン接続情報格納部４１は、仮想ＳＷ４０がどの仮想マシン３０と接続されているかを示す接続情報を保持する。
【００５５】
Ｐ１からＰ６は、物理マシン１０における構成要素間の関係を示す。仮想マシン監視部１３１は、仮想マシン情報格納部３３から、仮想マシン３０のリソースの情報を取得する（Ｐ１）。仮想マシン監視部１３１は、仮想ＳＷ制御部１４１から通信状況の情報を参照し取得する（Ｐ２）。仮想マシン監視部１３１は、仮想マシン情報格納部３３および仮想ＳＷ制御部１４１から取得したリソースの情報および通信状況の情報に基づき、仮想マシン管理部１２１が管理する情報を更新する（Ｐ３）。
【００５６】
仮想マシン３０は、仮想ＳＷ４０との関連付け等の接続情報に変更があった場合、仮想マシン接続情報格納部４１で保持する接続情報を更新する（Ｐ４）。仮想ＳＷ制御部１４１は、仮想マシン接続情報格納部４１で保持する接続情報を更新することにより、仮想ＳＷ４０の通信を制御する（Ｐ５）。仮想ＳＷ管理部１２２は、管理装置２０からの問合せに応じて、仮想ＳＷ制御部１４１を参照し、通信状況の情報を取得する（Ｐ６）。
【００５７】
図８において、管理装置２０は、図７に示される構成要素の他に、仮想マシン移行実施部２４３、仮想ＳＷ通信移行実施部２４４および物理−仮想マシン関連付け表２５０を備える。
【００５８】
仮想マシン移行実施部２４３は、物理マシン１０に対し、仮想マシン３０の起動および停止を指示する。具体的には、仮想マシン移行実施部２４３は、移行先の物理マシン１０に対して移行対象の仮想マシン３０の起動を指示する。仮想マシン移行実施部２４３は、移行元の物理マシン１０が管理装置２０からの制御を受け付ける場合には、移行元の物理マシン１０に対し、移行対象の仮想マシン３０の停止を指示してもよい。
【００５９】
仮想ＳＷ通信移行実施部２４４は、物理マシン１０の仮想ＳＷ制御部１４１に対し、仮想マシン３０の仮想ＳＷ４０に対するポート接続のリンクアップおよびリンクダウンを指示する。
【００６０】
物理−仮想マシン関連付け表２５０は、物理マシン１０、仮想ＳＷ４０および仮想マシン３０の関連付けを定義する表である。物理マシン１０は、物理ＮＩＣに１以上の仮想ＳＷ４０を割り当てており、各仮想ＳＷ４０は、複数の仮想マシン３０と接続される。したがって、物理マシン１０上の各仮想マシン３０は、仮想ＳＷ４０および仮想ＳＷ４０が割り当てられた物理ＮＩＣを通じて、他の物理マシン１０上の各仮想マシン３０と接続される。即ち、物理−仮想マシン関連付け表２５０は、仮想マシン３０ごとに、当該仮想マシン３０が接続される仮想ＳＷ４０と、当該仮想マシン３０を稼働させる物理マシン１０との関連付けを定義する。
【００６１】
Ｐ１０からＰ１３は、管理装置２０から物理マシン１０に対する処理依頼を示す。Ｐ２１からＰ２７は、管理装置２０における構成要素間の関係を示す。物理マシン監視部２３２は、物理マシン１０の物理マシン情報格納部１６０に対し、物理マシンの稼働情報の取得を依頼する（Ｐ１０）。物理マシン１０の稼働情報は、例えば、物理マシン１０の構成情報、プロセッサ１１およびメモリ１２の使用状況等のリソースの情報を含む。物理マシン監視部２３２は、物理マシン情報格納部１６０から取得した情報に基づき、物理マシン管理部２２２が管理する情報を更新する（Ｐ２２）。
【００６２】
仮想マシン監視部２３１は、物理マシン１０の仮想マシン管理部１２１および仮想ＳＷ管理部１２２に対し、それぞれ仮想マシン３０の稼働情報および仮想ＳＷ４０の稼働情報の取得を依頼する（Ｐ１１）。仮想マシン３０の稼働情報は、例えば、物理マシン１０の構成情報、プロセッサ１１およびメモリ１２の使用状況等のリソースの情報を含む。仮想ＳＷ４０の稼働情報は、例えば、仮想ＳＷ４０と仮想マシン３０とのリンクアップおよびリンクダウン等の通信状況の情報を含む。仮想マシン監視部２３１は、仮想マシン管理部１２１および仮想ＳＷ管理部１２２から取得した情報に基づき、仮想マシン管理部２２１および仮想ＳＷ管理部２２３が管理する情報を更新する（Ｐ２１）。
【００６３】
仮想マシン管理部２２１、仮想ＳＷ管理部２２３および物理マシン管理部２２２は、仮想マシン監視部２３１および物理マシン監視部２３２により更新された情報に基づき、物理−仮想マシン関連付け表２５０を更新する（Ｐ２３）。
【００６４】
仮想マシン移行制御部２４１は、物理−仮想マシン関連付け表２５０を参照し、移行対象の仮想マシン３０に関連付けられた移行元の物理マシン１０および仮想ＳＷ４０の情報を取得する（Ｐ２６）。また、仮想マシン移行制御部２４１は、例えば、物理マシン管理部２２２からリソースに余裕のある物理マシン１０を選択して、仮想マシン３０の移行先として決定することができる。仮想マシン移行制御部２４１は、仮想マシン移行実施部２４３に対し、移行対象の仮想マシン３０を、決定した移行先の物理マシン１０に移行するように指示する（Ｐ２７）。仮想マシン移行制御部２４１および仮想マシン移行実施部２４３は、「移行制御部」の一例である。
【００６５】
仮想マシン移行実施部２４３は、移行先の物理マシン１０に対しては移行対象の仮想マシン３０の起動を指示する。仮想マシン移行実施部２４３は、移行元の物理マシン１０が管理装置２０からの制御を受け付ける場合には、移行対象の仮想マシン３０の停止を指示してもよい（Ｐ１３）。一方、移行元の物理マシン１０が管理装置２０からの制御を受け付けない場合には、移行元の物理マシン１０の制御に使用されるリソース等の情報は、移行先の物理マシン１０に送信される。移行元の物理マシン１０は、移行先の物理マシン１０からの指示により、仮想マシン３０を停止する。
【００６６】
仮想ＳＷ通信移行制御部２４２は、物理−仮想マシン関連付け表２５０を参照し、移行対象の仮想マシン３０に関連付けられた移行元の物理マシン１０および仮想ＳＷ４０の情報を取得する（Ｐ２４）。仮想ＳＷ通信移行制御部２４２は、仮想ＳＷ通信移行実施部２４４に対し、移行対象の仮想マシン３０を、移行先の物理マシン１０に移行するように指示する（Ｐ２５）。
【００６７】
仮想ＳＷ通信移行実施部２４４は、移行先の物理マシン１０に対し、移行対象の仮想マシンのＭＡＣアドレス等、仮想マシン３０の移行に使用される情報を送信する。また、仮想ＳＷ通信移行実施部２４４は、移行先の物理マシン１０に対し、移行元の物理マシン１０および移行先の物理マシン１０における仮想マシン３０と仮想ＳＷ４０とのリンクアップおよびリンクダウンを制御させる（Ｐ１２）。仮想ＳＷ通信移行制御部２４２および仮想ＳＷ通信移行実施部２４４は、「通信移行制御部」の一例である。
【００６８】
なお、仮想マシン移行制御部２４１および仮想ＳＷ通信移行制御部２４２による仮想マシン３０の移行の制御は、同一のＭＡＣアドレスを有する仮想マシン３０が、システム内で複数の物理マシン１０上に複数存在することがないように、連携して実施される。プロセッサ１１は、コンピュータプログラムにより、物理マシン１０および管理装置２０が備える各構成要素の処理を実行する。物理マシン１０および管理装置２０が備える各構成要素のいずれか、またはその処理の一部がハードウェア回路により実行されてもよい。
【００６９】
＜誤正常物理マシン上の仮想マシンの移行＞
図９から図１１は、誤正常物理マシン上で動作する仮想マシンの移行を説明するための図である。図９から図１１において、管理装置２０は、物理マシン１０Ａ、１０Ｂおよび１０Ｃに接続される。
【００７０】
図９から図１１において、物理マシン１０Ａは、仮想ＳＷ４０Ａ、ハイパーバイザ１１０、業務ＬＡＮ１６１Ａおよび管理ＬＡＮ１６２Ａを備える。また、物理マシン１０Ａは、仮想ＳＷ４０Ａに接続される仮想マシン３０Ａ−１および３０Ａ−２を稼働させる。仮想マシン３０Ａ−１および３０Ａ−２等の物理マシン１０Ａ上で動作中の仮想マシンは、仮想マシン３０Ａとも総称される。
【００７１】
仮想ＳＷ４０Ａは、仮想ＳＷ４０Ａに接続される仮想マシン３０Ａのリソースの情報および通信状況の情報を保持する。物理マシン１０Ａのハイパーバイザ１１０は、仮想ＳＷ
４０Ａ、仮想マシン３０Ａを制御することにより、物理マシン１０Ａの仮想化環境を実現する。
【００７２】
業務ＬＡＮ１６１Ａは、物理マシン１０Ａを、物理マシン１０Ｂおよび１０Ｃと接続するためのインタフェースである。管理ＬＡＮ１６２Ａは、物理マシン１０Ａを管理装置２０と接続するためのインタフェースである。
【００７３】
物理マシン１０Ｂは、仮想ＳＷ４０Ｂ、ハイパーバイザ１１０、業務ＬＡＮ１６１Ｂおよび管理ＬＡＮ１６２Ｂを備える。また、物理マシン１０Ｂは、仮想ＳＷ４０Ｂに接続される仮想マシン３０Ｂ−１および３０Ｂ−２を稼働させる。
【００７４】
仮想ＳＷ４０Ｂは、仮想ＳＷ４０Ｂに接続される仮想マシン３０Ｂ−１および３０Ｂ−２のリソースの情報および通信状況の情報を保持する。物理マシン１０Ｂのハイパーバイザ１１０は、仮想ＳＷ４０Ｂ、仮想マシン３０Ｂ−１および３０Ｂ−２を制御することにより、物理マシン１０Ｂの仮想化環境を実現する。
【００７５】
業務ＬＡＮ１６１Ｂは、物理マシン１０Ｂを、物理マシン１０Ａおよび１０Ｃと接続するためのインタフェースである。管理ＬＡＮ１６２Ｂは、物理マシン１０Ｂを管理装置２０と接続するためのインタフェースである。
【００７６】
物理マシン１０Ｃは、仮想ＳＷ４０Ｃ、ハイパーバイザ１１０、業務ＬＡＮ１６１Ｃおよび管理ＬＡＮ１６２Ｃを備える。物理マシン１０Ｃのハイパーバイザ１１０は、仮想ＳＷ４０Ｃを制御することにより、物理マシン１０Ｃの仮想化環境を実現する。
【００７７】
業務ＬＡＮ１６１Ｃは、物理マシン１０Ｃを、物理マシン１０Ａおよび１０Ｂと接続するためのインタフェースである。管理ＬＡＮ１６２Ｃは、物理マシン１０Ｃを管理装置２０と接続するためのインタフェースである。
【００７８】
業務ＬＡＮ１６１Ａ、業務ＬＡＮ１６１Ｂおよび業務ＬＡＮ１６１Ｃは、各物理マシン１０間を接続するネットワークとのインタフェースである。管理ＬＡＮ１６２Ａ、管理ＬＡＮ１６２Ｂおよび管理ＬＡＮ１６２Ｃは、各物理マシン１０と管理装置２０とを接続するネットワークとのインタフェースである。各物理マシン１０間を接続するネットワークと、各物理マシン１０と管理装置２０とを接続するネットワークとは、使用するアドレス帯が異なり、それぞれ別のネットワークとして管理される。
【００７９】
図９は、物理マシン１０Ａが誤正常であることを確認する処理の例を示す図である。管理装置２０は、接続される各物理マシン１０を管理するため、定期的に、各物理マシン１０のリソースの情報および通信状況の情報を取得する。
【００８０】
図９において、管理装置２０は、物理マシン１０Ａに対し、情報を取得するために管理ＬＡＮ１６２Ａを介してアクセスする。しかし、ハイパーバイザ１１０内での故障により、物理マシン１０Ａは、疎通確認可能であるが管理装置２０からの制御を受け付けない。そこで、管理装置２０は、リソースに余裕のある物理マシン１０Ｃを、仮想マシン３０Ａの移行先として決定する。
【００８１】
管理装置２０は、物理マシン１０Ｃに対し、物理マシン１０Ａ上で仮想マシン３０Ａが正常に動作しているか否かを確認させる。具体的には、管理装置２０は、物理マシン１０Ａ上で動作する仮想マシン３０Ａのリソースの情報および仮想ＳＷ４０Ａが管理する通信状況の情報等を、物理マシン１０Ｃの仮想ＳＷ４０Ｃに通知する。物理マシン１０Ｃの仮想ＳＷ管理部１２２は、管理装置２０から通知された情報に基づいて、仮想ＳＷ４０Ｃお
よび業務ＬＡＮ１６１Ｃを介して物理マシン１０Ａの仮想ＳＷ４０Ａと通信し、仮想マシン３０Ａが正常に動作しているか否かを判断する。
【００８２】
物理マシン１０Ｃの仮想ＳＷ管理部１２２は、物理マシン１０Ａ上で仮想マシン３０Ａが正常に動作していること、すなわち誤正常であると判断すると、仮想マシン３０Ａを自身の物理マシン１０Ｃに移行する処理を開始する。
【００８３】
図１０は、移行先の物理マシン１０Ｃにおいて仮想マシンを起動する処理の例を示す図である。物理マシン１０Ｃは、物理マシン１０Ａが誤正常であると判断すると、管理装置２０から通知された物理マシン１０Ａ上で動作する仮想マシン３０Ａの情報に基づき、仮想マシンを起動する。
【００８４】
具体的には、物理マシン１０Ｃは、仮想マシン３０Ａ−１および３０Ａ−２とそれぞれ同じＭＡＣアドレスを有する仮想マシン仮想マシン３０Ｃ−１および３０Ｃ−２を起動する。この際、物理マシン１０Ｃは、仮想マシン３０Ｃ−１および３０Ｃ−２をネットワークに接続せずに起動する。仮想マシン３０Ｃ−１および３０Ｃ−２等の物理マシン１０Ｃ上で動作中の仮想マシンは、仮想マシン３０Ｃとも総称される。
【００８５】
図１１は、移行先の物理マシン１０Ｃにおいて仮想マシンの通信を制御する処理の例を示す図である。物理マシン１０Ａは、ＭＡＣアドレステーブル１７０Ａを備える。ＭＡＣアドレステーブル１７０Ａは、仮想ＳＷ４０Ａに接続される仮想マシン３０Ａ−１および３０Ａ−２のＭＡＣアドレスを保持する。ＭＡＣアドレステーブル１７０Ａは、仮想ＳＷ４０Ａの仮想マシン接続情報格納部４１（図８参照）に格納される。
【００８６】
また、物理マシン１０Ｃは、ＭＡＣアドレステーブル１７０Ｃを備える。物理マシン１０Ｃは、仮想マシン３０Ｃを起動すると、ＭＡＣアドレステーブル１７０Ｃに、仮想マシン３０Ｃ−１および仮想マシン３０Ｃ−２のＭＡＣアドレスを登録する。ＭＡＣアドレステーブル１７０Ｃは、仮想ＳＷ４０Ｃの仮想マシン接続情報格納部４１（図８参照）に格納される。
【００８７】
物理マシン１０Ｃの仮想マシン管理部１２１は、起動した各仮想マシン３０Ｃが正常に動作しているか否かを確認する。物理マシン１０Ｃの仮想マシン管理部１２１は、各仮想マシン３０Ｃが正常に動作している場合には、各仮想マシン３０ＣのＭＡＣアドレスを含むＡｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ（ＡＲＰ）メッセージを、仮想ＳＷ４０Ｃおよび業務ＬＡＮ１６２Ｃを介して、ネットワーク上にブロードキャストする。
【００８８】
物理マシン１０Ａは、物理マシン１０ＣからのＡＲＰメッセージを受信すると、ＡＲＰメッセージに登録された各仮想マシン３０ＣのＭＡＣアドレスを、ＭＡＣアドレステーブル１７０Ａに登録されたＭＡＣアドレスと対比する。各仮想マシン３０Ｃは、対応する仮想マシン３０Ａと同じＭＡＣアドレスを有するため、ＭＡＣアドレステーブル１７０Ａにおいて、ＭＡＣアドレスの衝突が発生する。この場合、仮想ＳＷ４０Ａは、仮想マシン３０Ｃと通信し、仮想マシン３０Ｃが存在しており通信可能であることを確認する。
【００８９】
物理マシン１０Ａの仮想ＳＷ管理部１２２は、仮想ＳＷ４０Ａを介して、仮想マシン３０Ｃが存在しており通信可能であることを確認すると、仮想マシン３０Ａが仮想マシン３０Ｃに切り替えられたものと認識する。仮想ＳＷ４０Ａは、仮想マシン３０Ａが物理マシン１０Ｃ上の仮想マシン３０Ｃに切り替えられたことを認識すると、ＭＡＣアドレステーブル１７０Ａから仮想マシン３０Ａの登録を解除する。物理マシン１０Ａは、各仮想マシン３０Ａが物理マシン１０Ｃ上の仮想マシン３０Ｃに切り替えられ、移行が完了すると、
自身の物理マシン３０Ａをシャットダウンする。物理マシン３０Ａは、シャットダウンすることで、業務ＬＡＮ１６１Ａおよび管理ＬＡＮ１６２Ａ等を介して接続されるネットワークから切り離される。
【００９０】
＜処理の流れ＞
図１２は、誤正常の物理マシン１０Ａ上で動作する仮想マシン３０Ａを移行先の物理マシン１０Ｃに移行する処理の例を示すフローチャートである。図１２に示される処理は、例えば、管理装置２０の誤正常の物理マシン１０Ａに対するリソース等の情報取得により開始される。以下の説明において、物理マシン１０Ｃは、「第２の情報処理装置」の一例である。物理マシン１０Ａは、「他の情報処理装置」および「第１の情報処理装置」の一例である。仮想マシン３０Ａは「第１の仮想マシン」の一例である。仮想マシン３０Ｃは「第２の仮想マシン」の一例である。
【００９１】
ＯＰ１０では、管理装置２０は、物理マシン１０Ａに対する通信可否を判定する。物理マシン１０Ａに対する通信が可能な場合には（ＯＰ１０：Ｙｅｓ）、処理がＯＰ１２に進む。物理マシン１０Ａに対する通信が可能でない場合には（ＯＰ１０：Ｎｏ）、処理がＯＰ１１に進む。
【００９２】
ＯＰ１１では、管理装置２０は、物理マシン１０Ａに対する通信が可能でないため、物理マシン１０Ａは、故障等によりネットワークから切り離されていると判断する。この場合、管理装置２０は、直前に取得した物理マシン１０Ａのリソース等の情報に基づき、物理マシン１０Ａで動作していた仮想マシン３０Ａを、移行先の物理マシン、例えば物理マシン１０Ｃに移行する。
【００９３】
ＯＰ１２では、管理装置２０は、物理マシン１０Ａに対し、リソースの情報および通信状況の情報の取得が可能であるか否かを判定する。物理マシン１０Ａに対する情報取得が可能である場合には（ＯＰ１２：Ｙｅｓ）、処理がＯＰ１０に戻る。この場合、物理マシン１０Ａの異常は検知されておらず、管理装置２０は、物理マシン１０Ａに対し定期的な情報取得の処理を繰り返す。物理マシン１０Ａに対する情報取得が可能でない場合には（ＯＰ１２：Ｎｏ）、処理がＯＰ１３に進む。この場合、物理マシン１０Ａは誤正常であると判断される。
【００９４】
ＯＰ１３では、管理装置２０は、リソースに余裕のある物理マシン、例えば、物理マシン１０Ｃを仮想マシン３０Ａの移行先として決定する。管理装置２０は、物理マシン１０Ｃに対し、物理マシン１０Ａおよび仮想マシン３０Ａのリソース等の情報を通知し、物理マシン１０Ａとのサービス通信が可能か否かを確認させる。サービス通信は、業務ＬＡＮ１６１Ｃに接続されるネットワークを介した通信である。物理マシン１０Ｃから物理マシン１０Ａへのサービス通信が可能である場合には（ＯＰ１３：Ｙｅｓ）、処理がＯＰ１４に進む。物理マシン１０Ｃから物理マシン１０Ａへのサービス通信が可能でない場合には（ＯＰ１３：Ｎｏ）、処理がＯＰ１１に進む。
【００９５】
ＯＰ１４では、物理マシン１０Ｃは、自身の仮想ＳＷ４０Ｃに接続をしない状態で、仮想マシン３０Ａと同じＭＡＣアドレスを有する仮想マシン３０Ｃを起動する。仮想マシン３０Ａと同じＭＡＣアドレスは、ＯＰ１３で管理装置２０から通知される情報に含まれる。
【００９６】
ＯＰ１４の処理は「前記管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築」する処理の一例である。また、ＯＰ１４の処理は、仮想マシン管理部１２１が「前記仮想マシンを前記ネットワークに接続しない状態で構築」する処理の一例である。さらに、ＯＰ１４の処理は、「前記第１のＭＡＣアドレスを有する第２の仮想マシンをネットワ
ークに接続しない状態で前記第２の情報処理装置に構築させる」処理の一例である。
【００９７】
ＯＰ１５では、物理マシン１０Ｃは、起動した仮想マシン３０ＣのＭＡＣアドレスを、仮想ＳＷ４０ＣからＡＲＰメッセージにより、業務ＬＡＮ１６１Ｃに接続されるネットワークにブロードキャストする。移行対象の仮想マシン３０Ａが複数ある場合には、それぞれのＭＡＣアドレスをＡＲＰメッセージによりブロードキャストする。ＯＰ１５の処理は、「該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信する」処理の一例である。また、ＯＰ１５の処理は、「前記通知を前記ネットワークにブロードキャストで送信」する処理の一例である。
【００９８】
ＯＰ１６では、物理マシン１０Ａは、受信したＡＲＰメッセージに含まれるＭＡＣアドレスと同一のＭＡＣアドレスが、ＭＡＣアドレステーブル１７０Ａに登録されているか否かを判定する。同一のＭＡＣアドレスが、ＭＡＣアドレステーブル１７０Ａに登録されている場合には（ＯＰ１６：Ｙｅｓ）、処理がＯＰ１７に進む。同一のＭＡＣアドレスが、ＭＡＣアドレステーブル１７０Ａに登録されていない場合には（ＯＰ１６：Ｎｏ）、処理がＯＰ１６に戻る。物理マシン１０Ａは、次に受信したＡＲＰメッセージについてＯＰ１６の処理を実施する。
【００９９】
ＯＰ１７では、物理マシン１０Ａは、受信したＡＲＰメッセージに含まれるＭＡＣアドレスと同一のＭＡＣアドレスを有する仮想マシン３０Ａを仮想ＳＷ３０Ａから切り離す。すなわち、物理マシン１０Ａは、ＭＡＣアドレステーブル１７０Ａから、当該仮想マシン３０Ａの情報を削除し、仮想ＳＷ４０Ａとの接続を解除する。
【０１００】
ＯＰ１６およびＯＰ１７の処理は、他の情報処理装置が「前記ＭＡＣアドレスを含む前記通知を受信した場合に、前記他の情報処理装置を前記ネットワークから切断する」処理の一例である。
【０１０１】
ＯＰ１８では、物理マシン１０Ａは、仮想ＳＷ４０Ａに登録された仮想マシン３０Ａが存在するか否かを判定する。仮想ＳＷ４０Ａに登録された仮想マシン３０Ａが存在する場合には（ＯＰ１８：Ｙｅｓ）、処理がＯＰ１６に戻る。物理マシン１０Ａは、次に受信したＡＲＰメッセージについてＯＰ１６の処理を実施する。仮想ＳＷ４０Ａに登録された仮想マシン３０Ａが存在しない場合には（ＯＰ１８：Ｎｏ）、処理がＯＰ１９に進む。ＯＰ１９では、物理マシン１０Ａは、物理マシン１０Ａ上で動作している各仮想マシン３０Ａがネットワークから切り離されたものと判断して、自身をシャットダウンする。
【０１０２】
ＯＰ２０では、管理装置２０は、例えば、物理マシン１０Ａに対する通信可否の確認に対する応答が受信されないことから、物理マシン１０Ａがシャットダウンされたことを認識し、物理マシン１０Ａをネットワークから切り離す。管理装置２０の物理マシン監視部２３２は、物理マシン１０Ａがネットワークから切り離されたことに応じて、物理マシン管理部２２２が管理する物理マシン１０Ａの情報を更新する。さらに、物理マシン管理部２２２は、物理−仮想マシン関連付け表２５０に保持された物理マシン１０Ａに関する関連付けの情報を更新する。
【０１０３】
ＯＰ２１では、物理マシン１０Ｃは、管理装置２０からの指示により、起動した仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続する。ＯＰ２１の処理は、「前記他の情報処理装置が前記ネットワークから切断された場合に前記仮想マシンを前記ネットワークに接続する」処理の一例である。また、ＯＰ２１の処理は、「前記第１の情報処理装置が疎通可能でなくなった場合に、前記第２の情報処理装置に、前記第２の仮想マシンを前記ネットワークに接続させる」処理の一例である。誤正常の物理マシン１０Ａ上で動作する仮想マシン３０Ａを物理マシン１０Ｃに移行する処理が終了する。
【０１０４】
なお、ＯＰ２１では、物理マシン１０Ｃは、管理装置２０からの指示により、起動した仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続するが、ＯＰ１８の処理の後、物理マシン１０Ａからの通知を受けて、起動した仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続してもよい。
【０１０５】
図１３は、誤正常の物理マシン１０Ａ上で動作する仮想マシンを移行先の物理マシン１０Ｃに移行する処理の例を示すシーケンス図である。物理マシン１０Ａは、通信可能であるが、管理装置２０からの制御を受け付けない誤正常の状態となっている。
【０１０６】
Ｓ１１では、管理装置２０は、物理マシン１０Ａに対してｐｉｎｇコマンドを発行し、物理マシン１０Ａが通信可能か否かを判断する。Ｓ１２では、物理マシン１０Ａは、管理装置２０に対し、ｐｉｎｇコマンドに対する通信応答を送信する。
【０１０７】
Ｓ１３では、管理装置２０は、物理マシン１０Ａに対し、リソースの情報および通信状況の情報取得を依頼する。Ｓ１４では、管理装置２０は、物理マシン１０Ａおよび物理マシン１０Ａ上で動作する各仮想マシンに係るリソースの情報および通信状況の情報を、物理マシン１０Ａから受信しない。すなわち、物理マシン１０Ａは、一部分の故障により、管理装置２０からの情報取得および操作を受け付けない誤正常の状態となっている。
【０１０８】
Ｓ１５では、管理装置２０は、物理マシン１０Ａが誤正常の状態であると判断し、物理マシン１０Ａ上で動作している仮想マシン３０Ａの移行先を決定する。管理装置２０は、リソースの空き状況等の所定の条件に基づいて移行先の物理マシン１０を決定する。図１３では、管理装置２０は、移行先を物理マシン１０Ｃに決定する。管理装置２０は、移行先の物理マシン１０Ｃに対し、仮想マシン３０Ａの移行処理を指示する。
【０１０９】
Ｓ１６では、管理装置２０は、物理マシン１０Ｃに対し、物理マシン１０Ａ上で動作している仮想マシン３０Ａのサービスが継続されているか否かの確認を指示する。Ｓ１７では、物理マシン１０Ｃは、業務ＬＡＮ１６１Ｃに接続されるネットワークを介して、物理マシン１０Ａの仮想ＳＷ４０Ａと通信し、例えばｐｉｎｇコマンドにより物理マシン１０Ａ上で動作する仮想マシン３０Ａが正常に動作しているか否かを判断する。Ｓ１８では、物理マシン１０Ａは、仮想ＳＷ４０Ａを介して、物理マシン１０Ｃに対し、ｐｉｎｇコマンドに対する通信応答を送信する。Ｓ１７およびＳ１８の処理は、「前記仮想マシン管理部が前記仮想マシンを構築する前に、前記他の情報処理装置で稼働し前記仮想マシンの前記ＭＡＣアドレスと同じＭＡＣアドレス有する仮想マシンとの通信が可能か否かを確認する」処理の一例である。
【０１１０】
Ｓ１９では、物理マシン１０Ｃは、物理マシン１０Ａ上で動作している移行対象の仮想マシン３０Ａと同じＭＡＣアドレスを有する仮想マシン３０Ｃを起動する。なお、仮想マシン３０Ａで使用する業務のデータおよびＯＳ等は、外部記憶装置１８から取得することで仮想マシン３０Ａの処理は仮想マシン３０Ｃに移行される。Ｓ１９の処理は、「前記管理装置から指定されたＭＡＣアドレスにより仮想マシンを構築」する処理の一例である。また、Ｓ１９の処理は、「前記第１のＭＡＣアドレスを有する第２の仮想マシンをネットワークに接続しない状態で前記第２の情報処理装置に構築させる」処理の一例である。
【０１１１】
Ｓ２０では、物理マシン１０Ｃの仮想ＳＷ４０Ｃは、起動した仮想マシン３０ＣのＭＡＣアドレスを含むＡＲＰメッセージをブロードキャストする。Ｓ２０の処理は、「該他の情報処理装置をネットワークから切断するための通知を、該ネットワークに送信」する処理の一例である。
【０１１２】
Ｓ２１では、物理マシン１０Ａは、受信したＡＲＰメッセージに含まれるＭＡＣアドレ
スがＭＡＣアドレステーブル１７０Ａに存在する場合は、ＭＡＣアドレステーブル１７０Ａを更新する。具体的には、物理マシン１０Ａは、ＭＡＣアドレステーブル１７０Ａにおいて、当該ＭＡＣアドレスを有する仮想マシン３０Ａの情報を削除する。物理マシン１０Ａは、当該仮想マシン３０Ａを仮想ＳＷ４０Ａから切り離す。Ｓ２２では、物理マシン１０Ａは、仮想ＳＷ４０Ａと各仮想マシン３０Ａとの切り離しが完了すると、誤正常である自身の物理マシン１０Ａをシャットダウンする。
【０１１３】
Ｓ２３では、管理装置２０は、通信可否の確認により、物理マシン１０Ａがシャットダウンされたことを認識し、物理マシン１０Ａをネットワークから切断する。Ｓ２４では、管理装置２０は、物理マシン１０Ｃに対し、起動された仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続するように指示する。Ｓ２４の処理は、「前記他の情報処理装置が前記ネットワークから切断された場合に前記仮想マシンを前記ネットワークに接続する」処理の一例である。また、Ｓ２４の処理は、「前記第１の情報処理装置が疎通可能でなくなった場合に、前記第２の情報処理装置に、前記第２の仮想マシンを前記ネットワークに接続させる」処理の一例である。
【０１１４】
Ｓ２５では、物理マシン１０Ｃは、仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続し、業務ＬＡＮ１６１Ｃに接続されるネットワーク上でのサービス通信を開始する。Ｓ２６では、物理マシン１０Ｃは、管理装置２０からの情報取得の依頼に対し、仮想マシン３０Ｃの起動およびリソース等の情報を管理装置２０に通知する。
【０１１５】
なお、Ｓ１２において、物理マシン１０Ａが管理装置２０に対し、ｐｉｎｇコマンドに対する通信応答を送信しない場合、仮想マシン３０Ａは、管理装置２０により物理マシン１０Ｃに移行される。ただし、仮想マシン３０Ａは、Ｓ１５からＳ２６までの処理と同様に物理マシン１０Ｃの制御によって、物理マシン１０Ｃに移行されてもよい。
【０１１６】
また、Ｓ２５では、物理マシン１０Ｃは、管理装置２０からの指示により、仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続するが、Ｓ２１の処理の後、物理マシン１０Ａからの通知を受けて、起動した仮想マシン３０Ｃを仮想ＳＷ４０Ｃに接続してもよい。
【０１１７】
＜実施形態の作用効果＞
物理マシン１０Ａが、一部分の故障により、疎通確認可能であるが管理装置２０からの制御を受け付けない場合、物理マシン１０Ｃは、物理マシン１０Ａ上で動作している仮想マシン３０Ａと同一のＭＡＣアドレスを有する仮想マシン３０Ｃを起動する。物理マシン１０Ｃは、当該ＭＡＣアドレスが登録されたＡＲＰをブロードキャストする。ＡＲＰを受信した物理マシン１０Ａは、仮想マシン３０Ａをネットワークから切り離し、シャットダウンする。すなわち、物理マシン１０Ａ上で動作している仮想マシン３０Ａは、物理マシン１０Ｃに仮想マシン３０Ｃとして移行される。これにより、物理マシン１０Ａが疎通確認可能であるが管理装置２０からの制御を受け付けない場合であっても、物理マシン１０Ａ上で動作している仮想マシン３０Ａを、物理マシン１０Ｃに移行することができる。
【０１１８】
物理マシン１０Ｃは、仮想マシン３０Ｃを起動する前に、物理マシン１０Ａ上で動作している仮想マシン３０Ａとの通信が可能か否かを確認する。物理マシン１０Ｃは、仮想マシン３０Ａとの通信可否を確認することにより、動作中の仮想マシン３０Ａを自身の物理マシン１０Ｃに移行することができる。
【０１１９】
移行先の物理マシン１０Ｃは、ネットワークに接続しない状態で仮想マシン３０Ｃを起動し、物理マシン１０Ａ上で動作している仮想マシン３０Ａがネットワークから切り離された場合に、仮想マシン３０Ｃをネットワークに接続する。これにより、物理マシン１０Ｃは、同一のＭＡＣアドレスを有する仮想マシンが並列して存在しないように制御するこ
とができる。
【０１２０】
物理マシン１０Ａは、仮想マシン３０Ａと同一のＭＡＣアドレスを有する仮想マシン３０ＣからのＡＲＰメッセージを受信した場合に、仮想マシン３０Ａをネットワークから切り離す。これにより、同一のＭＡＣアドレスが並列して存在することを回避することができる。
【符号の説明】
【０１２１】
１、１０、１０Ａ、１０Ｂ、１０Ｃ      物理マシン
２、２０          管理装置
１１              プロセッサ
１２              主記憶装置
１３              補助記憶装置
１４              入力装置
１５              出力装置
１６              ネットワークインタフェース
１６１、１６１Ａ、１６１Ｂ、１６１Ｃ      業務ＬＡＮ
１６２、１６２Ａ、１６２Ｂ、１６２Ｃ、１６２Ｎ      管理ＬＡＮ
１６３            ストレージＬＡＮ
１７              バス
１８              外部記憶装置
１９Ａ、１９Ｂ    スイッチ
３０、３０Ａ、３０Ｂ、３０Ｃ      仮想マシン
３３              仮想マシン情報格納部
４０、４０Ａ、４０Ｂ、４０Ｃ      仮想ＳＷ
４１              仮想マシン接続情報格納部
１１０            ハイパーバイザ
１２０、２２０    構成管理部
１２１、２２１    仮想マシン管理部
１２２、２２３    仮想ＳＷ管理部
１３０、２３０    マシン監視部
１３１、２３１    仮想マシン監視部
１４０            制御部
１４１            仮想ＳＷ制御部
１６０            物理マシン情報格納部
１７０Ａ、１７０Ｃ      ＭＡＣアドレステーブル
２２２            物理マシン管理部
２３２            物理マシン監視部
２４０            移行制御部
２４１            仮想マシン移行制御部
２４２            仮想ＳＷ通信移行制御部
２４３            仮想マシン移行実行部
２４４            仮想ＳＷ通信移行実行部
２５０            物理−仮想マシン関連付け表
【図１】
2017130125.tif 000003
【図２】
2017130125.tif 000004
【図３】
2017130125.tif 000005
【図４】
2017130125.tif 000006
【図５】
2017130125.tif 000007
【図６】
2017130125.tif 000008
【図７】
2017130125.tif 000009
【図８】
2017130125.tif 000010
【図９】
2017130125.tif 000011
【図１０】
2017130125.tif 000012
【図１１】
2017130125.tif 000013
【図１２】
2017130125.tif 000014
【図１３】
2017130125.tif 000015