JP2007334403A - 計算機システム障害対応方式及び計算機システム障害対応方法 - Google Patents

計算機システム障害対応方式及び計算機システム障害対応方法 Download PDF

Info

Publication number
JP2007334403A
JP2007334403A JP2006162114A JP2006162114A JP2007334403A JP 2007334403 A JP2007334403 A JP 2007334403A JP 2006162114 A JP2006162114 A JP 2006162114A JP 2006162114 A JP2006162114 A JP 2006162114A JP 2007334403 A JP2007334403 A JP 2007334403A
Authority
JP
Japan
Prior art keywords
memory
dump
contents
failure
cpu
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006162114A
Other languages
English (en)
Inventor
Yukinori Endo
幸典 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006162114A priority Critical patent/JP2007334403A/ja
Publication of JP2007334403A publication Critical patent/JP2007334403A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

【課題】 CPU上で同種または異種のOSが並列動作する実行環境で、CPU又はOSで障害が発生すると、OS側でメモリダンプの内容を共有メモリ上に退避した後、直ちに障害発生OSの再起動を行なうことにより、障害発生時のシステム再開時間を短縮することを目的とする。
【解決手段】 第1のCPU又は第1のOSにより障害発生が検出されると、第2のOSが障害発生時の第1のCPUのレジスタ情報と、第1のOSのメモリダンプ内容とを共有メモリに書き込み、第2のOSが共有メモリに書き込まれたレジスタ情報とメモリダンプ内容とを二次記憶装置に保存し、レジスタ情報とメモリダンプ内容とが共通メモリに書き込まれると第1のOSが直ちに再起動をする。
【選択図】 図1

Description

この発明は、計算機システムに障害が発生した時の障害対応方式及び計算機システム障害対応方法に関するものである。
計算機システムにおいて、障害発生時に物理メモリの内容を二次記憶装置に保存(これをメモリダンプと呼ぶ)しておき、障害原因の解析に活用する手法が一般的に利用されている。
従来のマルチOS実行環境でのメモリダンプ実行方式を以下に説明する(特許文献1)。図10は従来の計算機システムの構成、また、図11は障害対応処理を行なう従来の計算機システムの第1OSの割込み処理手順を示すフローチャートである。
従来の方式では、単一CPU上で複数のOSが並行動作する実行環境において、障害が発生した第2OSと並行に動作する第1OSが第2OSの障害対応処理を行なうことが開示されている。具体的には、第2OSで障害が発生した時、第1OSは障害発生割込みの通知を受け、第2OSに割り付けられていた物理メモリ領域情報を格納した後(ステップS303)、この領域を除く新たな物理メモリ上に第2OSをロードし(ステップS305)、再起動を行なう(ステップS310)。
次に、第1OSは第2OSの再起動終了割込みの通知を受け、先ほど格納した物理メモリ領域情報を元に、メモリダンプ処理を行なう(ステップS311)。なお、本従来方式では、メモリダンプ処理の具体的な方法や実施内容の詳細については、何ら開示も示唆もされていない。
以上のように、従来の方式は、障害発生OSの再起動処理と非同期にメモリダンプを取得可能にすることによって、障害発生時のメモリダンプ取得処理によるOS再起動時間の遅延を短縮していた。
特開2001−290678号公報
従来のメモリダンプ実行方式は、第1OS側のメモリダンプ取得処理が割込み処理の延長として実行されるため、第2OS側も再起動の完了までは高速に実行できるとしても、アプリ起動を含めたシステム再開までの時間が短縮されるわけではなく、またメモリダンプ処理によって第1OSの通常処理に影響が発生するという問題点があった。
また、メモリダンプ取得処理を行なう第1OSと保存先用デバイスドライバは固定であって、これらの制御プログラムにおいて障害が発生した場合、第2OSのメモリダンプが取得できなくなるという問題点があった。
本発明は上記のような問題点を解決するためになされたもので、共有メモリ型のマルチプロセッサ構成であって、各CPU上で同種または異種のOSが並列動作する実行環境において、障害発生OS側でメモリダンプの内容を共有メモリ上の特定領域に退避した後、直ちに障害発生OSまたは障害発生アプリのみの再起動を行なう一方、障害発生通知を受けた他OSが退避内容を参照して二次記憶装置への保存処理を行なうことにより、障害発生時のメモリダンプ取得処理によるシステム再開時間を短縮することを目的とする。
また、メモリダンプの保存先デバイスの接続有無やドライバのサポート状況、デバイスの空き容量等のシステム状況に応じて、メモリダンプの保存先デバイスや保存処理OSを切り替え可能にすることにより、確実にダンプを取得することを目的とする。
この発明に係る計算機システム障害対応方式は、第1のCPU(Central Processing Unit)上で独立又は他のOS(Operating System)と並列に動作する第1のOSと、
前記第1のCPU又は前記第1のOSにより障害発生が検出されると前記第1のOSにより障害発生時の前記第1のCPUのレジスタ情報と、障害発生時の前記第1のOSのメモリダンプ内容とが書き込まれる共有メモリと、
前記レジスタ情報と前記メモリダンプ内容とが保存される二次記憶装置と、
前記第1のCPU又は前記第1のOSでの障害発生時に前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記二次記憶装置に保存し、第2のCPU上で独立又は他のOSと並列に動作する動作する第2のOSと、を備え、
前記第1のOSは、前記レジスタ情報と前記メモリダンプ内容とが前記共通メモリに保存されると直ちに再起動されるものである。
この発明は、第1のCPU又は第1のOSにより障害発生が検出されると、第2のOSが障害発生時の第1のCPUのレジスタ情報と、障害発生時の第1のOSのメモリダンプ内容とを共有メモリに書き込み、第2のOSが共有メモリに書き込まれたレジスタ情報とメモリダンプ内容とを二次記憶装置に保存し、レジスタ情報とメモリダンプ内容とが共有メモリに保存されると第1のOSが直ちに再起動されることにより、メモリダンプ内容を二次記憶装置14に保存する処理を第1のOSとは独立かつ並列に動作する第2のOSが行なうので、障害発生時のメモリダンプ取得処理によるシステム再開時間を短縮することができる。
実施の形態1.
図1は、実施の形態1の計算機システム障害対応方式の構成図である。
図1において、計算機システム10はOSやアプリケーション等のプログラムを実行するためのCPU(1)11やCPU(2)12等の二個以上のCPUと、いずれのCPUからもアクセス可能なDRAM(Dynamic Random Access Memory)等を用いた共有メモリ13と、プログラムやメモリダンプ内容等を保存するためのハードディスクやFlashメモリ等を例とする二次記憶装置14と、CPU間割込み定義を含む割込みコントローラ15を備え、これらが内部及び外部のバス16上に接続されている。また、各CPU上では、それぞれ独立かつ並列に動作する同種または異種のOS(1)17とOS(2)18、及びアプリケーション19、20が動作し、各OS内にはメモリダンプ処理部21、22を、OS2側には二次記憶装置用ドライバ23を備える。
図2は、実施の形態1の計算機システム障害対応方式の詳細構成図である。
図2において、CPU(1)11上で動作するOS(1)17は障害発生OS、CPU(2)12上で動作するOS(2)18は障害対応OSである。障害発生OS(1)17は、CPUまたはOSがシステムの異常を検出した時に呼び出される障害検出手段としての障害検出部30、共有メモリ13上にメモリダンプ内容を書き込む、即ち、共有メモリ13上にメモリダンプ内容の退避を行なうダンプ退避手段としてのダンプ退避部31、他のOSに対して障害発生の通知を行なう障害通知手段としての障害通知部32、OS(1)17の再起動または障害が発生したアプリケーション19のみの再起動する再起動実行手段としての再起動実行部33を備える。
共有メモリ13上には、障害発生OS(1)17側が書き込むレジスタ情報40とメモリダンプ内容41を格納する特定領域を確保する。ここで、レジスタ情報40は、障害発生時点のCPU(1)11内のレジスタ群の値を指す。また、メモリダンプ内容41は、障害発生OS(1)17が占有するメモリ領域(データ領域等)、OS管理下のメモリ領域(共有バッファ領域等)、または各アプリケーション19が占有するメモリ領域(データ領域等)の内容を含む。
一方、障害対応OS(2)18は、障害通知部32から障害発生通知を受ける障害受信手段としての障害受信部50、共有メモリ13上に書き込まれた(退避された)レジスタ情報40とメモリダンプ内容41を二次記憶装置14に保存するダンプ保存手段としてのダンプ保存部51、当該二次記憶装置14への各種制御処理を行なう二次記憶装置用ドライバ23を備える。
次に動作について説明する。
まず、OS(1)17側で、CPUまたはOSがシステム異常を検出した時、障害検出部30が呼び出され、障害検出部30が障害発生時点のCPU(1)11内のレジスタの内容を、共有メモリ13上の特定領域にレジスタ情報40として書き込む。
次に、ダンプ退避部31は、CPU(1)11内のキャッシュの内容をフラッシュ(主メモリへの書き出し)した後、対象とするメモリダンプ内容に対応する物理メモリ領域の内容を読み出し、共有メモリ13上の特定領域に書き込む。
その後、障害通知部32は、OS(2)18に対して、プロセッサ間割込み等を用いて、障害発生(メモリダンプ保存要求)を通知する。この時、障害通知部32は、ダンプ退避部31がメモリダンプ対象の内容全体を共有メモリ13上に書き込み終わるのを待って通知するのではなく、例えば、障害発生OS(1)17が、障害発生OS(1)17が占有するメモリ領域の内容を共有メモリ13上に書き込んだところで障害通知部32が障害の発生を通知し、次にOS管理下のメモリ領域の内容を共有メモリ13上に書き込んだところで障害通知部32が障害の発生を通知する、という具合に、共有メモリ13上への書き込みと障害発生通知の処理を、適切な単位に区切って繰り返す。その後、前記再起動実行部33が共有メモリ13上に書き込まれた障害発生OS(1)17が占有するメモリ領域とOS管理下のメモリとの内容の再起動を実行する。
また、特定アプリケーション19で障害が発生し、そのアプリケーション19とその他の関連アプリケーションが占有するメモリ領域の内容を二次記憶装置14に保存する場合、障害発生OS(1)17での共有メモリ13上への書き込みと障害発生通知の処理を、アプリケーション単位で分割して繰り返す。その後、再起動実行部33が共有メモリ13上に書き込まれたアプリケーション単位に分割されたメモリ領域毎の内容の再起動を順番に実行する。
ダンプ退避部31と障害通知部32の処理が終了すると、直ちに、再起動実行部33は、OS(1)17の再起動を実行するか、または障害が発生した特定アプリケーション19のみの再起動を実行する。これにより、OS(2)18側での二次記憶装置14への保存処理とは独立・並行して、OS(1)17または特定アプリケーション19のみが再起動されて、システムが定常状態に戻る。
一方、障害対応OS(2)18の障害受信部50は、障害通知部32からの障害発生通知を受けるたびに、ダンプ保存部51を呼び出す。ダンプ保存部51は、OS(1)17側が共有メモリ13上の特定領域に書き込まれたレジスタ情報40とメモリダンプ内容41を読み出し、二次記憶装置用ドライバ23を介して二次記憶装置14に保存する。なお、障害受信部50の処理は、OS(2)18の割込みハンドラとして、またダンプ保存部51の処理はシステムタスクとして実現する。
以上のように本実施の形態によれば、障害発生OS(1)17が、メモリダンプ内容を直接二次記憶装置14に保存するのではなく、二次記憶装置14へのアクセス速度と比べて桁違いに高速な共有メモリ13上への書き込み処理を行い、メモリダンプ内容を二次記憶装置14に保存する処理は、障害発生OS(1)17とは独立かつ並列に動作するOS(2)18が行なうことにより、障害発生時のメモリダンプ取得処理によるシステム再開時間を短縮することができる。
また、複数のOS間で処理を分割し、障害発生OS(1)17側での共有メモリ13上へのメモリダンプ内容の書き込みと障害発生通知の処理を適切な単位に区切って繰り返し、障害対応OS(2)18側で共有メモリ13上に書き込まれた適切な単位に区切られたメモリダンプ内容を二次記憶装置14に繰り返し保存するようにしているので、OS間の並列実行が可能であるため、メモリダンプ内容を二次記憶装置14に保存するメモリダンプ保存処理時間を大幅に短縮することができる。
さらに、特定アプリケーション19で障害が発生し、そのアプリケーション19とその他の関連アプリケーションが占有するメモリ領域の内容を二次記憶装置14に保存する場合、障害発生OS(1)17での共有メモリ13上への書き込みと障害発生通知の処理を、アプリケーション単位で分割して繰り返すようにしているので、アプリケーション毎の再起動を順番に実行できるため、システムが再び定常状態に戻るまでのシステム再開時間を短縮することができる。
また、障害対応OS(2)18側での二次記憶装置14への保存処理は、背景技術で説明したような割込み処理の延長ではなく、システムタスクとして実現するため、メモリダンプ保存処理が優先されて、OS(2)18側の全ての通常処理が数秒から数分に渡って一時停止するような状況を回避することができる。
さらに、OS(1)または障害が発生したアプリケーション19が再起動する時、背景技術で説明したように、再起動前と異なる物理メモリ領域を新たに確保して配置するようなことは行わないため、全てのプログラムが物理メモリ空間上の固定アドレスに配置されることを前提とした組込みシステム用のOS実行環境にも適用できる。
本方式は、複数CPU上で独立、かつ並列に動作するOS構成において、システムの一部で障害が発生した時に、その全体を一時停止することなく、また障害が発生していないOS側の通常処理に影響を与えることなく、(一部OSの再起動による)一時的な縮退動作を経て、システムを継続させることができる。
実施の形態2.
実施の形態1では、障害対応OS(2)18側はメモリダンプ保存先の二次記憶装置14を固定にメモリダンプ内容を保存するようにしているが、次に、二次記憶装置である各保存先デバイスの接続有無やデバイスの空き容量等のシステム状況に応じて、メモリダンプの保存先デバイスを選択可能にする実施の形態を示す。
図3は、実施の形態2の計算機システム障害対応方式の構成図である。
図3において、障害対応OS(2)18は、ダンプデバイステーブル52と、デバイス選択手段としてのデバイス選択部53を新たに備える。本図では、メモリダンプ保存先の選択候補となる二次記憶装置14の例として、HDD(ハードディスクドライブ)14a、DVD−RAM14b、USBメモリ14cの各デバイスを示し、OS(2)18はこれら各デバイスである二次記憶装置にレジスタ情報40とメモリダンプ内容41を保存するための二次記憶装置用ドライバとして、HDD用ドライバ23a、DVD−RAM用ドライバ23b、USBメモリ用ドライバ23cを保持するものとする。
図4は、実施の形態2におけるダンプデバイステーブル52の構成図である。
図4において、ダンプデバイステーブル52は、保存先デバイスのデバイスID52a、デバイス名52b、空き容量52c、当該デバイスの接続有無やドライバのサポート状況により設定されるデバイス使用可否フラグ52d、システムの方針に基づき決定される保存先優先順位52eを一つのエントリとする複数エントリから構成される。なお、ある二次記憶装置14内を複数のパーティションに分割して使用している場合、パーティション毎に一つのエントリを登録してもよい。また、ダンプデバイステーブル52の内容は、システムのコンフィグレーション情報の一つとして、固定的に設定されるだけでなく、システム稼動中に特定のユーザ等が変更することも可能とする。
図5は、実施の形態2におけるデバイス選択部53の処理手順を示したフローチャートである。
次に動作について説明する。
障害対応OS(2)18内の障害受信部50は、障害通知部32からの障害発生通知を受けて、ダンプ保存部51を呼び出す。ダンプ保存部51は、デバイス選択部53に対してメモリダンプ内容の保存先デバイスを選択することを指示し、デバイス選択部53で選択された保存先デバイスの情報を得る。その後、共有メモリ13上の特定領域に書き込まれているレジスタ情報40とメモリダンプ内容41を順次読み出しながら、二次記憶装置用ドライバ23a、23b、23cのいずれかを介して、デバイス選択部53で選択された保存先デバイスへメモリダンプの保存を行なう。
デバイス選択部53は、まずステップS60において、ダンプデバイステーブル52内の保存先優先順位52eを参照し、最も優先順位の高いエントリを選択する。図4の例では、保存先デバイスID52aが3のUSBメモリ14cが最も優先順位が高いことを示している。
次に、ステップS61において、デバイス使用可否フラグ52dを参照し、当該デバイスが現在使用可能かを判定し、使用不可の場合には、再度ステップS60に戻り、次に優先順位の高いエントリを選択する。図4の例では、USBメモリ14cはデバイスが接続されていない等の理由により現在使用不可であるため、ステップS61までで次に優先順位の高いHDD(ハードディスクドライブ)が選択される。
次に、ステップS62において、デバイス空き容量52cを参照し、メモリダンプ内容に対して十分な空き容量があるかを判定し、十分な空き容量がない場合には、再度ステップS60に戻り、次のデバイスのエントリを選択する。最後に、ステップS63において、保存先デバイスのデバイスID52aとデバイス名52bをダンプ保存部51へ返す。
以上のように本実施の形態によれば、障害対応OS(2)18側にダンプデバイステーブル52とデバイス選択部53とを備え、保存先デバイスの接続有無やデバイスの空き容量等のシステム状況に応じて、メモリダンプの保存先デバイスを選択可能にしているため、障害発生OS(1)17側からアクセスできない二次記憶装置やドライバが未サポートの二次記憶装置にメモリダンプを保存することができる。また、システムの状況を反映して最適の保存先デバイスを選択可能とするため、確実にダンプを取得することができる。
実施の形態3.
実施の形態2では、障害対応OS(2)18があらかじめ決められていて、これがメモリダンプの保存処理を行なうようにしているが、次に、三個以上のCPU上でそれぞれ独立かつ並列にOS及びアプリケーションが動作する構成において、保存先デバイスの接続有無やデバイスの空き容量等のシステム状況に応じて、障害発生OS(1)17側でメモリダンプの保存処理OSを切り替え可能にする実施の形態を示す。
図6は、実施の形態3の計算機システム障害対応方式の構成図である。
図6において、計算機システム10は第三のCPU(n)24を保持し、CPU(n)24上でOS(n)25とアプリケーションが動作している。また、障害発生OS(1)17は保存OS選択手段としての保存OS選択部34を新たに備え、共有メモリ13上にはOS選択テーブル42を新たに定義する。
図6では、メモリダンプ保存先の選択候補となる二次記憶装置14の例として、HDD(ハードディスクドライブ)14a、DVD−RAM−14b、USBメモリ14cを示し、OS(2)18はHDD(ハードディスクドライブ)14a用のHDD用ドライバ23a、DVD−RAM−14b用のDVD−RAM用ドライバ23bを保持し、OS(n)25はUSBメモリ14c用のUSBメモリ14C用ドライバ23cを保持するものとする。
図7は、実施の形態3におけるOS選択テーブル42の構成図である。
図7において、OS選択テーブル42は、CPU番号42a、保存先デバイスのデバイスID42b、保存先デバイス名42c、デバイス空き容量42d、当該デバイスの接続有無やドライバのサポート状況により設定されるデバイス使用可否フラグ42e、システムの方針に基づき決定される保存先優先順位42fを一つのエントリとする複数エントリから構成される。
図8は、実施の形態3における保存OS選択部34の処理手順を示したフローチャートである。
次に動作について説明する。
障害発生OS(1)17内のダンプ退避部31は、CPUキャッシュの内容をフラッシュ(主メモリへの書き出し)した後、OS(1)17の管理下の物理メモリ領域、または障害検出時に動作していたアプリケーション19に割り当てられていた物理メモリ領域の各内容を読み出し、共有メモリ13上の特定領域にメモリダンプ内容41として書き込みした後、保存OS選択部34を呼び出す。
保存OS選択部34は、まずステップS70において、OS選択テーブル42内の保存先優先順位42fを参照し、最も優先順位の高いエントリを選択する。図7の例では、CPU番号42aがnのUSBメモリ14Cが最も優先順位が高いことを示している。
次に、ステップS71において、デバイス使用可否フラグ42eを参照し、当該デバイスが現在使用可能かを判定し、使用不可の場合には、再度ステップS70に戻り、次に優先順位の高いエントリを選択する。図7の例では、USBメモリ14Cは使用可能であるため、これが選択される。
その後、ステップS72において、デバイス空き容量42dを参照し、メモリダンプ内容に対して十分な空き容量があるかを判定し、十分な空き容量がない場合には、再度ステップS70に戻り、次のデバイスのエントリを選択する。
最後に、ステップS73において、決定されたエントリのCPU番号42aを取得する。本例では、保存先デバイスとしてUSBメモリ14Cが決定され、対応するCPU番号42aとしてnが得られる。
次に、障害通知部32は、保存OS選択部34で選択されたCPU番号42a上で動作するOSに対して、プロセッサ間割込み等を用いて、障害発生(メモリダンプ保存要求)を通知する。本例では、CPU(n)24上のOS(n)25に対して通知される。
一方、OS(n)25内の障害受信部60は、障害通知部32からの障害発生通知を受けて、ダンプ保存部61を呼び出す。ダンプ保存部61は、共有メモリ13上の特定領域に書き込まれているレジスタ情報40とメモリダンプ内容41を順次読み出しながら、USBメモリ用ドライバ23Cを介してUSBメモリ14Cへメモリダンプの保存を行なう。
以上のように本実施の形態によれば、障害発生OS(1)17側に保存OS選択部34と、共有メモリ13上にOS選択テーブル42とを備え、保存先デバイスの接続有無やデバイスの空き容量等のシステム状況に応じて、メモリダンプの保存処理OSを切り替え可能にしているため、保存処理OS毎のドライバのサポート状況やシステム負荷状況等を勘案して、柔軟かつ確実にダンプを取得することができる。
実施の形態4.
以上の実施の形態3では、三個以上のCPU上でそれぞれ独立かつ並列にOS及びアプリケーションが動作する構成において、保存先デバイスの接続有無やデバイスの空き容量等のシステム状況に応じて、障害発生OS(1)17側でメモリダンプの保存処理OSを切り替えるようにしているが、次に、障害発生OS(1)17で障害が発生した時に、そのメモリダンプを取得するだけでなく、同時にその他のOSまたはその上のアプリケーションのメモリダンプを取得する実施の形態を示す。
図9は、実施の形態4の計算機システム障害対応方式の構成図である。
図9において、障害発生OS(1)17以外のOS(2)18はダンプ退避部54を新たに備え、共有メモリ13上にはOS(2)18側で書き込まれる(退避される)レジスタ情報43とメモリダンプ内容44を格納する特定領域を新たに確保する。なお、本図ではOS(1)17とOS(2)18の二つのOS構成の場合について示しているが、OS(2)18と同様に障害受信部50とダンプ退避部54を含む第三のOS(n)25が存在する構成であってもよい。
次に動作について説明する。
まず、OS(1)17側で障害が発生した時、障害検出部30が呼び出され、障害検出部30は、障害発生時点のレジスタの内容を、共有メモリ13上の特定領域にレジスタ情報40として書き込む。次に、障害通知部32は、OS(2)18に対して、プロセッサ間割込み等を用いて、障害発生(メモリダンプ保存要求)を通知する。
その後、ダンプ退避部31は、CPUキャッシュの内容をフラッシュ(主メモリへの書き出し)した後、OS(1)17管理下の物理メモリ領域、または障害検出時に動作していたアプリケーション19に割り当てられていた物理メモリ領域の各内容を読み出し、共有メモリ13上の特定領域にメモリダンプ内容41として書き込む。
ダンプ退避部31の処理が終了すると直ちに、再起動実行部33は、OS(1)17の再起動または障害が発生したアプリケーション19のみの再起動を実行し、OS(1)17またはアプリケーション19が再起動されて、システムが定常状態になる。
一方、OS(2)18の障害受信部50は、障害通知部32からの障害発生通知を受けて、共有メモリ13上の特定領域に、障害通知を受けた時点のレジスタ情報43を保存した後、ダンプ退避部54を呼び出す。ダンプ退避部54は、OS(1)17側のダンプ退避部31の処理と同様に、OS(2)18管理下の物理メモリ領域の内容、または障害が発生したOS(1)17により起動するアプリケーション19と連携動作していたアプリケーション20に割り当てられていた物理メモリ領域の内容を読み出し、共有メモリ13上の特定領域にメモリダンプ内容44として書き込む。
その後、障害受信部50は、再度OS(1)17の障害通知部32からダンプ退避完了の通知を受けて、ダンプ保存部51を呼び出す。ダンプ保存部51は、OS(1)17のダンプ退避部31によって書き込まれたレジスタ情報40とメモリダンプ内容41、及びOS(2)18のダンプ退避部54によって書き込まれたレジスタ情報43とメモリダンプ内容44を順次読み出しながら、二次記憶装置用ドライバ23を介して二次記憶装置14にメモリダンプの保存を行なう。
以上のように本実施の形態によれば、障害発生OS(1)17以外のOSにダンプ退避部54と、共有メモリ13上の特定領域にOS毎のメモリダンプ退避領域とを備え、障害発生OS(1)17からの一斉通知により、その時点での他OS上のメモリダンプを同時に取得するようにしているため、障害が発生したOS及びその上のアプリケーションの状態情報だけでなく、並列動作する他のOS及び連携動作する他OS上のアプリケーションの状態情報を付き合わせて、障害原因の解析を進めることができる。
実施の形態1の計算機システム障害対応方式の構成図。 実施の形態1における計算機システム障害対応方式の詳細構成図。 実施の形態2の計算機システム障害対応方式の構成図 実施の形態2におけるダンプデバイステーブル52の構成図。 実施の形態2におけるデバイス選択部53の処理手順を示したフローチャート。 実施の形態3の計算機システム障害対応方式の構成図。 実施の形態3におけるOS選択テーブル42の構成図。 実施の形態3における保存OS選択部34の処理手順を示したフローチャート。 実施の形態4の計算機システム障害対応方式の構成図。 従来の計算機システムの構成図。 従来の計算機システムの第1OSの割込み処理手順を示すフローチャート。
符号の説明
10 計算機システム、11 CPU(1)、12 CPU(2)、13 共有メモリ、14 二次記憶装置、14a HDD、14b DVD−RAM、14c USBメモリ、15 割込みコントローラ、16 バス、17 OS(1)、18 OS(2)、19 アプリケーション、20 アプリケーション、21 メモリダンプ処理部、22 メモリダンプ処理部、23 二次記憶装置用ドライバ、23a HDD用ドライバ、23b DVD−RAM用ドライバ、23c USBメモリ用ドライバ、24 CPU(n)、25 OS(n)、30 障害検出部、31 ダンプ退避部、32 障害通知部、33 再起動実行部、34 保存OS選択部、40 レジスタ情報、41 メモリダンプ内容、42 OS選択テーブル、42a CPU番号、42b 保存先デバイスID、42c 保存先デバイス名、42d デバイス空き容量、42e デバイス使用可否フラグ、42f 保存先優先順位、43 レジスタ情報、44 メモリダンプ内容、51 障害受信部、 52 ダンプデバイステーブル、52a 保存先デバイスID、52b デバイス名、52c 空き容量、52d デバイス使用可否フラグ、52e 保存先優先順位、53 デバイス選択部、54 ダンプ退避部。

Claims (9)

  1. 第1のCPU(Central Processing Unit)上で独立又は他のOS(Operating System)と並列に動作する第1のOSと、
    前記第1のCPU又は前記第1のOSにより障害発生が検出されると前記第1のOSにより障害発生時の前記第1のCPUのレジスタ情報と、障害発生時の前記第1のOSのメモリダンプ内容とが書き込まれる共有メモリと、
    前記レジスタ情報と前記メモリダンプ内容とが保存される二次記憶装置と、
    前記第1のCPU又は前記第1のOSでの障害発生時に前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記二次記憶装置に保存し、第2のCPU上で独立又は他のOSと並列に動作する動作する第2のOSと、を備え、
    前記第1のOSは、前記レジスタ情報と前記メモリダンプ内容とが前記共通メモリに保存されると直ちに再起動されることを特徴とする計算機システム障害対応方式。
  2. 前記第1のOSは、前記第1のCPU又は前記第1のOSにより障害発生が検出されると前記レジスタ情報を前記共有メモリに書き込む障害検出手段と、前記メモリダンプ内容を前記共有メモリに書き込むダンプ退避手段と、前記第1のCPU又は前記第1のOSの障害発生通知を前記第2のOSに送信する障害通知手段と、前記共通メモリに前記レジスタ情報と前記メモリダンプ内容とが書き込まれると前記第1のOSを再起動する再起動実行手段とを備え、
    前記第2のOSは、前記障害通知手段により送信された前記障害発生通知を受信する障害受信手段と、前記障害発生通知を受信すると前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記二次記憶装置に保存するダンプ保存手段とを備えたことを特徴とする請求項1記載の計算機システム障害対応方式。
  3. 前記メモリダンプ内容は、前記第1のOSが占有するメモリ領域又は前記第1のOS管理下のメモリ領域又は前記第1のOSにより起動するアプリケーションが占有するメモリ領域の各内容であり、
    前記再起動実行手段は、前記共通メモリに前記レジスタ情報と前記メモリダンプ内容とが書き込まれると前記第1のOS又は前記アプリケーションを再起動することを特徴とする請求項2記載の計算機システム障害対応方式。
  4. 前記ダンプ退避手段は、前記第1のOSが占有するメモリ領域と前記第1のOS管理下のメモリ領域との各内容に分割して前記共有メモリに書き込み、
    前記障害通知手段は、前記ダンプ退避手段により前記第1のOSが占有するメモリ領域と前記第1のOS管理下のメモリ領域との各内容が分割されて前記共有メモリに書き込まれる度に障害発生通知を前記第2のOSに送信し、
    前記ダンプ保存手段は、前記ダンプ退避手段により前記共有メモリに書き込まれた前記第1のOSが占有するメモリ領域と前記第1のOS管理下のメモリ領域との内容を区切って前記二次記憶装置に保存し、
    前記再起動実行手段は、前記共有メモリ上に書き込まれた前記第1のOSが占有するメモリ領域と前記第1のOS管理下のメモリ領域との内容を再起動することを特徴とする請求項3記載の計算機システム障害対応方式。
  5. 前記ダンプ退避手段は、前記第1のOSにより起動するアプリケーションが占有するメモリ領域の内容をアプリケーション単位に分割して前記共有メモリに書き込み、
    前記障害通知手段は、前記ダンプ退避手段により前記メモリ領域の内容がアプリケーション単位に分割されて前記共有メモリに書き込まれる度に障害発生通知を前記第2のOSに送信し、
    前記ダンプ保存手段は、前記ダンプ退避手段により前記共有メモリに書き込まれたアプリケーション単位に分割されたアプリケーションのメモリ領域の内容を区切って前記二次記憶装置に保存し、
    前記再起動実行手段は、前記共有メモリ上に書き込まれたアプリケーション単位に分割されたメモリ領域の内容毎に再起動することを特徴とする請求項3記載の計算機システム障害対応方式。
  6. 前記レジスタ情報と前記メモリダンプ内容とを保存する複数の二次記憶装置を備え、
    前記ダンプ保存手段は、前記複数の二次記憶装置の中から前記メモリダンプ内容を保存する二次記憶装置の選択を指示し、又選択された二次記憶装置に前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを保存し、
    前記第2のOSは、前記複数の二次記憶装置毎にエントリされた二次記憶装置のIDと名称と空き容量と使用可否と保存先優先順位とにより構成されたダンプデバイステーブルと、前記ダンプ保存手段により二次記憶装置の選択が指示されると前記ダンプデバイステーブルに基づいて前記メモリダンプ内容を保存する二次記憶装置を選択し、この選択した二次記憶装置の情報を前記ダンプ保存手段に返信するデバイス選択部とを備えたことを特徴とする請求項2記載の計算機システム障害対応方式。
  7. 前記障害受信手段と前記ダンプ保存手段とを有し複数のCPU上でそれぞれ独立かつ並列に動作する複数のOSを備え、
    前記第1のOSは、CPUを特定するCPU番号とこのCPU番号に対応する二次記憶装置のIDと名称と空き容量と使用可否と保存先優先順位とを1つのエントリとする複数のエントリにより構成されたOS選択テーブルと、前記OS選択テーブル基づいて前記メモリダンプ内容を保存するOSを起動するCPUと前記メモリダンプ内容の保存先の二次記憶装置を選択する保存OS選択手段とを備え、
    前記保存OS選択手段により選択されたCPUにより起動されたOSのダンプ保存手段は、前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記保存OS選択手段により選択された二次記憶装置に保存することを特徴とする請求項2記載の計算機システム障害対応方式。
  8. 前記第2のOSは、前記障害通知手段により前記障害発生通知を受信すると前記第2のOSを起動するCPUのレジスタ情報を前記共有メモリに書き込み、さらに前記第2のOS管理下のメモリ領域の内容又は障害発生が検出された前記第1のOSにより起動するアプリケーションと連携動作する他のアプリケーションのメモリ領域の内容であるメモリダンプ内容を前記共有メモリに書き込む第2のOSダンプ退避手段とを備え、
    前記ダンプ保存手段は、前記第2のOSダンプ退避手段により前記共有メモリに書き込まれたメモリダンプ内容を前記二次記憶装置に保存することを特徴とする請求項2記載の計算機システム障害対応方式。
  9. 第1のCPU上で独立又は他のOSと並列に動作する第1のOSと、レジスタ情報とメモリダンプ内容が一時的に書き込まれる共有メモリと、前記レジスタ情報と前記メモリダンプ内容とが保存される二次記憶装置と、前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記二次記憶装置に保存する第2のCPU上で独立又は他のOSと並列に動作する動作する第2のOSとを備えた計算機システム障害対応方式による計算機システム障害対応方法であって、
    前記第1のOSは、前記第1のCPU又は前記第1のOSにより障害発生が検出されると前記レジスタ情報と前記メモリダンプ内容とを前記共有メモリに書き込む書き込みステップと、前記書き込みステップにより前記レジスタ情報と前記メモリダンプ内容とを前記共有メモリに書き込んだ後に、前記第1のCPU又は前記第1のOSの障害発生通知を前記第2のOSに送信する送信ステップと、前記送信ステップにより前記第1のCPU又は前記第1のOSの障害発生通知を前記第2のOSに送信すると前記第1のOSを再起動する再起動ステップとを備え、
    前記第1のOSは、前記送信ステップにより送信された前記障害発生通知を受信する受信ステップと、前記障害発生通知を受信すると前記共有メモリに書き込まれた前記レジスタ情報と前記メモリダンプ内容とを前記二次記憶装置に保存する保存ステップを備えたことを特徴とする計算機システム障害対応方法。
JP2006162114A 2006-06-12 2006-06-12 計算機システム障害対応方式及び計算機システム障害対応方法 Pending JP2007334403A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006162114A JP2007334403A (ja) 2006-06-12 2006-06-12 計算機システム障害対応方式及び計算機システム障害対応方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006162114A JP2007334403A (ja) 2006-06-12 2006-06-12 計算機システム障害対応方式及び計算機システム障害対応方法

Publications (1)

Publication Number Publication Date
JP2007334403A true JP2007334403A (ja) 2007-12-27

Family

ID=38933858

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006162114A Pending JP2007334403A (ja) 2006-06-12 2006-06-12 計算機システム障害対応方式及び計算機システム障害対応方法

Country Status (1)

Country Link
JP (1) JP2007334403A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176180A (ja) * 2008-01-28 2009-08-06 Ricoh Co Ltd 制御装置、画像処理装置、メモリ情報保存制御方法、メモリ情報保存制御プログラム及び記憶媒体
JP2009199317A (ja) * 2008-02-21 2009-09-03 Nec Corp 異常発生時における解析データ収集制御装置、方法、プログラム及び移動無線通信端末
JP2010086181A (ja) * 2008-09-30 2010-04-15 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2011008460A (ja) * 2009-06-25 2011-01-13 Fujitsu Ltd ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法
JP2011243012A (ja) * 2010-05-19 2011-12-01 Hitachi Ltd 仮想計算機システムのメモリダンプ取得方法
US8583960B2 (en) 2010-07-06 2013-11-12 Mitsubishi Electric Corporation Processor device and program
US9558061B2 (en) 2014-07-10 2017-01-31 Fujitsu Limited Information processing apparatus and information processing method
CN108920216A (zh) * 2018-08-03 2018-11-30 武汉斗鱼网络科技有限公司 关闭软件兼容模式的方法、装置、终端及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02139650A (ja) * 1988-11-19 1990-05-29 Fujitsu Ltd 部分ダンプ方式
JPH03231338A (ja) * 1990-02-06 1991-10-15 Hokuriku Nippon Denki Software Kk メモリダンプ領域管理方式
JPH04274530A (ja) * 1991-02-28 1992-09-30 Nec Corp メモリダンプの収集および編集方式
JPH08153025A (ja) * 1994-11-28 1996-06-11 Nec Corp Wsメモリダンプ出力・ws再立上げ方式
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2002032244A (ja) * 2000-07-17 2002-01-31 Nec Corp 仮想計算機及びそれのダンプ採取方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02139650A (ja) * 1988-11-19 1990-05-29 Fujitsu Ltd 部分ダンプ方式
JPH03231338A (ja) * 1990-02-06 1991-10-15 Hokuriku Nippon Denki Software Kk メモリダンプ領域管理方式
JPH04274530A (ja) * 1991-02-28 1992-09-30 Nec Corp メモリダンプの収集および編集方式
JPH08153025A (ja) * 1994-11-28 1996-06-11 Nec Corp Wsメモリダンプ出力・ws再立上げ方式
JP2001034508A (ja) * 1999-07-22 2001-02-09 Hitachi Ltd メモリダンプ採取方法及びその実施装置並びにその処理プログラムを記録した記録媒体
JP2002032244A (ja) * 2000-07-17 2002-01-31 Nec Corp 仮想計算機及びそれのダンプ採取方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009176180A (ja) * 2008-01-28 2009-08-06 Ricoh Co Ltd 制御装置、画像処理装置、メモリ情報保存制御方法、メモリ情報保存制御プログラム及び記憶媒体
US8516192B2 (en) 2008-01-28 2013-08-20 Ricoh Company, Ltd. Control unit, image processing apparatus and computer-readable storage medium
JP2009199317A (ja) * 2008-02-21 2009-09-03 Nec Corp 異常発生時における解析データ収集制御装置、方法、プログラム及び移動無線通信端末
JP2010086181A (ja) * 2008-09-30 2010-04-15 Fujitsu Ltd 仮想計算機システム及びその管理方法、プログラム並びに記録媒体
JP2011008460A (ja) * 2009-06-25 2011-01-13 Fujitsu Ltd ダンプ出力制御装置、ダンプ出力制御プログラム、ダンプ出力制御方法
JP2011243012A (ja) * 2010-05-19 2011-12-01 Hitachi Ltd 仮想計算機システムのメモリダンプ取得方法
US8583960B2 (en) 2010-07-06 2013-11-12 Mitsubishi Electric Corporation Processor device and program
US9558061B2 (en) 2014-07-10 2017-01-31 Fujitsu Limited Information processing apparatus and information processing method
CN108920216A (zh) * 2018-08-03 2018-11-30 武汉斗鱼网络科技有限公司 关闭软件兼容模式的方法、装置、终端及存储介质
CN108920216B (zh) * 2018-08-03 2021-11-09 武汉斗鱼网络科技有限公司 关闭软件兼容模式的方法、装置、终端及存储介质

Similar Documents

Publication Publication Date Title
JP2007334403A (ja) 計算機システム障害対応方式及び計算機システム障害対応方法
JP5229326B2 (ja) マルチコアcpuにおける消費電力制御方法,消費電力制御プログラム及び情報処理システム
US7350006B2 (en) System and method of interrupt handling
US20100268862A1 (en) Reconfigurable processor and method of reconfiguring the same
JP4902501B2 (ja) 電力制御方法、計算機システム、及びプログラム
JP2008293245A (ja) フェイルオーバ方法、計算機システム、管理サーバ及び予備サーバの設定方法
JP2012252576A (ja) 情報処理装置、起動方法およびプログラム
JP2009211517A (ja) 仮想計算機冗長化システム
JP2001331351A (ja) 計算機システム、及びその障害回復方法並びにダンプ取得方法
US7010725B2 (en) Method and apparatus for getting dump of a computer system
JP4322240B2 (ja) 再起動方法、システム及びプログラム
JP5035227B2 (ja) 情報処理装置、プログラムの起動制御方法、及び起動制御プログラム
CN113127263B (zh) 一种内核崩溃恢复方法、装置、设备及存储介质
KR20190117077A (ko) 메모리 시스템 및 메모리 시스템의 동작 방법
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP6632416B2 (ja) 共有メモリ制御回路及び共有メモリ制御方法
JP5996110B2 (ja) 計算機システム及び制御方法
JP6677021B2 (ja) 情報処理装置、情報処理方法、プログラム
US10540222B2 (en) Data access device and access error notification method
JP2002258971A (ja) 計算機システムの再立上げ方法
JP5948416B2 (ja) 情報処理装置、情報保存処理プログラム及び情報保存処理方法
JP4023441B2 (ja) コンピュータシステム及びプログラム
JP2009258984A (ja) 情報処理装置およびロード制御方法
JP2003330737A (ja) 計算機システム
JP4853620B2 (ja) マルチプロセッサシステムと初期立ち上げ方法およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101220

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110830

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20111227