(57)【特許請求の範囲】
【請求項１】
第１の記憶部と、第２の記憶部と、プロセッサと、前記プロセッサと通信する周辺デバイスと、管理部と、を備えた情報処理装置であって、
前記プロセッサは、当該プロセッサと前記周辺デバイスとの通信異常に関する障害を検出した場合、前記管理部に障害発生を通知し、
前記管理部は、前記プロセッサから障害発生が通知された場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ＢＩＯＳ(Basic Input/Output System)起動要求とを前記プロセッサに出力するとともに、前記周辺デバイスから第１のログを取得して、取得した第１のログと、前記識別情報とを対応付けて前記第１の記憶部に格納し、
前記プロセッサは、前記管理部から出力されたＢＩＯＳ起動要求に応じて起動したＢＩＯＳによって自身から第２のログを取得して、取得した第２のログと、前記管理部から出力された識別情報とを対応付けて第２の記憶部に格納する、情報処理装置。
【請求項２】
前記プロセッサは、前記第２のログを解析して第２の解析結果を生成し、
前記管理部は、前記第１のログを解析して第１の解析結果を生成するとともに、前記プロセッサが生成した第２の解析結果と、当該第２の解析結果の生成に用いられた第２のログに対応付けられた識別情報とを取得して、取得した識別情報に対応付けられた第１のログから生成した第１の解析結果と、前記取得した第２の解析結果とを解析して、前記障害の原因となった故障個所を特定する請求項１に記載の情報処理装置。
【請求項３】
前記プロセッサは、前記第２のログを解析して生成した第２の解析結果と、当該第２のログに対応付けられた識別情報とを前記管理部に出力し、
前記管理部は、前記プロセッサから出力された第２の解析結果及び識別情報を取得して、前記障害の原因となった故障個所を特定する請求項２に記載の情報処理装置。
【請求項４】
前記プロセッサは、前記第２のログと、当該第２のログに対応付けられた識別情報とを取得して、取得した識別情報に対応付けられた第１のログと、前記取得した第２のログとを解析して、前記障害の原因となった故障個所を特定する請求項１に記載の情報処理装置。
【請求項５】
前記プロセッサは、前記ＢＩＯＳを実行することによって、前記第２の解析結果を生成する請求項２又は３に記載の情報処理装置。
【請求項６】
前記第１及び第２の解析結果は、前記障害の原因となった故障箇所を示す情報である請求項２、３、又は５項に記載の情報処理装置。
【請求項７】
前記管理部は、ＢＭＣ(Baseboard Management Controller)であり、
前記周辺デバイスは、ホストブリッジ及びＩ／Ｏ(Input/Output)ブリッジを含み、
前記第１及び第２の記憶部は、１つ又は複数の不揮発性メモリに含まれる請求項１乃至６のいずれか１項に記載の情報処理装置。
【請求項８】
プロセッサと、前記プロセッサと通信する周辺デバイスと、管理部と、を備えた情報処理装置における障害の原因を解析する障害解析方法であって、
前記プロセッサが、当該プロセッサと前記周辺デバイスとの通信異常に関するを検出した場合、前記管理部に障害発生を通知するステップと、
前記管理部が、前記プロセッサから障害発生が通知された場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ＢＩＯＳ(Basic Input/Output System)起動要求とを前記プロセッサに出力するステップと、
前記管理部が、前記周辺デバイスから第１のログを取得して、取得した第１のログと、前記識別情報とを対応付けて第１の記憶部に格納するステップと、
前記プロセッサが、前記管理部から出力されたＢＩＯＳ起動要求に応じて起動したＢＩＯＳによって自身から第２のログを取得して、取得した第２のログと、前記管理部から出力された識別情報とを対応付けて第２の記憶部に格納するステップと、を備えた障害解析方法。
【請求項９】
プロセッサと、前記プロセッサと通信する周辺デバイスと、を備えた情報処理装置における障害の原因を解析する障害解析方法であって、
前記プロセッサが当該プロセッサと前記周辺デバイスとの通信異常に関する障害を検出して障害発生の通知を出力した場合に、前記プロセッサから出力された障害発生の通知に応じて、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ＢＩＯＳ(Basic Input/Output System)起動要求とを前記プロセッサに出力するステップと、
前記周辺デバイスから第１のログを取得して、取得した第１のログを解析して生成した第１の解析結果と、前記識別情報とを対応付けて記憶部に格納するステップと、
前記プロセッサが、前記出力されたＢＩＯＳ起動要求及び識別情報を取得して、当該ＢＩＯＳ起動要求に応じて起動したＢＩＯＳによって自身から第２のログを取得して、取得した第２のログを解析して生成した第２の解析結果と、前記取得した識別情報とを出力した場合に、当該プロセッサから出力された第２の解析結果及び識別情報を取得するステップと、
前記取得した識別情報に対応付けられた第１の解析結果と、前記取得した第２の解析結果とを解析して、前記障害の原因となった故障個所を特定するステップと、を備えた障害解析方法。
【請求項１０】
プロセッサと、前記プロセッサと通信する周辺デバイスと、を備えた情報処理装置における障害の原因を解析する障害解析プログラムであって、
前記プロセッサが当該プロセッサと前記周辺デバイスとの通信異常に関する障害を検出して障害発生の通知を出力した場合に、前記プロセッサから出力された障害発生の通知に応じて、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ＢＩＯＳ(Basic Input/Output System)起動要求とを前記プロセッサに出力するステップと、
前記周辺デバイスから第１のログを取得して、取得した第１のログを解析して生成した第１の解析結果と、前記識別情報とを対応付けて記憶部に格納するステップと、
前記プロセッサが、前記出力されたＢＩＯＳ起動要求及び識別情報を取得して、当該ＢＩＯＳ起動要求に応じて起動したＢＩＯＳによって自身から第２のログを取得して、取得した第２のログを解析して生成した第２の解析結果と、前記取得した識別情報とを出力した場合に、当該プロセッサから出力された第２の解析結果及び識別情報を取得するステップと、
前記取得した識別情報に対応付けられた第１の解析結果と、前記取得した第２の解析結果とを解析して、前記障害の原因となった故障個所を特定するステップと、をコンピュータに実行させる障害解析プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、障害解析方法及び障害解析プログラムに関する。
【背景技術】
【０００２】
プロセッサ、メモリ、ホストブリッジ、Ｉ／Ｏ(Input/Output)ブリッジ、Ｉ／Ｏ(Input/Output)デバイス等のハードウェア部品と、それらのハードウェア部品を管理・制御するＢＭＣ(Baseboard Management Controller)とを搭載したコンピュータサーバがある。コンピュータサーバは、例えば、１つのＯＳ(Operating System)を動作させることによって、所望の処理を行う。このようなコンピュータサーバは、障害発生時に、障害原因となった故障個所を特定する事で高可用性、高保守性を実現することが求められている。
【０００３】
このようなコンピュータサーバにおいて、致命的な単一障害が発生した場合、コンピュータサーバ内の主要ハードウェア部品のログを収集して保持する。これは、収集したログを解析して、障害原因となった故障個所を特定して、特定した故障個所を縮退等することによって、ＯＳレベルでのリカバリ処理を可能とするためである。ここで、単一障害とは、コンピュータサーバ内の特定の１箇所が故障したことによって、コンピュータサーバに引き起こされる障害のことである。
【０００４】
ハードウェア部品のログを収集・保持する場合、一般的に、プロセッサ上で動作するＢＩＯＳ(Basic Input/Output System)がプロセッサのログを収集して保持し、プロセッサ以外の主要ハードウェア部品については、ＢＭＣがログを収集して保持する。これは、プロセッサのログに関しては、ＢＩＯＳだけでしか収集することできない情報があるためである。例えば、プロセッサに含まれるコアの情報がこれに該当する。
【０００５】
そして、ＢＩＯＳは、プロセッサから収集したログから故障個所を解析する。また、ＢＭＣは、プロセッサ以外のハードウェア部品から収集したログから故障個所を解析する。しかし、このように、単一障害が発生したときに、ＢＭＣとＢＩＯＳがハードウェア部品のログを分担して分散収集して保持し、ＢＭＣとＢＩＯＳが互いに独立して障害原因の解析を行う場合、障害原因となった故障個所を適確に特定することができない場合がある。例えば、プロセッサと、このプロセッサと通信するハードウェア部品の間のバスが故障している場合、ＢＩＯＳが動作するプロセッサ側のログのみでは、通信相手のハードウェア部品が故障しているのか、バスが故障しているのか、特定することができない。
【０００６】
ここで、特許文献１には、情報ハンドリングシステムにおける回復可能なエラーをロギングするための装置が開示されている。この装置は、ＢＩＯＳがステータスレジスタにおけるエラーを見つけた場合に、そのエラーをＢＭＣに通信し、ＢＭＣを介してそのエラーをメモリユニットにログしている。
【０００７】
また、特許文献２には、関連する事象通知を容易に検索したり、さらに検索条件を付加して、診断情報と照合したりする作業を効率よく行うことを可能とするエラー情報処理装置が開示されている。エラー情報処理装置は、プログラムＢの所定の処理中に何らかのエラーが検出されると、識別子を獲得した後、所定の診断情報を収集して識別子を付加して診断情報ファイルに書き出すとともに、識別子を設定した事象通知ｂをログファイルに格納する。また、獲得した識別子を復帰情報として呼び出し元のプログラムＡに通知し、呼び出し元のプログラムＡで副次的なエラーを認識すると、復帰情報として渡された識別子を設定した事象通知ａをログファイルに格納する。
【０００８】
しかし、特許文献１、２に開示の技術は、いずれもハードウェア部品のログを分散して収集・保持する場合における問題を解決する具体的な手段を開示したものではない。
【先行技術文献】
【特許文献】
【０００９】
【特許文献１】特許第２５６０８９２号公報
【特許文献２】特開２００７−１０９２３８号公報
【発明の概要】
【発明が解決しようとする課題】
【００１０】
背景技術として説明したように、プロセッサと、プロセッサ以外のハードウェア部品とで、別々にログを収集して故障個所を解析する場合、障害原因となった故障個所を適確に特定することができない場合があるという問題がある。
【００１１】
本発明の目的は、このような課題を解決するために、障害原因となった故障個所を適確に特定することを可能とする情報処理装置、障害解析方法及び障害解析プログラムを提供することである。
【課題を解決するための手段】
【００１２】
本発明の第１の態様にかかる情報処理装置は、第１の記憶部と、第２の記憶部と、プロセッサと、周辺デバイスと、管理部と、を備えた情報処理装置であって、前記管理部は、前記情報処理装置における障害を検出した場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ログ取得要求とを前記プロセッサに出力するとともに、前記周辺デバイスから第１のログを取得して、取得した第１のログと、前記識別情報とを対応付けて前記第１の記憶部に格納し、前記プロセッサは、前記管理部から出力されたログ取得要求に応じて、自身から第２のログを取得して、取得した第２のログと、前記管理部から出力された識別情報とを対応付けて第２の記憶部に格納するものである。
【００１３】
本発明の第２の態様にかかる障害解析方法は、プロセッサと、周辺デバイスと、管理部と、を備えた情報処理装置における障害の原因を解析する障害解析方法であって、前記管理部が、前記情報処理装置における障害を検出した場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ログ取得要求とを前記プロセッサに出力するステップと、前記管理部が、前記周辺デバイスから第１のログを取得して、取得した第１のログと、前記識別情報とを対応付けて前記第１の記憶部に格納するステップと、前記プロセッサが、前記管理部から出力されたログ取得要求に応じて、自身から第２のログを取得して、取得した第２のログと、前記管理部から出力された識別情報とを対応付けて第２の記憶部に格納するステップと、を備えたものである。
【００１４】
本発明の第３の態様にかかる障害解析方法は、プロセッサと、周辺デバイスと、を備えた情報処理装置における障害の原因を解析する障害解析プログラムであって、前記情報処理装置における障害を検出した場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ログ取得要求とを前記プロセッサに出力するステップと、前記周辺デバイスから第１のログを取得して、取得した第１のログを解析して生成した第１の解析結果と、前記識別情報とを対応付けて記憶部に格納するステップと、前記プロセッサが、前記出力されたログ取得要求及び識別情報を取得して、当該ログ取得要求に応じて、自身から第２のログを取得して、取得した第２のログを解析して生成した第２の解析結果と、前記取得した識別情報とを出力した場合に、当該第２の解析結果及び識別情報を取得するステップと、前記取得した識別情報に対応付けられた第１の解析結果と、前記取得した第２の解析結果とを解析して、前記障害の原因となった故障個所を特定するステップと、を備えたものである。
【００１５】
本発明の第４の態様にかかる障害解析プログラムは、プロセッサと、周辺デバイスと、を備えた情報処理装置における障害の原因を解析する障害解析プログラムであって、前記情報処理装置における障害を検出した場合に、当該障害と対応付けられた識別情報を生成して、生成した識別情報と、ログ取得要求とを前記プロセッサに出力するステップと、前記周辺デバイスから第１のログを取得して、取得した第１のログを解析して生成した第１の解析結果と、前記識別情報とを対応付けて記憶部に格納するステップと、前記プロセッサが、前記出力されたログ取得要求及び識別情報を取得して、当該ログ取得要求に応じて、自身から第２のログを取得して、取得した第２のログを解析して生成した第２の解析結果と、前記取得した識別情報とを出力した場合に、当該第２の解析結果及び識別情報を取得するステップと、前記取得した識別情報に対応付けられた第１の解析結果と、前記取得した第２の解析結果とを解析して、前記障害の原因となった故障個所を特定するステップと、をコンピュータに実行させるものである。
【発明の効果】
【００１６】
上述した本発明の各態様により、障害原因となった故障個所を適確に特定することを可能とする情報処理装置、障害解析方法及び障害解析プログラムを提供することができる。
【図面の簡単な説明】
【００１７】
【図１】本発明の実施の形態にかかる情報処理装置の構成図である。
【図２】本発明の実施の形態にかかるコンピュータサーバの構成図である。
【図３】本発明の実施の形態にかかるコンピュータサーバの処理を示すフローチャートである。
【図４】本発明の実施の形態にかかるコンピュータサーバの処理を説明するための図である。
【図５】本発明の実施の形態にかかるログの格納例を示す図である。
【発明を実施するための形態】
【００１８】
図１を参照して、本発明の実施の形態にかかるコンピュータサーバの概要となる情報処理装置の構成について説明する。図１は、本発明の実施の形態にかかる情報処理装置の構成図である。
情報処理装置２は、管理部５１と、プロセッサ５２と、周辺デバイス５３と、第１の記憶部５４と、第２の記憶部５５とを有する。
【００１９】
管理部５１は、情報処理装置２における障害を検出した場合に、この障害と対応付けられた識別情報を生成する。そして、生成した識別情報と、ログ取得要求とをプロセッサ５２に出力する。また、管理部５１は、周辺デバイス５３から第１のログを取得して、取得した第１のログと、生成した識別情報とを対応付けて第１の記憶部５４に格納する。
プロセッサ５２は、管理部５１から出力されたログ取得要求に応じて、自身から第２のログを取得する。そして、取得した第２のログと、管理部５１から出力された識別情報とを対応付けて第２の記憶部５５に格納する。
【００２０】
周辺デバイス５３は、例えば、ホストブリッジやＩ／Ｏブリッジ等のプロセッサ以外のＬＳＩである。
第１の記憶部５４は、管理部５１が取得したログが格納される。
第２の記憶部５５は、プロセッサ５２が取得したログが格納される。
【００２１】
続いて、本発明の実施の形態にかかる情報処理装置の処理について説明する。
管理部５１は、情報処理装置２における障害を検出した場合に、検出した障害と対応付けられた識別情報を生成する。そして、管理部５１は、生成した識別情報と、ログ取得要求とをプロセッサ５２に出力する。また、管理部５１は、周辺デバイス５３から第１のログを取得して、取得した第１のログと、生成した識別情報とを対応付けて第１の記憶部５４に格納する。
【００２２】
プロセッサ５２は、管理部５１から出力されたログ取得要求と、識別情報とを取得する。プロセッサ５２は、管理部５１から出力されたログ取得要求を取得した場合、自身から第２のログを取得する。そして、プロセッサ５２は、取得した第２のログと、管理部５１から出力された識別情報とを対応付けて第２の記憶部５５に格納する。
【００２３】
続いて、図２を参照して、本発明の実施の形態にかかるコンピュータサーバの構成について説明する。図２は、本発明の実施の形態にかかるコンピュータサーバの構成図である。
【００２４】
コンピュータサーバ１は、ＢＭＣ(Baseboard Management Controller)１０と、プロセッサ１１、１２と、メモリ１３と、ホストブリッジ１４と、Ｉ／Ｏブリッジ(Input/Output)１５と、不揮発性メモリ１６、１７とを有する。
ホストブリッジ１４は、プロセッサ１１、１２及びメモリ１３と、システムバス３１によって相互に接続されている。ＢＭＣ１０は、プロセッサ１１、１２、ホストブリッジ１４及びＩ／Ｏブリッジ１５と、管理バス３２によって相互に接続されている。また、ホストブリッジ１４は、拡張Ｉ／Ｏデバイス２０、２１と接続されている。また、Ｉ／Ｏブリッジ１５は、ホストブリッジ１４、Ｉ/Ｏデバイス２２、２３と接続されている。
【００２５】
ＢＭＣ１０は、コンピュータサーバ１に含まれるプロセッサ１１、１２、メモリ１３、ホストブリッジ１４及びＩ／Ｏブリッジ１５等の主要ハードウェア部品を管理・制御する。ＢＭＣ１０は、例えば、ＣＰＵ、メモリ等を有し、ＣＰＵによって所定のプログラムを実行することによって、ハードウェア部品を管理・制御する。つまり、ＢＭＣ１０は、所定のプログラムを実行することによって、後述するログの収集及び解析を行う。ＢＭＣ１０は、管理部５１に相当する。
【００２６】
プロセッサ１１、１２は、メモリ１３に格納されるＯＳやアプリケーションプログラム等の任意のプログラムを実行する。また、プロセッサ１１、１２は、ＢＭＣ１０からのログ取得要求に応じて、自身からログを収集する。ログには、例えば、自身が有するレジスタ等のハードウェアの値が含まれる。
【００２７】
メモリ１３は、プロセッサ１１、１２が実行する任意のプログラムが格納される。
ホストブリッジ１４は、プロセッサ１１、１２、メモリ１３、Ｉ／Ｏブリッジ１５及び拡張Ｉ／Ｏデバイス２０、２１間のデータ伝送を行う。
Ｉ／Ｏブリッジ１５は、ホストブリッジ１４、不揮発性メモリ１７、Ｉ／Ｏデバイス２２、２３間のデータ転送を行う。プロセッサ１１、１２以外のホストブリッジ１４、Ｉ／Ｏブリッジ１５等のハードウェア部品は、周辺デバイス５３に相当する。
【００２８】
不揮発性メモリ１６、１７は、ＢＭＣ１０又はプロセッサ１１、１２が収集したログが格納される。不揮発性メモリ１６は、ＢＭＣによって管理される。不揮発性メモリ１７は、ＢＩＯＳによって管理される。不揮発性メモリ１６は、第１の記憶部５４に相当し、不揮発性メモリ１７は、第２の記憶部５５に相当する。
【００２９】
拡張Ｉ／Ｏデバイス２０、２１は、コンピュータサーバ１に追加される任意のＩ／Ｏデバイスである。
Ｉ／Ｏデバイス２２、２３は、例えば、ネットワークデバイス、ＤＩＳＫデバイス等の入出力装置である。
【００３０】
続いて、図３〜５を参照して、本発明の実施の形態にかかるコンピュータサーバの処理を説明する。図３は、本発明の実施の形態にかかるコンピュータサーバの処理を示すフローチャートである。より詳細には、図３は、本発明の実施の形態にかかるコンピュータサーバの分散ログ管理及び故障個所の解析(以下、「故障解析」とする)方法における、致命的な障害発生から故障解析までの処理を示すフローチャートである。図４は、本発明の実施の形態にかかるコンピュータサーバの処理順序を示す図である。なお、ここでは、プロセッサ１１において致命的な障害を検知した場合の動作について説明する。
【００３１】
プロセッサ１１は、致命的な障害を検出すると、管理バス３２を介して、ＢＭＣ１０に障害発生を通知する(Ｓ１００)。
ＢＭＣ１０は、プロセッサ１１から障害発生が通知されると、自身が管理・保持しているｅｖｅｎｔ ｔａｂｌｅに障害発生ｅｖｅｎｔを登録すると共に、この障害発生ｅｖｅｎｔに対応したｅｖｅｎｔ ＩＤを算出する(Ｓ１０１)。つまり、ＢＭＣ１０は、プロセッサ１１から出力された障害発生の通知によって、プロセッサ１１において発生した障害を検出する。ここで、ｅｖｅｎｔ ｔａｂｌｅは、コンピュータサーバ１内で発生した様々なｅｖｅｎｔを時系列に保持しておくものである。したがって、例えば、障害発生ｅｖｅｎｔとして、障害発生時刻、障害内容等を含んだ情報が格納される。また、ｅｖｅｎｔ ｔａｂｌｅは、ＢＭＣ１０が有するメモリ等の記憶装置に格納するようにしてもよいし、不揮発性メモリ１６に格納するようにしてもよい。
【００３２】
ｅｖｅｎｔ ＩＤは、ｅｖｅｎｔ ｔａｂｌｅ内に保持された様々なｅｖｅｎｔを識別するためのＩＤである。ｅｖｅｎｔ ＩＤは、例えば、ｅｖｅｎｔ ｔａｂｌｅのエントリ番号が使用される。しかし、ｅｖｅｎｔ ＩＤの算出方法はこれに限られず、一意な番号又は文字列等の情報を任意に生成するようにしてもよい。
【００３３】
ＢＭＣ１０は、ｅｖｅｎｔ ＩＤを算出した後、管理バス３２を介して、ホストブリッジ１４及びＩ／Ｏブリッジ１５のログを収集する(Ｓ１０２)。つまり、ＢＭＣ１０は、プロセッサ１１、１２以外のログ(以下、「ｃｈｉｐｓｅｔログ」とする)を収集する。ｃｈｉｐｓｅｔログには、例えば、ホストブリッジ１４及びＩ／Ｏブリッジ１５が有するレジスタ等のハードウェアの値が含まれる。
【００３４】
ＢＭＣ１０は、ｃｈｉｐｓｅｔログの収集を完了すると、管理バス３２を介して、プロセッサ１１、１２に対し、ＢＩＯＳ呼び出しを行う。ＢＩＯＳ呼び出しは、例えば、ＢＭＣ１０が割り込み信号線(図示せず)を介して、ＢＩＯＳの起動を要求する割り込み信号をプロセッサ１１、１２に出力し、その出力を受けたプロセッサ１１、１２がＢＩＯＳを起動することによって行う。また、ＢＭＣ１０が管理バス３２を介して、ＢＩＯＳの起動を要求する情報を出力するようにしてもよい。
【００３５】
また、ＢＭＣ１０は、ステップＳ１０１で算出したｅｖｅｎｔ ＩＤをプロセッサ１１、１２において起動されたＢＩＯＳに通知する(Ｓ１０３)。ＢＭＣ１０は、例えば、管理バス３２を介して、ｅｖｅｎｔ ＩＤをプロセッサ１１、１２に出力することによって、ｅｖｅｎｔ ＩＤをＢＩＯＳに通知する。
【００３６】
ＢＭＣ１０は、ステップＳ１０２でホストブリッジ１４、Ｉ／Ｏブリッジ１５から収集したｃｈｉｐｓｅｔログについて故障解析を行う(Ｓ１０４)。そして、ＢＭＣ１０は、その解析結果を、ステップＳ１０１で算出したｅｖｅｎｔ ＩＤと対応付けて、一時的に保持しておく。ここで、解析結果は、ＢＭＣ１０が有する記憶装置に格納することによって保持するようにしてもよく、不揮発性メモリ１６に格納することによって保持するようにしてもよい。
【００３７】
ＢＭＣ１０は、ステップＳ１０２でホストブリッジ１４、Ｉ／Ｏブリッジ１５から収集したｃｈｉｐｓｅｔログを、不揮発性メモリ１６に格納する(Ｓ１０５)。この際、ステップＳ１０１で算出したｅｖｅｎｔ ＩＤをｃｈｉｐｓｅｔログと対応付けて格納する。これによって、後述するように、同一障害発生を契機にＢＩＯＳが収集したプロセッサのログと、ｃｈｉｐｓｅｔログとを対応付けできるようにしている。
【００３８】
プロセッサ１１、１２で呼び出されたＢＩＯＳは、自身が動作するプロセッサのログ(以下、「Ｐｒｏｃｅｓｓｏｒログ」とする)を収集する(Ｓ１１０)。Ｐｒｏｃｅｓｓｏｒログには、例えば、プロセッサ１１、１２が有するレジスタ等のハードウェアの値が含まれる。
【００３９】
プロセッサ１１、１２で動作するＢＩＯＳは、ステップＳ１１０で収集したＰｒｏｃｅｓｓｏｒログに対して故障解析を行う。そして、ＢＩＯＳは、管理バス３２を介して、ＢＭＣ１０に解析結果を通知する(Ｓ１１１)。この際、ステップＳ１０３でＢＭＣ１０から渡されたｅｖｅｎｔ ＩＤも同時に通知する。つまり、ＢＩＯＳには、プロセッサに対してログの収集及び故障解析を行わせる命令が含まれており、プロセッサ１１、１２は、ＢＩＯＳに含まれる命令を実行することによって、自身のログの収集及び故障解析を行う。なお、ＢＩＯＳは、例えば、不揮発性メモリ１７又はコンピュータサーバ１が有するＲＯＭ(Read Only Memory)(図示せず)等の記憶装置に格納されており、プロセッサ１１、１２が記憶装置からロードすることによって実行される。
【００４０】
プロセッサ１１、１２で動作するＢＩＯＳは、自身が収集したＰｒｏｃｅｓｓｏｒログを、不揮発性メモリ１７に格納する(Ｓ１１２)。この際、ステップＳ１０３でＢＭＣ１０から渡されたｅｖｅｎｔ ＩＤをＰｒｏｃｅｓｓｏｒログと対応付けて同時に格納する。これによって、同一障害発生を契機にＢＭＣ１０が収集したｃｈｉｐｓｅｔログと、Ｐｒｏｃｅｓｓｏｒログとを対応付けできるようにしている。
【００４１】
ＢＭＣ１０は、ステップＳ１０４で自身が生成した解析結果と、ステップＳ１１１でプロセッサ１１、１２から渡された解析結果とに基づいて、再度故障解析を行う(Ｓ１０６)。具体的には、ステップＳ１０４で記憶装置に格納した解析結果のうち、ステップＳ１１１で解析結果とともに渡されたｅｖｅｎｔ ＩＤに対応付けられた解析結果と、プロセッサ１１、１２から渡された解析結果とに基づいて、再度故障解析を行う。これにより、同一障害発生契機に収集された全てのハードウェア部品を総合的・横断的に判断した故障解析が可能となり、故障解析における精度を向上することができる。
【００４２】
ここで、ステップＳ１０６の処理における例を詳細に説明する。まず、解析結果には、ログを故障解析によって特定した故障個所を示す情報と、特定した被疑箇所の確実性を示す補助的な中間情報を含む。例えば、プロセッサ１１がホストブリッジ１４間のシステムバス３１が故障している場合、プロセッサ１１は、ホストブリッジ１４と通信できていなかったことをＰｒｏｃｅｓｓｏｒログから判断するが、システムバス３１が故障している可能性もあるため、ホストブリッジ１４を故障個所とし、故障個所が確実ではないとする中間情報を含んだ解析結果を生成する。また、その場合、ＢＭＣ１０は、プロセッサ１１と通信できていなかったことをｃｈｉｐｓｅｔログから判断するが、プロセッサ１１を故障個所とし、故障個所が確実ではないとする中間情報を含んだ解析結果を生成する。
【００４３】
よって、ステップＳ１０６で、双方の解析結果を突き合わせることによって、プロセッサ１１とホストブリッジ１４のそれぞれが相手と通信できていなかったことが判断できるため、プロセッサ１１がホストブリッジ１４間のシステムバス３１が故障していると判断することができ、システムバス３１を故障個所と特定することができる。また、この例における中間情報として、次に故障個所として可能性のあるシステムバス３１を示す情報を解析結果に含めてもよい。このように、同一障害発生契機に収集された全てのハードウェア部品のログを総合的・横断的、かつ、自動的に判断した故障解析が可能となり、故障解析における精度を向上することができる。
【００４４】
続いて、図５を参照して、本発明の実施の形態にかかるログの格納例について説明する。図５は、本発明の実施の形態にかかるログの格納例を示す図である。
【００４５】
図５は、ステップＳ１０５、Ｓ１１２で、ハードウェア部品のログを格納する不揮発性メモリ１６、１７のそれぞれに格納されたログのデータ構造の一例を示したものである。このように、ログと対応付けてｅｖｅｎｔ ＩＤを格納しておくことで、後に不揮発性メモリ１６、１７からコンピュータサーバ１外へログを回収した場合でも、どのログ同士が同一障害発生に起因して収集されたものなのかを即座に判断することができる。つまり、対応付けられたｅｖｅｎｔ ＩＤが一致するログが同一障害発生に起因して収集されたものと判断することができる。その結果、同一障害発生契機に収集された全てのハードウェア部品のログが容易かつ確実に判断可能となるため、人手による故障解析時間を短縮することができ、総合的・横断的に判断する場合における故障解析における精度を向上することができる。
【００４６】
以上に説明したように、本実施の形態によれば、コンピュータサーバ内の単一障害に起因してＢＭＣとＢＩＯＳが分担して分散収集・保持したログを同一のｅｖｅｎｔ ＩＤで対応付けて管理するようにしている。よって、分散収集・保持されたログをコンピュータサーバ外へ回収し、人手による障害原因究明を行う場合でも、どのログが同一障害発生に起因して収集されたものなのかｅｖｅｎｔ ＩＤを用いて容易かつ確実に判断することができる。そのため、人手による障害原因となった故障個所究明の時間短縮を図ることができ、総合的・横断的に故障解析する場合に、障害原因となった故障個所を適確に特定することを可能とする。
【００４７】
また、本実施の形態によれば、ＢＭＣとＢＩＯＳが分担して分散収集・保持したログのうち、同一のｅｖｅｎｔ ＩＤで対応付けたものから生成した解析結果のそれぞれに基づいて、再度故障解析を行うようにしている。そのため、同一障害発生契機に収集された全てのハードウェア部品のログを総合的・横断的、かつ、自動的に判断した故障解析が可能となり、故障解析における精度を向上することができる。つまり、今まで自動的に故障原因を特定できなかった障害に対しても障害原因となった故障個所を適確に特定することを可能とする。
【００４８】
したがって、本発明は、特に、上述した実施の形態において例示したように、自身でしか収集することができない情報をログとして収集して解析する機能を有するプロセッサと、ログを収集して解析する機能を有さず、ＢＭＣによってログが収集される周辺デバイスとで、別々にログの収集及び解析を行う必要がある場合であっても故障個所を適確に特定することができる点で有効である。
【００４９】
なお、本発明は上記実施の形態に限られたものではなく、趣旨を逸脱しない範囲で適宜変更することが可能である。
本実施の形態では、プロセッサ１１において障害が発生した場合について例示したが、ＢＭＣ１０がプロセッサ以外のハードウェア部品における障害の発生を検出した場合についても上述した処理を実行するようにしてもよい。例えば、ホストブリッジ１４、Ｉ／Ｏブリッジ１５において障害の発生した場合に、ホストブリッジ１４、Ｉ／Ｏブリッジ１５から、その旨を示す割り込み信号をＢＭＣ１０に出力することによってプロセッサ以外のハードウェア部品における障害の発生を検出する。
【００５０】
また、本実施の形態では、プロセッサ１１、１２がＰｒｏｃｅｓｓｏｒログの解析結果とｅｖｅｎｔ ＩＤをＢＭＣ１０に出力するようにしているが、ＢＭＣ１０とプロセッサ１１、１２で共有してアクセス可能な記憶装置を用意して、プロセッサ１１、１２が解析結果及びｅｖｅｎｔ ＩＤをその記憶装置に格納して、ＢＭＣ１０が記憶装置から解析結果及びｅｖｅｎｔ ＩＤを取得するようにしてもよい。
【００５１】
また、ＢＭＣ１０がプロセッサ１１、１２からＰｒｏｃｅｓｓｏｒログとｅｖｅｎｔ ＩＤを取得して、取得したＰｒｏｓｅｓｓｏｒログと、取得したｅｖｅｎｔ ＩＤと対応付けられたｃｈｉｐｓｅｔログとを解析して、故障個所を特定するようにしてもよい。
【００５２】
また、本実施の形態において例示したように、Ｐｒｏｃｅｓｓｏｒログとｃｈｉｐｓｅｔログが１つのｅｖｅｎｔ ＩＤで対応付けられていなくてもよい。例えば、ＢＭＣ１０で、ｅｖｅｎｔ ＩＤとして"１"及び"２"を生成して、ｃｈｉｐｓｅｔログとｅｖｅｎｔ ＩＤ＝"２"とを対応付けて格納するようにし、ｅｖｅｎｔ ＩＤ＝"２"をプロセッサ１１、１２に出力して、Ｐｒｏｃｅｓｓｏｒログとｅｖｅｎｔ ＩＤ＝"２"とを対応付けて格納するようにしてもよい。つまり、Ｐｒｏｃｅｓｓｏｒログ及びｃｈｉｐｓｅｔログを複数のｅｖｅｎｔ ＩＤで対応付けてもよい。
【００５３】
以上に説明した本発明にかかるＢＭＣで実行されるプログラムや、プロセッサで実行されるＢＩＯＳ等のプログラムは様々な種類の記憶媒体に格納することが可能であり、通信媒体を介して伝達されることが可能である。ここで、記憶媒体には、例えば、フレキシブルディスク、ハードディスク、磁気ディスク、光磁気ディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)、ＤＶＤ(Digital Versatile Disc)、ＢＤ(Blu-ray(登録商標) Disc)、ＲＯＭカートリッジ、バッテリバックアップ付きＲＡＭ(Random Access Memory)、メモリカートリッジ、フラッシュメモリカートリッジ、不揮発性ＲＡＭカートリッジを含む。また、通信媒体には、電話回線等の有線通信媒体、マイクロ波回線等の無線通信媒体を含む。また、上述のプログラムは、インターネットを介して伝達することも可能である。
【００５４】
また、コンピュータが上述のプログラムを実行することにより、上述の実施の形態の機能が実現されるだけではなく、このプログラムの指示に基づき、コンピュータ上で稼動しているＯＳもしくはアプリケーションソフトと共同して上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。さらに、このプログラムの処理の全てもしくは一部がコンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットにより行われて上述の実施の形態の機能が実現される場合も、発明の実施の形態に含まれる。
【符号の説明】
【００５５】
１    コンピュータサーバ
２    情報処理装置
１０    ＢＭＣ
１１、１２、５２    プロセッサ
１３    メモリ
１４    ホストブリッジ
１５    Ｉ／Ｏブリッジ
１６、１７    不揮発性メモリ
２０、２１    拡張Ｉ／Ｏデバイス
２２、２３    Ｉ／Ｏデバイス
３１    システムバス
３２    管理バス
５１    管理部
５３    周辺デバイス
５４    第１の記憶部
５５    第２の記憶部
【図１】
0005495310.tif 000002
【図２】
0005495310.tif 000003
【図３】
0005495310.tif 000004
【図４】
0005495310.tif 000005
【図５】
0005495310.tif 000006