(57)【要約】【課題】  仮想計算機システムのトレースポイントのＯＮ／ＯＦＦ状態を、異常予兆の有無に応じて変更する。【解決手段】  仮想計算機に設けられた仮想通信パス、ホストＯＳ上で動作し、仮想通信パスから読み込んだゲストＯＳの状態情報、ホストＯＳの状態情報、並びにホストＯＳ及びゲストＯＳの構成情報に基づいた、ホストＯＳ及び/又はゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録したトレースポイント状態変更テーブルを仮想通信パスに格納し、ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知判断機構、および、ゲストＯＳ上で動作し、ゲストＯＳの状態情報を仮想通信パスに格納し、仮想通信パスに格納されたトレースポイント状態変更テーブルのゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知エージェントを有する。【選択図】図３
2014078099.tif 000002
【特許請求の範囲】
【請求項１】
実計算機のホストＯＳと、前記実計算機で前記ホストＯＳに制御されたゲストＯＳが動作する仮想計算機による仮想計算機システムであって、
前記仮想計算機に設けられた仮想通信パス、
前記ホストＯＳ上で動作し、前記仮想通信パスから前記ゲストＯＳの第１の状態情報を読み込み、読み込んだ前記第１の状態情報、前記ホストＯＳの第２の状態情報、前記ホストＯＳの第１の構成情報、および前記ゲストＯＳの第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録した第１のトレースポイント状態変更テーブルを前記仮想通信パスに格納し、前記第１のトレースポイント状態変更テーブルの前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する第１の異常予兆検知判断機構、および
前記ゲストＯＳ上で動作し、前記ゲストＯＳの前記第１の状態情報を前記仮想通信パスに格納し、前記第１の異常予兆検知判断機構によって前記仮想通信パスに格納された前記第１のトレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する第１の異常予兆検知エージェントを有することを特徴とする仮想計算機システム。
【請求項２】
請求項１に記載の仮想計算機システムにおいて、
前記ゲストＯＳ上で動作し、前記ゲストＯＳの前記第１の状態情報および前記ゲストＯＳの前記第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録した第２のトレースポイント状態変更テーブルを前記仮想通信パスに格納し、前記トレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する第２の異常予兆検知判断機構をさらに有することを特徴とする仮想計算機システム。
【請求項３】
請求項１に記載の仮想計算機システムにおいて、前記仮想通信パスは、前記実計算機のメモリ上の所定領域であって、前記所定領域のアドレスが、前記ホストＯＳの前記第１の構成情報に含まれることを特徴とする仮想計算機システム。
【請求項４】
実計算機のホストＯＳと、前記実計算機で前記ホストＯＳに制御されたゲストＯＳが動作する仮想計算機による仮想計算機システムであって、
前記仮想計算機に設けられた仮想通信パス、
前記ゲストＯＳ上で動作し、前記仮想通信パスから前記ホストＯＳの第１の状態情報を読み込み、読み込んだ前記第１の状態情報、前記ゲストＯＳの第２の状態情報、前記ゲストＯＳの第１の構成情報、および前記ホストＯＳの第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録したトレースポイント状態変更テーブルを前記仮想通信パスに格納し、前記トレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知判断機構、および
前記ホストＯＳ上で動作し、前記ホストＯＳの前記第１の状態情報を前記仮想通信パスに格納し、前記異常予兆検知判断機構によって前記仮想通信パスに格納された前記トレースポイント状態変更テーブルの前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知エージェントを有することを特徴とする仮想計算機システム。
【請求項５】
実計算機のホストＯＳと、前記実計算機で前記ホストＯＳに制御されたゲストＯＳが動作し、仮想通信パスを設けた仮想計算機による仮想計算機システムの制御方法であって、
前記ホストＯＳ上で動作する第１の異常予兆検知判断機構は、
前記仮想通信パスから前記ゲストＯＳの第１の状態情報を読み込み、
読み込んだ前記第１の状態情報、前記ホストＯＳの第２の状態情報、前記ホストＯＳの第１の構成情報、および前記ゲストＯＳの第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録した第１のトレースポイント状態変更テーブルを前記仮想通信パスに格納し、
前記第１のトレースポイント状態変更テーブルの前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更し、
前記ゲストＯＳ上で動作する第１の異常予兆検知エージェントは、
前記ゲストＯＳの前記第１の状態情報を前記仮想通信パスに格納し、前記第１の異常予兆検知判断機構によって前記仮想通信パスに格納された前記第１のトレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する
ことを特徴とする仮想計算機システムの制御方法。
【請求項６】
請求項５に記載の仮想計算機システムの制御方法において、
前記ゲストＯＳ上で動作する第２の異常予兆検知判断機構は、
前記ゲストＯＳの前記第１の状態情報および前記ゲストＯＳの前記第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録した第２のトレースポイント状態変更テーブルを前記仮想通信パスに格納し、
前記トレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する
ことを特徴とする仮想計算機システムの制御方法。
【請求項７】
請求項５に記載の仮想計算機システムの制御方法において、前記仮想通信パスは、前記実計算機のメモリ上の所定領域であって、前記所定領域のアドレスが、前記ホストＯＳの前記第１の構成情報に含まれることを特徴とする仮想計算機システムの制御方法。
【請求項８】
実計算機のホストＯＳと、前記実計算機で前記ホストＯＳに制御されたゲストＯＳが動作し、仮想通信パスを設けた仮想計算機による仮想計算機システムの制御方法であって、
前記ゲストＯＳ上で動作する異常予兆検知判断機構は、
前記仮想通信パスから前記ホストＯＳの第１の状態情報を読み込み、
読み込んだ前記第１の状態情報、前記ゲストＯＳの第２の状態情報、前記ゲストＯＳの第１の構成情報、並びに前記ホストＯＳの第２の構成情報に基づいた、前記ホストＯＳ及び/又は前記ゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録したトレースポイント状態変更テーブルを前記仮想通信パスに格納し、
前記トレースポイント状態変更テーブルの前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更し、
前記ホストＯＳ上で動作する異常予兆検知エージェントは、
前記ホストＯＳの前記第１の状態情報を前記仮想通信パスに格納し、
前記異常予兆検知判断機構によって前記仮想通信パスに格納された前記トレースポイント状態変更テーブルの前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、前記ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する
ことを特徴とする仮想計算機システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想計算機システムの異常予兆検知及びそれに伴う制御に関する。
【背景技術】
【０００２】
１台の計算機に複数のオペレーティングシステム（ＯＳ）を動作可能とさせる仮想化技術が普及している。仮想化技術が適用された計算機内のサーバシステムは、仮想化システムと呼ばれる。
【０００３】
仮想化システムにおいて、ホストＯＳとゲストＯＳと呼ばれる二種類のＯＳが動作する。ホストＯＳとは実際の計算機（実計算機）上で動作するＯＳのことで、仮想化機構とも呼ばれることがある。一方、ゲストＯＳはホストＯＳ上に仮想的に構築された計算機（仮想計算機）上で動作するＯＳのことである。一般に複数のゲストＯＳが実行されるため、実計算機の台数を削減可能となる。
【０００４】
一般に、ゲストＯＳとホストＯＳ同士、あるいは、複数のゲストＯＳ同士は、ＣＰＵ、ネットワークインターフェースカード（ＮＩＣ）、ディスク等の実デバイスを共有して動作する。このため、実デバイス資源の有効活用が可能となる。
【０００５】
さらに、ＯＳ上の異常予兆検知判断機構がトレースポイントのＯＮ状態あるいはＯＦＦ状態を変更可能とするシステムが存在する。トレースポイントは、エラー・ログ情報をメモリ上に記録するためのプログラムであり、状況に応じてＯＮ/ＯＦＦ状態を変更可能である。ＯＦＦ状態をＯＮ状態に変更すれば、異常発生時に、より詳細な障害解析が可能になり、ＯＮ状態をＯＦＦ状態に変更すれば、エラー・ログ情報を記録するためのシステム負荷を下げることが可能になる。異常予兆検知判断機構は、ＯＳの状態情報（例えば、プロセスの状態や、ＯＳ内部の状態等）を監視しており、異常があると判断した場合にトレースポイントのＯＮ/ＯＦＦ状態の変更を行う。異常予兆判断機構の動作の一例として、ディスクＩ／Ｏの処理遅延が想定値を超えていないが連続で数回発生したため、ディスクの障害が発生する可能性があると判断し、ディスクＩ／Ｏに関するトレースポイントをＯＮ状態にする、といった動作があげられる。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−１５１５０９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
仮想化システムにおいて、ホストＯＳは、ゲストＯＳ上でどのような動作処理を実行しているかを判断するのは困難である。一方で、ゲストＯＳは仮想計算機上で動作しているにも関わらずあたかも実計算機上のように動作するため、ゲストＯＳから実計算機がどのような処理を実行しているか判断するのは困難である。したがって、異常予兆検知判断機構をゲストＯＳとホストＯＳに個々に導入した際に、ゲストＯＳで異常予兆を検知した場合であっても、実計算機上で動作しているホストＯＳのトレースポイントをＯＮしなければ、異常時の根本原因が、ゲストＯＳにあるかホストＯＳにあるかを判定することは困難となる。例えば、ゲストＯＳで異常予兆判断機構がディスクＩ／ＯのトレースポイントをＯＮ状態にしても、ホストＯＳで異常予兆判断機構がディスクＩ／ＯのトレースポイントをＯＦＦ状態にしているならば、実計算機のディスクの動作を把握するのは困難である。
【０００８】
特許文献１によると、「第一の障害監視制御部がホストＯＳの通信アドレスの情報を各ゲストＯＳに対応する第二の障害監視制御部に送信し、各ゲストＯＳに対応する第二の障害監視制御部が、障害を通知する障害情報を生成し、ホストＯＳの通信アドレスに基づき、生成した障害情報を第一の障害監視制御部に対して送信するため、障害情報の送信先を第一の障害監視制御部に集約することができる。」と記載されている。
【０００９】
特許文献１ではホストＯＳにゲストＯＳの異常情報を集約して解析するために、詳細な異常情報となるように多くのトレースポイントを常にＯＮしていなければならず、システム負荷が大きくなる。
【課題を解決するための手段】
【００１０】
開示する仮想計算機システムは、実計算機のホストＯＳと、実計算機でホストＯＳに制御されたゲストＯＳが動作する仮想計算機による仮想計算機システムであって、仮想計算機に設けられた仮想通信パス、ホストＯＳ上で動作し、仮想通信パスからゲストＯＳの状態情報を読み込み、読み込んだ状態情報、ホストＯＳの状態情報、ホストＯＳの構成情報、およびゲストＯＳの構成情報に基づいた、ホストＯＳ及び/又はゲストＯＳの異常予兆の有無に応じて決定したトレースポイントのＯＮ／ＯＦＦ状態を記録したトレースポイント状態変更テーブルを仮想通信パスに格納し、トレースポイント状態変更テーブルのホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、ホストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知判断機構、および、ゲストＯＳ上で動作し、ゲストＯＳの状態情報を仮想通信パスに格納し、異常予兆検知判断機構によって仮想通信パスに格納されたトレースポイント状態変更テーブルのゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態に基づいて、ゲストＯＳのトレースポイントのＯＮ／ＯＦＦ状態を変更する異常予兆検知エージェントを有する。
【発明の効果】
【００１１】
本発明によれば、仮想計算機システムにおいて、トレースポイントのＯＮ／ＯＦＦ状態を、異常予兆の有無に応じて変更できる。
【図面の簡単な説明】
【００１２】
【図１】実計算機の構成図である。
【図２】仮想計算機の構成図である。
【図３】仮想計算機システムの構成図である。
【図４】異常予兆検知判断機構の処理のフローチャートである。
【図５】トレースポイント状態変更テーブルを示す図である。
【図６】異常予兆検知エージェントの処理のフローチャートである。
【図７】仮想計算機システム構成図である。
【図８】異常予兆検知判断機構の処理のフローチャートである。
【図９】トレースポイント状態変更テーブルを示す図である。
【図１０】異常予兆検知エージェントの処理のフローチャートである。
【図１１】仮想計算機システム構成図である。
【図１２】異常予兆検知判断機構の処理のフローチャートである。
【図１３】異常予兆検知エージェントの処理のフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図を用いて実施例を説明する。
【実施例１】
【００１４】
実施例１では、ゲストＯＳとホストＯＳの間でメッセージやデータのやり取りを行うための通信パスと、ゲストＯＳ内の状態を通信パスに保存したり、ゲストＯＳ内のトレースポイントのＯＮ状態及びＯＦＦ状態の変更を実施したりするエージェントをゲストＯＳ上に設け、ホストＯＳ上に存在する異常予兆検知判断機構がゲストＯＳの異常予兆を判断したり、異常予兆検知判断機構で検知したホストＯＳの異常予兆をゲストＯＳのエージェントに通知したりすることによって、ゲストＯＳとホストＯＳの個々の異常予兆に対する動作を連携可能とする効果をもった装置の構成、および方法を示す。
【００１５】
図１は、実計算機１００の構成図である。ＣＰＵ１０１、物理メモリ１０２、ディスク１０３が、バス１１０を介して接続している。実計算機の電源を投入した後、ＣＰＵ１０１は、ディスク１０３の特定領域の内容を物理メモリ１０２に読み込み、ディスク１０３に格納されているＯＳの起動を実施する。以下の説明では、実計算機１００の電源投入後にディスク１０３から起動するＯＳをホストＯＳとする。また、ＣＰＵ１０１が物理メモリ１０２に格納されているプログラムを実行することを、ホストＯＳがホストＯＳ上に存在するプログラムを実行するとして説明する。
【００１６】
図２は、仮想計算機２００の構成図である。仮想ＣＰＵ２０１、仮想物理メモリ２０２、仮想ディスク２０３、仮想通信パス２０４が、仮想バス２１０を介して接続している。ホストＯＳ上の仮想計算機の起動プログラムを実行すると、仮想ＣＰＵ２０１は、仮想ディスク２０３の特定領域の内容を仮想物理メモリ２０２に読み込み、仮想ディスク２０３に格納されているＯＳを起動する。以下の説明では、仮想計算機の起動プログラム実行後に仮想ディスク２０３から起動するＯＳをゲストＯＳとする。仮想通信パス２０４は、ゲストＯＳとホストＯＳの間でメッセージやデータのやり取りを行うための通信パスである。仮想通信パス２０４は、やり取りするメッセージやデータを、ゲストＯＳおよびホストＯＳが書き込み、読み出しすることにより通信する、仮想計算機に割り当てられたメモリ上の領域である。この仮想通信パス２０４は、同一実計算機内のゲストＯＳ間のやり取りを行う通信パスとして使用されても良い。
【００１７】
次に、ゲストＯＳとホストＯＳの個々の異常予兆に対する連携処理について説明する。図３は、仮想計算機システムの構成図である。本仮想計算機システムは、実計算機１００、ホストＯＳ３００、仮想計算機２００、ゲストＯＳ３５０から構成される。図では示していないが、仮想計算機２００及びゲストＯＳ３５０は複数存在しても良い。
【００１８】
ホストＯＳ３００上に、ホストトレースバッファ３１０、ホストトレースポイント３１１、異常予兆検知判断機構３２０、ホストＯＳ構成情報３３０、ゲストＯＳ構成情報３３５が存在する。ゲストＯＳ３５０上には、ゲストトレースバッファ３６０、ゲストトレースポイント３６１、異常予兆検知エージェント３７０が存在する。ホストトレースポイント３１１及びゲストトレースポイント３６１は、図３に１つずつ示されているが、複数存在しても良い。仮想計算機２００には、仮想通信パス３９０が存在する。
【００１９】
ホストトレースポイント３１１及びゲストトレースポイント３６１は、ホストＯＳ上及びゲストＯＳ上で各々実行される各種プログラムに埋め込まれたプログラムであり、ＯＮ状態とＯＦＦ状態の２つの状態が存在する。ホストトレースポイント３１１（ゲストトレースポイント３６１）がＯＮ状態の場合、トレースポイント３１１（３６１）を実行すると、トレースデータがホストトレースバッファ３１０（ゲストトレースバッファ３６０）に格納される。一方、各トレースポイント３１１（３６１）がＯＦＦ状態の場合、トレースデータは各トレースバッファ３１０（３６０）に格納されない。ホストトレースバッファ３１０（ゲストトレースバッファ３６０）は、実際に障害が発生した際に、ホストＯＳ３００（ゲストＯＳ３５０）がどのように動作したかを解析するために利用される。
【００２０】
ホストＯＳ構成情報３３０には、実計算機１００のハードウェア構成及びホストＯＳ３００の内部構成、ホストＯＳ３００のバージョン、実計算機１００と仮想計算機２００のハードウェア対応情報等、ホストＯＳ３００が動作するために必要な情報が格納されている。ゲストＯＳ構成情報３３５には、仮想計算機２００の仮想ハードウェア構成及びゲストＯＳ３５０の内部構成、ゲストＯＳ３５０のバージョン等、ゲストＯＳ３５０を動作させるために必要な情報、および仮想通信パス２０４のホストＯＳ３００から見たアドレスなどホストＯＳ３００がゲストＯＳ３５０を制御するために必要な情報が格納されている。複数の仮想計算機２００及びゲストＯＳ３５０が存在する場合、それらの数に応じたゲストＯＳ構成情報３３５が存在する。
【００２１】
異常予兆検知エージェント３７０は、ゲストＯＳ３５０の状態情報（例えば、プロセス群３７１の状態、ゲストＯＳ３５０内部の状態、仮想計算機２００に接続されている各仮想装置の状態等）を仮想通信パス２０４に定期的に格納する。ゲストＯＳ３５０の状態情報の格納した際、仮想通信パス２０４に状態情報を格納したことをホストＯＳ３００の異常予兆検知判断機構３２０に通知しても良い。
【００２２】
異常予兆検知判断機構３２０は、ホストＯＳ３００の状態情報（例えば、プロセス群３２１の状態や、ホストＯＳ３００内部の状態や、実計算機に接続されている各装置の状態等）を監視し、異常の予兆が無いかを判断する。さらに、異常予兆検知判断機構３２０は、ゲストＯＳ構成情報３３５に含まれる仮想通信パス２０４のアドレスを参照して、異常予兆検知エージェント３７０によって仮想通信パス２０４に保存されたゲストＯＳ３５０の状態情報を定期的に読み出し、ゲストＯＳ３５０の状態情報、ホストＯＳ構成情報３３０、およびゲストＯＳ構成情報３３５から、ゲストＯＳ３５０の異常の有無を判断する。仮想通信パス２０４よりゲストＯＳ３５０の状態情報を読み出す際は、ゲストＯＳ３５０の異常予兆検知エージェント３７０からの通知に応答して読み込んでも良い。
【００２３】
次に、異常予兆検知判断機構３２０が、ホストＯＳ３００の状態情報あるいはゲストＯＳ３５０の状態情報から、ホストＯＳあるいはゲストＯＳに異常の予兆があると判断し、ホストＯＳ及びゲストＯＳの各トレースポイントをＯＮ状態あるいはＯＦＦ状態に変更するまでの動作を説明する。
【００２４】
図４に、異常予兆検知判断機構３２０の処理のフローチャートを示す。異常予兆検知判断機構３２０は、まずホストＯＳ３００、及び仮想通信パス２０４からゲストＯＳ３５０の状態情報を読み込む（ステップ４０１）。図示を省略するが、ホストＯＳ３００の状態情報は、ホストＯＳ３００内にホストＯＳ構成情報３３０などと同様に格納されている。またゲストＯＳ３５０の状態情報は、ゲストＯＳ３５０内に格納されていて、その状態情報をゲストＯＳ３５０が定期的に仮想通信パス２０４書き込む。次に、読み込んだ状態情報から異常予兆の有無を判断する（ステップ４０２）。異常予兆が無い場合はステップ４０１に戻り、異常予兆が有る場合は、ステップ４０３に進む。尚、ゲストＯＳ３５０の異常予兆の有無を判断する場合、ホストＯＳ構成情報３３０とゲストＯＳ構成情報３３５も利用する。
【００２５】
ホストＯＳ３００及びゲストＯＳ３５０のどのトレースポイントをＯＮ状態あるいはＯＦＦ状態にするか決定し、図５に示すようなトレースポイント状態変更テーブル５０１を作成する（ステップ４０３）。トレースポイント状態変更テーブル５０１は、ホストＯＳ３００及び／又はゲストＯＳ３５０の異常予兆の有無に応じて決定した、各々のトレースポイントのＯＮ／ＯＦＦ状態が記録されている。
【００２６】
仮想通信パス２０４を介して、異常予兆検知エージェント３７０にトレースポイント状態変更テーブル５０１を送信する（ステップ４０４）。ゲストＯＳ３５０が複数存在する場合は、各ゲストＯＳ３５０にトレースポイント状態変更テーブル５０１を送信する。尚、送信するデータはステップ４０３で作成したトレースポイント状態変更テーブル５０１でも良いし、トレースポイント状態変更テーブル５０１から送信対象のゲストＯＳ３５０に関連するエントリ（状態変更テーブル５０１の行）を抽出したテーブルでも良い。また、トレースポイント状態変更テーブル５０１を送受信するための仮想通信パス２０４は、状態情報を格納する仮想通信パスと異なって存在しても良い。
【００２７】
次に、トレースポイント状態変更テーブル５０１のホストＯＳの行のＯＮ／ＯＦＦ状態と現状のホストトレースポイント３１１のＯＮ／ＯＦＦ状態を比較する（ステップ４０５）。比較の結果、ＯＮ状態からＯＦＦ状態への変更あるいはＯＦＦ状態からＯＮ状態への変更が必要な場合、トレースポイントのＯＮ／ＯＦＦ状態を変更し（ステップ４０６）、動作を終了する。一方、変更が必要でない場合、ＯＮ／ＯＦＦ状態を変更せずに動作を終了する。異常予兆判断機構３２０は以上のように動作する。
【００２８】
次に、図６を用いて、ステップ４０４で異常予兆判断機構３２０が仮想通信パス２０４を介してトレースポイント状態変更テーブル５０１を送信した後の異常予兆検知エージェント３７０の処理のフローを説明する。
【００２９】
異常予兆検知エージェント３７０は、異常予兆判断機構３２０から仮想通信パス２０４を介してトレースポイント状態変更テーブル５０１を受信する（ステップ６０１）。次に、受信したトレースポイント状態変更テーブル５０１を読み込み、現状のゲストトレースポイント３６１のＯＮ／ＯＦＦ状態と比較する（ステップ６０２）。比較の結果、ＯＮ／ＯＦＦ状態の変更が必要な場合、トレースポイントのＯＮ／ＯＦＦ状態を変更し、処理を終える（ステップ６０３）。変更の必要がない場合、処理を終える。異常予兆検知エージェント３７０は以上のように動作する。
【００３０】
以上により、異常予兆判断機構３２０をホストＯＳ３００上で動作させ、異常予兆検知エージェント３７０をゲストＯＳ３５０上で動作させ、ゲストＯＳ３５０とホストＯＳ３００間で仮想通信パス２０４を利用することで、ゲストＯＳ３５０とホストＯＳ３００の個々の異常予兆を検知し、その異常予兆に沿ってトレースポイントのＯＮ／ＯＦＦ状態の変更が可能となる。
【００３１】
本実施例により、例えば、ゲストＯＳ３５０の状態情報からディスクＩ／Ｏの異常予兆を検知した際に、ゲストＯＳ３５０が使用しているディスク１０３と仮想ディスク２０３のトレースポイントをＯＮ状態にすることが可能となる。
【実施例２】
【００３２】
本実施例では、実施例１で示したホストＯＳ上で動作する異常予兆検知判断機構がゲストＯＳ上で動作する場合を示す。
【００３３】
図７は、ホストＯＳ７００上で異常予兆エージェント７４０が動作し、ゲストＯＳ１（７５０）上に異常予兆検知判断機構７７０、ホストＯＳ構成情報７８０及びゲストＯＳ構成情報７８５が存在し、ゲストＯＳ２（７５５）上に異常予兆エージェント７７５が存在する仮想計算機システム構成を示す図である。図には示していないが、さらにゲストＯＳが動作する場合、そのゲストＯＳはゲストＯＳ２（７５５）と同様の構成で、同様に動作する。
【００３４】
ゲストＯＳ２（７５５）上の異常予兆検知エージェント７７５は、実施例１の異常予兆検知エージェント３７０と同様に動作し、ゲストＯＳ２（７５５）の状態情報を仮想通信パス７９５に定期的に格納する。ゲストＯＳ２（７５５）の状態情報を格納した際、仮想通信パス７９５に状態情報を格納したことをホストＯＳの異常予兆検知エージェント７４０に通知しても良い。
【００３５】
ホストＯＳ７００上の異常予兆検知エージェント７４０は、ホストＯＳ７００の状態情報と、仮想通信パス７９５から読み込んだゲストＯＳ２（７５５）の状態情報を、仮想通信パス７９０に定期的に格納する。状態情報を格納した際、格納したことをゲストＯＳ１（７５０）の異常予兆検知判断機構７７０に通知しても良い。図示を省略しているが、ホストＯＳ７００は仮想通信パス７９０及び７９５のアドレス情報を持っている。
【００３６】
異常予兆検知判断機構７７０は、ゲストＯＳ１（７５０）の状態情報を監視し、異常の予兆が無いか判断する。さらに、異常予兆検知判断機構７７０は、異常予兆検知エージェント７４０によって仮想通信パス７９０に保存されたホストＯＳ７００とゲストＯＳ２（７５５）の状態情報を定期的に読み出し、読みだした状態情報とホストＯＳ構成情報７８０及びゲストＯＳ構成情報７８５から、ホストＯＳ７００及びゲストＯＳ２（７５５）に異常が無いか判断する。仮想通信パス７９０よりホストＯＳ７００及びゲストＯＳ２（７５５）の状態情報を読み出しは、ホストＯＳ７００の異常予兆検知エージェント７４０の通知に応答して読み込んでも良い。
【００３７】
ここでは、ゲストＯＳ２（７５５）の状態情報を、ホストＯＳ７００の異常予兆検知エージェント７４０が一旦読み出してから、仮想通信パス７９０に読みだした状態情報を格納し、異常予兆検知判断機構７７０に仮想通信パス７９０に格納された状態情報を読み込ませることを示したが、ホストＯＳ７００の異常予兆検知エージェント７４０を経由せずに、異常予兆検知判断機構７７０がゲストＯＳ２（７５５）の状態情報を読み出すようにしても良い。この場合、ゲストＯＳ１（７５０）のゲストＯＳ構成情報７８５に、仮想通信パス７９５のゲストＯＳ１（７５０）から見たアドレスを含んでいる。
【００３８】
次に、異常予兆検知判断機構７７０が、ホストＯＳ７００の状態情報、ゲストＯＳ１（７５０）の状態情報、あるいはゲスト２（７５５）の状態情報から、ホストＯＳ７００あるいは各ゲストＯＳ７５０，７５５に異常の予兆の有無に応じた、ホストＯＳ７００及び各ゲストＯＳ７５０，７５５の各トレースポイントをＯＮ状態あるいはＯＦＦ状態に変更するまでの動作を説明する。
【００３９】
図８に、ゲストＯＳ１（７５０）の異常予兆検知判断機構７７０の処理のフローチャートを示す。
【００４０】
異常予兆検知判断機構７７０は、ホストＯＳ７００及びゲストＯＳ１（７５０）及びゲストＯＳ２（７５５）の状態情報を読み込む（ステップ８０１）。次に、読み込んだ状態情報から異常予兆の有無を判断する（ステップ８０２）。異常予兆が無い場合はステップ８０１に戻り、有る場合は、ステップ８０３に進む。尚、ホストＯＳ７００や他のゲストＯＳ７５５の異常予兆の有無を判断する場合、ホストＯＳ構成情報７８０及びゲストＯＳ構成情報７８５も利用する。
【００４１】
ホストＯＳ７００及びゲストＯＳ１（７５０）及びゲストＯＳ２（７５５）のどのトレースポイントをＯＮ状態あるいはＯＦＦ状態にするか決定し、図９に示したようなトレースポイント状態変更テーブル９０１を作成する（ステップ８０３）。
【００４２】
仮想通信パス７９０を介して、ホストＯＳ７００の異常予兆検知エージェント７４０に、トレースポイント状態変更テーブル９０１を送信する（ステップ８０４）。尚、送信するデータはステップ８０３で作成したトレースポイント状態変更テーブル９０１でも良いし、トレースポイント状態変更テーブル９０１からホストＯＳ７００及びゲストＯＳ２（７５５）に関連するエントリ（状態変更テーブル５０１の行）を抽出したテーブルでも良い。また、トレースポイント状態変更テーブルを送受信するための仮想通信パス７９０が、状態情報を格納する仮想通信パス７９０と異なって存在しても良い。さらに、異常予兆検知判断機構７７０がゲストＯＳ２（７５５）の異常予兆検知エージェント７７５にトレースポイント状態変更テーブル９０１を送信しても良い。
【００４３】
次に、トレースポイント状態変更テーブル９０１のゲストＯＳ１の行のＯＮ／ＯＦＦ状態と現状のゲストトレースポイント７６１のＯＮ／ＯＦＦ状態を比較する（ステップ８０５）。比較の結果、ＯＮ状態からＯＦＦ状態への変更あるいはＯＦＦ状態からＯＮ状態への変更が必要な場合、トレースポイントのＯＮ／ＯＦＦ状態を変更し（ステップ８０６）、動作を終了する。一方、変更が必要でない場合、ＯＮ／ＯＦＦ状態を変更せずに動作を終了する。異常予兆判断機構７７０は以上のように動作する。
【００４４】
次に、図１０を用いて、ステップ８０４で異常予兆判断機構７７０が仮想通信パス７９０を介してトレースポイント状態変更テーブル９０１を送信した後の、ホストＯＳ７００の異常予兆検知エージェント７４０の処理のフローを説明する。
【００４５】
異常予兆検知エージェント７４０は、異常予兆判断機構７７０から仮想通信パス７９０を介してトレースポイント状態変更テーブル９０１を受信する（ステップ１００１）。次に、仮想通信パス７９５を介して、ゲストＯＳ２（７５５）の異常予兆検知エージェント７７５に、トレースポイント状態変更テーブル９０１を送信する（ステップ１００２）。ただし、ステップ８０４でゲストＯＳ１（７５０）の異常予兆判断機構７７０からゲストＯＳ２（７５５）の異常予兆検知エージェント７７５にトレースポイント状態変更テーブル９０１を送信した場合、ステップ１００２は実行しない。
【００４６】
さらに、トレースポイント状態変更テーブル９０１を読み込み、現状のホストトレースポイント７１１のＯＮ／ＯＦＦ状態と比較する（ステップ１００３）。比較の結果、ＯＮ状態からＯＦＦ状態への変更あるいはＯＦＦ状態からＯＮ状態への変更が必要な場合、トレースポイントのＯＮ／ＯＦＦ状態を変更し、処理を終える（ステップ１００４）。変更の必要がない場合、処理を終える。ホストＯＳ７００の異常予兆検知エージェント７４０は以上のように動作する。
【００４７】
ステップ１００２で、ホストＯＳ７００の異常予兆検知エージェント７４０がゲストＯＳ２（７５５）の異常予兆検知エージェント７７５に、トレースポイント状態変更テーブル９０１を送信した後の処理は、図６のフローと同様である。
【００４８】
以上により、異常予兆判断機構７７０をゲストＯＳ１（７５０）上で動作させ、異常予兆検知エージェント７４０及び７７５をそれぞれホストＯＳ７００及びゲストＯＳ７５５上で動作させ、ゲストＯＳとホストＯＳ間で仮想通信パス７９０及び７９５を利用することで、ゲストＯＳ１（７５０）、ゲストＯＳ２（７５５）及びホストＯＳ７００の個々の異常予兆を検知し、その異常予兆に沿ってトレースポイントのＯＮ／ＯＦＦ状態の変更が可能となる。
【実施例３】
【００４９】
本実施例では、実施例１及び実施例２で示した異常予兆検知判断機構がホストＯＳ上とゲストＯＳ上にそれぞれ存在する場合を示す。
【００５０】
図１１は、ホストＯＳ１１００上、ゲストＯＳ１（１１５０）上、及びゲストＯＳ２（１１５５）上に異常予兆検知判断機構が存在するように構成された仮想計算機システム構成を示す図である。図には示していないが、さらにゲストＯＳが動作する場合、図１１に示したゲストＯＳと同様の構成をとる。
【００５１】
ここでは代表的に、ゲストＯＳ１（１１５０）上の異常予兆判断機構１１７０が、ゲストＯＳ１１５０に異常の予兆があると判断し、ホストＯＳ１１００及び各ゲストＯＳの各トレースポイントをＯＮ状態あるいはＯＦＦ状態に変更するまでの動作を説明する。
【００５２】
図１２に、ゲストＯＳ１（１１５０）の異常予兆検知判断機構１１７０の処理のフローチャートを示す。
【００５３】
異常予兆検知判断機構１１７０は、ゲストＯＳ１（１１５０）の状態情報を仮想通信パス１１９０から読み込む（ステップ１２０１）。次に、読み込んだ状態情報から異常予兆の有無を判断する（ステップ１２０２）。異常予兆が無い場合は１１０１に戻り、有る場合は、ステップ１２０３に進む。
【００５４】
ゲストＯＳ１（１１５０）のどのトレースポイントをＯＮ状態あるいはＯＦＦ状態にするか決定し、ゲストＯＳ１のトレースポイント状態変更テーブルを作成する（ステップ１２０３）。
【００５５】
仮想通信パス１１９０を介して、ホストＯＳ１１００の異常予兆検知判断機構１１４０に、ゲストＯＳ１（１１５０）の異常予兆内容を送信する（ステップ１２０４）。
【００５６】
次に、ゲストＯＳ１のトレースポイント状態変更テーブルと、現状のゲストトレースポイント１１６１のＯＮ/ＯＦＦ状態と比較する（ステップ１２０５）。比較の結果、ＯＮ状態からＯＦＦ状態への変更あるいはＯＦＦ状態からＯＮ状態への変更が必要な場合、トレースポイント１１６１のＯＮ／ＯＦＦ状態を変更し（ステップ１２０６）、動作を終了する。一方、変更が必要でない場合、ＯＮ／ＯＦＦ状態を変更せずに動作を終了する。異常予兆判断機構１１７０は以上のように動作する。
【００５７】
次に、図１３を用いて、ステップ１２０４で異常予兆判断機構１１７０が仮想通信パス１１９０を介してゲストＯＳ１の異常予兆内容を送信した後の、ホストＯＳ１１００の異常予兆検知判断機構１１４０の処理のフローを説明する。
【００５８】
異常予兆検知判断機構１１４０は、異常予兆判断機構１１７０から仮想通信パス１１９０を介してゲストＯＳ１の異常予兆内容を受信する（ステップ１３０１）。次に、ホストＯＳ構成情報１１３０と全ゲストＯＳ構成情報１１３５から、ホストＯＳ１１００及びゲストＯＳ２（１１５５）のトレースポイント状態変更テーブルを図５あるいは図９と同様に作成する（ステップ１３０２）。
【００５９】
次に、仮想通信パス１１９５を介して、ゲストＯＳ２（１１５５）の異常予兆検知判断機構１１７５に、ステップ１３０２で作成したトレースポイント状態変更テーブルを送信する（ステップ１３０３）。
【００６０】
さらに、トレースポイント状態変更テーブルを仮想通信パス１１９５を介して読み込み、現状のホストトレースポイント１１１１のＯＮ／ＯＦＦ状態と比較する。（ステップ１３０４）比較の結果、ＯＮ状態からＯＦＦ状態への変更あるいはＯＦＦ状態からＯＮ状態への変更が必要な場合、レースポイントのＯＮ／ＯＦＦ状態を変更し、処理を終える。（ステップ１３０５）もし、変更の必要がない場合、処理を終える。ホストＯＳ７００の異常予兆検知エージェント１１４０は以上のように動作する。
【００６１】
ステップ１３０３でホストＯＳ１１００の異常予兆検知判断機構１１４０がゲストＯＳ２（１１５５）の異常予兆検知判断機構１１７５にトレースポイント状態変更テーブルを送信した後の処理は、図６のフローで異常予兆検知エージェントの役割を異常予兆検知判断機構が担うものとし、同様のフローである。
【００６２】
以上により、異常予兆判断機構１１４０、１１７０、１１７５をそれぞれホストＯＳ１１００・ゲストＯＳ１（１１５０）・ゲストＯＳ２（１１５５）にもたせ、ゲストＯＳとホストＯＳ間で仮想通信パス１１９０及び１１９５を利用することで、ゲストＯＳ１（７５０）、ゲストＯＳ２（７５５）及びホストＯＳ７００の個々の異常予兆を検知し、その異常予兆に沿ってトレースポイントのＯＮ／ＯＦＦ状態の変更が可能となる。
【００６３】
尚、以上の実施例１〜３で示した方法の一部を組み合わせて、ホストＯＳあるいは複数のゲストＯＳの異常予兆検知及びレースポイントのＯＮ/ＯＦＦ状態の変更を実施しても良いものとする。
【００６４】
以上の実施形態によれば、仮想計算機システムにおいて、トレースポイントＯＮ／ＯＦＦ状態を、異常予兆の有無に応じて変更できるので、通常時のシステム負荷が抑えられかつ異常発生時の原因解析性も担保できる。
【符号の説明】
【００６５】
１００：実計算機、１０１：ＣＰＵ、１０２：物理メモリ、１０３：ディスク、１１０：バス制御装置、２００：仮想計算機、２０１：仮想ＣＰＵ、２０２：仮想物理メモリ、２０３：仮想ディスク、２０４：仮想通信パス、２１０：仮想バス制御装置、３００：ホストＯＳ、３１０：ホストトレースバッファ、３１１：ホストトレースポイント、３２０：異常予兆検知判断機構、３２１、３７１：プロセス群、３３０：ホストＯＳ構成情報、３３５：ゲストＯＳ構成情報、３５０：ゲストＯＳ、３６０：ゲストトレースバッファ、３６１：ゲストトレースポイント、３７０：異常予兆検知エージェント、３９０：仮想通信パス、５０１：トレースポイント状態変更テーブル、７００：ホストＯＳ、７１０：ホストトレースバッファ、７１１：ホストトレースポイント、７２１、７７１、７７６：プロセス群、７４０、７７５：異常予兆検知エージェント、７５０：ゲストＯＳ１、７５５：ゲストＯＳ２、７６０、７６５：ゲストトレースバッファ、７６１、７６６：ゲストトレースポイント、７７０：異常予兆検知判断機構、７８０：ホストＯＳ構成情報、７８５：ゲストＯＳ構成情報、７９０、７９５：仮想通信パス、７９１、７９６：仮想計算機、９０１：トレースポイント状態変更テーブル、１１００：ホストＯＳ、１１１０：ホストトレースバッファ、１１１１：ホストトレースポイント、１１２１、１１７１、１１７６：プロセス群、１１３０：ホストＯＳ構成情報、１１３５：全ゲストＯＳ構成情報、１１８０、１１８５：ゲストＯＳ構成情報、１１４０、１１７０、１１７５：異常予兆検知判断機構、１１５０：ゲストＯＳ１、１１５５：ゲストＯＳ２、１１６０、１１６５：ゲストトレースバッファ、１１６１、１１６６：ゲストトレースポイント、１１９０、１１９５：仮想通信パス、１１９１、１１９６：仮想計算機。
【図１】
2014078099.tif 000003
【図２】
2014078099.tif 000004
【図３】
2014078099.tif 000005
【図４】
2014078099.tif 000006
【図５】
2014078099.tif 000007
【図６】
2014078099.tif 000008
【図７】
2014078099.tif 000009
【図８】
2014078099.tif 000010
【図９】
2014078099.tif 000011
【図１０】
2014078099.tif 000012
【図１１】
2014078099.tif 000013
【図１２】
2014078099.tif 000014
【図１３】
2014078099.tif 000015