(57)【要約】【課題】  仮想計算機とホスト計算機の時刻差分を修正したログを取り出せる計算機システムを提案する。【解決手段】  本発明の計算機システム（１０）は、ホスト計算機（４０）上で複数の仮想計算機（５０，６０）が動作する計算機システムであって、ホスト計算機（４０）は、各仮想計算機（５０，６０）との時刻差分を格納する時刻差分テーブルと、各仮想計算機（５０，６０）のログを取得するログ取得部と、を備え、ログには、少なくともログ出力時刻を示すタイムスタンプが含まれており、ログ取得部は、時刻差分テーブルに格納された時刻差分に基づいて、各仮想計算機から取得したログのタイムスタンプを修正する。かかる構成により、ホスト計算機（４０）の時間体系とは異なる時間体系で動作する仮想計算機（５０，６０）のログを、ホスト計算機（４０）の時間体系に統一させた上で、取得できる。【選択図】        図１
2006285875.tif 000002
【特許請求の範囲】
【請求項１】
ホスト計算機上で複数の仮想計算機が動作する計算機システムであって、
前記ホスト計算機は、
各仮想計算機との時刻差分を格納する時刻差分テーブルと、
各仮想計算機のログを取得するログ取得部と、
を備え、
前記ログには、少なくともログ出力時刻を示すタイムスタンプが含まれており、
前記ログ取得部は、前記時刻差分テーブルに格納された時刻差分に基づいて、前記各仮想計算機から取得したログのタイムスタンプを修正する、計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記時刻差分テーブルには、更に、前記仮想計算機との時刻差分を取得した差分取得時刻が格納されており、
前記ログ取得部は、前記時刻差分テーブルに格納された差分取得時刻の中から前記タイムスタンプの時刻よりも新しく、且つ前記タイムスタンプの時刻に最も近い差分取得時刻における時刻差分を基に前記タイムスタンプを修正する、計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記ログ取得部は、複数の仮想計算機のタイムスタンプ修正後のログをまとめて一括出力する、計算機システム。
【請求項４】
請求項１に記載の計算機システムであって、
前記ログには、前記タイムスタンプに加えて、更に、ログメッセージが含まれており、
前記ログ取得部は、タイムスタンプ修正前のログ出力時刻を前記ログメッセージに含ませる、計算機システム。
【請求項５】
請求項１に記載の計算機システムであって、
前記ログ取得部は、前記仮想計算機にログ収集命令を送信することにより、前記仮想計算機から前記ログを取得する、計算機システム。
【請求項６】
請求項１に記載の計算機システムであって、
前記仮想計算機は、前記仮想計算機の時刻が変更される都度に、前記ホスト計算機に時刻変更通知を行う、計算機システム。
【請求項７】
請求項６に記載の計算機システムであって、
前記ログ取得部は、前記時刻変更通知を受信すると、前記仮想計算との時刻差分を取得する、計算機システム。
【請求項８】
請求項１に記載の計算機システムであって、
前記複数の仮想計算機と、前記ホスト計算機のそれぞれは、異なるネットワークに接続されている、計算機システム。
【請求項９】
請求項１に記載の計算機システムであって、
前記計算機システムは、ＮＡＳのファイルサーバである、計算機システム。
【請求項１０】
ホスト計算機上で複数の仮想計算機が動作する計算機システムのログを収集する方法であって、
（ａ）前記ホスト計算機が前記仮想計算機との時刻差分を取得し、
（ｂ）前記ホスト計算機が前記仮想計算機のログを取得し、
（ｃ）前記ホスト計算機が前記時刻差分に基づいて、前記仮想計算機から取得したログのタイムスタンプを修正する、ログ収集方法。
【請求項１１】
請求項１０に記載のログ収集方法であって、
前記ステップ（ｂ）において、前記ホスト計算機が前記仮想計算機との時刻差分を取得した時刻を示す差分取得時刻を更に取得し、
前記ステップ（ｃ）において、前記差分取得時刻の中から前記タイムスタンプの時刻よりも新しく、且つ前記タイムスタンプの時刻に最も近い差分取得時刻における時刻差分を基に前記タイムスタンプを修正する、ログ収集方法。
【請求項１２】
請求項１０に記載のログ収集方法であって、
前記複数の仮想計算機のタイムスタンプ修正後のログをまとめて一括出力するステップを更に含む、ログ収集方法。
【請求項１３】
請求項１０に記載のログ収集方法であって、
タイムスタンプ修正前のログ出力時刻を前記ログのログメッセージに含ませるステップを更に含む、ログ収集方法。
【請求項１４】
請求項１０に記載のログ収集方法であって、
前記ホスト計算機が前記仮想計算機にログ収集命令を送信することにより、前記仮想計算機から前記ログを取得するステップを更に含む、ログ収集方法。
【請求項１５】
請求項１０に記載のログ収集方法であって、
前記仮想計算機の時刻が変更される都度に、前記仮想計算機が前記ホスト計算機に時刻変更通知を行うステップを更に含む、ログ収集方法。
【請求項１６】
請求項１５に記載のログ収集方法であって、
前記ホスト計算機が前記仮想計算機から前記時刻変更通知を受信すると、前記仮想計算との時刻差分を取得するステップを更に含む、ログ収集方法。
【請求項１７】
ホスト計算機上で複数の仮想計算機が動作する計算機システムに、請求項１０に記載のログ収集方法を実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は計算機システム、ログ収集方法、及びコンピュータプログラムに関し、特に、ホスト計算機上で複数の仮想計算機が動作する計算機システムのログ収集技術に関する。
【背景技術】
【０００２】
近年、サーバ毎に分散配置されていたストレージを一箇所に集約し、この集約されたストレージをＳＡＮ（Storage Area Network）等のストレージ専用ネットワークを介してサーバ群に接続するストレージコンソリデーションが普及している。ストレージに関する構築、運用、保守等のサービスを提供するストレージ・サービス・プロバイダは、ストレージコンソリデーションの運用形態として、例えば、１台のストレージシステムを複数の顧客に貸し出す等のサービスを提供している。このようなストレージ・サービスを提供するデータセンタでは、大容量のストレージシステムを論理的に分割してなる論理ボリュームを、ＳＡＮ等を介してそれぞれの顧客のサーバに接続することで、ストレージ管理の集約化と管理コストの低減を図っている。更に、データセンタのストレージシステムにＮＡＳ（Network Attached Storage）機能を搭載することで、各顧客にＮＦＳ（Network File System）やＣＩＦＳ（Common Interface File System）等のファイル転送プロトコルを利用したファイルアクセスサービスを提供するためのファイルシステムを構築することもできる。
【０００３】
特許文献１には、各顧客にストレージ・サービスを提供するデータセンタの計算機上で動作するホストＯＳ（Operating System）を仮想的に分割して、同一ハードウェア資源上に複数の仮想計算機（Virtual Machine）を動作させ、それぞれの仮想計算機を各顧客のサーバに割り当てる技術が開示されている。
【特許文献１】特開２００４−２２７１２７号
【発明の開示】
【発明が解決しようとする課題】
【０００４】
仮想計算機を導入することで、ハードウェアの一元管理が可能になる。仮想計算機は通常の計算機と変わらない動作が可能である。例えば、仮想計算機で発生した障害や警告のログは仮想計算機内に保存される。また、仮想計算機の時刻はホスト計算機の時刻とは独立に進行する。また、仮想計算機に接続するネットワークと、ホスト計算機に接続するネットワークには、セキュリティ上の観点からそれぞれ異なるネットワークが用いられる。
【０００５】
このような計算機システムにおいては、計算機システムに不正な操作やデータの改竄等が行われていないかどうかをチェックする監査の目的で、或いは障害発生時や保守時のログ解析の目的で、仮想計算機のログを収集する必要が生じる。例えば、ドメインネームサーバのネットワーク名前解決タイムアウト等によるネットワーク障害が生じると、ホスト計算機のログだけでは、障害解析を行うことはできないため、仮想計算機のログが必要になる。仮想計算機のログを収集する手段として、従来では、ログサーバと呼ばれるログ収集用サーバをネットワーク上に設置し、ログサーバにログが到着した時刻をタイムスタンプとしてログに記録していた。
【０００６】
しかし、仮想計算機のネットワークとホスト計算機のネットワークが異なるネットワーク環境下では、仮想計算機のログとホスト計算機のログをネットワーク経由でログサーバに送信することができない。両者のネットワークを接続すると、ネットワークの独立性が損なわれて、セキュリティ上問題がある。
【０００７】
また、各仮想計算機にログを保存しておき、障害発生時又は定期的にホスト計算機から仮想計算機のログを取り出す構成では、ホスト計算機の時刻と仮想計算機の時刻に時差があるため、仮想計算機から取り出したログのタイムスタンプには時刻差分が含まれる。ログのタイムスタンプにこのような時刻差分があると、障害解析のためにログを収集したとしても、ホスト計算機と各仮想計算機の時間体系が一致していないので、障害解析が困難になる。
【０００８】
複数の仮想計算機が動作する計算機システムにおいては、ハードウェアの一元管理だけでなく、ログの一元管理も望まれる。
【０００９】
本発明は、上記の問題点に鑑みてなされたもので、本発明の目的は、仮想計算機とホスト計算機の時刻差分を修正したログを取り出せる計算機システム、ログ収集方法、及びコンピュータプログラムを提供することにある。
【課題を解決するための手段】
【００１０】
上記の課題を解決するため、本発明の計算機システムは、ホスト計算機上で複数の仮想計算機が動作する計算機システムであって、ホスト計算機は、各仮想計算機との時刻差分を格納する時刻差分テーブルと、各仮想計算機のログを取得するログ取得部と、を備え、ログには、少なくともログ出力時刻を示すタイムスタンプが含まれており、ログ取得部は、時刻差分テーブルに格納された時刻差分に基づいて、各仮想計算機から取得したログのタイムスタンプを修正する。かかる構成により、ホスト計算機の時間体系とは異なる時間体系で動作する仮想計算機のログを、ホスト計算機の時間体系に統一させた上で、取得できる。
【００１１】
時刻差分テーブルには、更に、仮想計算機との時刻差分を取得した差分取得時刻が格納されており、ログ取得部は、時刻差分テーブルに格納された差分取得時刻の中からタイムスタンプの時刻よりも新しく、且つ前記タイムスタンプの時刻に最も近い差分取得時刻における時刻差分を基に前記タイムスタンプを修正してもよい。ホスト計算機と仮想計算機との時刻差分は一定とは限らず、例えば、ホスト計算機と仮想計算機のそれぞれが各自で時刻合わせをするためにＮＴＰサーバから時刻情報を取得して時刻を変更する場合や、不正操作によって仮想計算機の時刻が改竄された場合等に変動し得る。タイムスタンプの時刻よりも新しく、且つ前記タイムスタンプの時刻に最も近い差分取得時刻における時刻差分を基に前記タイムスタンプを修正することで、より精度の高いタイムスタンプ修正を行うことができる。
【００１２】
ログ取得部は、複数の仮想計算機のタイムスタンプ修正後のログをまとめて一括出力してもよい。これにより、各仮想計算機のログを同一時間軸上に並べ直して、解析することができるので、障害解析に好適である。
【００１３】
ログには、タイムスタンプに加えて、更に、ログメッセージが含まれており、ログ取得部は、タイムスタンプ修正前のログ出力時刻をログメッセージに含ませてもよい。
【００１４】
ログ取得部は、仮想計算機にログ収集命令を送信することにより、仮想計算機からログを取得してもよい。ホスト計算機が仮想計算機のログを直接取り出すのではなく、仮想計算機を介してログを取り出すことにより、仮想計算機のセキュリティ機能を高めることができる。
【００１５】
仮想計算機は、仮想計算機の時刻が変更される都度に、ホスト計算機に時刻変更通知を行ってもよい。また、ログ取得部は、時刻変更通知を受信すると、仮想計算との時刻差分を取得してもよい。これにより、ホスト計算機は、仮想計算機との間の最新の時刻差分を保持することができ、より精度の高いタイムスタンプ修正を行うことができる。
【００１６】
複数の仮想計算機と、ホスト計算機のそれぞれは、異なるネットワークに接続されていてもよい。ログサーバを用いてネットワーク経由で仮想計算機からログを収集する従来方式と比較すると、本発明では、仮想計算機間をネットワーク接続する必要がないので、セキュリティに優れている。
【００１７】
本発明のログ収集方法は、ホスト計算機上で複数の仮想計算機が動作する計算機システムのログを収集する方法であって、ホスト計算機が仮想計算機との時刻差分を取得し、ホスト計算機が仮想計算機のログを取得し、ホスト計算機が時刻差分に基づいて仮想計算機から取得したログのタイムスタンプを修正する。
【００１８】
本発明のコンピュータプログラムは、ホスト計算機上で複数の仮想計算機が動作する計算機システムに、本発明のログ収集方法を実行させるためのコンピュータプログラムである。このコンピュータプログラムは、コンピュータ読み取り可能な記録媒体等に記録することができる。記録媒体として、例えば、光記録媒体（ＣＤ−ＲＡＭ、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＡＭ、ＤＶＤ−ＲＯＭ、ＤＶＤ−Ｒ、ＰＤディスク、ＭＤディスク、ＭＯディスク等の光学的にデータの読み取りが可能な記録媒体）や、磁気記録媒体（フレキシブルディスク、磁気カード、磁気テープ等の磁気的にデータの読み取りが可能な記録媒体）、或いはメモリ素子（ＤＲＡＭ等の半導体メモリ素子、ＦＲＡＭ等の強誘電体メモリ素子等）などが好適である。
【発明の効果】
【００１９】
本発明によれば、ホスト計算機の時間体系とは異なる時間体系で動作する仮想計算機のログを、ホスト計算機の時間体系に統一させた上で、取得できる。また、仮想計算機の時刻が不正に改竄されたとしても、ホスト計算機上では、正しい時刻で仮想計算機のログを取得できる。これにより、仮想計算機のログの一元管理が可能となる。
【発明を実施するための最良の形態】
【００２０】
以下、各図を参照して、本発明の実施形態について説明する。
図１は本発明のログ収集方式の概要を示している。計算機システム１０は、一台のホスト計算機（実計算機）４０上に複数の仮想計算機５０，６０を論理的に構築することにより、それぞれの仮想計算機５０，６０上でゲストＯＳや各種アプリケーションプログラムを動作させている。ホスト計算機４０と仮想計算機５０，６０は、それぞれ異なるネットワークに接続しており、それぞれが各ネットワーク上のＮＴＰ（Network Time Protocol）サーバ（図示せず）から時刻情報を取得することにより、時刻合わせをしている。しかしながら、ホスト計算機４０の時刻と仮想計算機５０，６０の時刻には、時刻差分が生じ得る。この時刻差分は必ずしも一定とは限らず、例えば、ホスト計算機４０と仮想計算機５０，６０のそれぞれが各自で時刻合わせをするためにＮＴＰサーバから時刻情報を取得して時刻を変更する場合や、不正操作によって仮想計算機５０，６０の時刻が改竄された場合等に変動し得る。
【００２１】
ホスト計算機４０は、（１）各仮想計算機５０，６０とホスト計算機４０との時刻差分を予め取得しておき、（２）各仮想計算機５０，６０からログを取得すると、（３）時刻差分を加味した上で、各仮想計算機５０，６０のログ出力時刻（タイムスタンプ）をホスト計算機４０の時間体系に合わせる（同一時間軸上に並べ直す）ように修正し、（４）時刻差分修正済みのログを一括して管理ネットワーク２１上の管理計算機（図示せず）に出力する。本ログ収集方式によれば、各仮想計算機５０，６０のタイムスタンプをホスト計算機４０の時間体系に合わせることができるので、時刻差分を修正したログを取り出すことができる。このため、計算機システム１０の監査、障害解析、保守等に好適である。
【００２２】
尚、計算機システム１０の用途は、特に限定されるものではなく、複数の仮想計算機５０，６０の動作環境を備えた計算機システム一般に用いることができる。例えば、ワークステーション、メインフレームコンピュータ、ネットワークサーバ、パーソナルコンピュータ等の各種コンピュータシステムに適用できる。
【実施例】
【００２３】
本実施例では、ホスト計算機上に複数の仮想計算機を動作させる動作環境を備えた計算機システム１０の具体例として、ネットワーク経由でファイルサービスを提供するＮＡＳのファイルサーバを例示する。
【００２４】
図２は各顧客にストレージ・サービスを提供するデータセンタ内の計算機システム１０を中心とするネットワーク構成を示している。計算機システム１０は、ＣＰＵ１１、メモリ１２、ネットワークインターフェース１３，１４，１５、及びストレージインターフェース１６を備える。ネットワークインターフェース１３には、管理ネットワーク２１を介して管理計算機２２と管理ＮＴＰサーバ２３とが接続している。ネットワークインターフェース１４には、運用ネットワーク２４を介して複数のクライアント装置２５と運用ＮＴＰサーバ２６が接続している。ネットワークインターフェース１５には、運用ネットワーク２７を介して複数のクライアント装置２８と運用ＮＴＰサーバ２９が接続している。
【００２５】
計算機システム１０上には、Ａ社用のファイルサービスを提供する仮想計算機５０と、Ｂ社用のファイルサービスを提供する仮想計算機６０とが動作している（図３参照）。ディスクドライブ３１には、例えば、管理計算機２２が計算機システム１０のシステム監査、障害管理、保守管理等を行うためのプログラム及びデータが格納されている。ディスクドライブ３２，３３には、例えば、それぞれＡ社用、Ｂ社用のファイルサービスを提供するためのデータが格納される。テープ装置３４には、例えば、ディスクドライブ３２，３３のバックアップデータが格納される。
【００２６】
システム管理者は、管理計算機２２を入力操作して計算機システム１０にアクセスし、計算機システム１０の監査、障害管理、保守管理等を行うことができる。Ａ社の顧客は、クライアント装置２５から運用ネットワーク２４を介して仮想計算機５０に、ファイル名を指定してファイル単位でのデータ入出力要求（ファイルアクセス要求）を行うことができる。同様に、Ｂ社の顧客は、クライアント装置２８から運用ネットワーク２７を介して仮想計算機６０にファイルアクセス要求を行うことができる。運用ネットワーク２４，２７が、例えば、ＬＡＮ（Local Area Network）である場合には、クライアント装置２５，２８から仮想計算機５０，６０へのファイルアクセス要求は、ＴＣＰ／ＩＰ（Transmission Control Protocol/Internet Protocol）の通信プロトコルが用いられる。
【００２７】
尚、ディスクドライブ３１，３２，３３としては、単体のハードディスクでもよく、或いはＲＡＩＤ（Redundant Array of Independent Inexpensive Disks）構成された複数のハードディスクから成るディスクアレイ装置でもよい。また、ディスクドライブ３２，３３に複数の論理ボリュームを形成しておき、これらの論理ボリュームにＡ社用、Ｂ社用のファイルサービスを提供するためのデータを格納してもよい。ハードディスクとしては、例えば、ファイバチャネル・ディスクドライブ、ＡＴＡ（Advanced Technology Attachment）ディスクドライブ、ＳＣＳＩ（Small Computer System Interface）ディスクドライブ等を用いることができる。
【００２８】
図３は計算機システム１０の機能構成を示している。図２に示したハードウェアと同一符号のハードウェアは同一のものを示すものとしてその詳細な説明は省略する。仮想計算機５０は、ネットワークインターフェース１４、仮想計算機用記憶部５１、時刻設定部５２、ログ出力部５３、外部記憶部５４、仮想ＣＰＵ５５、及び仮想アダプタ５６を備えている。
【００２９】
仮想計算機用記憶部５１は、仮想計算機５０に割り当てられたメモリ１２上の記憶領域である。時刻設定部５２は、運用ＮＴＰサーバ２６から時刻情報を取得し、仮想計算機５０の時刻を設定する。仮想計算機５０の時刻変更は、仮想アダプタ５６を介してホスト計算機４０に通知される。ログ出力部５３は、時刻設定部５２又はその他の構成部分からログ出力命令とログ内容を受け取ってログを生成し、外部記憶部５４にログを出力する。ログ出力部５３が生成するログとして、例えば、仮想計算機５０の時刻が変更されたことを示すログ、アプリケーションがインストールされたことを示すログ、パスワードが変更されたことを示すログ、不正操作によりシステムに障害が発生したことを示すログ、ネットワーク障害又はその他のシステム障害によりシステムが停止したことを示すログ等の各種のログがある。
【００３０】
外部記憶部５４は、仮想計算機５０の外部記憶装置として機能する記憶領域であり、本実施例では、ディスクドライブ３２がこれに該当する。仮想ＣＰＵ５５は、ＣＰＵ１１の時分割動作により、仮想計算機５０のプロセスに割り当てられた仮想的なＣＰＵである。仮想アダプタ５６は、仮想計算機５０とホスト計算機４０との間の通信を接続する仮想的なアダプタである。仮想アダプタ５６は、ホスト計算機４０からログ収集命令を受けると、外部記憶部５４から取り出したログをホスト計算機４０に送信する。上述の説明において、時刻設定部５２、ログ出力部５３、及び仮想アダプタ５６は、仮想ＣＰＵ５５がプロセスを実行することによって実現される機能を示している。
【００３１】
尚、説明の便宜上、仮想計算機６０の機能構成として、仮想アダプタ６６のみが図示されているが、仮想計算機６０の機能構成は、仮想計算機５０の機能構成と同様である。
【００３２】
ホスト計算機４０は、ネットワークインターフェース１３、ホスト計算機用記憶部４１、時刻設定部４２、ログ出力部４３、仮想計算機ログ取得部４４、外部記憶部４５、仮想ＣＰＵ４６、及び仮想アダプタ４７を備える。
【００３３】
ホスト計算機用記憶部４１は、ホスト計算機４０に割り当てられたメモリ１２上の記憶領域である。時刻設定部４２は、管理ＮＴＰサーバ２３から時刻情報を取得し、ホスト計算機４０の時刻を設定する。ログ出力部４３は、時刻設定部４２又はその他の構成部分からログ出力命令とログ内容を受け取ってログを生成し、外部記憶部４５にログを出力する。また、ログ出力部４３は、ホスト計算機４０のログを、管理ネットワーク２１を経由して管理計算機２２に送信することもできる。
【００３４】
仮想計算機ログ取得部４４は、主として、以下に示す４つの処理を行う。（ａ）仮想計算機５０，６０のログを取得する命令を管理計算機２２から受信する処理。（ｂ）仮想計算機５０，６０とホスト計算機４０の時刻差分を取得する処理。（ｃ）仮想アダプタ４７を介して仮想計算機５０，６０のログを取得する処理。（ｄ）（ｃ）の処理で取得した仮想計算機５０，６０のログのタイムスタンプを、（ｂ）の処理で取得した時刻差分を用いて修正する処理。
【００３５】
外部記憶部４５は、ホスト計算機４０の外部記憶装置として機能する記憶領域であり、本例では、ディスクドライブ３１がこれに該当する。仮想ＣＰＵ４６は、ＣＰＵ１１の時分割動作により、ホスト計算機４０のプロセスに割り当てられた仮想的なＣＰＵである。仮想アダプタ４７は、ホスト計算機４０と仮想計算機５０，６０との間の通信を接続する仮想的なアダプタである。上述の説明において、時刻設定部４２、ログ出力部４３、仮想計算機ログ取得部４４、及び仮想アダプタ４７は、仮想ＣＰＵ４６がプロセスを実行することによって実現される機能を示している。
【００３６】
管理計算機２２は、管理画面表示部７１、及びログ収集処理部７２を備える。管理画面表示部７１は、管理計算機２２と管理者との間のユーザインターフェースを提供するものであり、例えば、管理者にログ収集処理の指示を案内する画面を表示したり、或いは計算機システム１０から取得したログを表示したりする。ログ収集処理部７２は、管理者の指示に応答して、仮想計算機５０，６０のログを収集する命令をホスト計算機４０に送信する。
【００３７】
図４はログメッセージの構造を示している。ログには、ログ出力時刻（タイムスタンプ）が含まれる他、ログ出力元、ログレベル、ログメッセージ等も適宜含まれる。ログ出力時刻は、ログ生成元でログが生成された時刻を示す。ログ生成元の時間体系の時刻がログ出力時刻として記録される。同図に示す例では、ログ出力元として、仮想計算機５０，６０上で動作するアプリケーションプログラムが例示されている。ログレベルは、ログの種類を示すものであり、例えば、Errorは、障害発生や不正操作等が発生したことを示し、Informationは、その他の通常の処理を示す。メッセージには、テキスト形式でログ内容が簡潔に示される。ホスト計算機４０及び仮想計算機５０，６０のログは、何れも同図に示すメッセージ構造を有する。
【００３８】
図５は時刻差分テーブルの構造を示している。仮想計算機ログ取得部４４は、仮想計算機５０，６０から時刻変更の通知を受けると、仮想計算機５０，６０の時刻を取得し、ホスト計算機４０の時刻と仮想計算機５０，６０の時刻との差分（時刻差分）を時刻差分テーブルに格納するとともに、仮想計算機５０，６０の時刻を取得した時刻（以下、差分取得時刻と称する。）を、時刻差分に対応付けて格納する。同図において、Virtual_Machine1は仮想計算機５０を示し、Virtual_Machine2は仮想計算機６０を示している。以降の説明においては、仮想計算機５０をVirtual_Machine1又はＶＭ１と称し、仮想計算機６０をVirtual_Machine2又はＶＭ２と称する場合がある。
【００３９】
図６は仮想計算機５０，６０に保存されたログのうち、ホスト計算機４０がどのログを収集するのかを示したテーブル（以下、ログテーブルと称する。）の構造を示している。例えば、Virtual_Machine1のログは、ディスクドライブ３２の/var/log/syslogと指定されるディレクトリに格納されており、Virtual_Machine2のログは、ディスクドライブ３３の/var/log/dmesgと指定されるディレクトリに格納されている。仮想計算機ログ取得部４４は、管理計算機２２からログ収集命令を受けると、ログテーブルに指定されているディレクトリに所在する仮想計算機５０，６０のログを収集し、時刻差分テーブルに従って、ログ出力時刻を修正する。例えば、仮想計算機ログ取得部４４は、Virtual_Machine1のログを収集するように、管理計算機２２からログ収集命令を受けると、ログテーブルに指定されているディレクトリに格納されたログを取り出して、これを仮想計算機ログ取得部４４に転送するように、仮想計算機５０にログ収集命令を送信する。
【００４０】
図７は管理計算機２２の管理画面表示部７１に表示される管理用インターフェース画面である。管理用インターフェース画面には、各仮想計算機のログの所在が表示される。
【００４１】
尚、セキュリティの関係上、仮想計算機５０，６０のログを取得する手段として、上述の如く、ホスト計算機４０が仮想計算機５０，６０を介して、ログを取得するのが好ましいが、ホスト計算機４０は、ログテーブル（図６）を保持することにより、仮想計算機５０，６０のログの格納場所を把握しているので、ホスト計算機４０が仮想計算機５０，６０のログを直接取り出すように構成してもよい。
【００４２】
図８はホスト計算機４０が仮想計算機５０，６０との時刻差分を取得する処理手順を記述したフローチャートである。仮想計算機５０，６０が運用ＮＴＰサーバ２６，２９から時刻情報を取得することにより、仮想計算機５０，６０の時刻が変更する（Ｓ１１）。すると、仮想計算機５０，６０は、ホスト計算機４０に時刻変更通知を行う（Ｓ１２）。ホスト計算機４０は、仮想計算機５０，６０の時刻を取得し、時刻差分テーブルに時刻差分と差分取得時刻を格納する（Ｓ１３）。時刻差分は、仮想計算機５０，６０から時刻変更通知がされる都度に、或いは常時ある一定の間隔で取得しておくことが好ましい。
【００４３】
図９はホスト計算機４０が仮想計算機５０，６０からログを収集する処理を記述したフローチャートである。まず、管理者は、管理計算機２２からホスト計算機４０にログ収集命令を送信する（Ｓ２１）。仮想計算機５０，６０のログを収集するタイミングは、定期的でもよく、或いは障害発生時でもよい。
【００４４】
ホスト計算機４０は、管理計算機２２からログ収集命令を受信すると（Ｓ２２）、ログテーブルを参照して、仮想計算機５０，６０から収集すべきログを決定する（Ｓ２３）。そして、ホスト計算機４０は、仮想計算機５０，６０にログの取得を依頼する。仮想計算機５０，６０はディスクドライブ３２，３３から取り出したログをホスト計算機４０に送信する。かかる手順を経て、ホスト計算機４０は、仮想計算機５０，６０のログを取得する（Ｓ２４）。
【００４５】
次いで、ホスト計算機４０は、時刻差分テーブルに格納された時刻差分を用いて、仮想計算機５０，６０のタイムスタンプを修正し（Ｓ２５）、タイムスタンプ修正済みのログをホスト計算機４０に保存する（Ｓ２６）。ホスト計算機４０は、仮想計算機５０，６０のログを取得し終えてない場合には（Ｓ２７：ＮＯ）、Ｓ２３〜Ｓ２６を再度繰り返す。一方、仮想計算機５０，６０のログを取得し終えた場合には（Ｓ２７：ＹＥＳ）、ホスト計算機４０は、仮想計算機５０，６０から収集したログを管理計算機２２に送信する（Ｓ２８）。複数の仮想計算機５０，６０から収集したログは、例えば、ホスト計算機４０上の時間体系に並べ直した上で、これらのログを一つのログにまとめて、管理計算機２２に一括送信してもよい。
【００４６】
図１０はホスト計算機４０が仮想計算機５０，６０のログに含まれるタイムスタンプを修正するサブルーチンを示している。同サブルーチンが呼び出されると、ホスト計算機４０は、仮想計算機５０，６０から取得したログに含まれるログ出力時刻と、時刻差分テーブルに格納されている差分取得時刻とを比較し（Ｓ３１）、そして、ログ出力時刻より新しく、かつログ出力時刻に最も近い差分取得時刻を選択する（Ｓ３２）。次いで、ホスト計算機４０は、選択した差分取得時刻における時刻差分を用いて、ログ出力時刻を修正する（Ｓ３３）。
【００４７】
尚、ログ出力時刻の修正に用いられる時刻差分は、必ずしも最新の差分取得時刻における時刻差分が良いとは限らない。ログ出力時刻より新しく、かつログ出力時刻に最も近い差分取得時刻における時刻差分を用いてログ出力時刻を修正するのが好ましい。また、タイムスタンプ修正前のログ出力時刻は、ログメッセージに含ませてもよい。
【００４８】
次に、仮想計算機５０，６０のログ出力時刻をホスト計算機４０の時間体系に合わせる利点について、説明を加える。
【００４９】
図１１は障害解析の目的でＶＭ１，ＶＭ２のログを同一時間軸上に並べ直す例を示している。ＶＭ１から取り出したログと、ＶＭ２から取り出したログをそれぞれ対比すると、ほぼ同時刻において、メモリ不足が生じていることが解かる。同一ハードウェア資源上に複数の仮想計算機が動作する環境下では、一方の仮想計算機に生じたシステム障害は、他方の仮想計算機の動作環境にも影響を与える場合がある。複数の仮想計算機にほぼ同時刻に障害が生じると、それぞれの仮想計算機から取り出したログ（タイムスタンプ修正前）を解析するだけでは、ログ出力時刻に時差が含まれているため、正確な障害解析を行うことが困難になる。そこで、ＶＭ１，ＶＭ２から取り出したログのログ出力時刻を同一時間軸上に並べ直すことにより、正確な障害解析を行うことができる。図１１に示す例では、ＶＭ１にメモリ不足が生じた後に、続いて、ＶＭ２にメモリ不足が生じていることが解かる。ＶＭ２のメモリ不足の原因は、ＶＭ１のメモリ不足にある。
【００５０】
図１２は不正操作を解析する目的でＶＭ１のログを同一時間軸上に並べ直す例を示している。例えば、ＶＭ１上で動作するソフトウェアの試用期間（１年）が終了した後に、ＶＭ１の時刻が１年前の時刻に改竄され、当該ソフトウェアがＶＭ１に不正にインストールされ、その後、ＶＭ１の時刻が元の時刻に戻された場合を考える。ＶＭ１から取り出したログ（タイムスタンプ修正前）を解析するだけでは、ソフトウェアのインストールは適法に行われていることが解かる。しかし、時刻差分テーブルを見ると、ＶＭ１の時刻は、Feb 16 2005 11:00:00のときに１年前に戻された後、Feb 16 2005 11:11:00のときに再び元の時刻に戻されていることが解かる。そこで、ＶＭ１から取り出したログのログ出力時刻をホスト計算機４０の時間軸上に並べ直すと、Feb 16 2005 10:10:00のときにソフトウェアの試用期限が切れ、Feb 16 2005 10:05:00のときにソフトウェアが不正にインストールされていることが解かる。このように、本実施例によれば、仮想計算機５０の時刻が不正に改竄されても、ホスト計算機４０上では、正しい時刻で仮想計算機５０のログを取得できる。
【００５１】
本実施例によれば、ホスト計算機４０の時間体系とは異なる時間体系で動作する仮想計算機５０，６０のログを、ホスト計算機４０の時間体系に統一させた上で、一括取得できる。また、仮想計算機５０，６０の時刻が不正に改竄されたとしても、ホスト計算機４０上では、正しい時刻で仮想計算機５０，６０のログを取得できる。これにより、仮想計算機５０，６０のログの一元管理が可能となる。また、ログサーバを用いてネットワーク経由で仮想計算機からログを収集する従来方式と比較すると、仮想計算機間をネットワーク接続する必要がないので、セキュリティに優れている。更には、ホスト計算機４０と仮想計算機５０，６０との間の時刻差分に依存せずに、ホスト計算機４０上で各仮想計算機５０，６０の監査、障害解析、保守等を行うことができる。管理コストの低減にも資する。
【００５２】
尚、上述の説明では、同一ハードウェア資源上にホスト計算機４０と仮想計算機５０，６０が動作する例を示したが、本発明は、ディスクアレイ装置とその保守端末から成るストレージシステムのように、異なるハードウェアが集約されて成るシステムにおいて、それぞれのハードウェアが異なる時間体系で動作している場合にも適用できる。前述の例では、保守端末は、ディスクアレイ装置の時間体系に依存せずに、ディスクアレイ装置のログを保守端末の時間体系に合わせた上で取得することができる。
【００５３】
本発明は上述した実施例に限定されない。当業者であれば、本発明の範囲内で種々の追加や変更等を行うことができる。
【図面の簡単な説明】
【００５４】
【図１】本実施形態のログ収集方式の概要図である。
【図２】本実施形態の計算機システムを中心とするネットワーク構成図である。
【図３】本実施形態の計算機システムの機能構成図である。
【図４】ログメッセージの構造図である。
【図５】時刻差分テーブルの構造図である。
【図６】ログのテーブル構造図である。
【図７】管理計算機に表示される管理用インターフェースである。
【図８】ホスト計算機が仮想計算機との時刻差分を取得する処理フローである。
【図９】ホスト計算機が仮想計算機からログを収集する処理フローである。
【図１０】ホスト計算機がタイムスタンプを修正する処理フローである。
【図１１】仮想計算機のログに含まれるログ出力時刻の修正例である。
【図１２】仮想計算機のログに含まれるログ出力時刻の修正例である。
【符号の説明】
【００５５】
１０…計算機システム  ２２…管理計算機  ４０…ホスト計算機  ４２…時刻設定部  ４４…仮想計算機ログ取得部  ５０…仮想計算機  ５２…時刻設定部  ５３…ログ出力部  ６０…仮想計算機
【図１】
2006285875.tif 000003
【図２】
2006285875.tif 000004
【図３】
2006285875.tif 000005
【図４】
2006285875.tif 000006
【図５】
2006285875.tif 000007
【図６】
2006285875.tif 000008
【図７】
2006285875.tif 000009
【図８】
2006285875.tif 000010
【図９】
2006285875.tif 000011
【図１０】
2006285875.tif 000012
【図１１】
2006285875.tif 000013
【図１２】
2006285875.tif 000014