(57)【要約】【課題】電源障害が発生した際に重要なアプリケーションの継続動作を確保する。【解決手段】複数の無停電電源装置３０と、複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシン２１が動作する複数の仮想サーバ２０であって、１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバと、仮想サーバの停止順位と、仮想マシン及びアプリケーションの停止処理に関する情報とを管理する管理サーバ１０とからなり、管理サーバは、電源障害が発生した際に、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、アプリケーションを停止した仮想マシンから順次停止処理を行う仮想マシン管理システム１等。【選択図】図１
2017072876.tif 000002
【特許請求の範囲】
【請求項１】
電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置と、
前記複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバと、
前記仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバとからなり、
前記管理サーバは、
前記電源障害が発生した際に、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、
前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする仮想マシン管理システム。
【請求項２】
前記管理サーバは、
ユーザによって予め設定された、各仮想マシンが実行する各アプリケーションの重要度が登録された重要度登録管理テーブルと、
該重要度登録管理テーブルに登録されたアプリケーションと、該アプリケーションを実行する仮想マシンとが関連付けられて登録されたライブマイグレーション管理テーブルと、
前記複数の無停電電源装置の残バッテリ容量が登録された残バッテリ容量管理テーブルと、
前記複数の無停電電源装置と、該複数の無停電電源装置の各々に接続された前記複数の仮想サーバと、該複数の仮想サーバの各々で動作する前記１つ又は複数の仮想マシンとが互いに関連付けられて登録された接続管理テーブルとを有することを特徴とする請求項１に記載の仮想マシン管理システム。
【請求項３】
前記管理サーバは、
前記接続管理テーブルに基づき、前記無停電電源装置及び前記仮想サーバの接続状態を管理する無停電電源装置接続管理部と、
前記ライブマイグレーション管理テーブルに基づき、前記仮想サーバ上で動作中の前記仮想マシンと、該仮想マシンが動作させる前記アプリケーションの重要度とを関連づけて管理する仮想マシン管理部と、
前記複数の無停電電源装置の電源状態を監視し、前記電源障害が発生したか否かを判断する電源状態管理部と、
前記複数の無停電電源装置の残バッテリ容量を計測する残バッテリ容量計測部と、
前記アプリケーションの動作状況を取得するアプリケーション管理部と、
前記重要度登録管理テーブルに基づき、各仮想マシン上で動作する各アプリケーションの重要度を管理するアプリケーション重要度管理部と、
前記仮想サーバ上で動作する仮想マシンに対して前記ライブマイグレーション処理を実行するライブマイグレーション処理部と、
前記アプリケーションに対する停止処理、及び前記仮想マシンに対する前記停止処理を実行する停止制御部とを備え、
前記電源状態管理部による前記監視の結果、前記電源障害が発生したと判断された場合に、
前記残バッテリ容量計測部により、前記複数の無停電電源装置の残バッテリ容量が計測されると共に、該計測された前記複数の無停電電源装置の残バッテリ容量に基づき、前記残バッテリ容量管理テーブルに登録された情報が更新され、
前記ライブマイグレーション処理部により、前記残バッテリ容量管理テーブル、前記接続管理テーブル及び前記ライブマイグレーション管理テーブルに基づき、前記ライブマイグレーション処理が実行され、
前記無停電電源装置接続管理部により、前記ライブマイグレーション処理の実行結果に基づき、前記接続管理テーブルの各仮想サーバ上で動作する仮想マシンの情報が更新され、
前記停止制御部により、前記アプリケーション管理部からの情報に基づき、停止可能なアプリケーションに対して前記停止処理が実行されると共に、アプリケーションが停止した仮想マシンに対して前記停止処理が順次実行されることを特徴とする請求項２に記載の仮想マシン管理システム。
【請求項４】
前記ライブマイグレーション処理部は、前記残バッテリ容量管理テーブル、前記接続管理テーブル及び前記ライブマイグレーション管理テーブルに基づき、各仮想マシンが動作するアプリケーションの重要度と前記各無停電電源装置の残バッテリ容量とを比較し、前記重要度が上位のアプリケーションを動作させる仮想マシンを、前記残バッテリ容量が多い無停電電源装置に接続された前記仮想サーバ上に移動させると共に、前記重要度が下位の仮想マシンを、前記残バッテリ容量の少ない無停電電源装置に接続された前記仮想サーバ上に移動させることを特徴とする請求項３に記載の仮想マシン管理システム。
【請求項５】
電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバであって、
前記電源障害が発生した際に、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、
前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする管理サーバ。
【請求項６】
電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置と、前記複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバと、前記仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバとからなる仮想マシン管理システムにおける仮想マシン管理方法であって、
前記電源障害が発生した際に、前記管理サーバによって、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、
前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする仮想マシン管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想マシン管理システム、管理サーバ及び仮想マシン管理方法に関し、特に、停電等が発生した際に、仮想サーバ上で動作する仮想マシンの停止順序を自動的に制御することが可能な管理システム、管理サーバ及び管理方法に関する。
【背景技術】
【０００２】
仮想サーバ上で複数の仮想マシンを同時に動作させる仮想マシンコンピュータシステムにおいては、停電等によって仮想サーバに対する電力の供給が遮断された場合でも、仮想マシンの動作を継続させるために、様々な方法が用いられている。
【０００３】
例えば、特許文献１には、仮想マシンコンピュータシステムにおいて、仮想サーバ上で動作している複数の仮想マシンに対して、停電等により電源障害が発生した際に、所定の仮想サーバ上で動作中の仮想マシンを他の仮想サーバにフェールオーバすることで、仮想マシンの実行を継続させる技術が記載されている。
【０００４】
また、特許文献２には、仮想マシンコンピュータシステムにおいて、複数の仮想マシンを管理者が手動で停止させる場合の停止順序を示すための技術が記載されている。
【０００５】
しかし、特許文献１に記載のシステムでは、優先順位を考慮することなく仮想マシンの停止処理が行われるため、適切な仮想マシンの停止順序制御を行うことができず、改善の余地があった。また、特許文献２においては、管理者の不在時に対応することができなかった。
【０００６】
上記の点に鑑み、特許文献３には、仮想マシンの停止順位を予め定めておき、停電時等において、停止順位の高い仮想マシンを残バッテリ容量の多い無停電電源装置に接続された仮想サーバにライブマイグレーション処理（仮想サーバ間移動処理）を行う技術が開示される。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２００９−２８２７１４号公報
【特許文献２】特開２００９−２４５３１６号公報
【特許文献３】特開２０１４−０５２６８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかし、上記特許文献３に記載のシステムは、電源障害が発生した際に停止順位の高い仮想マシンの動作を継続させることは可能であるが、仮想マシン上で動作するアプリケーションについては考慮されておらず、重要なアプリケーションの継続動作に関して改善の余地があった。
【０００９】
そこで、本発明は、上記従来の技術における問題点に鑑みてなされたものであって、電源障害が発生した際に重要なアプリケーションの継続動作を確保することができる仮想マシン管理システム等を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上記目的を達成するため、本発明は、仮想マシン管理システムであって、電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置と、前記複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバと、前記仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバとからなり、前記管理サーバは、前記電源障害が発生した際に、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする。
【００１１】
また、本発明は、電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバであって、前記電源障害が発生した際に、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする。
【００１２】
さらに、本発明は、電源障害が発生した際に、接続された装置に対して電力を供給する複数の無停電電源装置と、前記複数の無停電電源装置の各々に接続され、１つ又は複数の仮想マシンが動作する複数の仮想サーバであって、該１つ又は複数の仮想マシンの各々が１つ又は複数のアプリケーションを動作させる複数の仮想サーバと、前記仮想サーバの停止順位と、前記仮想マシン及び前記アプリケーションの停止処理に関する情報とを管理する管理サーバとからなる仮想マシン管理システムにおける仮想マシン管理方法であって、前記電源障害が発生した際に、前記管理サーバによって、予め設定された各仮想マシンが実行する各アプリケーションの重要度と、各無停電電源装置の残バッテリ容量とに基づき、所定の仮想サーバ上で動作する仮想マシンに対して他の仮想サーバへ移動させるライブマイグレーション処理を実行し、前記アプリケーションを停止した仮想マシンから順次停止処理を行うことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、電源障害が発生した際に重要なアプリケーションの継続動作を確保することができる。
【図面の簡単な説明】
【００１４】
【図１】本発明に係る仮想マシン管理システムの一実施の形態を示すブロック図である。
【図２】本発明に係る管理サーバの構成の一例を示すブロック図である。
【図３】本発明に係る接続管理テーブルについて説明するための概略図である。
【図４】本発明に係るライブマイグレーション管理テーブルについて説明するための概略図である。
【図５】本発明に係る残バッテリ容量管理テーブルについて説明するための概略図である。
【図６】本発明に係る重要度登録管理テーブルについて説明するための概略図である。
【図７】本発明における環境設定処理の流れについて説明するためのフローチャートである。
【図８】本発明における停電監視処理の流れについて説明するためのフローチャートである。
【図９】本発明における停止処理の流れについて説明するためのフローチャートである。
【図１０】本発明におけるライブマイグレーション処理の流れについて説明するためのフローチャートである。
【発明を実施するための形態】
【００１５】
次に、本発明を実施するための形態について、図面を参照しながら詳細に説明する。
【００１６】
図１は、本発明にかかる仮想マシン管理システムの一実施の形態を示し、この仮想マシン管理システム１は、管理サーバ１０と、複数の仮想サーバ２０と、複数の無停電電源装置３０と、及び無停電電源装置４０とで構成される。図１に示す例では、３つの仮想サーバ２０Ａ、２０Ｂ、２０Ｃ及び３つの無停電電源装置３０Ａ、３０Ｂ、３０Ｃを用いた場合を示す。
【００１７】
尚、以下の説明において、仮想サーバ２０Ａ、２０Ｂ及び２０Ｃの各々を特に区別する必要がない場合には、単に「仮想サーバ２０」とし、また、無停電電源装置３０Ａ、３０Ｂ及び３０Ｃの各々を特に区別する必要がない場合には、単に「無停電電源装置３０」とする。
【００１８】
仮想サーバ２０Ａ、２０Ｂ及び２０Ｃは、各々の無停電電源装置３０Ａ、３０Ｂ及び３０Ｃと接続され、通常時に電力が供給される電源に停電等による電源障害が発生し、電力の供給が遮断された場合に、無停電電源装置３０Ａ、３０Ｂ及び３０Ｃから電力が供給される。
【００１９】
仮想サーバ２０Ａ上では、１つ又は複数の仮想マシン２１Ａが動作する。また、仮想サーバ２０Ｂ上では、同様にして、１つ又は複数の仮想マシン２１Ｂが動作し、仮想サーバ２０Ｃ上では、１つ又は複数の仮想マシン２１Ｃが動作する。この例では、仮想サーバ２０Ａ上で、２つの仮想マシン２１Ａ１及び２１Ａ２が動作し、仮想サーバ２０Ｂ上で、２つの仮想マシン２１Ｂ１及び２１Ｂ２が動作し、仮想サーバ２０Ｃ上で、２つの仮想マシン２１Ｃ１及び２１Ｃ２が動作する場合を示す。
【００２０】
尚、以下の説明において、仮想マシン２１Ａ１及び２１Ａ２、仮想マシン２１Ｂ１及び２１Ｂ２、仮想マシン２１Ｃ１及び２１Ｃ２を特に区別する必要がない場合には、単に「仮想マシン２１」とする。
【００２１】
仮想マシン２１上では、１つ又は複数のアプリケーションが動作する。この例では、仮想マシン２１Ａ１上ではアプリケーションａ、ｂが動作しており、仮想マシン２１Ａ２上ではアプリケーションｃ、ｄが、仮想マシン２１Ｂ１上ではアプリケーションｅ、ｆ、仮想マシン２１Ｂ２上ではアプリケーションｇ、ｈ、仮想マシン２１Ｃ１上ではアプリケーションｉ、ｊ、仮想マシン２１Ｃ２上ではアプリケーションｋ、ｌが各々動作している。
【００２２】
管理サーバ１０は、図２に示すように、無停電電源装置接続管理部１１、仮想マシン管理部１２、電源状態管理部１３、残バッテリ容量計測部１４、アプリケーション管理部１５、アプリケーション重要度管理部１６、ライブマイグレーション処理部１７及び停止制御部１８を備え、上述した仮想サーバ２０や、各仮想サーバ２０上で動作する仮想マシン２１、無停電電源装置３０の管理及び制御等を行う。
【００２３】
無停電電源装置接続管理部１１は、後述する接続管理テーブル（図３参照）に基づき、各々の仮想サーバ２０と、無停電電源装置３０との接続状態を管理すると共に、各仮想サーバ２０上で動作する仮想マシン２１を管理する。無停電電源装置接続管理部１１は、各仮想サーバ２０に対して所定のタイミングで定期的にアクセスし、各仮想サーバ２０上で動作する仮想マシン２１の情報を取得する。
【００２４】
仮想マシン管理部１２は、後述するライブマイグレーション管理テーブル（図４参照）に基づき、仮想サーバ２０上で動作中の仮想マシン２１と、仮想マシン２１が動作するアプリケーションの重要度とを関連づけて管理する。
【００２５】
電源状態管理部１３は、各仮想サーバ２０に接続された無停電電源装置３０に対して所定のタイミングで定期的にアクセスし、各無停電電源装置３０の電源状態を監視し、停電等の電源障害が発生しているか否かを判断する。
【００２６】
残バッテリ容量計測部１４は、各仮想サーバ２０に接続された無停電電源装置３０の残バッテリ容量を計測し、計測によって得られるバッテリ量を、後述する残バッテリ容量管理テーブル（図５参照）を用いて管理する。残バッテリ容量計測部１４は、電源状態管理部１３によって停電中であると判断された場合に、各無停電電源装置３０に接続された仮想サーバ２０の消費電力量に基づき、無停電電源装置３０のバッテリ使用可能時間を算出する。
【００２７】
アプリケーション管理部１５は、仮想マシン２１上のアプリケーションａ〜ｌの動作状況を取得し、すぐに停止可能なアプリケーションを抽出する。また、取得した動作状況からアプリケーションａ〜ｌの終了時間を算出し、後述するライブマイグレーション処理部１７にその情報を送信する。
【００２８】
アプリケーション重要度管理部１６は、後述する重要度登録管理テーブル（図６参照）に基づき、仮想マシン２１上で動作中のアプリケーションａ〜ｌの重要度を管理する。
【００２９】
ライブマイグレーション処理部１７は、各仮想マシン２１上で動作中のアプリケーションａ〜ｌに関する情報と、各仮想サーバ２０に接続された無停電電源装置３０の残バッテリ容量とに基づき、所定のアプリケーションを動作させる仮想マシン２１を、動作を停止させることなく他の仮想サーバ２０上に移動させるライブマイグレーション処理を行う。
【００３０】
停止制御部１８は、アプリケーション管理部１５からの情報に基づき、仮想サーバ２０及び仮想サーバ２０上で動作中の仮想マシン２１に対する停止処理を行う。
【００３１】
説明は図１に戻り、管理サーバ１０は、無停電電源装置４０に接続され、停電等による電源障害が発生して通常時の電力供給が遮断された場合に、無停電電源装置４０から電力が供給される。
【００３２】
次に、管理サーバ１０で用いられる各種テーブルについて説明する。
【００３３】
図３に示す接続管理テーブルは、各無停電電源装置３０及び仮想サーバ２０の接続状態と、各仮想サーバ２０上で動作する仮想マシン２１とを管理するためのテーブルであり、無停電電源装置３０、仮想サーバ２０、及び仮想サーバ２０上で動作する仮想マシン２１に関する情報が互いに関連付けられて記録される。
【００３４】
図３の例では、無停電電源装置３０Ａ、仮想サーバ２０Ａ、及び仮想サーバ２０Ａ上で動作する仮想マシン２１Ａ１、２１Ａ２が互いに関連付けられると共に、無停電電源装置３０Ｂ、仮想サーバ２０Ｂ、及び仮想サーバ２０Ｂ上で動作する仮想マシン２１Ｂ１、２１Ｂ２が互いに関連付けられ、無停電電源装置３０Ｃ、仮想サーバ２０Ｃ、及び仮想サーバ２０Ｃ上で動作する仮想マシン２１Ｃ１、２１Ｃ２が互いに関連付けられる。
【００３５】
接続管理テーブルに記録される情報は、管理サーバ１０の残バッテリ容量計測部１４が各仮想サーバ２０に対して定期的にアクセスすることで得られる、各仮想サーバ２０上で動作する仮想マシン２１の情報に基づき更新される。
【００３６】
図４に示すライブマイグレーション管理テーブルは、ライブマイグレーションを行う仮想マシン２１の優先順位を管理するためのテーブルであり、アプリケーションａ〜ｌの重要度と、対応するアプリケーションａ〜ｌと、対応するアプリケーションａ〜ｌが動作している仮想マシン２１と、ライブマイグレーションを行う仮想マシン２１の優先順位とが関連付けられて記録される。
【００３７】
図５に示す残バッテリ容量管理テーブルは、各無停電電源装置３０の残バッテリ容量を管理するためのテーブルであり、各無停電電源装置３０の残バッテリ容量が記録される。同図は、無停電電源装置３０Ａの残バッテリ容量がＴ−１であり、無停電電源装置３０Ｂの残バッテリ容量がＴ−２であり、無停電電源装置３０Ｃの残バッテリ容量がＴ−３である場合の例を示す。
【００３８】
残バッテリ容量管理テーブルに記録される各無停電電源装置３０の残バッテリ容量は、管理サーバ１０の残バッテリ容量計測部１４によって残バッテリ容量が算出されたタイミングで更新される。
【００３９】
図６に示す重要度登録管理テーブルは、アプリケーションａ〜ｌの重要度を管理するためのテーブルであり、重要度と、重要度に対応する各アプリケーションａ〜ｌとが関連付けられて記録される。同図の例では、「重要度１」にアプリケーションａ、ｂが関連付けられると共に、「重要度２」にアプリケーションｃ、ｄが、「重要度３」にアプリケーションｅ、ｆが、「重要度４」にアプリケーションｇ、ｈが、「重要度５」にアプリケーションｉ、ｊが、「重要度Ｎ（最も低い）」にアプリケーションｋ、ｌが各々関連付けられる。尚、この重要度登録管理テーブルは、各仮想マシン２１を起動させた際にユーザにより設定されることで作成される。
【００４０】
次に、上記構成を有する仮想マシン管理システム１の動作について、図７〜図１０に示すフローチャートを参照して説明する。尚、本実施の形態による仮想マシン管理システム１では、無停電電源装置３０、仮想サーバ２０及び仮想マシン２１の関係を登録するための環境設定処理を行った後に、各無停電電源装置３０の状態に基づく停電監視処理を行う。そして、停電等の電源障害が発生した場合には、各仮想サーバ２０上で動作中の仮想マシン２１を停止させるための停止処理を行うと共に、動作中の仮想マシン２１を移動させるためのライブマイグレーション処理を行う。
【００４１】
まず、図７を中心に参照しながら環境設定処理の流れについて説明する。ステップＳ１において、管理サーバ１０の無停電電源装置接続管理部１１は、ユーザによって予め設定された各仮想サーバ２０と当該仮想サーバ２０に接続された無停電電源装置３０との接続情報を図３の接続管理テーブルに登録する。
【００４２】
次に、ステップＳ２において、各仮想サーバ２０上で仮想マシン２１が起動された際に、起動された仮想マシン２１が起動するアプリケーション毎に重要度がユーザによって設定され、仮想マシン管理部１２は、設定された重要度を示す情報に基づき、ライブマイグレーションを行う仮想マシン２１の優先順位を図４のライブマイグレーション管理テーブルに登録する。
【００４３】
ステップＳ３において、無停電電源装置接続管理部１１は、各仮想サーバ２０に対してアクセスし、各仮想サーバ２０上で動作中の仮想マシン２１の情報を取得する。この取得した情報を図３の接続管理テーブルに登録する。これにより、無停電電源装置３０と、無停電電源装置３０に接続している仮想サーバ２０と、仮想サーバ２０上で動作している仮想マシン２１とを関連付けることが可能になる。
【００４４】
さらに、ステップ４において、管理サーバ１０のアプリケーション管理部１５により仮想マシン２１上で動作しているアプリケーションａ〜ｌの情報を仮想マシン２１から取得する。ここで、動作を確認したアプリケーションａ〜ｌについては、アプリケーション重要度管理テーブルより重要度を確認し、動作しているアプリケーションａ〜ｌの重要度の高い順に、仮想マシン２１とアプリケーションａ〜ｌ、重要度の組み合わせの情報を図４のライブマイグレーション管理テーブルに入れ替えて登録する（ステップＳ５）。
【００４５】
以下、ステップＳ３及びＳ４に示す処理が所定のタイミングで定期的に実行される。これにより、仮想サーバ２０上で動作している仮想マシン２１の情報、仮想マシン２１上で動作しているアプリケーションａ〜ｌの情報を取得し、接続管理テーブル及びライブマイグレーション管理テーブルの内容が各々最新の状態になるよう管理する。
【００４６】
次に、図８を参照しながら停電監視処理の流れについて説明する。
【００４７】
まず、管理サーバ１０の電源状態管理部１３は、各無停電電源装置３０に対して所定のタイミングで定期的にアクセスし、無停電電源装置３０の電源状態に基づき停電が発生したか否かを判断する（ステップＳ１１）。電源状態管理部１３は、停電が発生していないと判断した場合（ステップＳ１１；Ｎｏ）には、処理がステップＳ１１に戻る。
【００４８】
一方、電源状態管理部１３が停電状態の無停電電源装置３０を確認し、停電が発生したと判断した場合（ステップＳ１１；Ｙｅｓ）、アプリケーション及び仮想マシン２１の停止処理を行う（ステップＳ１２）。
【００４９】
この停止処理について、図９を参照しながら説明する。まず、アプリケーションの停止処理を行い、その後仮想マシン２１の停止処理を行う。
【００５０】
ステップＳ１２−１において、アプリケーション管理部１５は、動作しているアプリケーションａ〜ｌのうち、停電発生時にすぐに停止可能なアプリケーションを抽出する。例えば、停電発生時に停止可能なアプリケーションｋ及びアプリケーションｌが動作していた場合（ステップＳ１２−１；Ｙｅｓ）、停止制御部１８により動作している仮想マシン２１上のアプリケーションの停止処理が実行される（ステップＳ１２−２）。
【００５１】
停止処理後は、図４のライブマイグレーション管理テーブルから停止したアプリケーションを削除し、このライブマイグレーション管理テーブルを、動作しているアプリケーションのみを示す最新の状態に更新する。
【００５２】
次に、ステップＳ１２−３において、ライブマイグレーション管理テーブルの中で、仮想マシン２１上でアプリケーションが動作していない仮想マシン２１を抽出する。仮想マシン２１上でアプリケーションが動作していない場合、その仮想マシン２１は停止可能と判断できることから（ステップＳ１２−３；Ｙｅｓ）、停止制御部１８は、アプリケーションが動作していない仮想マシンの停止処理を行う（ステップＳ１２−４）。
【００５３】
本実施の形態では、アプリケーションｋ及びアプリケーションｌを停止しているため、仮想マシン２１Ｃ２の停止処理が行われる。停止処理後は、ライブマイグレーション管理テーブルと接続管理テーブルから停止処理を行った仮想マシン２１を削除し、両テーブルの情報を最新の状態にする。
【００５４】
図８へ戻り、ステップＳ１３において、無停電電源装置接続管理部１１は、停電状態となっている無停電電源装置３０の残バッテリ容量の計測処理を行う。この計測は、管理サーバ１０の残バッテリ容量計測部１４で図５の残バッテリ容量管理テーブルにて動作している無停電電源装置３０の残バッテリ容量を計測し、残バッテリ容量管理テーブルの残バッテリ容量の情報を更新する。残バッテリ容量管理テーブルに登録された各無停電電源装置３０の残バッテリ容量に基づき、図３の接続管理テーブルに登録された情報を並び替える。
【００５５】
次に、ステップＳ１４において、ライブマイグレーション処理部１７は、動作中の仮想マシン２１に対するライブマイグレーション処理を実行する（ステップＳ１４）。このライブマイグレーション処理について、図１０を参照しながら説明する。
【００５６】
まず、図４のライブマイグレーション管理テーブルで、重要度順に並べられている仮想マシン２１を確認する（ステップＳ１４−１）。そして、図５の残バッテリ容量管理テーブルより残バッテリ容量が一番多い無停電電源装置３０を確認し、図３の接続管理テーブルより、その残バッテリ容量が一番多い無停電電源装置３０に接続されている仮想サーバ２０を確認する（ステップＳ１４−２）。
【００５７】
管理サーバ１０のライブマイグレーション管理テーブルにおいて上位に登録されている仮想マシン２１が、バッテリ容量の多い無停電源装置３０に接続される仮想サーバ２０へ移動するようにライブマイグレーション処理を行う（ステップＳ１４−３）。この処理は、動作中の全ての仮想マシン２１に対して繰り返し行われる。これにより、アプリケーションの重要度と無停電電源装置３０の残バッテリ容量の順に応じた、仮想マシン２１のライブマイグレーション処理による移動が行われることになる。
【００５８】
移動処理完了後は、接続管理テーブルに移動した仮想マシン２１の情報を登録し、テーブル情報を最新の状態にする（Ｓ１４−４）。
【００５９】
図８へ戻り、残バッテリ容量に応じた仮想マシン２１のライブマイグレーション処理による移動後は、ステップＳ１１へ戻り、停電状態が継続しているか確認処理を行う。引き続き停電状態となっている場合には（ステップＳ１１；Ｙｅｓ）、再度、ステップＳ１２〜Ｓ１４を繰り返すことで、重要度の高いアプリケーションが動作している仮想マシン２１が最後まで動作できるよう制御する。
【００６０】
以上のように、本実施の形態によれば、仮想マシン２１が動作させているアプリケーションの重要度と、無停電電源装置３０の残バッテリ容量とに基づきライブマイグレーション処理を実行することにより、停電時において、重要度の高いアプリケーションが動作している仮想マシン２１が最後まで動作できるよう制御することができる。
【符号の説明】
【００６１】
１  仮想マシン管理システム
１０  管理サーバ
１１  無停電電源装置接続管理部
１２  仮想マシン管理部
１３  電源状態管理部
１４  残バッテリ容量計測部
１５  アプリケーション管理部
１６  アプリケーション重要度管理部
１７  ライブマイグレーション処理部
１８  停止制御部
２０（２０Ａ、２０Ｂ、２０Ｃ）  仮想サーバ
２１（２１Ａ１、２１Ａ２、２１Ｂ１、２１Ｂ２、２１Ｃ１、２１Ｃ２）  仮想マシン
３０（３０Ａ、３０Ｂ、３０Ｃ）  無停電電源装置
４０  無停電電源装置
ａ〜ｌ  アプリケーション
【図１】
2017072876.tif 000003
【図２】
2017072876.tif 000004
【図３】
2017072876.tif 000005
【図４】
2017072876.tif 000006
【図５】
2017072876.tif 000007
【図６】
2017072876.tif 000008
【図７】
2017072876.tif 000009
【図８】
2017072876.tif 000010
【図９】
2017072876.tif 000011
【図１０】
2017072876.tif 000012