(57)【要約】      （修正有）【課題】仮想マシンが意図的に削除され得る場合にも、適切に仮想マシンの異常の判定を行う。【解決手段】仮想マシン管理システムは、複数の物理マシン１００と、監視サーバ２００と、環境管理サーバ３００とを備える。環境管理サーバの状況受信部３０２は、仮想マシンをエミュレートする物理マシン１００から、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する。監視サーバの設定更新部２０５は、状況受信部３０２が受信した稼働状況に基づいて、設定記憶部２０１が記憶する、監視対象となる仮想マシンの識別情報を格納する監視設定情報を更新し、送信要求部２０２は、監視設定情報に格納された識別情報が示す仮想マシンに対し、当該仮想マシンの状態を示す状態情報の送信要求を送信し、状態受信部２０３は、仮想マシンから送信要求に応じて送信された状態情報を受信する。【選択図】図２
2015148843.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部と、
前記状況受信部が受信した稼働状況に基づいて、監視対象となる仮想マシンの識別情報を格納する監視設定情報を更新する設定更新部と、
前記監視設定情報に格納された識別情報が示す仮想マシンに対し、当該仮想マシンの状態を示す状態情報の送信要求を送信する送信要求部と、
前記仮想マシンから前記送信要求に応じて送信された状態情報を受信する状態受信部と
を備える仮想マシン管理システム。
【請求項２】
前記送信要求部が送信要求を送信した仮想マシンのうち、前記状態受信部が状態情報を受信できない仮想マシンがある場合に、当該仮想マシンに異常が発生していると判定する異常判定部
を備える請求項１に記載の仮想マシン管理システム。
【請求項３】
前記異常判定部が、前記仮想マシンに異常が発生していると判定した場合に、当該判定の正誤を判定する正誤判定部
を備える請求項２に記載の仮想マシン管理システム。
【請求項４】
前記正誤判定部は、前記異常判定部が前記仮想マシンに異常が発生していると判定した場合に、前記状況受信部が受信した稼働状況に基づいて当該判定の正誤を判定する
請求項３に記載の仮想マシン管理システム。
【請求項５】
前記正誤判定部は、前記異常判定部が前記仮想マシンに異常が発生していると判定した場合に、当該仮想マシンによる他のシステムの運用管理情報に基づいて当該判定の正誤を判定する
請求項３に記載の仮想マシン管理システム。
【請求項６】
前記設定更新部は、前記正誤判定部によって前記判定が誤っていると判定された場合に、前記監視設定情報を更新する
請求項３から請求項５の何れか１項に記載の仮想マシン管理システム。
【請求項７】
仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信するステップと、
前記受信した稼働状況に基づいて、監視対象となる仮想マシンの識別情報を格納する監視設定情報を更新するステップと、
前記監視設定情報に格納された識別情報が示す仮想マシンに対し、当該仮想マシンの状態を示す状態情報の送信要求を送信するステップと、
前記仮想マシンから前記送信要求に応じて送信された状態情報を受信するステップと
を含む仮想マシン管理方法。
【請求項８】
仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部と、
前記状況受信部が受信した稼働状況に応じて、監視対象となる仮想マシンの識別情報を格納する監視設定情報に基づいて前記仮想マシンの監視を行う監視サーバに対し、当該監視設定情報の更新を指示する更新指示部と
を備える環境管理サーバ。
【請求項９】
前記監視サーバが前記仮想マシンに異常が発生していると判定した場合に、当該判定の正誤を判定する正誤判定部
を備える請求項８に記載の環境管理サーバ。
【請求項１０】
コンピュータを、
仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部、
前記状況受信部が受信した稼働状況に応じて、監視対象となる仮想マシンの識別情報を格納する監視設定情報に基づいて前記仮想マシンの監視を行う監視サーバに対し、当該監視設定情報の更新を指示する更新指示部
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、物理マシンによってエミュレートされる仮想マシンを管理する仮想マシン管理システム、仮想マシン管理方法、環境管理サーバ及びプログラムに関する。
【背景技術】
【０００２】
複数のサーバによってサービスを実現するクラウドサービスにおいては、各サーバが正常に動作しているか否かを監視することが重要となっている。このようなクラウドサービスが、複数の物理マシンを１つの基盤として振る舞わせる仮想化基盤システムによって構築されている場合、各サーバは、物理マシンによってエミュレートされる仮想マシンによって実現される。
【０００３】
仮想化基盤システムにおいては、個々の物理マシンの余剰リソースを極力なくし、リソースを最適化することが求められており、仮想マシンの追加、構成変更、削除がなされる頻度が高い。このような仮想化基盤システムに構築されるクラウドサービスにおいて、各サーバの動作を監視するためには、仮想マシンの追加、構成変更、削除がなされる度に、オペレータによって監視を行う監視サーバの設定を変更する必要がある。
【０００４】
特許文献１には、被監視サーバのそれぞれが、当該被監視サーバの動作状態を監視サーバに通知する監視エージェントを備え、監視サーバが当該監視エージェントからの通知に基づいて各被監視サーバの監視を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１２−２３４３３６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
しかしながら、仮想化基盤システムに特許文献１に記載の技術を適用すると、仮想マシンに異常が発生した場合のみならず、オペレータが仮想マシンを意図的に削除しまたは停止した場合にも、当該仮想マシンからの通知が無いため監視サーバは被監視サーバに異常が発生したと判定することとなる。つまり、監視エージェントからの通知が無い場合に、仮想マシンに異常が発生しているのか、仮想マシンが意図的に削除されまたは停止されたのかを判定することができない。
【０００７】
監視サーバが、仮想マシンが意図的に削除されたにも関わらず、当該仮想マシンに異常が発生していると判定した場合、当該仮想マシンとの疎通不可に係るアラームを通知し続ける可能性がある。この場合、監視サーバからの通信が常時発生することとなるため、通信回線を逼迫する可能性がある。
【課題を解決するための手段】
【０００８】
第１の態様は、仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部と、前記状況受信部が受信した稼働状況に基づいて、監視対象となる仮想マシンの識別情報を格納する監視設定情報を更新する設定更新部と、前記監視設定情報に格納された識別情報が示す仮想マシンに対し、当該仮想マシンの状態を示す状態情報の送信要求を送信する送信要求部と、前記仮想マシンから前記送信要求に応じて送信された状態情報を受信する状態受信部とを備える仮想マシン管理システムである。
【０００９】
また、第２の態様は、第１の態様において、前記送信要求部が送信要求を送信した仮想マシンのうち、前記状態受信部が状態情報を受信できない仮想マシンがある場合に、当該仮想マシンに異常が発生していると判定する異常判定部を備える仮想マシン管理システムである。
【００１０】
また、第３の態様は、第２の態様において、前記異常判定部が、前記仮想マシンに異常が発生していると判定した場合に、当該判定の正誤を判定する正誤判定部を備える仮想マシン管理システムである。
【００１１】
また、第４の態様は、第３の態様において、前記正誤判定部は、前記異常判定部が前記仮想マシンに異常が発生していると判定した場合に、前記状況受信部が受信した稼働状況に基づいて当該判定の正誤を判定する仮想マシン管理システムである。
【００１２】
また、第５の態様は、第３の態様において、前記正誤判定部は、前記異常判定部が前記仮想マシンに異常が発生していると判定した場合に、当該仮想マシンによる他のシステムの運用管理情報に基づいて当該判定の正誤を判定する仮想マシン管理システムである。
【００１３】
また、第６の態様は、第３から第５の何れかの態様において、前記設定更新部は、前記正誤判定部によって前記判定が誤っていると判定された場合に、前記監視設定情報を更新する仮想マシン管理システムである。
【００１４】
また、第７の態様は、仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信するステップと、前記受信した稼働状況に基づいて、監視対象となる仮想マシンの識別情報を格納する監視設定情報を更新するステップと、前記監視設定情報に格納された識別情報が示す仮想マシンに対し、当該仮想マシンの状態を示す状態情報の送信要求を送信するステップと、前記仮想マシンから前記送信要求に応じて送信された状態情報を受信するステップとを含む仮想マシン管理方法である。
【００１５】
また、第８の態様は、仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部と、前記状況受信部が受信した稼働状況に応じて、監視対象となる仮想マシンの識別情報を格納する監視設定情報に基づいて前記仮想マシンの監視を行う監視サーバに対し、当該監視設定情報の更新を指示する更新指示部とを備える環境管理サーバである。
【００１６】
また、第９の態様は、第８の態様において、前記監視サーバが、前記仮想マシンに異常が発生していると判定した場合に、当該判定の正誤を判定する正誤判定部を備える環境管理サーバである。
【００１７】
また、第１０の態様は、コンピュータを、仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンを稼働させているか否かを示す稼働状況を受信する状況受信部、前記状況受信部が受信した稼働状況に応じて、監視対象となる仮想マシンの識別情報を格納する監視設定情報に基づいて前記仮想マシンの監視を行う監視サーバに対し、当該監視設定情報の更新を指示する更新指示部として機能させるためのプログラムである。
【発明の効果】
【００１８】
上記態様のうち少なくとも１つの態様によれば、仮想マシンに搭載される監視エージェントではなく、仮想マシンをエミュレートする物理マシンから、監視対象となる仮想マシンの稼働状況を受信する。これにより、仮想マシンが意図的に削除されまたは停止されたものであるか否かを判定することができる。
【図面の簡単な説明】
【００１９】
【図１】第１の実施形態による仮想マシン管理システムの構成を示す概略図である。
【図２】第１の実施形態による仮想マシン管理システムのソフトウェア構成を示す概略ブロック図である。
【図３】監視設定情報及び稼働状況情報の例を示す図である。
【図４】第１の実施形態に係る仮想マシン管理システムによる仮想マシンの監視動作を示すフローチャートである。
【図５】第１の実施形態に係る仮想マシン管理システムによる監視設定情報の更新動作を示すフローチャートである。
【図６】第２の実施形態に係る仮想マシン管理システムのソフトウェア構成を示す概略ブロック図である。
【図７】判定テーブルの例を示す図である。
【図８】第２の実施形態に係る仮想マシン管理システムにおいて、監視サーバがアラームを発した時の動作を示すフローチャートである。
【図９】少なくとも１つの実施形態に係るコンピュータの構成を示す概略ブロック図である。
【発明を実施するための形態】
【００２０】
《第１の実施形態》
以下、図面を参照しながら実施形態について詳しく説明する。
図１は、第１の実施形態による仮想マシン管理システム１の構成を示す概略図である。
仮想マシン管理システム１は、複数の物理マシン１００と、監視サーバ２００と、環境管理サーバ３００とを備える。
各物理マシン１００は、仮想マシンプログラムを実行することで、１つまたは複数の仮想マシン１１０をエミュレートする。また、各物理マシン１００は、同一の仮想化基盤プログラムを実行することで、１つの仮想化基盤を構成する。これにより、仮想マシン管理システム１は、複数の物理マシン１００間で仮想マシン１１０を移転させることができる。なお、図１は、仮想マシン管理システム１が２つの物理マシン１００を備える例を示すが、これに限られない。例えば、仮想マシン管理システム１が備える物理マシン１００の数は、３つ以上であっても良いし、１つであっても良い。
【００２１】
物理マシン１００がエミュレートする各仮想マシン１１０は、監視エージェントプログラムを実行することで、当該仮想マシン１１０の状態を示す状態情報を監視サーバ２００に送信する。仮想マシン１１０の状態情報とは、例えば、当該仮想マシン１１０のプロセスの死活、ログの監視、ＣＰＵやメモリなどのリソースの使用率、補助記憶装置の容量などが挙げられる。
【００２２】
監視サーバ２００は、監視対象となる仮想マシン１１０に状態情報の送信要求を送信し、当該送信要求に応じて送信された状態情報に基づいて、各仮想マシン１１０の監視を行う。監視サーバ２００は監視対象となる仮想マシン１１０の識別情報を格納する監視設定情報に基づいて、監視対象となる仮想マシン１１０を特定する。
【００２３】
環境管理サーバ３００は、物理マシン１００から、当該物理マシン１００がエミュレートする仮想マシン１１０の稼働状況を確認する。仮想マシン１１０の稼働状況とは、当該仮想マシン１１０を稼働させているか、停止させているか、削除したかを示す情報である。また、環境管理サーバ３００は、当該稼働状況に基づいて、監視サーバ２００に対し、監視設定情報の更新を指示する。
【００２４】
図２は、第１の実施形態による仮想マシン管理システム１のソフトウェア構成を示す概略ブロック図である。
各物理マシン１００は、仮想化基盤プログラムを実行することで、仮想マシン記憶部１０１と、仮想マシン制御部１０２と、稼働状況通知部１０３とを備える。
仮想マシン記憶部１０１は、仮想マシン１１０をエミュレートするための仮想マシンプログラムを記憶する。
仮想マシン制御部１０２は、仮想マシン記憶部１０１が記憶する仮想マシンプログラムを実行することで、仮想マシン１１０を起動（エミュレートを開始）する。
稼働状況通知部１０３は、仮想マシン制御部１０２がエミュレートする仮想マシン１１０の稼働状況を取得し、当該稼働状況を監視サーバ２００に通知する。
【００２５】
監視サーバ２００は、設定記憶部２０１と、送信要求部２０２と、状態受信部２０３と、異常判定部２０４と、設定更新部２０５とを備える。
設定記憶部２０１は、監視対象となる仮想マシン１１０の情報を格納する監視設定情報を記憶する。監視設定情報は、監視対象となる仮想マシン１１０の識別情報と、当該仮想マシン１１０をエミュレートする物理マシン１００の識別情報と、当該仮想マシン１１０の稼働状況と、当該仮想マシン１１０の異常の有無と、当該仮想マシン１１０の状態情報とを格納する。
【００２６】
送信要求部２０２は、設定記憶部２０１が記憶する監視設定情報に基づいて、監視対象となる仮想マシン１１０に対し、状態情報の送信要求を送信する。具体的には、送信要求部２０２は、監視設定情報に格納される各識別情報が示す仮想マシン１１０に対し、状態情報の送信要求を送信する。
状態受信部２０３は、仮想マシン１１０から、送信要求に応じて送信された状態情報を受信する。
【００２７】
異常判定部２０４は、状態受信部２０３が受信した状態情報と設定記憶部２０１が記憶する監視設定情報とに基づいて、仮想マシン１１０の異常の有無を判定する。
設定更新部２０５は、環境管理サーバ３００からの設定情報の更新指示に従って、設定記憶部２０１が記憶する監視設定情報を更新する。
【００２８】
環境管理サーバ３００は、状況記憶部３０１、状況受信部３０２、更新指示部３０３を備える。
状況記憶部３０１は、物理マシン１００がエミュレートする仮想マシン１１０の稼働状況を示す稼働状況情報を記憶する。稼働状況情報は、物理マシン１００の識別情報と、当該物理マシン１００がエミュレートする仮想マシン１１０の識別情報と、当該仮想マシン１１０の稼働状況とを格納する。
状況受信部３０２は、物理マシン１００から当該物理マシン１００がエミュレートする仮想マシン１１０の稼働状況を受信する。状況受信部３０２は、受信した稼働状況に基づいて状況記憶部３０１が記憶する稼働状況情報を更新する。
更新指示部３０３は、状況記憶部３０１が記憶する稼働状況情報が更新された場合に、監視設定情報の更新指示を監視サーバ２００に出力する。
【００２９】
図３は、監視設定情報及び稼働状況情報の例を示す図である。
監視設定情報は、図３（Ａ）に示すように、物理マシン名と仮想マシン名と稼働状況フラグと異常検出フラグとＣＰＵ使用率とメモリ使用率とを関連付けて格納する。なお、物理マシン名は、物理マシン１００の識別情報の一例である。仮想マシン名は、仮想マシン１１０の識別情報の一例である。稼働状況フラグとは、仮想マシン１１０が稼働しているか否かを示すフラグである。つまり、稼働状況フラグが「１」を示す場合、物理マシン１００上で仮想マシン１１０が稼働していることを示し、稼働状況フラグが「０」を示す場合、物理マシン１００上で仮想マシン１１０が停止していることを示す。異常検出フラグとは、仮想マシン１１０に異常が検出されたか否かを示すフラグである。つまり、異常検出フラグが「１」を示す場合、仮想マシン１１０に異常が検出されたことを示し、異常検出フラグが「０」を示す場合、仮想マシン１１０に異常が検出されていないことを示す。ＣＰＵ使用率とメモリ使用率は、仮想マシン１１０の状態情報の一例である。
稼働状況情報は、図３（Ｂ）に示すように、物理マシン名と仮想マシン名と稼働状況フラグとを関連付けて格納する。
なお、監視設定情報及び稼働状況情報にレコードが存在する仮想マシン１１０は、稼働の有無に関わらず物理マシン１００に存在している。他方、監視設定情報及び稼働状況情報にレコードが存在しない仮想マシン１１０は、移転や削除などにより、物理マシン１００に存在していない。
【００３０】
次に、本実施形態に係る仮想マシン管理システム１の動作について説明する。
図４は、第１の実施形態に係る仮想マシン管理システム１による仮想マシン１１０の監視動作を示すフローチャートである。
監視サーバ２００は、定期的に仮想マシン１１０の状態情報を取得し、当該状態情報に基づいて仮想サーバの監視を行う。まず、監視サーバ２００の送信要求部２０２は、設定記憶部２０１が記憶する監視設定情報に基づいて監視対象となる仮想マシン１１０を特定する（ステップＳ１）。具体的には、送信要求部２０２は、監視設定情報のレコードに含まれるそれぞれの仮想マシン１１０のうち、稼働状況フラグが「１」を示すものを、監視対象の仮想マシン１１０として特定する。
【００３１】
次に、送信要求部２０２は、特定した仮想マシン１１０のそれぞれに対し、状態情報の送信要求を送信する（ステップＳ２）。仮想マシン制御部１０２でエミュレートされる仮想マシン１１０が当該送信要求を受信すると、当該仮想マシン１１０が備える監視エージェントが当該仮想マシン１１０の状態を示す状態情報を生成し、監視サーバ２００へ送信する。これにより、監視サーバ２００の状態受信部２０３は、物理マシン１００でエミュレートされる仮想マシン１１０から、状態情報を受信する（ステップＳ３）。次に、異常判定部２０４は、監視対象のすべての仮想マシン１１０から状態情報を受信したか否かを判定する（ステップＳ４）。
【００３２】
異常判定部２０４は、すべての仮想マシン１１０から状態情報を受信したと判定した場合（ステップＳ４：ＹＥＳ）、監視対象の仮想マシン１１０が全て稼働していると判定する（ステップＳ５）。他方、異常判定部２０４は、少なくとも１つの仮想マシン１１０から状態情報を受信していないと判定した場合（ステップＳ４：ＮＯ）、状態情報の受信が無い当該仮想マシン１１０に異常が発生していることを示すアラームを発する（ステップＳ６）。また、このとき異常判定部２０４は、設定記憶部２０１が記憶する監視設定情報のうち、状態情報の受信が無い仮想マシン１１０に関連付けられた異常検出フラグを「１」に書き換える。
上記処理により、監視サーバ２００は、監視対象の仮想マシン１１０の監視を行う。
【００３３】
図５は、第１の実施形態に係る仮想マシン管理システム１による監視設定情報の更新動作を示すフローチャートである。
物理マシン１００の稼働状況通知部１０３は、定期的に、仮想マシン制御部１０２がエミュレートする仮想マシン１１０の稼働状況を取得する（ステップＳ２１）。これにより、稼働状況通知部１０３は、仮想マシン制御部１０２によってエミュレートされるすべての仮想マシン１１０について、稼働しているか停止しているかを特定することができる。また、オペレータによって意図的に削除された仮想マシン１１０は、仮想マシン制御部１０２によってエミュレートされないため、稼働状況通知部１０３が取得する稼働状況には、当該削除された仮想マシン１１０の稼働状況は含まれない。次に、稼働状況通知部１０３は、取得した稼働状況を環境管理サーバ３００へ送信する（ステップＳ２２）。
【００３４】
環境管理サーバ３００の状況受信部３０２は、物理マシン１００から稼働状況を受信すると、当該稼働状況に基づいて状況記憶部３０１が記憶する稼働状況情報を更新する（ステップＳ２３）。具体的には、状況受信部３０２は、稼働状況情報が示す仮想マシン１１０のうち、状況受信部３０２が受信した稼働状況があるものについて、当該稼働状況に基づいて稼働状況フラグを更新する。他方、状況受信部３０２は、稼働状況情報が示す仮想マシン１１０のうち、状況受信部３０２が受信した稼働状況がないものについて、当該仮想マシン１１０を示すレコードを削除する。
【００３５】
更新指示部３０３は、状況記憶部３０１が記憶する稼働状況情報が更新されると、当該更新された稼働状況情報に基づいて、監視サーバ２００に対し、当該監視サーバ２００が記憶する監視設定情報の更新指示を送信する（ステップＳ２４）。監視サーバ２００の設定更新部２０５は、環境管理サーバ３００から更新指示を受信すると、当該更新指示に従って設定記憶部２０１が記憶する監視設定情報を更新する（ステップＳ２５）。つまり、オペレータによって意図的に削除された仮想マシン１１０のレコードは監視設定情報から削除され、稼働を停止している仮想マシン１１０の稼働状況フラグは「０」に書き換えられる。
【００３６】
上記ステップＳ１において、送信要求部２０２は、監視設定情報のレコードに含まれるそれぞれの仮想マシン１１０のうち、稼働状況フラグが「１」を示すものを、監視対象の仮想マシン１１０として特定するため、オペレータによって意図的に削除された仮想マシン１１０及び稼働を停止している仮想マシン１１０は、監視対象から外れる。したがって、存在が確認されている仮想マシン１１０に対してのみ送信要求が行われるため、上記ステップＳ６において仮想マシン１１０の削除に起因するアラームは発生しない。
【００３７】
このように、本実施形態によれば、環境管理サーバ３００は、仮想マシン１１０に搭載される監視エージェントではなく、仮想マシン１１０をエミュレートする物理マシン１００から、監視対象となる仮想マシン１１０の稼働状況を受信し、当該稼働状況に基づいて監視サーバ２００に監視設定情報の更新を指示する。これにより、監視サーバ２００は、状態情報を受信できなかった仮想マシン１１０が意図的に削除されまたは停止されたものであるか否かを判定することができる。これにより、仮想化基盤システムの提供者は、監視サービスの運用負荷を軽減し、監視サービスの品質を向上させることができる。また、仮想化基盤システムを用いたサービスの提供者は、サービスの変更に応じてタイムリーに監視設定情報の更新がなされるため、実サービスの運用状況に則した監視サービスを受けることができる。
【００３８】
また、監視設定情報の変更を自動的に行うことができるため、例えば節電を目的とした夜間のシステム縮退運用時には、人手を介すことなく仮想マシン１１０の縮退運用に追従した監視の設定変更が可能となる。
【００３９】
《第２の実施形態》
次に、第２の実施形態について説明する。第１の実施形態では、定期的に実行される監視設定情報の更新により、監視対象となる仮想マシン１１０の情報を最新の状態に保つ場合について説明した。第１の実施形態では、環境管理サーバ３００によって稼働状況の確認を行う前に、異常判定部２０４が異常の判定を行った場合、アラームを発する可能性がある。そこで、第２の実施形態では、監視サーバ２００がアラームを発した場合に、環境管理サーバ３００が当該アラームの正誤を確認することで、誤ったアラームが継続して発せられることを防ぐ例について説明する。
【００４０】
図６は、第２の実施形態に係る仮想マシン管理システム１のソフトウェア構成を示す概略ブロック図である。
第２の実施形態に係る仮想マシン管理システム１は、第１の実施形態の構成に加え、環境管理サーバ３００が正誤判定部３０４を備える。
【００４１】
正誤判定部３０４は、異常判定部２０４がアラームを発生た場合に、異常判定部２０４による判定の正誤を判定する。具体的には、正誤判定部３０４は、状況記憶部３０１が記憶する稼働状況を確認し、さらに当該仮想マシン１１０が利用する他のシステムの運用管理情報を確認することで、監視サーバ２００による判定の正誤を判定する。正誤判定部３０４は、稼働状況の確認結果と他のシステムの運用管理情報の確認結果とを示す判定テーブルに基づいて、監視サーバ２００による判定の正誤を判定する。
【００４２】
図７は、判定テーブルの例を示す図である。
判定テーブルは、故障判定依頼ＩＤと、アラームを発した監視サーバ２００の名称と、障害があると判定された仮想マシン１１０の名称と、当該仮想マシン１１０をエミュレートする物理マシン１００の名称と、稼働状況確認結果フラグと、他システム確認結果フラグと、正誤判定フラグとを格納する。
【００４３】
稼働状況確認結果フラグとは、状況記憶部３０１が記憶する稼働状況情報が仮想マシン１１０が稼働していることを示すか否かを示すフラグである。つまり、稼働状況確認結果フラグが「０」を示す場合、稼働状況情報に基づいて仮想マシン１１０が稼働していることが確認されており、稼働状況確認結果フラグが「１」を示す場合、稼働状況情報に基づいて仮想マシン１１０が稼働していないことが確認されていることを示す。
【００４４】
他システム確認結果フラグとは、仮想マシン１１０が利用する他のシステムの運用管理情報が仮想マシン１１０が稼働していることを示すか否かを示すフラグである。つまり、他システム確認結果フラグが「０」を示す場合、他のシステムにおいて仮想マシン１１０が稼働していることが確認されており、他システム確認結果フラグが「１」を示す場合、他のシステムにおいて仮想マシン１１０が稼働していないことが確認されていることを示す。
【００４５】
正誤判定フラグとは、監視サーバ２００が発したアラームの正誤を示すフラグである。つまり、正誤判定フラグが「０」を示す場合、監視サーバ２００が発したアラームに誤りが無いことを示し、正誤判定フラグが「１」を示す場合、監視サーバ２００が発したアラームが誤っていることを示す。
【００４６】
次に、第２の実施形態に係る仮想マシン管理システム１の動作について説明する。なお、定期的になされる仮想マシン１１０の監視動作及び監視設定情報の更新動作は、第１の実施形態と同様の手順で行う。
【００４７】
図８は、第２の実施形態に係る仮想マシン管理システム１において、監視サーバ２００がアラームを発した時の動作を示すフローチャートである。
監視サーバ２００の異常判定部２０４は、アラームを発すると、当該アラームの正誤判定指示を環境管理サーバ３００に送信する（ステップＳ４１）。環境管理サーバ３００の正誤判定部３０４が正誤判定指示を受信すると、状況受信部３０２は、稼働状況の送信指示を物理マシン１００に送信する（ステップＳ４２）。
【００４８】
物理マシン１００の稼働状況通知部１０３は、環境管理サーバ３００から稼働状況の送信指示を受信すると、仮想マシン制御部１０２がエミュレートする仮想マシン１１０の稼働状況を取得し、当該稼働状況を環境管理サーバ３００に送信する（ステップＳ４３）。環境管理サーバ３００の状況受信部３０２は、受信した稼働状況に基づいて状況記憶部３０１が記憶する稼働状況情報を更新する（ステップＳ４４）。そして、正誤判定部３０４は、更新された稼働状況情報に基づいて、判定テーブルの稼働状況確認結果フラグを書き換える（ステップＳ４５）。
【００４９】
また、正誤判定部３０４は、仮想マシン１１０が利用する他のシステムの運用管理機能に、当該仮想マシン１１０の稼働状況の送信指示を送信する（ステップＳ４６）。他のシステムの運用管理機能は、当該送信指示に従って当該仮想マシン１１０の稼働状況を環境管理サーバ３００に送信する。正誤判定部３０４は、他のシステムから仮想マシン１１０の稼働状況を受信すると（ステップＳ４７）、当該稼働状況に基づいて、判定テーブルの他システム確認結果フラグを書き換える（ステップＳ４８）。
【００５０】
そして、正誤判定部３０４は、判定テーブルの稼働状況確認結果フラグ及び他システム確認結果フラグの値に基づいて、監視サーバ２００による異常の判定の正誤を判定する（ステップＳ４９）。例えば、正誤判定部３０４は、判定テーブルの稼働状況確認結果フラグ及び他システム確認結果フラグの値の少なくとも一方が「１」を示す場合、正誤判定フラグを「１」に書き換え、両方が「０」を示す場合に正誤判定フラグを「０」に書き換えても良い。また例えば、正誤判定部３０４は、判定テーブルの稼働状況確認結果フラグ及び他システム確認結果フラグの値の両方「１」を示す場合、正誤判定フラグを「１」に書き換え、少なくとも一方が「０」を示す場合に正誤判定フラグを「０」に書き換えても良い。これは、仮想マシン管理システム１のオペレータによって適宜設定されることができる。これにより、オペレータの操作ログと連携させることなどにより、稼働状況確認結果フラグ及び他システム確認結果フラグと正誤判定との関係を適切に設定することで、判定の確実性を向上させることができる。
【００５１】
正誤判定部３０４は、監視サーバ２００による異常の判定が誤っていないと判定した場合（ステップＳ４９：正）、異常の判定が誤っていないことを示す判定結果を監視サーバ２００に通知する（ステップＳ５０）。これにより、監視サーバ２００は、アラームの発信を継続する。
他方、正誤判定部３０４は、監視サーバ２００による異常の判定が誤っていると判定した場合（ステップＳ４９：誤）、異常の判定が誤っていることを示す判定結果を監視サーバ２００に通知する（ステップＳ５１）。また、この場合、ステップＳ４４において状況記憶部３０１が記憶する稼働状況情報が書き換えられているため、監視サーバ２００に対し、当該監視サーバ２００が記憶する監視設定情報の更新指示を送信する（ステップＳ５２）。これにより、監視サーバ２００は、アラームの発信を停止させ、環境管理サーバ３００から受信した更新指示に従って設定記憶部２０１が記憶する監視設定情報を更新する（ステップＳ５３）。つまり、設定更新部２０５は、正誤判定部３０４によって判定が誤っていると判定された場合に、監視設定情報を最新の状態に更新することができる。
【００５２】
このように、本実施形態によれば、監視サーバ２００がアラームを発した場合に、環境管理サーバ３００が当該アラームの正誤を確認することで、誤ったアラームが継続して発せられることを防ぐことができる。
【００５３】
以上、図面を参照して一実施形態について詳しく説明してきたが、具体的な構成は上述のものに限られることはなく、様々な設計変更等をすることが可能である。
例えば、上述した実施形態では、監視サーバ２００と環境管理サーバ３００とを別個に設ける場合について説明したが、これに限られず、例えば監視サーバ２００と環境管理サーバ３００とは同一のコンピュータに設けられていても良い。
【００５４】
また、上述した実施形態では、仮想マシン１１０が物理マシン１００から削除された場合に、監視設定情報及び稼働状況情報のレコードを削除する例について説明したが、これに限られず、例えば監視設定情報及び稼働状況情報に、仮想マシン１１０が削除されたことを示すフラグを付すことで、仮想マシン１１０が物理マシン１００から削除されたことを表しても良い。
【００５５】
また、上述した実施形態では、物理マシン１００の稼働状況通知部１０３が定期的に稼働状況を環境管理サーバ３００に送信する場合について説明したが、これに限られず、例えば環境管理サーバ３００の状況受信部３０２が物理マシン１００に定期的にポーリングを行い、稼働状況通知部１０３がこれに対する応答として稼働状況の通知を行っても良い。
【００５６】
図９は、少なくとも１つの実施形態に係るコンピュータ９００の構成を示す概略ブロック図である。
コンピュータ９００は、ＣＰＵ９０１、主記憶装置９０２、補助記憶装置９０３、インタフェース９０４を備える。
上述の物理マシン１００、監視サーバ２００及び環境管理サーバ３００は、コンピュータ９００に実装される。そして、上述した各処理部の動作は、プログラムの形式で補助記憶装置９０３に記憶されている。ＣＰＵ９０１は、プログラムを補助記憶装置９０３から読み出して主記憶装置９０２に展開し、当該プログラムに従って上記処理を実行する。また、ＣＰＵ９０１は、プログラムに従って、上述した各記憶部に対応する記憶領域を主記憶装置９０２に確保する。
【００５７】
なお、少なくとも１つの実施形態において、補助記憶装置９０３は、一時的でない有形の媒体の一例である。一時的でない有形の媒体の他の例としては、インタフェースを介して接続される磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、半導体メモリ等が挙げられる。また、このプログラムが通信回線によってコンピュータ９００に配信される場合、配信を受けたコンピュータ９００が当該プログラムを主記憶装置９０２に展開し、上記処理を実行しても良い。
【００５８】
また、当該プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、当該プログラムは、前述した機能を補助記憶装置９０３に既に記憶されている他のプログラムとの組み合わせで実現するもの、いわゆる差分ファイル（差分プログラム）であっても良い。
【符号の説明】
【００５９】
１…仮想マシン管理システム  １００…物理マシン  ２００…監視サーバ  ３００…環境管理サーバ  １０１…仮想マシン記憶部  １０２…仮想マシン制御部  １０３…稼働状況通知部  １１０…仮想マシン  ２０１…設定記憶部  ２０２…送信要求部  ２０３…状態受信部  ２０４…異常判定部  ２０５…設定更新部  ３０１…状況記憶部  ３０２…状況受信部  ３０３…更新指示部  ３０４…正誤判定部
【図１】
2015148843.tif 000003
【図２】
2015148843.tif 000004
【図３】
2015148843.tif 000005
【図４】
2015148843.tif 000006
【図５】
2015148843.tif 000007
【図６】
2015148843.tif 000008
【図７】
2015148843.tif 000009
【図８】
2015148843.tif 000010
【図９】
2015148843.tif 000011