(57)【要約】【課題】  効率的に仮想化基盤を監視し、障害を検出できる監視装置を提供する。【解決手段】  本発明の監視装置は、仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置であって、（１）前記第１の物理マシンから能動的に発信される障害を示す通知を受信する受信手段と、（２）前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定する判定手段と、（３）前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う障害復旧手段とを有することを特徴とする。【選択図】      図１
2018081428.tif 000002
【特許請求の範囲】
【請求項１】
仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置であって、
前記第１の物理マシンから能動的に発信される障害を示す通知を受信する受信手段と、
前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定する判定手段と、
前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う障害復旧手段と
を有することを特徴とする監視装置。
【請求項２】
前記能動的に発信される障害を示す通知は、ＳＮＭＰトラップであり、
前記障害条件は、ＳＮＭＰトラップの種別毎に、少なくとも、前記障害を示す通知のパラメータと比較する閾値が設定されていることを特徴とする請求項１に記載の監視装置。
【請求項３】
前記障害復旧手段は、ＡＰＩを利用して構成されることを特徴とする請求項１又は２に記載の監視装置。
【請求項４】
仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置に搭載されるコンピュータを、
前記第１の物理マシンから能動的に発信される障害を示す通知を受信する受信手段と、
前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定する判定手段と、
前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う障害復旧手段と
して機能させることを特徴とする監視プログラム。
【請求項５】
仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置に使用する監視方法であって、
受信手段、判定手段、及び障害復旧手段を有し、
前記受信手段は、前記第１の物理マシンから能動的に発信される障害を示す通知を受信し、
前記判定手段は、前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定し、
前記障害復旧手段は、前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う
ことを特徴とする監視方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、監視装置、監視プログラム、及び監視方法に関し、例えば、仮想環境を構成する基盤ソフト（ハイパバイザー）／ハード（物理マシン：ＰＭ）を監視する監視装置に適用できる。
【背景技術】
【０００２】
近年、サーバ装置（例えば、ＳＩＰ（Ｓｅｓｓｉｏｎ  Ｉｎｉｔｉａｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）サーバ）等において、仮想化技術が広く適用されている。仮想化技術は、余剰リソースを有効活用する手法を提供する。仮想化技術の適用により、物理的な構成にとらわれずに、負荷に応じてサーバの機能を実行する仮想マシン（ＶＭ）間で動的なリソースの配分を行い、ハードウェアの処理能力を最大限に発揮させる仮想環境が構築される。
【０００３】
ところで、仮想環境では、仮想化基盤を構成するハードウェア（ＰＭ）の障害が、複数のサービスコンポーネント（仮想マシン）のサービス停止につながる可能性がある。
【０００４】
そのため、仮想環境では、ハードウェア障害の発生を監視し、自動でハードウェア障害発生を検出して、障害が発生したＰＭで動作していた仮想マシンを、別のＰＭにて復旧（ＰＭヒーリング）する、自動復旧機能が存在する（特許文献１参照）。
【０００５】
一般的に、自動復旧機能は、（１）障害の検知（２）障害原因がＰＭの故障であることの確認（３）壊れたＰＭの電源の切断（４）予備のＰＭから一台、復旧用のＰＭを選択（５）故障したＰＭ上の仮想マシンを復旧用ＰＭに移動（６）仮想マシン上で稼働するべきプログラム類の起動の６つの処理（機能）により実現されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１５−１７６１６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、従来の監視及び復旧の技術では、主に以下の２つの課題が存在する。
【０００８】
第１に、ＰＭ間（又はＰＭと監視装置間）で定期的な情報収集を行って障害を検出するため、監視する仕組み（アクティブ監視）や誤検出の防止が必要となる。第２に、ＰＭの故障（ハードウェア障害）やシステムのダウンを検出してからの処理であるため、障害を事前に検出して復旧を行うことができない。
【０００９】
そのため、効率的に仮想化基盤を監視し、障害を検出できる監視装置、監視プログラム、及び監視方法が望まれている。
【課題を解決するための手段】
【００１０】
第１の本発明は、仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置であって、（１）前記第１の物理マシンから能動的に発信される障害を示す通知を受信する受信手段と、（２）前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定する判定手段と、（３）前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う障害復旧手段とを有することを特徴とする。
【００１１】
第２の本発明の監視プログラムは、仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置に搭載されるコンピュータを、（１）前記第１の物理マシンから能動的に発信される障害を示す通知を受信する受信手段と、（２）前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定する判定手段と、（３）前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行う障害復旧手段として機能させることを特徴とする。
【００１２】
第３の本発明は、仮想マシンが動作する第１の物理マシンの障害を監視し、障害を検出すると、前記第１の物理マシン上の仮想マシンを第２の物理マシンに移動させて障害復旧を行う監視装置に使用する監視方法であって、受信手段、判定手段、及び障害復旧手段を有し、（１）前記受信手段は、前記第１の物理マシンから能動的に発信される障害を示す通知を受信し、（２）前記判定手段は、前記障害を示す通知が受信されると、前記障害を示す通知のパラメータと、予め登録された障害条件とに基づいて、障害が前記第１の物理マシンの故障と判定し、（３）前記障害復旧手段は、前記判定手段により、障害が前記第１の物理マシンの故障であると判定されると、前記第１の物理マシン上の仮想マシンを前記第２の物理マシンに移動させて障害復旧を行うことを特徴とする。
【発明の効果】
【００１３】
本発明によれば、効率的に仮想化基盤を監視し、障害を検出できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る監視装置の機能的構成について示したブロック図である。
【図２】実施形態に係る監視復旧システムの全体構成例を示すブロック図である。
【図３】実施形態に係る障害条件の一例を示す図である。
【図４】実施形態に係る監視復旧システム（監視装置）の動作を示すフローチャートである。
【図５】実施形態に係る監視装置が、障害の発生を検出したＰＭ上で動作していた仮想マシンを復旧するイメージを示す図である。
【図６】実施形態に係るＳＮＭＰトラップの具体例を基に、図４の動作を説明する図である。
【発明を実施するための形態】
【００１５】
（Ａ）主たる実施形態
以下では、本発明の監視装置、監視プログラム、及び監視方法の実施形態を、図面を参照しながら詳細に説明する。
【００１６】
（Ａ−１）実施形態の構成
（Ａ−１−１）全体構成
図２は、実施形態に係る監視復旧システムの全体構成例を示すブロック図である。
【００１７】
図２において、監視復旧システム１は、監視装置２と、３台の物理マシン（ＰＭ）３（３−１〜３−３）とを有して構成される。勿論、ＰＭ３の数は、限定されるものでは無い。また、監視装置２及びＰＭ３は、ネットワークＮに接続している。ネットワークＮの通信方式については限定されないものであるが、例えば、ＩＰ通信網等を適用することができる。なお、この実施形態では、監視装置２が、ＳＮＭＰ（Ｓｉｍｐｌｅ  Ｎｅｔｗｏｒｋ  Ｍａｎａｇｅｍｅｎｔ  Ｐｒｏｔｏｃｏｌ）プロトコルを用いて、監視対象であるＰＭ３を監視する例を示すが、これに限定するものでは無く、種々様々なプロトコルを用いることができる。
【００１８】
監視装置２は、ＰＭ３（仮想環境を構成するハイパバイザー３１を含む）の障害を示すＳＮＭＰトラップを監視し、障害を検出すると、予め設定された復旧動作を実行する。
【００１９】
ＰＭ３は、コンピュータを仮想化した仮想マシン（ＶＭ）３２を動作させて、ユーザに対して各種のサービスを提供する装置であり、例えば、サーバコンピュータである。ＰＭ３は、サーバ仮想化プログラムを実行することによって、ハイパバイザー３１上で複数の仮想マシン３２を動作させる。
【００２０】
（Ａ−１−２）監視装置２の詳細な構成
図１は、実施形態の監視装置の構成を示すブロック図である。
【００２１】
図１において、監視装置２は、トラップ受信部２１及びＰＭヒーリング・自動復旧部２２を有して構成される。
【００２２】
トラップ受信部２１は、監視対象であるＰＭ３からのＳＮＭＰトラップを受信するものである。トラップ受信部２１は、受信したＳＮＭＰトラップ情報をＰＭヒーリング・自動復旧部２２に通知する。通知する情報は、例えば、ＳＮＭＰトラップを識別する「トラップＩＤ」と、ＳＮＭＰトラップで通知された詳細情報を示す「パラメータ」等である。
【００２３】
ＰＭヒーリング・自動復旧部２２は、実行条件判定部２３、保守者通知部２４及びＶＭ復旧部２５を有して構成される。
【００２４】
実行条件判定部２３は、トラップ受信部２１から通知されたＳＮＭＰトラップ情報と、予め設定された自動復旧の実行条件（障害条件Ｔ）との比較判定を行う。図３は、実施形態に係る障害条件の一例を示す図である。図３において、障害条件Ｔは、ＳＮＭＰトラップを識別するＩＤ（ｓｎｍｐＴｒａｐ  ＯＩＤ）を示す「トラップＩＤ」と、ＳＮＭＰトラップに含まれるパラメータの内、条件判定に用いるパラメータの番号を示す「パラメータ番号」と、パラメータ番号の判定に用いる閾値を示す「閾値」と、閾値に対する判定を行う条件（一致、不一致、以上、未満）を示す「条件」と、単位時間あたりの発生回数を示す「発生回数」と、条件一致時に実行するアクション（自動復旧、停止、保守者通知等）を示す「アクション」の項目を有する。
【００２５】
実行条件判定部２３は、受信したＳＮＭＰトラップ情報のトラップＩＤをキーとして、障害条件Ｔに合致するデータが存在するか否か探索する。例えば、通知されたトラップＩＤが０００１の場合には、障害条件Ｔの１行目のデータ（「トラップＩＤ」の項目が０００１のデータ）が合致するデータとなる。次に、実行条件判定部２３は、受信したＳＮＭＰトラップ情報のパラメータ中、指定された箇所（「パラメータ番号」）の値を、「閾値」、「条件」、「発生回数」の項目に従って、比較する。例えば、受信したトラップＩＤが０００１の場合には、受信したパラメータの内、２番目のパラメータの値が、閾値（１００）と一致し、且つ同じ通知が３０秒の内、１０回発生していれば、障害と判定される。なお、図３の障害条件Ｔの内、２〜４行目のデータの「発生回数」は、設定されておらず、「閾値」と「条件」の項目のみによって判定される。また、変形例として、トラップＩＤが異なるＳＮＭＰトラップを複数受信した場合に、ＰＭ３の故障と判定しても良い。なお、図３に示す障害条件Ｔの設定は一例であって、判定を行うパラメータの番号（位置）、判定閾値、一致／不一致／大小などの比較条件は予め自由に設定することができる。
【００２６】
実行条件判定部２３によって、条件に合致したと判定されると、後述する保守者通知部２４又はＶＭ復旧部２５によって、指定された「アクション」が実行される。
【００２７】
保守者通知部２４は、システムを管理する保守者に通知を行う機能部である。保守者への通知手段は種々様々な手段を用いることができるが、例えば、監視装置２の表示画面にＰＭ３の故障（又は故障の兆候）が発生した旨を示す画面を表示しても良いし、保守者のコンピュータ、スマートフォン、タブレット端末等に障害内容を記載した電子メールを送信しても良い。
【００２８】
ＶＭ復旧部２５は、障害が起きたＰＭ３上で動作していたＶＭ３２の復旧処理を行う機能部である。ＶＭ復旧部２５の復旧処理についてはＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍｍｉｎｇ  Ｉｎｔｅｒｆａｃｅ）を利用して実行されるが、詳細については、後述する動作の項で述べる。
【００２９】
（Ａ−２）実施形態の動作
次に、以上のような構成を有する実施形態の監視復旧システム１の動作を説明する。
【００３０】
図４は、実施形態に係る監視復旧システム（監視装置）の動作を示すフローチャートである。
【００３１】
監視装置２（トラップ受信部２１）は、ＰＭマシン３（図２の例では、ＰＭマシン３−２）からＳＮＭＰトラップを受信すると、受信したＳＮＭＰトラップの情報（トラップＩＤと、パラメータ等）を、ＰＭヒーリング・自動復旧部２２（実行条件判定部２３）に通知する（Ｓ１０１）。
【００３２】
ＰＭヒーリング・自動復旧部２２（実行条件判定部２３）は、受信したＳＮＭＰトラップ（トラップＩＤ）が、障害条件Ｔに含まれているか探索する（Ｓ１０２）。実行条件判定部２３は、トラップＩＤが障害条件Ｔに含まれていれば、次の処理を行い、含まれていなければ、判定処理を終了する。
【００３３】
実行条件判定部２３は、受信したＳＮＭＰのパラメータの数が、障害条件Ｔのパラメータ番号（トラップＩＤをキーとして探索したデータのパラメータ番号）以上か否か判定する（言い換えれば、障害条件のパラメータ番号に対応する受信パラメータが存在するか否か判定する）（Ｓ１０３）。実行条件判定部２３は、受信したＳＮＭＰのパラメータの数が、障害条件Ｔのパラメータ番号以上であれば、次の処理を行い、条件を満たさなければ、判定処理を終了する。
【００３４】
実行条件判定部２３は、障害条件Ｔの該当データのパラメータ番号に対応する（位置する）受信トラップのパラメータが、障害条件Ｔの閾値及び条件に合致するか否か判定する（Ｓ１０４）。実行条件判定部２３は、該当位置の受信パラメータが障害条件Ｔの閾値及び条件に合致すれば、次の処理を行い、合致しなければ、判定処理を終了する。
【００３５】
実行条件判定部２３は、障害条件Ｔの該当データに発生回数が設定されているか判定する（Ｓ１０５）。実行条件判定部２３は、障害条件Ｔの該当データに発生回数が設定されていれば、次の処理を行い、設定されていなければ、後述するステップＳ１０８の処理を実行する。
【００３６】
実行条件判定部２３は、障害発生の回数を更新する（Ｓ１０６）。なお、障害発生の回数の管理の仕方は限定されないものであるが、例えば、実行条件判定部２３は、ＰＭ３（３−１〜３−３）毎に所定のトラップＩＤの障害発生回数を、単位時間あたりにカウントするカウンタにより管理しても良い。
【００３７】
実行条件判定部２３は、先述のステップＳ１０６の処理により更新された障害発生の回数が、障害条件Ｔの該当データの発生回数と合致するか否か判定する（Ｓ１０７）。実行条件判定部２３は、障害条件Ｔの該当データに合致されていれば、次の処理（ステップＳ１０８の処理）を行い、合致しなければ、処理を終了する。
【００３８】
ＰＭヒーリング・自動復旧部２２（保守者通知部２４、ＶＭ復旧部２５）は、最終的に障害条件に合致したと判定されると（障害を検出したとされると）、障害条件Ｔの該当データに係るアクションを実行する（Ｓ１０８）。例えば、障害条件Ｔの該当データのアクションがＶＭ復旧だった場合には、ＶＭ復旧部２５は、自動復旧処理を行う。図５は、実施形態に係る監視装置が、障害の発生を検出したＰＭ上で動作していた仮想マシンを復旧するイメージを示す図である。まず、ＶＭ復旧部２５は、ＰＭサービス停止ＡＰＩを起動して、障害の発生を検出したＰＭ３−２の電源を切断する。次に、ＶＭ復旧部２５は、仮想マシン復旧ＡＰＩを起動して、故障したＰＭ３−２上の仮想マシン（ＶＭ＃３、ＶＭ＃４）を、復旧用ＰＭ３−３に移動する（例えば、ストレージングデバイスに記憶されたＶＭ＃３、ＶＭ＃４のバックアップデータをコピーする）。そして、ＶＭ復旧部２５は、仮想マシン起動ＡＰＩを起動して、ＶＭ上で稼働するべきプログラム類の起動を行う（運用系の状態にする）。
【００３９】
図６は、実施形態に係るＳＮＭＰトラップの具体例を基に、図４の動作を説明する図である。図６（Ａ）は、ＰＭ３−２から受信したトラップ情報の具体例を示す図である。また、図６（Ｂ）は、先述の障害条件Ｔを示す図である。監視装置２（実行条件判定部２３）は、ＰＭ３−２から図６（Ａ）のＳＮＭＰトラップを受信すると、トラップＩＤが「０００１」であるので、障害条件Ｔの先頭データがヒットする（Ｓ１０２）。実行条件判定部２３は、ヒットした先頭データのパラメータ番号である「２」と、受信したＳＮＭＰトラップのパラメータ数（２）とを比較して、２番目のパラメータが存在することを判定する（Ｓ１０３）。実行条件判定部２３は、受信したＳＮＭＰトラップの２番目のパラメータ値（２)が閾値（１００）と一致することを判定する（Ｓ１０４）。実行条件判定部２３は、障害条件Ｔの先頭データには発生回数が設定されていることを判定する（Ｓ１０５）。発生回数の条件が満たされいれば（Ｓ１０６）、先に説明した通り、ＶＭ復旧部２５が自動復旧処理を行う（Ｓ１０８）。
【００４０】
（Ａ−３）実施形態の効果
この実施形態によれば、以下のような効果を奏することができる。
【００４１】
監視装置２側からの定期的な監視が不要となり、パッシブ型の監視が可能となった。また、障害監視には、汎用的なＳＮＭＰトラップを監視及び故障検出に使用することで、ハイパバイザーに特化した監視機能を独自に持つ必要がなくなった。さらに、ＰＭヒーリング・自動復旧部２２は、ＳＮＭＰトラップに含まれるパラメータ（詳細内容）についても評価を行う対象とすることで、確実な障害検出を行い、誤検出を防止することができる。なお、評価を行う条件（障害条件Ｔ）は、ユーザが自由に予め設定できるため、環境や提供するサービスに応じた監視を行うことができる。
【００４２】
ＰＭヒーリング・自動復旧部２２が、ＳＮＭＰトラップ単位の監視とパラメータの判定を行うことで、細かいアクションの設定ができる。例えば、通知内容が致命的障害ではないが、予防が必要な障害については、発生頻度などの条件を登録することでアクションを行うことができる。実行するアクション自体についても、自動復旧、停止、通知等の中からユーザが自由に設定することができる。
【００４３】
そして、この実施形態では、先述の図５で説明した通り、監視装置２が、ＶＭを復旧する処理をＡＰＩとして提供することにより、仮想環境独自の仕様に依存しないで、障害が発生したＰＭを停止したり、停止したＰＭ上のＶＭを復旧用のＰＭに移動したり、ＶＭの復旧処理が行えることになった。
【符号の説明】
【００４４】
１…監視復旧システム、２…監視装置、３…物理マシン、２１…トラップ受信部、２２…自動復旧部、２３…実行条件判定部、２４…保守者通知部、２５…ＶＭ復旧部、３１…ハイパバイザー、３２…仮想マシン、Ｎ…ネットワーク、Ｔ…障害条件。
【図１】
2018081428.tif 000003
【図２】
2018081428.tif 000004
【図３】
2018081428.tif 000005
【図４】
2018081428.tif 000006
【図５】
2018081428.tif 000007
【図６】
2018081428.tif 000008