(57)【要約】【課題】障害発生時に、システム内の全ての装置について、着実に障害ログを採取すると同時に、最大限の情報量の障害ログを採取する障害ログ採取装置を提供する。【解決手段】本願発明の障害ログ採取装置は、内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力する処理プロセッサと、前記障害発生情報を受信して、前記処理プロセッサが、前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する診断プロセッサと、を備える。【選択図】      図１
2014154017.tif 000002
【特許請求の範囲】
【請求項１】
内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力する処理プロセッサと、
前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する診断プロセッサと、
を備える障害ログ採取装置。
【請求項２】
前記診断プロセッサは、前記障害発生情報を受信したあと、所定の時間を経ても前記処理プロセッサから前記第一のログ情報を入手できない場合に、前記第二のログ情報の採取を行う、
請求項１の障害ログ採取装置。
【請求項３】
内部状態の情報を、前記処理プロセッサから採取可能に保持する論理回路を更に備え、
前記処理プロセッサは、前記論理回路の内部状態を、前記障害発生情報を受信したときに、第三のログ情報として採取する、
請求項１乃至２の障害ログ採取装置。
【請求項４】
処理プロセッサが、内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力し、
診断プロセッサが、前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する、
障害ログ採取方法。
【請求項５】
前記診断プロセッサが、前記障害発生情報を受信したあと、所定の時間を経ても前記処理プロセッサから前記第一のログ情報を入手できない場合に、前記第二のログ情報の採取を行う、
請求項４の障害ログ採取方法。
【請求項６】
前記処理プロセッサが、内部状態の情報を前記処理プロセッサから採取可能に保持する論理回路の内部状態を、前記障害発生情報を受信したときに、第三のログ情報として採取する、
請求項４乃至５の障害ログ採取方法。
【請求項７】
内部状態の情報を外部から一部採取可能に保持するとともに、前記障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力する第一の採取処理を処理プロセッサに実行させ、
前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する第二の採取処理を診断プロセッサに実行させる、
障害ログ採取プログラム。
【請求項８】
前記障害発生情報を受信したあと、所定の時間を経ても前記処理プロセッサから前記第一のログ情報を入手できない場合に、前記第二のログ情報の採取を行う前記第二の採取処理を前記診断プロセッサに実行させる、
請求項７の障害ログ採取プログラム。
【請求項９】
内部状態の情報を前記処理プロセッサから採取可能に保持する論理回路の内部状態を、前記障害発生情報を受信したときに、第三のログ情報として採取する第三の採取処理を前記処理プロセッサに実行させる、
請求項７乃至８の障害ログ採取プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本願発明は、障害発生時にシステム内の各装置の障害ログを採取するための障害ログ採取装置、障害ログ採取方法、及び、障害ログ採取プログラムに関する。
【背景技術】
【０００２】
高度情報化社会の進展にともない、コンピュータシステムに求められる信頼性、可用性、保守性を向上させるための技術の重要性が益々高まってきており、様々な動作環境にあるコンピュータシステムを診断し、障害を復旧させるための技術が開発されてきている。
【０００３】
このような障害の診断、及び、復旧に関連する技術として、特許文献１には、エラーログ情報をＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ  Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）が所定のメモリに記憶することで、オペレーティングシステムの種別に依存しない診断システムを実現した、パーソナルコンピュータ用の診断システムが公開されている。
【０００４】
また、特許文献２には、割り込みマスク中など、一時的にＢＩＯＳが動作できないタイミングで、オペレーティングシステムから障害復旧指示がでた場合でも、障害復旧代替パスを設けることにより、障害復旧処理ができるようにした装置が公開されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開平5-173808号公報
【特許文献２】特開2011-128795号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
高いレベルの信頼性、可用性、保守性が要求される、比較的規模の大きなコンピュータシステムでは、障害発生時にシステム内の各装置の障害ログを採取するための専用の診断装置を備えている。その理由は、コンピュータシステム内の各々の装置に自身の障害ログを出力させた場合、障害発生装置がログ出力動作を実行できずに、一部障害ログを採取できなくなる可能性があるため、専用の診断装置が、障害発生装置を含めた全ての装置の障害ログを採取する必要があるからである
しかしながら、診断装置が各装置の障害ログを外部から採取した場合、通常、各装置が包含するレジスタには、外部から値を読み込むことができないものがあるため、診断装置が採取した障害ログは、各装置内の一部レジスタに関するものでしかない。すなわち、全ての装置の障害ログを確実に採取しようとした場合、障害ログの情報量が犠牲になるという問題がある。
【０００７】
上述の特許文献１乃至２は、診断装置を備えたコンピュータシステムに存在する上述の問題を解決するための技術については、特に言及してはいない。
【０００８】
本願発明の目的は、上述の問題を解決した障害診断システム、障害診断方法、及び、障害診断プログラムを提供することである。
【課題を解決するための手段】
【０００９】
本願発明の一実施形態の障害ログ採取装置は、内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力する処理プロセッサと、前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する診断プロセッサと、を備える。
【００１０】
本願発明の一実施形態の障害ログ採取方法は、処理プロセッサが、内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力し、前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する。
【００１１】
本願発明の一実施形態の障害ログ採取プログラムは、内部状態の情報を外部から一部採取可能に保持するとともに、前記障害発生を検知した場合、前記内部状態の情報を第一のログ情報として採取して、障害発生を示す障害発生情報と前記第一のログ情報とを出力し、外部から前記障害発生情報を受信した場合、前記第一のログ情報を採取して、前記第一のログ情報を出力する第一の採取処理を処理プロセッサに実行させ、前記障害発生情報を受信して、前記処理プロセッサが前記第一のログ情報を採取できない場合に、前記処理プロセッサの外部から前記内部状態の一部の情報を、第二のログ情報として採取する第二の採取処理を診断プロセッサに実行させる。
【発明の効果】
【００１２】
本願発明は、障害発生時に、システム内の全ての装置について、着実に障害ログを採取すると同時に、最大限の情報量の障害ログを採取することを可能とする。
【図面の簡単な説明】
【００１３】
【図１】本願発明の第１の実施形態の障害ログ採取装置の構成を示すブロック図である。
【図２】本願発明の第１の実施形態の動作を示すフローチャートである。
【図３】本願発明の第２の実施形態の障害ログ採取装置の構成を示すブロック図である。
【発明を実施するための形態】
【００１４】
本願発明の第１の実施の形態について図面を参照して詳細に説明する。
【００１５】
図１は本実施形態の障害ログ採取装置１の構成を示すブロック図である。
【００１６】
本願発明の障害ログ採取装置１は、サーバ装置等の情報処理装置であり、処理プロセッサ１０−１乃至１０−ｎと、診断プロセッサ２０と、入出力制御回路３０と、を包含している。
【００１７】
診断プロセッサ２０は、処理プロセッサ１０−１乃至１０−ｎと、入出力制御回路３０に関するログ情報を元に、障害発生時に、これら装置の診断を行う。
【００１８】
入出力制御回路３０は、通常動作時において、処理プロセッサ１０−１乃至１０−ｎから主記憶（図示せず）や周辺装置（図示せず）へのアクセスの制御を行う。入出力制御回路３０は、障害ログ採取装置１における障害発生を最初に検知すると、障害が発生したことを示す障害発生情報を、処理プロセッサ１０−１乃至１０−ｎと、診断プロセッサ２０へ送信する。
【００１９】
処理プロセッサ１０−１乃至１０−ｎ上は、それぞれ、ログ取得部１１−１乃至１１−ｎを包含している。ログ取得部１１−１乃至１１−ｎは、それぞれ、処理プロセッサ１０−１乃至１０−ｎの障害ログを採取する。ログ取得部１１−１乃至１１−ｎは、ＢＩＯＳ等のプログラムの場合もあれば、処理プロセッサ内に設けられた所定の論理回路の場合もある。
【００２０】
何れかの処理プロセッサ１０−ｉ（ｉは１乃至ｎのいずれかの整数）は、障害ログ採取装置１における障害発生を最初に検知すると、障害発生情報を、他の処理プロセッサと診断プロセッサ２０へ送信する。
【００２１】
処理プロセッサ１０−１乃至１０−ｎのうち、障害により停止していない処理プロセッサ１０−ｊ（ｊは１乃至ｎのいずれかの整数）は、自身で障害発生を検知した後、あるいは、外部から障害発生情報を受信した後、ログ取得部１１−ｊに障害ログの採取を指示する。
【００２２】
ログ取得部１１−ｊは、障害ログ採取の指示を受けると、処理プロセッサ１０−ｊ内の各レジスタの値などの内部状態の情報を、処理プロセッサ採取ログ情報１２−ｊとして採取し、処理プロセッサ採取ログ情報１２−ｊを、診断プロセッサ２０内のメモリへ出力する。
【００２３】
処理プロセッサ１０−１乃至１０−ｎのうち、障害により停止していない何れかの処理プロセッサのログ取得部は、障害ログ採取の指示を受けると、入出力制御回路３０内の各レジスタの値などの内部状態の情報を、入出力制御回路ログ情報１３として採取し、入出力制御回路ログ情報１３を、診断プロセッサ２０内のメモリへ出力する。
【００２４】
図１は、処理プロセッサ１０−１におけるログ取得部１１−１が、入出力制御回路ログ情報１３を採取した場合の例を示しているが、入出力制御回路ログ情報１３の採取は、他の処理プロセッサのログ取得部が行う場合もあれば、あるいは、複数の処理プロセッサのログ取得部が、分担して行う場合もある。
【００２５】
診断プロセッサ２０は、障害発生情報を受信した後、時間のカウントを開始する、診断プロセッサ２０は、処理プロセッサ採取ログ情報１２−１乃至１２−ｎ、及び、入出力制御回路ログ情報１３を全て受信すると、時間のカウントを停止し、受信したログ情報を基に、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０の診断を実施する。
【００２６】
処理プロセッサ１０−１乃至１０−ｎのいずれかが、障害によりダウンしている場合は、診断プロセッサ２０は、障害発生情報を受信してからのカウント時間が所定の値になっても、処理プロセッサ採取ログ情報１２−１乃至１２−ｎ、及び、入出力制御回路ログ情報１３の少なくとも何れかを受信できない。この場合、診断プロセッサ２０は、Ｉ２Ｃ（Ｉｎｔｅｒ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）バス４０を介して、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０の内部状態の情報を、外部から診断プロセッサ採取ログ情報２１として採取する。診断プロセッサ２０は、診断プロセッサ採取ログ情報２１を基に、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０の診断を実施する。
【００２７】
次に、図２のフローチャートを参照して、本実施形態の動作について詳細に説明する。
【００２８】
処理プロセッサ１０−ｉ（ｉは１乃至ｎのいずれかの整数）は障害発生を検知し、全ての処理プロセッサ１０−１乃至１０−ｎ、および、診断プロセッサ２０へ、障害発生を送信する（Ｓ１０１）。診断プロセッサ２０は、処理プロセッサ１０−ｉから障害発生を受信してからの時間のカウントを開始する（Ｓ１０２）。障害で停止していない処理プロセッサ１０−ｊ（ｊは１乃至ｎのいずれかの整数）は、ログ取得部１１−ｊに、障害ログ採取を指示する（Ｓ１０３）。ログ取得部１１−ｊは、処理プロセッサ１０−ｊの内部状態の情報を、処理プロセッサ採取ログ情報１２−ｊとして採取し、診断プロセッサ２０へ送信する（Ｓ１０４）。
【００２９】
障害で停止していないプロセッサのいずれかのログ取得部は、入出力制御回路３０の内部状態の情報を、入出力制御回路ログ情報１３として採取し、診断プロセッサ２０内のメモリに出力する（Ｓ１０５）。
【００３０】
診断プロセッサ２０が、処理プロセッサ採取ログ情報１２−１乃至１２−ｎと入出力制御回路ログ情報１３を全て入手した場合（Ｓ１０６でＹｅｓ）、診断プロセッサ２０は、処理プロセッサ１０−ｉから障害発生を受信してからの時間のカウントを停止する（Ｓ１０７）。診断プロセッサ２０は、処理プロセッサ採取ログ情報１２−１乃至１２−ｎ、及び、入出力制御回路ログ情報１３をもとに、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０を診断する（Ｓ１０８）。
【００３１】
診断プロセッサ２０が、処理プロセッサ採取ログ情報１２−１乃至１２−ｎと入出力制御回路ログ情報１３の少なくとも何れかを入手できない場合（Ｓ１０６でＮｏ）、診断プロセッサ２０のカウント時間が、所定の値未満の場合は（Ｓ１０９でＮｏ）、処理はＳ１０６に戻る。
【００３２】
診断プロセッサ２０のカウント時間が、所定の値以上の場合は（Ｓ１０９でＹｅｓ）、診断プロセッサ２０は、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０の内部状態の情報を、Ｉ２Ｃバス４０を介して、診断プロセッサ採取ログ情報２１として採取する（Ｓ１１０）。診断プロセッサ２０は、診断プロセッサ採取ログ情報２１をもとに、処理プロセッサ１０−１乃至１０−ｎ、及び、入出力制御回路３０を診断し（Ｓ１１１）、全体の処理は終了する。
【００３３】
本実施形態には、障害発生時に、システム内の全ての装置について、着実に障害ログを採取すると同時に、最大限の情報量の障害ログを採取できる効果がある。その理由は、障害発生時に、処理プロセッサ１０−１乃至１０−ｎのログ取得部１１−１乃至１１−ｎが、自プロセッサと入出力制御回路３０のログ情報を採取し、何れかの処理プロセッサがダウンしてログ情報を採取できない場合は、診断プロセッサ２０が、外部から処理プロセッサ１０−１乃至１０−ｎと入出力制御回路３０のログ情報を採取するからである。
【００３４】
高いレベルの信頼性、可用性、保守性が要求されるコンピュータシステムでは、通常、専用の診断プロセッサが、システム内のプロセッサ等の障害ログを採取する。そのため、障害によりダウンしているプロセッサの障害ログ情報を採取することが可能である。
【００３５】
しかしながら、診断プロセッサがプロセッサの外部から障害ログを採取する場合、診断プロセッサはプロセッサの外部から読み取り可能なように設計されているレジスタについてのみしか値を採取することができない。これに対して、例えば、プロセッサ上で動作するログ取得部が、自プロセッサの障害ログを採取して出力する場合、ログ取得部は自プロセッサ内の全てのレジスタの値を包含する障害ログを出力することが可能である。したがって、プロセッサ上で動作するログ取得部は、診断プロセッサがプロセッサの外部から採取する障害ログよりも、多くの情報量を持つ障害ログを採取することが可能である。
【００３６】
上述の通り、より多くの情報量を持つ障害ログを採取するために、各プロセッサのログ取得部が障害ログを採取する場合は、障害によりダウンしたプロセッサの障害ログが採取できなくなり、ダウンしたプロセッサの障害ログも採取するために、診断プロセッサが障害ログを採取する場合は、障害ログの情報量が少なくなる。
【００３７】
本実施形態では、障害発生時に、まず、処理プロセッサ１０−１乃至１０−ｎのログ取得部１１−１乃至１１−ｎが、自プロセッサや入出力制御回路３０の障害ログとして、処理プロセッサ採取ログ情報１２−１乃至１２−ｎと入出力制御回路ログ情報１３を採取する。そして、診断プロセッサ２０は、所定の時間内に、全ての処理プロセッサ１０−１乃至１０−ｎからの障害ログが受信できない場合は、処理プロセッサ１０−１乃至１０−ｎと入出力制御回路２０の障害ログを、外部から、診断プロセッサ採取ログ情報２１として採取する。
【００３８】
したがって、障害ログ採取装置１は、たとえ何れかの処理プロセッサが障害によりダウンしても、当該処理プロセッサの障害ログも着実に採取するとともに、処理プロセッサが動作可能である場合は、各処理プロセッサのログ取得部により、最大限の情報量の障害ログを採取することが可能となる。その結果、診断プロセッサ２０は、より精密な診断動作を行うことが可能となる。
【００３９】
本実施形態では、診断プロセッサ２０が何れかの処理プロセッサからの障害ログを受信できない場合、診断プロセッサ２０が全ての処理プロセッサ１０−１乃至１０−ｎについて外部から障害ログを採取しているが、障害ログが受信できなかった処理プロセッサについてのみ、外部から障害ログを採取するようにしてもよい。
【００４０】
尚、本実施形態では、障害で動作を停止している処理プロセッサが存在する場合、診断プロセッサ２０は、所定の時間まで処理を待っているが、処理プロセッサ間でプロセッサ間通信を行い、各処理プロセッサが動作しているかを確認して、その結果を診断プロセッサ２０に通知してもよい。その場合、診断プロセッサ２０は、受け取った結果を参照して、自分でログを採取するかどうかを判断できるため、1個でも動作を停止していない処理プロセッサが存在すれば、所定の時間まで処理を待たずに済むことが可能となる。
【００４１】
処理プロセッサ１０−１乃至１０−ｎから、診断プロセッサ２０への通知に関しては、専用の割り込みの場合もあれば、業界標準のＩＰＭＩ（Ｉｎｔｅｌｌｉｇｅｎｔ  Ｐｌａｔｆｏｒｍ  Ｍａｎｅｇｅｍｅｎｔ  Ｉｎｔｅｒｆａｃｅ）で定義されるインタフェースを使った通信の場合もある。
【００４２】
また、ログ取得部１１−１乃至１１−ｎは、Ｉ２Ｃバスの動作周波数よりも高い処理プロセッサの動作周波数で障害ログの採取を行うため、診断プロセッサ２０と比較して、障害ログの採取を短時間で行うことが可能である。
＜第２の実施形態＞
次に、本願発明の第２の実施形態について図面を参照して詳細に説明する。
【００４３】
図３は、本願発明の第２の実施形態の傷害ログ採取システム１の構成を示すブロック図である。本実施形態の障害ログ採取装置１は、処理プロセッサ１０−１乃至１０−ｎと、診断プロセッサ２０と、を包含している。
【００４４】
処理プロセッサ１０−１乃至１０−ｎは、内部状態の情報を外部から一部採取可能に保持するとともに、障害発生を検知した場合、それぞれ、内部状態の情報を処理プロセッサ採取ログ情報１２−１乃至１２−ｎとして採取し、障害発生を示す障害発生情報と処理プロセッサ採取ログ情報１２−１乃至１２−ｎとを出力する。
【００４５】
処理プロセッサ１０−１乃至１０−ｎは、外部から障害発生情報を受信した場合、それぞれ、処理プロセッサ採取ログ情報１２−１乃至１２−ｎを採取して出力する。
【００４６】
診断プロセッサ２０は、障害発生情報を受信して、処理プロセッサ１０−１乃至１０−ｎが、処理プロセッサ採取ログ情報１２−１乃至１２−ｎを採取できない場合に、処理プロセッサ１０−１乃至１０−ｎの外部から、内部状態の一部の情報を、診断プロセッサ採取ログ情報２１として採取する。
【００４７】
本実施形態には、第１の実施形態と同様に、障害発生時に、システム内の全ての装置について、着実に障害ログを採取すると同時に、最大限の情報量の障害ログを採取できる効果がある。その理由は、障害発生時に、処理プロセッサ１０−１乃至１０−ｎが、自プロセッサのログ情報を採取し、何れかの処理プロセッサがダウンしてログ情報を採取できない場合は、診断プロセッサ２０が、外部から処理プロセッサ１０−１乃至１０−ｎのログ情報を採取するからである。
【００４８】
以上、実施形態を参照して本願発明を説明したが、本願発明は上記実施形態に限定されたものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
【符号の説明】
【００４９】
１    障害ログ採取装置
１０−１乃至１０−ｎ    処理プロセッサ
１１−１乃至１１−ｎ    ログ取得部
１２−１乃至１２−ｎ    処理プロセッサ採取ログ情報
１３    入出力制御回路ログ情報
２０    診断プロセッサ
２１    診断プロセッサ採取ログ情報
３０    入出力制御回路
４０    Ｉ２Ｃバス
【図１】
2014154017.tif 000003
【図２】
2014154017.tif 000004
【図３】
2014154017.tif 000005