(57)【要約】  論理的なリソースであってもホストＯＳ／ゲストＯＳ各々が使用する物理リソースとのマッピングを可能とすることを目的とする。物理リソースの異常を検知するエージェント実行部１２１が、論理リソースに対してサーバ装置１００の物理リソースを対応付けたリソースマッピング情報１２２１を生成するリソースマッピング情報生成部１２１１と、物理リソースの稼働状態を示す物理リソース稼働情報１２２４を収集する異常監視部１２１２と、物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があるか否かを判定し、異常な物理リソースがある場合には、異常な稼働状態の物理リソースの情報とリソースマッピング情報１２２１とに基づき異常が発生した仮想計算機を特定する異常判定部１２１３と、特定された仮想計算機に対して、異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知部１２１４とを備える。-
2009110111.tif 000002
【特許請求の範囲】
【請求項１】
物理リソースを用いて複数の仮想計算機を稼働させるサーバ装置であって、上記物理リソースのうち上記複数の仮想計算機各々が使用する物理リソースを論理リソースとして複数の仮想計算機を稼働させるサーバ装置において、
物理リソースの異常を検知するエージェント実行部を備え、
上記エージェント実行部は、
上記論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピング情報を生成するリソースマッピング情報生成部と、
上記リソースマッピング情報生成部が生成した上記リソースマッピング情報を記憶装置に記憶するリソースマッピング記憶部と、
物理リソースの稼働状態を示す物理リソース稼働情報を収集し記憶装置に記憶する異常監視部と、
上記異常監視部が収集した上記物理リソース稼働情報のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定し、異常な稼働状態の物理リソースの情報がある場合には、上記異常な稼働状態の物理リソースの情報と上記リソースマッピング情報とに基づいて上記異常な稼働状態の物理リソースに対応する論理リソースを使用している仮想計算機を処理装置により特定する異常判定部と、
上記異常判定部により特定された仮想計算機に対して、上記異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知部と
を備えることを特徴とするサーバ装置。
【請求項２】
上記リソースマッピング情報生成部は、
上記リソースマッピング情報を定期的に生成することを特徴とする請求項１に記載のサーバ装置。
【請求項３】
上記サーバ装置は、上記複数の仮想計算機各々ごとに、当該仮想計算機により使用される論理リソースに対して物理リソースを対応させるための情報である仮想計算機毎リソース管理情報を有する仮想計算機毎リソース管理ファイルを備え、
上記リソースマッピング情報生成部は、
上記仮想計算機毎リソース管理ファイルから物理リソースを含む上記仮想計算機毎リソース管理情報を取得して、取得した上記仮想計算機毎リソース管理情報に基づいて、上記複数の仮想計算機各々により使用される論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピングテーブルをリソースマッピング情報として生成することを特徴とする請求項２に記載のサーバ装置。
【請求項４】
上記サーバ装置は、リソースの種別ごとに、当該種別の論理リソースに対して当該種別の物理リソースを対応させるための情報であるリソース種別毎管理情報を有するリソース種別毎管理ファイルを備え、
上記リソースマッピング情報生成部は、
上記複数の仮想計算機各々により使用される論理リソースの種別に対応するリソース種別毎管理ファイルから上記リソース種別毎管理情報を取得して、取得した上記リソース種別毎管理情報に基づいて、上記複数の仮想計算機各々により使用される論理リソースに対して上記サーバ装置の物理リソースを対応付けてリソースマッピング情報を生成することを特徴とする請求項３に記載のサーバ装置。
【請求項５】
上記エージェント実行部は、
仮想計算機のＯＳ（Ｏｐｅｒａｔｉｎｇ・Ｓｙｓｔｅｍ）のもとで動作するエージェントプログラムを実行し、
上記リソースマッピング情報生成部は、仮想計算機のＯＳに含まれたツール又はエージ
ェントプログラムに含まれたコマンドを使用して、論理リソースが使用している物理リソースを調べる
ことを特徴とする請求項１に記載のサーバ装置。
【請求項６】
上記エージェント実行部は、さらに、
物理リソースの稼働状態が異常であるか否かを判定するために用いる閾値と、当該閾値により物理リソースの稼働状態が異常であると判定された場合に、稼働状態が異常であると判定された物理リソースに対応する論理リソースを使用している仮想計算機へ通知する異常通知情報とが設定された異常判定閾値情報を予め記憶装置に記憶する異常判定閾値情報記憶部を備え、
上記異常通知部は、
上記異常判定閾値情報に設定された上記異常通知情報に基づいて通知を行う
ことを特徴とする請求項１に記載のサーバ装置。
【請求項７】
上記複数の仮想計算機のなかで、１台の仮想計算機のみが上記エージェント実行部を備えたことを特徴とする請求項１に記載のサーバ装置。
【請求項８】
上記リソースマッピング情報生成部は、
上記論理リソースに対して上記サーバ装置の物理リソースを対応付けて予め作成され記憶装置に記憶されたリソースマッピングファイルを処理装置により取得し、取得したリソースマッピングファイルをリソースマッピング情報とすることを特徴とする請求項１に記載のサーバ装置。
【請求項９】
物理リソースを用いて複数の仮想計算機を稼働させるサーバ装置であって、上記物理リソースのうち上記複数の仮想計算機各々が使用する物理リソースを論理リソースとして複数の仮想計算機を稼働させるサーバ装置の異常検知方法において、
エージェント実行部により物理リソースの異常を検知するエージェント実行ステップを備え、
上記エージェント実行ステップは、
リソースマッピング情報生成部が、上記論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピング情報を生成するリソースマッピング情報生成ステップと、
リソースマッピング記憶部が、上記リソースマッピング情報生成ステップにより生成された上記リソースマッピング情報を記憶装置に記憶するリソースマッピング記憶ステップと、
異常監視部が、物理リソースの稼働状態を示す物理リソース稼働情報を収集し記憶装置に記憶する異常監視ステップと、
異常判定部が、上記異常監視ステップにより収集された上記物理リソース稼働情報のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定し、異常な稼働状態の物理リソースの情報がある場合には、上記異常な稼働状態の物理リソースの情報と上記リソースマッピング情報とに基づいて上記異常な稼働状態の物理リソースに対応する論理リソースを使用している仮想計算機を処理装置により特定する異常判定ステップと、
異常通知部が、上記異常判定ステップにより特定された仮想計算機に対して、上記異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知ステップと
を備えることを特徴とするサーバ装置の異常検知方法。
【請求項１０】
請求項９記載のサーバ装置の異常検知方法をコンピュータに実行させることを特徴とするサーバ装置の異常検知プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、例えば、仮想環境においてハードウェアの障害（異常）を検知するエージェント機能を備えたサーバ装置及びサーバ装置の異常検知方法に関する。
【背景技術】
【０００２】
従来技術では、システムの可用性を高めるために、２台以上のサーバを冗長に構成し、一方の運用系サーバが故障や性能劣化等により動作不能になった場合に、もう片方の待機系サーバが処理を引き継ぐクラスタシステム（系切替システム）がある。一方、サーバリソースの有効活用や運用コストダウンを目的に、仮想化技術によってサーバ集約を行う事例が増加している。仮想化されたサーバによるクラスタシステムを構築する際、ハードウェアや仮想環境上の障害を監視し、特定のソフトウェアやＯＳ（Ｏｐｅｒａｔｉｎｇ・Ｓｙｓｔｅｍ）の制御を行う方法（特許文献１参照）や、ある閾値情報をベースに障害を事前予測することによって、予備システム用の仮想マシンを制御する方法（特許文献２参照）が開示されている。
【特許文献１】特開２００２−２２９８０６号公報
【特許文献２】特開２００４−０３０３６３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
従来の物理サーバ間のクラスタシステムを、仮想化されたサーバ装置（仮想環境上）で利用する場合には以下の課題がある。【０００４】
（ア）ゲストドメイン（ゲスト仮想マシン）からは管理ドメイン（ホスト仮想マシン）のリソースが把握できないため、ゲストドメインが動作するために必要な管理ドメインのリソースに障害が発生した場合に、それを検知することができない。【０００５】
（イ）上記（ア）を解決するために、管理ドメイン上に障害を監視しゲストドメイン上のクラスタソフトウェアに通知する仕組みを導入したとしても、ドメイン（仮想マシン）からは論理リソースしか認識できないために、障害内容によっては正しく障害内容の通知ができない。【０００６】
上記の課題により、ハードウェアに障害や性能劣化が起きたときに、ゲストドメインのゲストＯＳ（もしくはゲストＯＳ上で動作するアプリケーション）が予期しない動作をする可能性があるにもかかわらず、それを適切に障害として検知することができず、データ破壊等の二次障害を引き起こした結果、初めて検知されることになる可能性がある。【０００７】
このとき、上記の課題を解決する方法として、特許文献１では、予めホストＯＳ（ホストドメインのＯＳ）が、物理リソースとホストＯＳ／ゲストＯＳとのマッピング情報を保持することで、発生したハードウェア障害がどのゲストＯＳに影響があるかを判別することを可能としている。しかし、特許文献１で示しているマッピング情報は予め設計者により固定的に設定されており物理リソースが固定的なものを対象としているので、ホストＯＳ／ゲストＯＳに割り当てられているリソースが論理的な表記（例えば、ブリッジに接続されている仮想ネットワークインタフェース名）の場合に対応できない。一方、先の特許文献２では、ホストＯＳやゲストＯＳの各々に配置されたエージェントが障害を検知しマネージャに通知し、マネージャが管理する閾値によって系切替制御を実施する構成であるが、上記課題を解決するには至らず、また、エージェント機能をホストＯＳ／ゲストＯＳの各々すべてに配置しなければならす、処理の効率化の点で課題がある。【０００８】
本発明は、例えば、上記のような課題を解決するためになされたものであり、論理的なリソースであってもホストＯＳ／ゲストＯＳと各々が使用する物理リソースのマッピングを可能とする仕組みを提供する。また、物理リソースの障害や性能劣化を仮想環境の管理ドメイン上のみで検知し、障害／性能劣化の内容に応じて、障害発生時に即時に該当のゲストＯＳ、もしくは、ホストＯＳを停止させることで、他系のクラスタソフトウェアが系切り替えを実施可能とする仕組みを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明に係るサーバ装置は、
物理リソースを用いて複数の仮想計算機を稼働させるサーバ装置であって、上記物理リソースのうち上記複数の仮想計算機各々が使用する物理リソースを論理リソースとして複数の仮想計算機を稼働させるサーバ装置において、
物理リソースの異常を検知するエージェント実行部を備え、
上記エージェント実行部は、
上記論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピング情報を生成するリソースマッピング情報生成部と、
上記リソースマッピング情報生成部が生成した上記リソースマッピング情報を記憶装置に記憶するリソースマッピング記憶部と、
物理リソースの稼働状態を示す物理リソース稼働情報を収集し記憶装置に記憶する異常監視部と、
上記異常監視部が収集した上記物理リソース稼働情報のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定し、異常な稼働状態の物理リソースの情報がある場合には、上記異常な稼働状態の物理リソースの情報と上記リソースマッピング情報とに基づいて上記異常な稼働状態の物理リソースに対応する論理リソースを使用している仮想計算機を処理装置により特定する異常判定部と、
上記異常判定部により特定された仮想計算機に対して、上記異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知部と
を備えることを特徴とする。【００１０】
上記リソースマッピング情報生成部は、
上記リソースマッピング情報を定期的に生成することを特徴とする。【００１１】
上記サーバ装置は、上記複数の仮想計算機各々ごとに、当該仮想計算機により使用される論理リソースに対して物理リソースを対応させるための情報である仮想計算機毎リソース管理情報を有する仮想計算機毎リソース管理ファイルを備え、
上記リソースマッピング情報生成部は、
上記仮想計算機毎リソース管理ファイルから物理リソースを含む上記仮想計算機毎リソース管理情報を取得して、取得した上記仮想計算機毎リソース管理情報に基づいて、上記複数の仮想計算機各々により使用される論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピングテーブルをリソースマッピング情報として生成することを特徴とする。【００１２】
上記サーバ装置は、リソースの種別ごとに、当該種別の論理リソースに対して当該種別の物理リソースを対応させるための情報であるリソース種別毎管理情報を有するリソース種別毎管理ファイルを備え、
上記リソースマッピング情報生成部は、
上記複数の仮想計算機各々により使用される論理リソースの種別に対応するリソース種別毎管理ファイルから上記リソース種別毎管理情報を取得して、取得した上記リソース種別毎管理情報に基づいて、上記複数の仮想計算機各々により使用される論理リソースに対して上記サーバ装置の物理リソースを対応付けてリソースマッピング情報を生成することを特徴とする。【００１３】
上記エージェント実行部は、
仮想計算機のＯＳ（Ｏｐｅｒａｔｉｎｇ・Ｓｙｓｔｅｍ）のもとで動作するエージェントプログラムを実行し、
上記リソースマッピング情報生成部は、仮想計算機のＯＳに含まれたツール又はエージェントプログラムに含まれたコマンドを使用して、論理リソースが使用している物理リソースを調べる
ことを特徴とする。【００１４】
上記エージェント実行部は、さらに、
物理リソースの稼働状態が異常であるか否かを判定するために用いる閾値と、当該閾値により物理リソースの稼働状態が異常であると判定された場合に、稼働状態が異常であると判定された物理リソースに対応する論理リソースを使用している仮想計算機へ通知する異常通知情報とが設定された異常判定閾値情報を予め記憶装置に記憶する異常判定閾値情報記憶部を備え、
上記異常通知部は、
上記異常判定閾値情報に設定された上記異常通知情報に基づいて通知を行う
ことを特徴とする。【００１５】
上記複数の仮想計算機のなかで、１台の仮想計算機のみが上記エージェント実行部を備えたことを特徴とする。【００１６】
上記リソースマッピング情報生成部は、
上記論理リソースに対して上記サーバ装置の物理リソースを対応付けて予め作成され記憶装置に記憶されたリソースマッピングファイルを処理装置により取得し、取得したリソースマッピングファイルをリソースマッピング情報とすることを特徴とする。【００１７】
本発明に係るサーバ装置の異常検知方法は、
物理リソースを用いて複数の仮想計算機を稼働させるサーバ装置であって、上記物理リソースのうち上記複数の仮想計算機各々が使用する物理リソースを論理リソースとして複数の仮想計算機を稼働させるサーバ装置の異常検知方法において、
エージェント実行部により物理リソースの異常を検知するエージェント実行ステップを備え、
上記エージェント実行ステップは、
リソースマッピング情報生成部が、上記論理リソースに対して上記サーバ装置の物理リソースを対応付けたリソースマッピング情報を生成するリソースマッピング情報生成ステップと、
リソースマッピング記憶部が、上記リソースマッピング情報生成ステップにより生成された上記リソースマッピング情報を記憶装置に記憶するリソースマッピング記憶ステップと、
異常監視部が、物理リソースの稼働状態を示す物理リソース稼働情報を収集し記憶装置に記憶する異常監視ステップと、
異常判定部が、上記異常監視ステップにより収集された上記物理リソース稼働情報のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定し、異常な稼働状態の物理リソースの情報がある場合には、上記異常な稼働状態の物理リソースの情報と上記リソースマッピング情報とに基づいて上記異常な稼働状態の物理リソースに対応する論理リソースを使用している仮想計算機を処理装置により特定する異常判定ステップと、
異常通知部が、上記異常判定ステップにより特定された仮想計算機に対して、上記異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知ステップと
を備えることを特徴とする。【００１８】
本発明に係るサーバ装置の異常検知プログラムは、
上記サーバ装置の異常検知方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００１９】
本発明によれば、物理リソースの異常を検知するエージェント実行部が、論理リソースに対してサーバ装置の物理リソースを対応付けたリソースマッピング情報を生成するリソースマッピング情報生成部と、リソースマッピング情報を記憶装置に記憶するリソースマッピング記憶部と、物理リソースの稼働状態を示す物理リソース稼働情報を収集し記憶装置に記憶する異常監視部と、物理リソース稼働情報のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定し、異常な物理リソースがある場合には、異常な稼働状態の物理リソースの情報とリソースマッピング情報とに基づいて、異常が発生した仮想計算機を処理装置により特定する異常判定部と、異常判定部により特定された仮想計算機に対して、異常な稼働状態の物理リソースの情報に応じた通知を行う異常通知部とを備えているので、複数の仮想計算機の各々が使用する論理リソースとサーバ装置の物理リソースとのリソースマッピングが可能となり、適切な異常検知処理を行うことができるという効果を奏する。
【発明を実施するための最良の形態】
【００２０】
図１は、実施の形態１に係るサーバ装置１００及びサーバ２装置２００の外観の一例を示す図である。図１において、サーバ装置１００及びサーバ２装置２００は、システムユニット９１０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置９０１、キーボード９０２（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス９０３、ＦＤＤ９０４（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置９０５（ＣＤＤ）、プリンタ装置９０６、スキャナ装置９０７などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。【００２１】
システムユニット９１０は、コンピュータであり、ファクシミリ機９３２、電話器９３１とケーブルで接続され、また、ローカルエリアネットワーク９４２（ＬＡＮ）、ゲートウェイ９４１を介してインターネット９４０に接続されている。【００２２】
図２は、以下に述べる実施の形態に係るサーバ装置１００及びサーバ２装置２００のハードウェア資源の一例を示す図である。【００２３】
図２において、サーバ装置１００及びサーバ２装置２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信ボード９１５（通信装置、送信装置、受信装置の一例）、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。【００２４】
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信ボード９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。【００２５】
また、通信ボード９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。【００２６】
通信ボード９１５は、図示はないが、ファクシミリ機、電話器、ＬＡＮ等に接続されている。通信ボード９１５は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。【００２７】
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、ＶＭ（Ｖｉｒｔｕａｌ・Ｍａｃｈｉｎｅ）モニタ９２００等を含むプログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。【００２８】
上記プログラム群９２３には、ＶＭモニタ９２００のほかにも以下に述べる実施の形態の説明において「〜部」、「〜手段」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。【００２９】
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」、「〜データベース」、「〜データ」の各項目として記憶されている。「〜ファイル」、「〜データベース」、「〜データ」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。【００３０】
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。【００３１】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「手段」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。【００３２】
実施の形態１．
本実施の形態では、ハードウェアの異常を検知するエージェント機能を備えるサーバ装置１００について説明する。また、サーバ装置１００と、サーバ装置１００と同様の構成を有するサーバ２装置２００とを冗長に構成した冗長化システム８００（系切替システム）について説明する。【００３３】
図３は、実施の形態１に係る冗長化システム８００のシステム構成図である。図３を用いて、冗長化システム８００のシステム構成について説明する。２台のマシンであるサーバ装置１００とサーバ２装置２００とは、ＬＡＮ（Ｌｏｃａｌ・Ａｒｅａ・Ｎｅｔｗｏｒｋ）１０１に接続されている。【００３４】
実施の形態１に係るサーバ装置１００は、ハードウェア資源（以下、物理リソースともいう）を用いて複数の仮想計算機（仮想マシンともいう）を稼働させるものである。サーバ装置１００は、サーバ装置１００の備える物理リソースのうち、複数の仮想計算機の各々が使用する物理リソースを論理リソースとして複数の仮想計算機を稼働させるものである。【００３５】
サーバ装置１００は、上述したようにハードウェア資源（例えば、ＣＰＵ、ディスク（記憶装置）、ネットワークインタフェース（ＮＷ．Ｉ／Ｆ）、各種筐体ハードウェア等）を備えている。また、サーバ装置１００の備えるＯＳ上では、仮想化制御ソフトウェアであるＶＭ（Ｖｉｒｔｕａｌ・Ｍａｃｈｉｎｅ）モニタ１１０が動作している。【００３６】
ＶＭモニタ１１０とは、コンピュータのハードウェア資源（以下、物理リソースともいう）を一括で管理し、サーバ装置１００のＯＳに対しては、物理リソースの一部を組み合わせたリソース（以下、論理リソースともいう）を用いて稼働する仮想マシン（仮想計算機あるいはドメインともいう）と呼ばれる仮想的なコンピュータとして振舞うソフトウェアである。仮想マシンは、仮想ＯＳにより稼働するマシン（計算機）である。言い換えると、仮想マシンは、サーバ装置１００の物理リソースを仮想的に定めた論理リソースを用いて仮想ＯＳにより稼働する。このように、実施の形態１のサーバ装置１００は、物理的には１台のサーバ装置１００上でありながら、ＶＭモニタ１１０を用いることにより複数の仮想ＯＳを動作させ、あたかも複数の仮想マシン（仮想計算機）が稼働しているかのように振舞うことのできるサーバ装置である。【００３７】
サーバ装置１００のＶＭモニタ１１０上では、ＶＭモニタ１１０を管理するホスト仮想マシン１２０（仮想計算機の一例）と２台のゲスト仮想マシンであるゲスト仮想マシンＡ１４０ａ（仮想計算機の一例）とゲスト仮想マシンＢ１４０ｂ（仮想計算機の一例）とが仮想的に稼働している。ここで、ホスト仮想マシン１２０はホストＯＳにより稼働する仮想マシンのことであり、以下、ホストＯＳにより稼働するホスト仮想マシン１２０をホストＯＳあるいはホストドメインと呼ぶ場合もある。同様に、ゲスト仮想マシンＡ１４０ａはゲストＯＳＡにより稼働する仮想マシンのことであり、以下、ゲストＯＳＡにより稼働するゲスト仮想マシンＡ１４０ａをゲストＯＳＡあるいはゲストドメインＡと呼ぶ場合もある。また、同様に、ゲスト仮想マシンＢ１４０ｂはゲストＯＳＢにより稼働する仮想マシンのことであり、以下、ゲストＯＳＢにより稼働するゲスト仮想マシンＢ１４０ｂをゲストＯＳＢあるいはゲストドメインＢと呼ぶ場合もある。また、ゲスト仮想マシンＡ１４０ａとゲスト仮想マシンＢ１４０ｂとを合わせて、ゲスト仮想マシン１４０と呼ぶ場合もあり、ゲストＯＳＡとゲストＯＳＢとを合わせて、ゲストＯＳと呼ぶ場合もあるものとする。【００３８】
ホスト仮想マシン１２０（ホストＯＳにより稼働するホスト仮想マシン）は、サーバ装置１００の物理リソース（ハードウェア資源）の異常、障害を検知するためのエージェント実行部１２１を備えている。また、ゲスト仮想マシンＡ１４０ａは、既製のクラスタソフトウェア１０７を備えており、ゲスト仮想マシンＢ１４０ｂは、既製のクラスタソフトウェア１０９を備えている。クラスタソフトウェアとは、クラスタシステムにおいて系切替（多重化）制御を行うソフトウェアである。【００３９】
サーバ２装置２００は、サーバ装置１００と同様の構成をしている。すなわち、サーバ２装置２００のＯＳ上では、仮想化制御ソフトウェアであるＶＭモニタ２１０が動作しており、ＶＭモニタ２１０上には、ＶＭモニタ２１０を管理するホスト仮想マシン’２２０（ホストＯＳ’により稼働する仮想マシン）と２台のゲスト仮想マシンであるゲスト仮想マシンＡ’２４０ａ（ゲストＯＳＡ’により稼働する仮想マシン）とゲスト仮想マシンＢ’２４０ｂ（ゲストＯＳＢ’により稼働する仮想マシン）が動作している。ホスト仮想マシン’２２０は、サーバ２装置２００の物理リソースの異常・障害を検知するエージェント実行部２２１を備えている。また、ゲスト仮想マシンＡ’２４０ａは、既製のクラスタソフトウェア１１５を備えており、ゲスト仮想マシンＢ’２４０ｂは、既製のクラスタソフトウェア１１７を備えている。【００４０】
サーバ装置１００と、サーバ装置１００と同様の構成を有するサーバ２装置２００とを冗長に構成した冗長化システム８００は、一方の運用系サーバ（サーバ装置１００）が故障や性能劣化等により動作不能になった場合に、もう片方の待機系サーバ（サーバ２装置２００）に系を切り替えて待機系サーバ（サーバ２装置２００）が処理を引き継ぐクラスタシステム（多重化システムあるいは系切替システムともいう）である。【００４１】
図４は、実施の形態１に係るサーバ装置１００の備えるエージェント実行部１２１の機能ブロックの構成を示すブロック構成図である。特に記載がない場合は、サーバ２装置２００の備えるエージェント実行部２２１も同様の構成であるものとする。【００４２】
エージェント実行部１２１は、サーバ装置１００においてはホスト仮想マシン１２０のみに配置されている。サーバ２装置２００においても同様に、エージェント実行部２２１は、ホスト仮想マシン’２２０のみに配置されている。【００４３】
エージェント実行部１２１は、リソースマッピング情報生成部１２１１、異常監視部１２１２、異常判定部１２１３、異常通知部１２１４を備えている。エージェント実行部１２１は、図示しないリソースマッピング情報記憶部にリソースマッピング情報１２２１を記憶装置に記憶させ、図示しない異常判定閾値情報記憶部に異常判定閾値情報１２２２を記憶装置に記憶させる。また、エージェント実行部１２１は、図示しない記憶部に、障害情報データベース１２２３、物理リソース稼働情報１２２４を記憶装置に記憶させる。【００４４】
リソースマッピング情報生成部１２１１は、サーバ装置１００上で稼働する各仮想マシン（ホスト仮想マシン１２０、ゲスト仮想マシンＡ１４０ａ、ゲスト仮想マシンＢ１４０ｂ）が使用する論理リソースに対して、サーバ装置１００の物理リソースを対応付けたリソースマッピング情報１２２１を生成する。リソースマッピング情報生成部１２１１は、各仮想マシン（各ドメイン）の使用しているリソースと実際の物理リソースをマッピングし、リソースマッピング情報１２２１を生成する。リソースマッピング情報生成部１２１１により生成されたリソースマッピング情報１２２１は、リソースマッピング情報記憶部により記憶装置に記憶される。リソースマッピング情報生成部１２１１の、リソースマッピング情報生成処理については、後述する。【００４５】
異常監視部１２１２は、物理リソースの稼働状態を示す物理リソース稼働情報１２２４を収集し記憶装置に記憶する。すなわち、異常監視部１２１２は、エージェント実行部１２１が動作しているサーバ装置１００のＣＰＵやディスク、ネットワークＩ／Ｆ（Ｉｎｔｅｒｆａｃｅ）（ネットワークインタフェース（ＮＷ．Ｉ／Ｆ））等のハードウェア障害やディスク応答性能等の情報を収集して物理リソース稼働情報１２２４として記憶装置に記憶する。さらに、異常監視部１２１２は、ＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ・Ｐｌａｔｆｏｒｍ・Ｍａｎａｇｅｍｅｎｔ・Ｉｎｔｅｒｆａｃｅ）により、サーバ筐体の温度や電源、ファン、バス等の状態を監視してそれらの状態情報を収集し、物理リソース稼働情報１２２４として記憶装置に記憶する。ＩＰＭＩとは、例えばサーバ装置１００のサーバープラットフォームの状態（温度、電圧、ファン、バス等）の状態監視、復旧制御、リモート制御等を行うＯＳの標準インタフェース仕様である。【００４６】
異常判定閾値情報１２２２は、予め異常判定閾値情報記憶部により記憶装置に記憶されている情報である。異常判定閾値情報１２２２には、物理リソースの稼働状態が異常であるか否かを判定するために用いる閾値と、当該閾値により物理リソースの稼働状態が異常であると判定された場合に、稼働状態が異常であると判定された物理リソースに対応する論理リソースを使用している仮想マシン（仮想計算機）へ通知する異常通知情報とが設定されている。異常判定閾値情報１２２２の詳細については、後述する。【００４７】
異常判定部１２１３は、異常監視部１２１２が収集した物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があるか否かを処理装置により判定する。異常判定部１２１３は、物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があるか否かを異常判定閾値情報１２２２に基づいて判定する。すなわち、異常判定部１２１３は、異常監視部１２１２が収集した物理リソース稼働情報１２２４（監視情報）を、異常判定閾値情報１２２２に基づいて通知すべき異常かどうかを判定する。異常判定部１２１３は、物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があると判定した場合には、異常な稼働状態の物理リソースの情報とリソースマッピング情報１２２１とに基づいて、異常な稼働状態の物理リソースに対応する論理リソースを使用している仮想マシン（仮想計算機）を処理装置により特定する。【００４８】
異常通知部１２１４は、異常判定部１２１３により異常な稼働状態の物理リソースに対応する論理リソースを利用している仮想マシンであるとして特定された仮想マシン（以下、障害発生仮想マシンという）に対して、異常な稼働状態の物理リソースの情報に応じた通知を行う。異常通知部１２１４は、後述する異常判定閾値情報１２２２に設定された異常通知情報１１１４に基づいて、異常な稼働状態の物理リソースの障害情報に応じた通知を行う。異常通知部１２１４は、物理リソース稼働情報１２２４（監視情報）が異常判定部１２１３により異常と判定された場合に、異常と判定された物理リソースの障害情報を障害情報データベース１２２３に記録して記憶装置に保存するとともに、異常判定部１２１３により障害のある仮想マシンと特定された障害発生仮想マシン（ホスト仮想マシン１２０あるいはゲスト仮想マシンＡ１４０ａあるいはゲスト仮想マシンＢ１４０ｂ）に対して、異常通知情報１１１４に基づいて障害情報に応じた通知を行う。【００４９】
本実施の形態では、エージェント実行部１２１が、リソースマッピング情報１２２１を生成することが特徴のひとつである。また、エージェント実行部１２１が、ホスト仮想マシン１２０にのみ備えられていることが特徴のひとつである。エージェント実行部１２１は、ホスト仮想マシン１２０のみに備えられていても、リソースマッピング情報１２２１を備えることにより、サーバ装置１００上で稼働する他の仮想マシンの論理リソースについても管理することができ、適切に障害発生仮想マシンを特定することができる。また、エージェント実行部１２１は、ホスト仮想マシン１２０のみに備えられていればよいので、サーバ装置１００のエージェント機能の処理効率を向上させることができる。【００５０】
図５は、実施の形態１におけるサーバ装置１００の異常検知方法の処理動作を示すフロー図である。図５を用いて、実施の形態１におけるサーバ装置１００の異常検知方法（異常検知プログラム）ついて説明する。以下で説明するＯＳ（サーバ装置１００のＯＳ）及びホストＯＳ及びゲストＯＳ及びエージェント実行部１２１の各部は、以下で説明する各処理をＣＰＵ、記憶装置等のハードウェア資源を用いて実行する。【００５１】
まず、利用者により、あるいは、自動的にサーバ装置１００が起動されると、ホストＯＳがＣＰＵにより読み出され実行されホスト仮想マシン１２０が起動する（Ｓ１０１）。次に、サーバ装置１００のＣＰＵによりゲストＯＳＡとゲストＯＳＢとが読み出され実行され、ゲスト仮想マシンＡ１４０ａとゲスト仮想マシンＢ１４０ｂとが起動する（Ｓ１０２）。各ゲスト仮想マシンの各ゲストＯＳ上では、ＣＰＵにより既製のクラスタソフトウェアが読み出されて実行されることにより動作し、ゲストＯＳＡとサーバ２装置２００のゲストＯＳＡ’の組、及び、ゲストＯＳＢとサーバ２装置２００のゲストＯＳＢ’の組でそれぞれ冗長化構成がとられる。【００５２】
次に、エージェント実行部１２１が、ＣＰＵにより、ホスト仮想マシン１２０のホストＯＳ上で起動される（Ｓ１０３）。エージェント実行部１２１は、ホスト仮想マシン１２０のホストＯＳのもとで動作するエージェントプログラムをＣＰＵにより実行する。エージェントプログラムは、ホストＯＳ上で常に動作するプログラム（常駐プログラム）としてＣＰＵにより動作する。【００５３】
＜Ｓ１０４：リソースマッピング情報生成ステップ＞
リソースマッピング情報生成部１２１１は、ＣＰＵを用いて、ホスト仮想マシン１２０及びゲスト仮想マシンＡ１４０ａ及びゲスト仮想マシンＢ１４０ｂが使用する論理リソースとサーバ装置１００の物理リソースとのリソースマッピングの情報を取得してリソースマッピング情報１２２１を生成する（Ｓ１０４）。サーバ装置１００は、例えば、各仮想マシン毎に、当該仮想マシンにより使用される論理リソースに対して物理リソースを対応させるための情報である仮想計算機毎リソース管理情報を有する仮想計算機毎リソース管理ファイルを記憶装置に備えており、リソースマッピング情報生成部１２１１は、仮想計算機毎リソース管理ファイルから物理リソースを含む仮想計算機毎リソース管理情報を取得して、取得した仮想計算機毎リソース管理情報に基づいて、各仮想マシンにより使用される論理リソースに対してサーバ装置１００の物理リソースを対応付けたリソースマッピングテーブルをリソースマッピング情報１２２１として生成する。また、サーバ装置１００は、例えば、リソースの種別ごとに、当該種別の論理リソースに対して当該種別の物理リソースを対応させるための情報であるリソース種別毎管理情報を有するリソース種別毎管理ファイルを記憶装置に備えており、リソースマッピング情報生成部１２１１は、各仮想マシンにより使用される論理リソースの種別に対応するリソース種別毎管理ファイルからリソース種別毎管理情報を取得して、取得したリソース種別毎管理情報に基づいて、各仮想マシンにより使用される論理リソースに対してサーバ装置１００の物理リソースを対応付けてリソースマッピング情報１２２１を生成する。【００５４】
このように、リソースマッピング情報生成部１２１１は、仮想マシンのＯＳに含まれたツール又はコマンド、あるいはエージェントプログラムに含まれたツール又はコマンドを使用して、各仮想マシンの論理リソースが使用している物理リソースをＣＰＵを用いて調べてリソースマッピング情報１２２１を生成する。リソースマッピング情報記憶部は、生成したリソースマッピング情報１２２１を記憶装置に記憶（保存）する。【００５５】
リソースマッピング情報生成部１２１１は、ＣＰＵを用いて、定期的にリソースマッピング情報１２２１を収集・生成してリソースマッピング情報記憶部がリソースマッピング情報１２２１を記憶装置に記憶して更新する。すなわち、リソースマッピング情報１２２１は、定期的に更新される。このように、リソースマッピング情報生成・記憶処理は、ＣＰＵを用いて、定期的に実行される。あるいは、リソースマッピング情報生成・記憶処理は、エージェント実行部１２１が起動されて処理を開始した場合に、まず始めに実行される処理としてもよい。この場合は、エージェント実行部１２１が定期的に起動されれば、自動的にリソースマッピング情報生成・記憶処理も定期的に実行されることになる。あるいは、リソースマッピング情報生成部１２１１は、エージェント実行部１２１の処理とは独立して実行されても構わない。リソースマッピング情報生成部１２１１のリソースマッピング情報生成方法についての詳細な説明は後述する。【００５６】
＜Ｓ１０５：異常監視ステップ＞
異常監視部１２１２は、ＣＰＵを用いて、定期的にハードウェア（物理リソース）を監視し、ハードウェア（物理リソース）の稼働状態を示す物理リソース稼働情報１２２４を収集する。異常監視部１２１２は、収集した物理リソース稼働情報１２２４を記憶装置に記憶する。（Ｓ１０５）。物理リソース稼働情報１２２４とは、例えば、上述したＩＰＭＩによる筐体情報（電源情報、ＣＰＵ温度、バス情報、ファン稼働情報など）や、ハードディスクの書込／読込エラーや応答性能、ネットワークＩ／Ｆ（ネットワークインタフェース（ＮＷ．Ｉ／Ｆ））の応答性能などである。異常監視部１２１２は、ＣＰＵを用いて、物理リソース稼働情報１２２４を収集したことを異常判定部１２１３に通知する。【００５７】
＜Ｓ１０６〜Ｓ１０８：異常判定ステップ＞
＜Ｓ１０６〜Ｓ１０７：異常物理リソース検知ステップ＞
異常判定部１２１３は、ＣＰＵを用いて、異常監視部１２１２が収集した物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があるか否かを判定する。異常判定部１２１３は、異常監視部１２１２により物理リソース稼働情報１２２４が収集されたことが通知されると、収集された物理リソース稼働情報１２２４のなかに異常（障害）があるかどうかを判断する（Ｓ１０６）。異常判定部１２１３は、予め異常判定閾値情報記憶部により記憶装置に記憶されている異常判定閾値情報１２２２（異常判定閾値情報データベース）により定義された情報をもとにＣＰＵを用いて障害・異常があるか否かを判定する（Ｓ１０７）。【００５８】
図６は、異常判定閾値情報１２２２のテーブル構成を示す図である。図６を用いて、異常判定部１２１３の異常判定処理の具体例について説明する。【００５９】
異常判定閾値情報１２２２は、異常な物理リソース稼働状態を識別する識別子を設定するＩＤ１１１１と、異常な稼働状態の対象となるハードウェア（物理リソース）を設定する対象ハードウェア１１１２と、異常な稼働状態と判定するための閾値を設定する異常判定閾値１１１３と、異常な稼働状態と判定した場合に、後述する異常が検知された仮想マシンを特定する処理（障害発生仮想マシン特定処理）において特定される障害発生仮想マシン（障害発生仮想ＯＳ）に対して行う異常検知時の通知内容を設定する異常通知情報１１１４とから構成される。【００６０】
例えば、図６における異常な物理リソース稼働状態のＩＤ１１１１が「Ｅ００００１」の情報は、ＣＰＵ−１に関して温度が６０度を超えた場合に異常であると判定するための情報であり、その際、ＣＰＵ−１をリソース（論理リソース）として使用していると特定された仮想マシンに対しては、異常通知情報１１１４「ＯＳの停止」という内容の通知をすることを意味している。また、例えば、ＩＤ１１１１が「Ｅ００００３」の情報は、ハードディスク「／ｄｅｖ／ｓｄａ／」に関して読み込み応答時間（応答時間ＲＥＡＤ）が１０秒を超えた場合に異常であると判定するための情報であり、その際、ハードディスク「／ｄｅｖ／ｓｄａ／」を論理リソースとして使用していると特定された仮想マシンに対しては、「ＯＳの停止」という内容の異常通知情報１１１４を通知することを意味している。【００６１】
図５に戻り、異常判定部１２１３は、ＣＰＵを用いて、物理リソース稼働情報１２２４の各物理リソースの稼働状態を示す稼働情報のそれぞれを、異常判定閾値情報１２２２の各異常な物理リソース稼働状態（すなわち、各ＩＤの情報）と比較することにより、物理リソース稼働情報１２２４のなかに異常な稼働状態の物理リソースの情報があるか否かを判定する。【００６２】
例えば、異常判定部１２１３は、記憶装置に記憶された物理リソース稼働情報１２２４のなかに「ＣＰＵ−１の温度が６３度」という情報があるとする。異常判定部１２１３は、ＣＰＵを用いて、異常判定閾値情報１２２２を参照し、ＩＤ１１１１が「Ｅ００００１」の「ＣＰＵ−１に関して温度が６０度を超えた場合に異常である」との情報に基づいて、物理リソース「ＣＰＵ−１」は異常であると判定する。また、例えば、異常判定部１２１３は、収集された物理リソース稼働情報１２２４（ハードウェア稼働情報）なかに「ハードディスク「／ｄｅｖ／ｓｄａ」の読込応答時間が２０秒」という情報がある場合、ＣＰＵを用いて、異常判定閾値情報１２２２のＩＤ１１１１＝「Ｅ００００３」に基づくと「読込応答時間が１０秒以上の場合に異常」と判定されるため、ここでハードディスク「／ｄｅｖ／ｓｄａ」は異常（障害）であるとして認識する。【００６３】
＜Ｓ１０８：障害発生仮想マシン特定ステップ＞
異常判定部１２１３により物理リソースの異常（障害）が検知されなかった場合（Ｓ１０７でＮＯ）は、エージェント実行部１２１は、Ｓ１０４のリソースマッピング情報生成ステップへ処理を戻す。【００６４】
異常判定部１２１３により物理リソースの異常（障害）が検知された場合（Ｓ１０７でＹＥＳ）は、異常判定部１２１３は、ＣＰＵを用いて、リソースマッピング情報１２２１に基づいて、異常（障害）が検知された物理リソースがどの仮想マシン（ホストＯＳ／ゲ
ストＯＳ）に関連するかを抽出（特定）する（Ｓ１０８）。すなわち、異常判定部１２１３は、異常な物理リソース稼働状態の物理リソースを論理リソースとして使用している仮想マシン（以下、障害発生仮想マシン（障害発生ドメイン）と呼ぶ）を特定する。障害発生仮想マシンは、１つの場合もあるが、対象の物理リソースを複数の仮想マシンで共有している場合には複数の場合もある。異常判定部１２１３は、ＣＰＵを用いて、Ｓ１０６で検知した異常な物理リソース稼働状態のＩＤ１１１１とＳ１０８で特定した障害発生仮想マシンの情報とを異常通知部１２１４へ出力する。また、あるいは、異常判定部１２１３は、ＣＰＵを用いて、Ｓ１０６で検知した異常な物理リソース稼働状態のＩＤ１１１１に対応する異常通知情報１１１４とＳ１０８で特定した障害発生仮想マシンの情報とを異常通知部１２１４へ出力する。Ｓ１０８の障害発生仮想マシン特定処理についての詳細説明は後述する。【００６５】
＜Ｓ１０９〜Ｓ１１０：異常通知ステップ＞
異常通知部１２１４は、異常判定部１２１３により障害発生仮想マシン（障害発生ドメイン）が特定（抽出）されると、ＣＰＵを用いて、障害発生仮想マシンと異常（障害）のある物理リソースの異常状態とを対応付けて障害情報データベース１２２３として記憶装置に記録する（Ｓ１０９）。【００６６】
さらに、異常通知部１２１４は、ＣＰＵを用いて、障害発生仮想マシンに対して異常（障害）内容に応じた通知を実施する（Ｓ１１０）。異常通知部１２１４は、ＣＰＵを用いて、異常判定閾値情報１２２２から障害発生仮想マシンの異常な物理リソース稼働状態のＩＤ１１１１に対応する異常通知情報１１１４の内容を取得する。あるいは、異常通知部１２１４は、異常判定部１２１３から異常な物理リソース稼働状態のＩＤ１１１１を入力して、入力したＩＤ１１１１を基に異常判定閾値情報１２２２から入力したＩＤ１１１１に対応する異常通知情報１１１４を取得する。あるいは、異常通知部１２１４は、異常判定部１２１３から直接異常通知情報１１１４を入力して取得する。異常通知部１２１４は、ＣＰＵを用いて、取得した異常通知情報１１１４の内容を障害発生仮想マシンへ通知する。【００６７】
例えば、障害発生仮想マシンに関連する異常な物理リソース稼働状態のＩＤ１１１１が「Ｅ００００１」の場合は、異常通知部１２１４は、異常通知情報１１１４「ＯＳの停止」を障害発生仮想マシンに通知することを意味している。障害発生仮想マシンは、「ＯＳの停止」が通知されると、通知内容に基づいてＯＳの停止を実施する。なお、障害によっては、障害発生仮想マシン自身が正常にＯＳ停止できない場合がある。そのような場合は、例えば、障害発生仮想マシンがホストＯＳならば、ＯＳパニックを起こさせて強制的に停止させる。また、例えば、障害発生マシンがゲストＯＳならば、エージェント実行部１２１は、ＶＭモニタのコマンドを用いて該当の障害発生ゲストＯＳを強制的に停止させる。【００６８】
図７は、実施の形態１に係る冗長化システム８００の系切替時の動作の一例を示す図である。図７では、サーバ装置１００のホスト仮想マシン１２０のホストＯＳが使用している「ハードディスク「／ｄｅｖ／ｓｄａ」」が故障して、応答性能が１０秒以上になったものとする。この場合、異常判定部１２１３は、上述した処理によりハードディスク「／ｄｅｖ／ｓｄａ」は異常判定閾値情報１２２２のＩＤ１１１１「Ｅ００００３」に基づいて異常であると判定する。また、異常判定部１２１３は、上述した処理により障害発生仮想マシンがホスト仮想マシン１２０であると特定する。異常通知部１２１４は、上述した処理により異常判定閾値情報１２２２のＩＤ１１１１「Ｅ００００３」の異常通知情報１１１４「ＯＳの停止」を取得してホスト仮想マシン１２０に通知する。ホスト仮想マシン１２０は、受け取った通知内容に基づいてホストＯＳを停止する（Ｓ６１）。ホストＯＳが停止したことによって、同一サーバ装置１００上で稼働するゲスト仮想マシンＡ１４０
ａとゲスト仮想マシンＢ１４０ｂとが、それぞれゲストＯＳＡとゲストＯＳＢとを停止する（Ｓ６２）。これにより、ゲストＯＳＡ上のクラスタソフトウェア１０７とゲストＯＳＢ上のクラスタソフトウェア１０９とが停止し、クラスタソフトウェア１０７，１０９によりサーバ２装置２００へ送信されていたハートビートが停止する（Ｓ６３）。このハートビートの停止により、本実施の形態の冗長化システム８００では、他系（待機系）（サーバ２装置２００）のクラスタソフトウェア１１５，１１７が適切に異常を検知することができるため、適切な系切り替え動作が可能となる（Ｓ６４）。【００６９】
図８は、エージェント実行部１２１が動作するホスト仮想マシンのホストＯＳにより認識できるディスク情報（ここでは、ゲスト仮想マシン１４０のディスク情報）とゲスト仮想マシンが実際に利用する物理的なディスク情報とのリソースマッピング情報生成処理を示すフロー図である。図９は、リソースマッピング情報の仮想マシン管理テーブル２１のテーブル構成を示す図である。図１０は、リソースマッピング情報のリソースマッピングテーブル１３の構成を示す図である。図８〜図１０を用いて、エージェント実行部１２１のリソースマッピング情報生成部１２１１によるリソースマッピング情報生成処理の詳細動作について説明する。【００７０】
リソースマッピング情報１２２１は、以下に説明する仮想マシン管理テーブル２１とリソースマッピングテーブル１３とから構成されている。【００７１】
まず、図９のリソースマッピング情報の仮想マシン管理テーブル２１について説明する。仮想マシン管理テーブル２１には、新規に付与される管理ＩＤ２１１と、冗長化システム８００における物理的なサーバを識別するハードウェア識別ＩＤ２１２と、仮想マシン（ドメイン）を識別するドメインＩＤ２１３と、ドメインＩＤに対応するドメインの名称を設定するドメイン名称２１４とがひとつの情報（１レコード）として設定される。すなわち、仮想マシン管理テーブル２１は、仮想マシンと仮想マシンが稼働する物理的なサーバとを対応させるためのテーブルである。【００７２】
次に、図１０のリソースマッピング情報のリソースマッピングテーブル１３について説明する。リソースマッピングテーブル１３は、仮想マシン管理テーブル２１で付与された管理ＩＤ２１１を設定する管理ＩＤ１３１と、その管理ＩＤ１３１により示される仮想マシンのリソース（論理リソース）に対してシーケンシャルにＩＤを付与するリソースＩＤ１３２と、リソースの種別を設定するリソース種別１３３と、対応するサーバ装置１００物理リソースを設定する対応物理リソース名１３４、ホストＯＳ上で認識されるリソースを設定するホストＯＳ上の識別名１３５（論理リソース名）とから構成される。【００７３】
図８を用いて、リソースマッピング情報生成部１２１１が、ＣＰＵを用いて、仮想マシン管理テーブル２１及びリソースマッピングテーブル１３に情報を設定することにより、リソースマッピング情報１２２１を生成する処理について説明する。リソースマッピング情報生成部１２１１は、ＣＰＵを用いてリソースマッピング情報生成プログラムを記憶装置より読み出して、ＣＰＵを用いてリソースマッピング情報生成プログラムを実行する。【００７４】
図８では、ゲスト仮想マシン１４０のゲストＯＳのディスク情報（以下、論理ディスク情報という）とゲストＯＳが利用している物理的なディスク情報（物理ディスク情報）とをマッピングする方法について説明する。【００７５】
＜ゲストＯＳのディスク情報と物理ディスク情報とのリソースマッピング情報生成処理＞
前提処理として、リソースマッピング情報生成部１２１１は、サーバ（ハードウェア）を識別するハードウェア識別ＩＤ２１２として、サーバ名（ホスト名）やＩＰアドレス等を利用するものとする。まず、リソースマッピング情報生成部１２１１は、ハードウェア識別ＩＤ２１２として自己の動作するサーバのサーバ名「サーバ１（サーバ装置１００）」を取得する（Ｓ２０１）。次に、リソースマッピング情報生成部１２１１は、サーバ装置１００のＶＭモニタ１１０の管理ツールを用いて、サーバ装置１００上で稼働する各仮想マシン（各ドメイン）を識別するドメインＩＤ２１３と各仮想マシンを識別するドメイン名称２１４とを取得する（Ｓ２０２、Ｓ２０３）。【００７６】
例えば、リソースマッピング情報生成部１２１１は、ドメインＩＤ「０」＝ドメイン名称「ホストＯＳ」の情報を取得するものとする。リソースマッピング情報生成部１２１１は、新規に管理ＩＤ２１１を付加（取得）し、取得したハードウェア識別ＩＤ２１２とドメインＩＤ２１３とドメイン名称２１４とを関連付けてリソースマッピング情報１２２１の仮想マシン管理テーブル２１に登録する。リソースマッピング情報生成部１２１１は、新規に付与（取得）した管理ＩＤ「００００１」に対してハードウェア識別ＩＤ「サーバ１（サーバ装置１００）」とドメインＩＤ「０」とドメイン名称「ホストＯＳ」とを関連付けて仮想マシン管理テーブル２１に設定する（図９参照）。【００７７】
次に、例えば、リソースマッピング情報生成部１２１１は、ドメインＩＤ「１」＝ドメイン名称「ゲストＯＳＡ」の情報を取得するものとする。リソースマッピング情報生成部１２１１は、新規に管理ＩＤ２１１を付加（取得）し、取得したハードウェア識別ＩＤ２１２とドメインＩＤ２１３とドメイン名称２１４とを関連付けてリソースマッピング情報１２２１の仮想マシン管理テーブル２１に登録する。リソースマッピング情報生成部１２１１は、新規に付与（取得）した管理ＩＤ「００００２」に対してハードウェア識別ＩＤ「サーバ１（サーバ装置１００）」とドメインＩＤ「１」とドメイン名称「ゲストＯＳＡ」とを関連付けて仮想マシン管理テーブル２１に設定する（図９参照）。すなわち、リソースマッピング情報生成部１２１１は、管理ＩＤ２１１に「００００２」、ハードウェア識別ＩＤに「サーバ１（サーバ装置１００）」、ドメインＩＤに「１」、ドメイン名称に「ゲストＯＳＡ」を設定する。【００７８】
このように、リソースマッピング情報生成部１２１１は、サーバ装置１００上で稼働するすべての仮想マシンについて順に仮想マシンの各々と物理的なサーバと対応させる情報を仮想マシン管理テーブル２１に設定する（Ｓ２０４）。リソースマッピング情報生成部１２１１は、既に仮想マシン管理テーブル２１に同一の情報が設定されていれば、その情報を利用して管理ＩＤを取得する。【００７９】
リソースマッピング情報生成部１２１１は、Ｓ２０４で登録した仮想マシン管理テーブル２１からひとつのゲストＯＳの管理ＩＤ２１１を取得する。リソースマッピング情報生成部１２１１は、取得した管理ＩＤ２１１の情報（ハードウェア識別ＩＤ２１２、ドメインＩＤ２１３、ドメイン名称２１４）を基に、該当のゲスト仮想マシンのゲストＯＳ用ＶＭ設定ファイル（仮想計算機毎リソース管理情報を有する仮想計算機毎リソース管理ファイルの一例）を取得する（Ｓ２０５）。【００８０】
リソースマッピング情報生成部１２１１は、取得したゲストＯＳ用ＶＭ設定ファイルから、対象ゲストＯＳが使用しているディスク情報（論理ディスク情報）（物理リソースを含む上記仮想計算機毎リソース管理情報の一例）を取得して、取得したディスク情報が物理ディスク情報であるか否かをＣＰＵを用いて判定する（Ｓ２０６）。例えば、リソースマッピング情報生成部１２１１は、対象ゲストＯＳが使用しているディスク情報が物理的な記載によるディスク情報である場合に物理ディスク情報であると判定する。【００８１】
リソースマッピング情報生成部１２１１は、取得したディスク情報が物理ディスク情報である場合は（Ｓ２０６でＹＥＳ）、取得したディスク情報をそのままリソースマッピングテーブル１３の対応物理リソース名１３４に設定する情報として取得する（Ｓ２０７）。リソースマッピング情報生成部１２１１は、取得したディスク情報が物理ディスク情報でない場合は（Ｓ２０６でＮＯ）、Ｓ２０８に進む。Ｓ２０８では、リソースマッピング情報生成部１２１１は、取得した物理ディスク情報でないディスク情報がイメージファイル（イメージデータ）で指定されているか否かをＣＰＵを用いて判定する（Ｓ２０８）。【００８２】
リソースマッピング情報生成部１２１１は、取得したディスク情報がイメージファイルで指定されている場合は（Ｓ２０８でＹＥＳ）、ｄｆコマンド等のＯＳ管理ツールを用いて、イメージファイルが配置されている物理ディスク情報を取得する。リソースマッピング情報生成部１２１１は、取得した物理ディスク情報をゲストＯＳが使用している物理ディスク情報として取得する（Ｓ２０９）。リソースマッピング情報生成部１２１１は、取得したディスク情報が物理ディスク情報でもなくイメージファイルで指定されてもいない場合は（Ｓ２０８でＮＯ）、エラー情報を出力してＳ２０５の処理に戻り、次のゲスト仮想マシン１４０のゲストＯＳ用ＶＭ設定ファイルをチェックする処理を行う（Ｓ２１０）。【００８３】
また、例えば、リソースマッピング情報生成部１２１１は、Ｓ２０６にてＶＭ設定ファイルにディスク情報が存在しない等の不正がある場合にも、エラー情報を出力してＳ２０５の処理に戻り、次のゲスト仮想マシン１４０のゲストＯＳ用ＶＭ設定ファイルをチェックする処理を行う。【００８４】
Ｓ２１１では、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ２０５で取得した管理ＩＤ２１１を設定し、リソースＩＤ１３２に対象のゲスト仮想マシン１４０のリソースに対して例えばシーケンシャルに付与するＩＤを取得して設定し、リソース種別１３３にディスク情報のリソース種別を表す「ＨＤＤ」を設定し、ホストＯＳ上の識別名１３５にはＳ２０６で取得した対象のゲストＯＳが使用しているディスク情報（論理ディスク情報）を設定し、対応物理リソース名１３４にＳ２０７あるいはＳ２０９で取得した物理ディスク情報を設定する。リソースＩＤ１３２は、同一管理ＩＤで管理されるリソースを一意に識別できる任意に付加されるＩＤであるものとする。このように、リソースマッピング情報生成部１２１１は、Ｓ２０５で取得した仮想マシン管理テーブル２１の管理ＩＤ２１１と関連付けて、リソースマッピングテーブル１３を登録する。【００８５】
Ｓ２１２にて、リソースマッピング情報生成部１２１１は、自己の動作するサーバ装置１００上のすべてのゲスト仮想マシン１４０についてリソースマッピング情報生成処理が完了するまで、上記処理（Ｓ２０５〜Ｓ２１２）を繰り返す。【００８６】
具体例を用いて以下に説明する。例えば、Ｓ２０５において、リソースマッピング情報生成部１２１１は、管理ＩＤ２１１の「００００２」を取得したものとする。Ｓ２０５において、リソースマッピング情報生成部１２１１は、管理ＩＤ２１１「００００２」の示すゲストＯＳが「ゲストＯＳＡ」であるから、ゲストＯＳＡ用ＶＭ設定ファイルを取得する。リソースマッピング情報生成部１２１１は、取得したゲストＯＳＡ用ＶＭ設定ファイルから、ディスク情報を取得する。ここで、ゲストＯＳＡのディスク情報は、イメージデータ「／ｄｅｖ／ｓｄｂ／ｈｄｄ．ｉｍｇ」であるとする。そこで、リソースマッピング情報生成部１２１１は、Ｓ２０６からＳ２０８の処理を行い、ディスク情報がイメージデータであると判断して、ｄｆコマンド等のＯＳ管理ツールを用いて、イメージファイルが配置されている物理ディスク情報「／ｄｅｖ／ｓｄｂ」を取得する（Ｓ２０９）。そして、Ｓ２１１において、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ２０４で取得した管理ＩＤ２１１「００００２」を設定し、リソースＩＤ１３２にゲストＯＳＡのリソースに対して付与するＩＤ「１」を設定し
、リソース種別１３３にディスク情報のリソース種別を表す「ＨＤＤ」を設定し、ホストＯＳ上の識別名１３５にはＳ２０６で取得したゲストＯＳＡのディスク情報「「／ｄｅｖ／ｓｄｂ／ｈｄｄ．ｉｍｇ」を設定し、対応物理リソース名１３４にＳ２０９で取得した物理ディスク情報「／ｄｅｖ／ｓｄｂ」を設定する。【００８７】
図１１は、実施の形態１に係るホスト仮想マシン１２０のホストＯＳのディスク情報（論理ディスク情報）とホストＯＳが利用している物理的なディスク情報（物理ディスク情報）とのリソースマッピング情報生成処理を示すフロー図である。図１１を用いて、ホスト仮想マシン１２０のホストＯＳとホストＯＳが利用している物理的なディスク情報（物理ディスク情報）をマッピングする方法について説明する。【００８８】
＜ホストＯＳのディスク情報と物理ディスク情報とのリソースマッピング情報生成処理＞
前提処理として、リソースマッピング情報生成部１２１１は、サーバ（ハードウェア）を識別するハードウェア識別ＩＤ２１２として、サーバ名（ホスト名）やＩＰアドレス等を利用するものとする。まず、リソースマッピング情報生成部１２１１は、ハードウェア識別ＩＤ２１２として自己の動作するサーバのサーバ名「サーバ１（サーバ装置１００）」を取得する（Ｓ３０１）。次に、リソースマッピング情報生成部１２１１は、サーバ装置１００のＶＭモニタ１１０の管理ツールを用いて、サーバ装置１００上で稼働する各仮想マシン（各ドメイン）を識別するドメインＩＤ２１３と各仮想マシン（各ドメイン）を識別するドメイン名称２１４を取得する（Ｓ３０２）。例えば、リソースマッピング情報生成部１２１１は、サーバ装置１００上で稼働するホスト仮想マシン１２０のドメインＩＤ「０」＝ドメイン名称「ホストＯＳ」の情報を取得するものとする。リソースマッピング情報生成部１２１１は、新規に管理ＩＤ２１１を取得して付加し、取得したハードウェア識別ＩＤ２１２とドメインＩＤ２１３とドメイン名称２１４とを関連付けてリソースマッピング情報１２２１の仮想マシン管理テーブル２１に登録する。リソースマッピング情報生成部１２１１は、新規に付与した管理ＩＤ「００００１」に対してハードウェア識別ＩＤ「サーバ１（サーバ装置１００）」とドメインＩＤ「０」とドメイン名称「ホストＯＳ」とを関連付けて仮想マシン管理テーブル２１に設定する（図９参照）。このように、リソースマッピング情報生成部１２１１は、サーバ装置１００上で稼働するすべての仮想マシンについて順に仮想マシンの各々と物理的なサーバと対応させる情報を仮想マシン管理テーブル２１に設定する（Ｓ３０２）。リソースマッピング情報生成部１２１１は、既に仮想マシン管理テーブル２１に同一の情報が設定されていれば、その情報を利用して管理ＩＤを取得する。【００８９】
リソースマッピング情報生成部１２１１は、Ｓ３０４で登録した仮想マシン管理テーブル２１からホストＯＳの管理ＩＤ２１１を取得する。Ｓ３０３において、リソースマッピング情報生成部１２１１は、ホストＯＳの管理ＩＤ２１１として「００００１」を取得するものとする。リソースマッピング情報生成部１２１１は、ＯＳの管理ツールを用いて、ホスト仮想マシン１２０のホストＯＳがマウントしている物理ディスク情報（例えば「／ｄｅｖ／ｓｄａ」）を取得する（Ｓ３０３）。リソースマッピング情報生成部１２１１は、Ｓ３０３で取得した管理ＩＤ「００００１」とＳ３０３で取得した物理ディスク情報（「／ｄｅｖ／ｓｄａ」）とを関連付けて、リソースマッピングテーブル１３に格納する（Ｓ３０４）。すなわち、Ｓ３０４において、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１に管理ＩＤ２１１「００００１」を設定し、リソースＩＤ１３２にホストＯＳのリソースに対して付与するＩＤ「１」を設定し、リソース種別１３３にディスク情報のリソース種別を表す「ＨＤＤ」を設定し、ホストＯＳ上の識別名１３５にはホストＯＳがマウントしている物理ディスク情報「／ｄｅｖ／ｓｄａ」を設定し、対応物理リソース名１３４にホストＯＳがマウントしている物理ディスク情報「／ｄｅｖ／ｓｄａ」を設定する。すなわち、ホストＯＳがディスク情報として
認識できる論理ディスク情報は、物理ディスク情報で表されている。【００９０】
図１２は、実施の形態１に係るゲスト仮想マシンのネットワークインタフェース情報に関するリソースマッピング情報生成処理を示すフロー図である。図１２を用いて、ゲストＯＳとゲストＯＳが利用している物理ネットワークインタフェース情報のマッピング方法について説明する。【００９１】
＜ゲストＯＳのネットワークインタフェース情報のリソースマッピング情報生成処理＞
前提処理として、リソースマッピング情報生成部１２１１が、仮想マシン管理テーブル２１に、管理ＩＤ２１１、ハードウェア識別ＩＤ２１２、ドメインＩＤ２１３、ドメイン名称２１４とを関連付けてに登録する処理（Ｓ４０１〜Ｓ４０４）は、図８のＳ２０１〜Ｓ２０４の処理と同様であるので説明を省略する。【００９２】
リソースマッピング情報生成部１２１１は、Ｓ４０４で登録した仮想マシン管理テーブル２１からひとつのゲストＯＳの管理ＩＤ２１１を取得する。リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＣＰＵによりＯＳのネットワーク管理ツール（ｉｆｃｏｎｆｉｇコマンドなど）（仮想計算機のＯＳに含まれたツール又はエージェントプログラムに含まれたコマンドの一例）を用いて、Ｓ４０４で取得した管理ＩＤにより示される仮想マシン（ドメイン）を識別するドメインＩＤに関する仮想ネットワークインタフェース名のリストを取得する（Ｓ４０５）。ｉｆｃｏｎｆｉｇコマンドなどにより管理されるファイルは、リソース種別毎管理情報を有するリソース種別毎管理ファイルの一例である。例えば、リソースマッピング情報生成部１２１１は、Ｓ４０４で取得した管理ＩＤ２１１「００００２」から、ドメインＩＤ「１」の「ゲストＯＳＡ」に関する仮想ネットワークインタフェース名のリスト「ｖｉｆ１．０」を取得する。これが、ゲストＯＳＡで認識される仮想ネットワークインタフェース名（論理リソース）である。【００９３】
リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＯＳのネットワーク管理ツール（ｂｒｃｔｌコマンドなど）（仮想計算機のＯＳに含まれたツール又はエージェントプログラムに含まれたコマンドの一例）を用いて、Ｓ４０５で取得した仮想ネットワークインタフェース名が接続されているブリッジインタフェースを取得する（Ｓ４０６）。例えば、リソースマッピング情報生成部１２１１は、ＯＳのネットワーク管理ツール（ｂｒｃｔｌコマンドなど）を用いて、仮想ネットワークインタフェース名「ｖｉｆ１．０」が接続されているブリッジインタフェースを取得する。【００９４】
リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＯＳのネットワーク管理ツールを用いて、Ｓ４０６で取得したブリッジインタフェースに接続されている物理ネットワークインタフェース名を取得する（Ｓ４０７）。例えば、リソースマッピング情報生成部１２１１は、Ｓ４０６で取得した「ｖｉｆ１．０」が接続されているブリッジインタフェースに接続されている物理ネットワークインタフェース名「ｐｅｔｈ０」を取得することができる。【００９５】
Ｓ４０８において、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ４０４で取得した管理ＩＤ２１１を設定し、リソースＩＤ１３２に対象のゲスト仮想マシン１４０のリソースに対して例えばシーケンシャルに付与するＩＤを取得して設定し、リソース種別１３３にネットワークインタフェース情報のリソース種別を表す「Ｎ／Ｗ．Ｉ／Ｆ」を設定し、ホストＯＳ上の識別名１３５にはＳ４０５で取得した対象のゲストＯＳが使用している仮想ネットワークインタフェース名（論理リソース）を設定し、対応物理リソース名１３４にＳ４０７で取得した物理ネットワークインタフェース名を設定する。リソースＩＤ１３２は、同一管理ＩＤで管理されるリソ
ースを一意に識別できる任意に付加されるＩＤであるものとする。このように、リソースマッピング情報生成部１２１１は、Ｓ４０４で取得した仮想マシン管理テーブル２１の管理ＩＤ２１１と関連付けて、リソースマッピングテーブル１３を登録する（Ｓ４０８）。例えば、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ４０４で取得した管理ＩＤ２１１「００００２」を設定し、リソースＩＤ１３２にゲストＯＳＡのリソースに対して付与するＩＤ「２」（「１」はディスク情報のリソース）を設定し、リソース種別１３３にネットワークインタフェース情報のリソース種別を表す「Ｎ／Ｗ．Ｉ／Ｆ」を設定し、ホストＯＳ上の識別名１３５にはＳ４０５で取得した対象のゲストＯＳが使用している仮想ネットワークインタフェース名「ｖｉｆ１．０」を設定し、対応物理リソース名１３４にＳ４０７で取得した物理ネットワークインタフェース名「ｐｅｔｈ０」を設定する。【００９６】
Ｓ４０９にて、リソースマッピング情報生成部１２１１は、自己の動作するサーバ装置１００上のすべてのゲスト仮想マシン１４０についてネットワークインタフェース情報のリソースマッピング情報生成処理が完了するまで、上記処理（Ｓ４０５〜４０８）を繰り返す。【００９７】
図１３は、実施の形態１に係るホスト仮想マシン１２０のホストＯＳのネットワークインタフェース情報（論理ネットワークインタフェース情報）とホストＯＳが利用している物理的なネットワークインタフェース情報（物理ネットワークインタフェース情報）とのリソースマッピング情報生成処理を示すフロー図である。図１３を用いて、ホスト仮想マシン１２０のホストＯＳとホストＯＳが利用している物理的なネットワークインタフェース情報（物理ネットワークインタフェース情報）をマッピングする方法について説明する。【００９８】
＜ホストＯＳのネットワークインタフェース情報と物理ネットワークインタフェース情報とのリソースマッピング情報生成処理＞
前提処理として、リソースマッピング情報生成部１２１１が、仮想マシン管理テーブル２１に、管理ＩＤ２１１、ハードウェア識別ＩＤ２１２、ドメインＩＤ２１３、ドメイン名称２１４とを関連付けて登録する処理（Ｓ５０１〜Ｓ５０２）は、図１１のＳ３０１〜Ｓ３０２の処理と同様であるので説明を省略する。【００９９】
リソースマッピング情報生成部１２１１は、Ｓ５０２で登録した仮想マシン管理テーブル２１からホストＯＳの管理ＩＤ２１１を取得する。【０１００】
リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＣＰＵによりＯＳのネットワーク管理ツール（ｉｆｃｏｎｆｉｇコマンドなど）（仮想計算機のＯＳに含まれたツール又はエージェントプログラムに含まれたコマンドの一例）を用いて、取得した管理ＩＤにより示されるホスト仮想マシン（ホストドメイン）を識別するドメインＩＤに関する仮想ネットワークインタフェース名のリストを取得する（Ｓ５０３）。ｉｆｃｏｎｆｉｇコマンドなどにより管理されるファイルは、リソース種別毎管理情報を有するリソース種別毎管理ファイルの一例である。例えば、リソースマッピング情報生成部１２１１は、Ｓ５０２で取得した管理ＩＤ２１１「００００１」から、ドメインＩＤ「０」の「ホストＯＳ」に関する仮想ネットワークインタフェース名のリスト「ｖｉｆ０．０」を取得する。これが、ホストＯＳで認識される仮想ネットワークインタフェース名（論理リソース）である。【０１０１】
リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＯＳのネットワーク管理ツール（ｂｒｃｔｌコマンドなど）（仮想計算機のＯＳに含まれたツール又はエージェントプログラムに含まれたコマンドの一例）を用いて、Ｓ５０３で取得した仮想ネットワークインタフェース名が接続されているブリッジインタフェースを取得する（Ｓ５０４）。例えば、リソースマッピング情報生成部１２１１は、ＯＳのネットワーク管理ツール（ｂｒｃｔｌコマンドなど）を用いて、仮想ネットワークインタフェース名「ｖｉｆ０．０」が接続されているブリッジインタフェースを取得する。【０１０２】
リソースマッピング情報生成部１２１１は、ホスト仮想マシン１２０のホストＯＳ上で、ＯＳのネットワーク管理ツールを用いて、Ｓ５０４で取得したブリッジインタフェースに接続されている物理ネットワークインタフェース名を取得する（Ｓ５０５）。例えば、リソースマッピング情報生成部１２１１は、Ｓ５０４で取得した「ｖｉｆ０．０」が接続されているブリッジインタフェースに接続されている物理ネットワークインタフェース名「ｐｅｔｈ０」を取得することができる。【０１０３】
Ｓ５０６において、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ５０２で取得した管理ＩＤ２１１を設定し、リソースＩＤ１３２にホスト仮想マシン１２０のリソースに対して例えばシーケンシャルに付与するＩＤを取得して設定し、リソース種別１３３にネットワークインタフェース情報のリソース種別を表す「Ｎ／Ｗ．Ｉ／Ｆ」を設定し、ホストＯＳ上の識別名１３５にはＳ５０３で取得したホストＯＳが使用している仮想ネットワークインタフェース名（論理リソース）を設定し、対応物理リソース名１３４にＳ５０５で取得した物理ネットワークインタフェース名を設定する。このように、リソースマッピング情報生成部１２１１は、Ｓ５０２で取得した仮想マシン管理テーブル２１の管理ＩＤ２１１と関連付けて、リソースマッピングテーブル１３を登録する（Ｓ５０６）。例えば、リソースマッピング情報生成部１２１１は、リソースマッピングテーブル１３の管理ＩＤ１３１にＳ５０２で取得した管理ＩＤ２１１「００００１」を設定し、リソースＩＤ１３２にホストＯＳのリソースに対して付与するＩＤ「４」（図１０において「１」〜「３」はディスク情報のリソース）を設定し、リソース種別１３３にネットワークインタフェース情報のリソース種別を表す「Ｎ／Ｗ．Ｉ／Ｆ」を設定し、ホストＯＳ上の識別名１３５にはＳ５０３で取得した対象のゲストＯＳが使用している仮想ネットワークインタフェース名「ｖｉｆ０．０」を設定し、対応物理リソース名１３４にＳ５０５で取得した物理ネットワークインタフェース名「ｐｅｔｈ０」を設定する。【０１０４】
図１４は、図１２及び図１３で説明したＶＭモニタ１１０上のそれぞれのホストＯＳ／ゲストＯＳで認識されるネットワークインタフェースと仮想ネットワークインタフェース、ブリッジインタフェース、物理ネットワークインタフェースの接続関係図である。【０１０５】
本実施の形態に係るサーバ装置１００において、上述したディスク情報及びネットワークインタフェース情報以外のリソース（例えば、ＣＰＵやメモリ、電源、ファン等）に関しては、すべてホストＯＳのリソース（論理リソース）としてリソースマッピングテーブル１３にマッピングされているものとする。【０１０６】
次に、上述したリソースマッピング情報生成処理により生成されたリソースマッピング情報１２２１を用いて、図５のＳ１０８の異常判定ステップ（障害発生仮想マシン特定ステップ）について具体例を用いて説明する。【０１０７】
例えば、サーバ装置１００のハードディスク「／ｄｅｖ／ｓｄａ」に異常（障害）がある場合について説明する。異常判定部１２１３が、異常物理リソース検知ステップ（図５のＳ１０６〜Ｓ１０７）において、異常判定閾値情報１２２２のＩＤ「Ｅ０００３」の異常状態に基づいてサーバ装置１００のハードディスク「／ｄｅｖ／ｓｄａ」に異常（障害）があると判定する。異常判定部１２１３は、ＣＰＵを用いて、記憶装置に記憶されたリソースマッピング情報１２２１のリソースマッピングテーブル１３の対応物理リソース名
１３４を参照して、対応物理リソース名１３４が「／ｄｅｖ／ｓｄａ」である管理ＩＤ１３１「００００１」を取得する。異常判定部１２１３は、ＣＰＵを用いて、取得した管理ＩＤ１３１「００００１」をもとに仮想マシン管理テーブル２１を参照し、「００００１」と等しい管理ＩＤ２１１「００００１」を抽出する。このとき、仮想マシン管理テーブル２１の管理ＩＤ２１１「００００１」の情報は、ハードウェア識別ＩＤ２１２「サーバ１（サーバ装置１００）」、ドメインＩＤ「０」、ドメイン名称「ホストＯＳ」である。したがって、異常判定部１２１３は、仮想マシン管理テーブル２１より、サーバ装置１００上の仮想マシン（ドメイン）（サーバ装置１００上で動作するホストＯＳ／ゲストＯＳ）として「ホストＯＳ」を抽出することができる。このように、異常判定部１２１３は、障害発生仮想マシンとしてホスト仮想マシン１２０を特定する。【０１０８】
本実施の形態によれば、リソースマッピング情報生成部１２１１が、サーバ装置１００条で稼働する各仮想マシン（各ドメイン）で使用する（認識される）リソースと物理リソースとを対応付けてリソースマッピング情報１２２１を生成することにより、エージェント実行部１２１がハードウェア障害を検知した場合において、検知した障害に関連するホスト仮想マシン１２０あるいはゲスト仮想マシン１４０（ホストＯＳまたはゲストＯＳ）に対して適切な通知や停止動作を実行することができる。また、エージェント実行部１２１が、適切に検知した障害に関連するホスト仮想マシン１２０あるいはゲスト仮想マシン１４０（ホストＯＳまたはゲストＯＳ）に対して適切な通知や停止動作を実行することにより、他系（待機系）側のサーバ２装置２００上のクラスタソフトウェアがハートビート停止を検知し、適切な系切り替えが可能となる。【０１０９】
実施の形態２．
実施の形態１では、エージェント実行部１２１の異常通知部１２１４は障害発生仮想マシンに対して「ＯＳの停止」を通知する場合について説明した。実施の形態２では、エージェント実行部１２１の異常通知部１２１４が、ホスト仮想マシン１２０のホストＯＳやゲスト仮想マシン１４０ａ，１４０ｂの各ゲストＯＳ上のクラスタソフトウェア１０７，１０９に、ＯＳを停止させるための通知ではなく、例えば、異常を報告するための通知のみを実施する形態について説明する。【０１１０】
仮想環境を有するサーバ装置等においては、処理負荷の集中によりハードディスクの読込／書込の応答時間が遅くなる等の、すぐにはシステム稼働上の障害は発生しないが警報として仮想マシンに通知したいという場合がある。すなわち、サーバ装置１００の物理リソースの稼働状態が、ＯＳを停止させるような「異常な物理リソース稼働状態」よりは「やや正常に近い物理リソース稼働状態」である場合である。このような場合には、エージェント実行部１２１は、直ちにＯＳを停止することはないが、「ＯＳに対する警報」を通知する。【０１１１】
本実施の形態における異常通知部１２１４の異常通知処理は、図６の異常判定閾値情報１２２２において、以下のように定義することで実施することができる。異常判定閾値情報１２２２の物理リソース稼働状態のＩＤ１１１１「Ｅ００００７」において、異常判定閾値１１１３は、ディスクの読み込み応答時間が「１０秒＞応答時間ＲＥＡＤ＞５秒」と設定されている。これは、物理リソース稼働状態のＩＤ１１１１「Ｅ００００３」における異常判定閾値１１１３よりは、やや正常に近い値ではある。したがって、ＯＳを停止させるほどではないが、ＯＳに対して警報を通知するレベルであると設定する。すなわち、この場合（物理リソース稼働状態のＩＤ１１１１「Ｅ００００７」）の、異常通知情報１１１４は、「ＯＳへｓｙｓｌｏｇの通知」と設定する。例えば、障害発生仮想マシンがゲストＯＳの場合は、障害発生ゲストＯＳに対するｓｙｓｌｏｇの通知とともに、ホストＯＳに対してもｓｙｓｌｏｇの通知を行いたい場合がある。このような場合には、「ホストＯＳへｓｙｓｌｏｇの通知、障害発生仮想マシンのＯＳへｓｙｓｌｏｇの通知」というよ
うに具体的な通知先を指定して通知を行うように異常通知情報１１１４に設定することができる。【０１１２】
これにより、物理リソース稼働状態がＩＤ１１１１「Ｅ００００７」の場合は、異常通知部１２１４は、障害発生仮想マシンのＯＳもしくはクラスタソフトウェアに直接、もしくは、ＯＳのログ管理システム（ｓｙｓｌｏｇやイベントログなど）の手段を用いて警報を通知することができる。警報の通知が行われた後のホストＯＳやゲストＯＳの動作に関しては、クラスタソフトウェアの定義された内容に基づいて行うことが可能となる。【０１１３】
本実施の形態によれば、障害の内容に応じてホストＯＳの停止や通知を実施するなどの処理を定義可能とすることで、既存のクラスタソフトウェアがエージェントから通知内容に基づき、クラスタソフトウェアの設定内容に基づいた系の制御動作を実施できる状況を作り出すことが可能となる。【０１１４】
実施の形態３．
実施の形態１では、リソースマッピング情報１２２１は、エージェント実行部１２１が自動で生成する手段について説明した。実施の形態３では、リソースマッピング情報を手動で定義する方法について説明する。【０１１５】
実施の形態１では、リソースマッピング情報生成部１２１１が自動的に、ホスト仮想マシン１２０及びゲスト仮想マシン１４０ａ，１４０ｂ（ホストＯＳ／ゲストＯＳ）が認識するディスク情報及びネットワークインタフェース情報と物理的なディスク情報及びネットワークインタフェース情報とのリソースマッピング情報生成方法について説明した。【０１１６】
しかし、サーバ装置１００のＶＭモニタ１１０（ＶＭ環境）では、ゲスト仮想マシン（ゲストＯＳ）に対して、メモリやＣＰＵの利用率でリソースを割り当てることもある。この場合は、ゲストＯＳの利用する論理リソースがサーバ筐体の中のどのスロット番号のメモリであるか、また、どのＣＰＵのコアを割り当てられているか等を自動で判定することはできない。このため、自動的には明確にマッピングすることができない場合もある。【０１１７】
上記のような事態に対処するため、ユーザ（管理者あるいは設計者等）が、手動でリソースマッピング情報を定義する方法を提供する。ユーザによる手動でのリソースマッピング情報生成方法は、例えば、以下に示す方法で実施する。ユーザは、図９に示す仮想マシン管理テーブル２１と図１０に示すリソースマッピングテーブル１３の内容を、予めＣＳＶ（Ｃｏｍｍａ・Ｓｅｐａｒａｔｅｄ・Ｖａｌｕｅｓ）ファイル等で作成し、記憶装置に保存する。エージェント実行部１２１は、エージェント実行部１２１の起動時に、ＣＰＵを用いて、記憶装置に保存された仮想マシン管理テーブル２１とリソースマッピングテーブル１３との内容を作成したＣＳＶファイル等を読込み、仮想マシン管理テーブル２１とリソースマッピングテーブル１３にインポートして、リソースマッピング情報１２２１として記憶装置に記憶する。以上により、手動でリソースマッピング情報１２２１が生成され記憶装置に記憶される。以降の処理は、実施の形態１と同様である。【０１１８】
実施の形態１〜３において、以下のような特徴を有するサーバ装置１００について説明した。【０１１９】
実施の形態１〜３に係る仮想環境における冗長化手法、及び、それを用いたシステムは、仮想環境においてハードウェアの障害を検知するエージェントを備えたシステムにおいて、
前記エージェントは、
定期的に各ドメイン（ホストＯＳやゲストＯＳ）の論理的なリソースと物理リソースをマッピングするリソースマッピング手段を備え、
ホストＯＳ上でハードウェア稼働状態を監視し、筐体情報やＣＰＵ、メモリ、ハードディスク、ネットワークインタフェースカードのハードウェア情報を収集する異常監視手段を備え、
異常監視手段が収集したハードウェア稼働情報を、予め定義した異常判定閾値情報と前記リソースマッピング手段でマッピングしたリソースマッピング情報を基に、どのドメインに関連するハードウェア障害であるかを判定する異常判定手段を備え、
異常判定手段によって判定されたハードウェア障害情報に応じて、ホストＯＳやゲストＯＳへログ通知、もしくは、ホストＯＳの停止、または、ゲストＯＳの停止を行う異常通知手段を備えることにより、
検出したハードウェア障害に関連する該当ドメインへの障害通知、または、ドメインの停止を行うことを特徴とする。【０１２０】
前記エージェントが検出した障害内容に応じて、ホストＯＳやゲストＯＳ停止させることで、他系の各ゲストＯＳに配置された既製クラスタソフトウェアが系切替を実施できる状況を作り出すことが可能であることを特徴とする。【０１２１】
前記エージェントにおける異常判定手段において、異常判定閾値情報に収集したハードウェア情報が障害であるか否かを識別するための閾値情報と、障害として判定された場合の通知内容やドメイン停止動作を定義可能であることを特徴とする。【０１２２】
前記エージェントのリソースマッピング手段において、定期的なリソースの自動マッピングだけでなく、手動でリソースマッピング情報を定義可能であることを特徴とする。【０１２３】
以上、実施の形態１〜３について説明したが、これらのうち、２つ以上の実施の形態を組み合わせて実施しても構わない。あるいは、これらのうち、１つの実施の形態を部分的に実施しても構わない。あるいは、これらのうち、２つ以上の実施の形態を部分的に組み合わせて実施しても構わない。【０１２４】
また、実施の形態１〜３の説明において、エージェント実行部１２１におけるリソースマッピング情報生成部１２１１と、リソースマッピング情報記憶部と、異常監視部１２１２と、異常判定部１２１３と、異常通知部１２１４とはそれぞれ独立した機能ブロックとして構成されているが、ひとつの機能ブロックとしてもよい。また、リソースマッピング情報生成部１２１１とリソースマッピング情報記憶部とはひとつの機能ブロックとしても構わない。あるいは、全ての機能ブロックを独立した機能ブロックとしても良い。あるいは、これらの機能ブロックを、他のどのような組み合わせで構成しても構わない。【０１２５】
実施の形態１に係るサーバ装置及びサーバ装置の異常検知方法は、ＣＰＵ（処理装置）、記憶装置等のハードウェアが用いられており、ソフトウェアによる情報処理がハードウェアを用いて具体的に実現されたものである。すなわち、上述した実施の形態１〜３のサーバ装置及びサーバ装置の異常検知方法は、自然法則を利用したハードウェアの動作によりサーバ装置及びサーバ装置の異常検知方法の実現を図っているものであり、自然法則を利用した技術的創作に該当するものである。
【図面の簡単な説明】
【０１２６】
【図１】実施の形態１に係るサーバ装置１００及びサーバ２装置の外観の一例を示す図である。
【図２】サーバ装置１００及びサーバ２装置のハードウェア資源の一例を示す図である。
【図３】実施の形態１に係る冗長化システム８００のシステム構成図である。
【図４】実施の形態１に係るサーバ装置１００の備えるエージェント実行部１２１の機能ブロックの構成を示すブロック構成図である。
【図５】実施の形態１におけるサーバ装置１００の異常検知方法の処理動作を示すフロー図である。
【図６】異常判定閾値情報１２２２のテーブル構成を示す図である。
【図７】実施の形態１に係る冗長化システム８００の系切替時の動作を示す図である。
【図８】エージェント実行部１２１が動作するホスト仮想マシンのホストＯＳにより認識できるディスク情報（ここでは、ゲスト仮想マシンのディスク情報）とゲスト仮想マシンが実際に利用する物理的なディスク情報とのリソースマッピング情報生成処理を示すフロー図である。
【図９】リソースマッピング情報の仮想マシン管理テーブルのテーブル構成を示す図である。
【図１０】リソースマッピング情報のリソースマッピングテーブルの構成を示す図である。
【図１１】実施の形態１に係るホスト仮想マシン１２０のホストＯＳのディスク情報（論理ディスク情報）とホストＯＳが利用している物理的なディスク情報（物理ディスク情報）とのリソースマッピング情報生成処理を示すフロー図である。
【図１２】実施の形態１に係るゲスト仮想マシンのネットワークインタフェース情報に関するリソースマッピング情報生成処理を示すフロー図である。
【図１３】実施の形態１に係るホスト仮想マシン１２０のホストＯＳのネットワークインタフェース情報（論理ネットワークインタフェース情報）とホストＯＳが利用している物理的なネットワークインタフェース情報（物理ネットワークインタフェース情報）とのリソースマッピング情報生成処理を示すフロー図である。
【図１４】図１２及び図１３で説明したＶＭモニタ１１０上のそれぞれのホストＯＳ／ゲストＯＳで認識されるネットワークインタフェースと仮想ネットワークインタフェース、ブリッジインタフェース、物理ネットワークインタフェースの接続関係図である。
【符号の説明】
【０１２７】
１３  リソースマッピングテーブル、２１  仮想マシン管理テーブル、１００  サーバ装置、１０１  ＬＡＮ、１０７，１０９  クラスタソフトウェア、１１０  ＶＭモニタ、１１５，１１７  クラスタソフトウェア、１２０  ホスト仮想マシン、１２１  エージェント実行部、１３１  管理ＩＤ、１３２  リソースＩＤ、１３３  リソース種別、１３４  対応物理リソース名、１３５  ホストＯＳ上の識別名、１４０  ゲスト仮想マシン、１４０ａ  ゲスト仮想マシンＡ、１４０ｂ  ゲスト仮想マシンＢ、２００  サーバ２装置、２１０  ＶＭモニタ、２１１  管理ＩＤ、２１２  ハードウェア識別ＩＤ、２１３  ドメインＩＤ、２１４  ドメイン名称、２２０  ホスト仮想マシン’、２４０ａ  ゲスト仮想マシンＡ’、２４０ｂ  ゲスト仮想マシンＢ’、２２１  エージェント実行部、８００  冗長化システム、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信ボード、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４２  ＬＡＮ、９４０  インターネット、９４１  ゲートウェイ、１１１１  ＩＤ、１１１２  対象ハードウェア、１１１３  異常判定閾値、１１１４  異常通知情報、１２１１  リソースマッピング情報生成部、１２１２  異常監視部、１２１３  異常判定部、１２１４  異常通知部、１２２１  リソースマッピング情報、１２２２  異常判定閾値情報、１２２３  障害情報データベース、１２２４  物理リソース稼働情報、９２００  ＶＭモニタ。
【図１】
2009110111.tif 000003
【図２】
2009110111.tif 000004
【図３】
2009110111.tif 000005
【図４】
2009110111.tif 000006
【図５】
2009110111.tif 000007
【図６】
2009110111.tif 000008
【図７】
2009110111.tif 000009
【図８】
2009110111.tif 000010
【図９】
2009110111.tif 000011
【図１０】
2009110111.tif 000012
【図１１】
2009110111.tif 000013
【図１２】
2009110111.tif 000014
【図１３】
2009110111.tif 000015
【図１４】
2009110111.tif 000016
【国際調査報告】
2009110111.tif 000017
2009110111.tif 000018
2009110111.tif 000019
2009110111.tif 000020