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