JP5079080B2 - ストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法及びコンピュータ・プログラム - Google Patents

ストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法及びコンピュータ・プログラム Download PDF

Info

Publication number
JP5079080B2
JP5079080B2 JP2010500170A JP2010500170A JP5079080B2 JP 5079080 B2 JP5079080 B2 JP 5079080B2 JP 2010500170 A JP2010500170 A JP 2010500170A JP 2010500170 A JP2010500170 A JP 2010500170A JP 5079080 B2 JP5079080 B2 JP 5079080B2
Authority
JP
Japan
Prior art keywords
state
storage
host
data
failure
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.)
Expired - Fee Related
Application number
JP2010500170A
Other languages
English (en)
Other versions
JP2010524053A (ja
Inventor
グリム、アンドリュー
カンデルワル、ニキル
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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2010524053A publication Critical patent/JP2010524053A/ja
Application granted granted Critical
Publication of JP5079080B2 publication Critical patent/JP5079080B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0727Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a storage system, e.g. in a DASD or network based storage system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/28Error detection; Error correction; Monitoring by checking the correct order of processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Computer Hardware Design (AREA)
  • Debugging And Monitoring (AREA)

Description

【技術分野】
【0001】
本願は一般に、改良されたデータ処理システム及び方法に関するものである。より具体的には、本願は、ホスト・システムとストレージ・システムとの間のイン・バンド問題ログ・データ収集システム及び方法を対象とする。
【背景技術】
【0002】
ストレージ・エリア・ネットワーク(SAN)は、ストレージ・ディスクのネットワークである。典型的な大企業における実装では、SANは複数のサーバをストレージ・システムの中央プールに接続する。SANでは、それぞれ固有のディスクを有する数百ものサーバを管理する場合と比較して、システム管理が改善される。会社のすべてのストレージを単一のリソースとして扱うことにより、ディスクのメンテナンス及び日常的なバックアップをより容易にスケジューリング及び制御することが可能となる。SANならびに他のネットワーク・データ処理システムは、アプリケーション、データベース・アプリケーション、ファイル・システム、ホスト・サーバ・システム、ネットワーク・インフラストラクチャ、ストレージ・システムのような複数のレイヤを含む。
【0003】
現代のSAN環境では、SAN環境が非常に複雑となる傾向にあり、したがって障害のデバッグも非常に困難となる可能性がある。典型的には、SAN環境で障害を検出し問題の根本原因を特定するコンポーネントは、障害を経験するコンポーネントとは異なるものとなる。その結果、障害の原因となる問題は、障害が検出された後に解決される場合が多く、また、外部計測機能及びSAN環境内の各コンポーネントのカスタマイズを利用して解決されることが多い。そのため、データ収集を実施して障害の原因を特定できるようにするために、通常は検出された障害の原因となる状況の「再検査(retest)」、即ち、障害の原因となるSAN環境の各条件を再現する必要が生じる。そのような再現には、障害の判定された時点に関連する情報についてログ・データ構造をスキャンし、その後様々なログに由来する情報の相関付けを行って、障害発生後に障害時点のシステム状態の実態を把握しようとする試みが含まれる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【0004】
障害検出及びデータ収集は、典型的には障害を経験するコンポーネントとは別個のコンポーネントによって実行されるので、複雑なSAN環境における複数のコンポーネントからのデータ収集では多くの場合、より低速なインターフェースを介した通信及びアクティベーションのレイテンシにより、障害のデバッグに役立つ可能性がある重要情報が見逃される恐れがある。そのため、SAN環境の様々なレイヤに所在する遠隔のホスト・システム、スイッチ、又は他のストレージ・デバイスのデータが利用可能でないか、あるいはそのようなデータが収集されても障害の原因となるエラー状態の発生から長時間経過しているということが頻繁に生じる。例えば、SAN要素のいくつかのコンポーネント、例えばホスト・バス・アダプタ(HBA)・バッファにはごく少量のデータ、例えば一時に数フレームのデータしか記憶されず、障害検出及びデータ収集に使用されるメカニズムの遅延による障害の発生後、かなりの時間が経過するまで障害が検出されず、データ収集が実行されない場合、それらのデータは迅速に上書きされ失われる可能性がある。その結果、既知のSAN環境のログ能力にも限りがあるため、いくつかの情報が途中で失われることになる。
【課題を解決するための手段】
【0005
例示的な一実施形態では、データ処理システム内の障害に対応するデータを収集する方法が提供される。前記方法は、複数のデータ処理システムを備えるネットワーク内に所在するデータ処理システムのコンポーネントの障害状態に関する障害通知を受信するステップを含むことができる。前記方法は更に、イン・バンド状態保存コマンドに応答して前記ネットワーク内の前記複数のデータ処理システムにおいて生成される状態保存データを前記複数のデータ処理システムから受信するステップを含むことができる。前記状態保存データは、前記コンポーネントの前記障害状態の解決時に使用するために出力することができ、前記イン・バンド状態保存コマンドは、前記複数のデータ処理システム内の第1のデータ処理システムと、少なくとも1つの第2のデータ処理システムとの間のデータ・チャネルを介して発行されるコマンドとすることができる。
【0006
前記第1のデータ処理システムは、例えばストレージ・システムとすることができ、前記少なくとも1つの第2のデータ処理システムは、例えば少なくとも1つのホスト・システムとすることができる。前記イン・バンド状態保存コマンドは、前記障害状態が前記ストレージ・システム内のストレージ・デバイスの障害であることに応答して、前記ストレージ・システムのストレージ・コントローラから前記少なくとも1つのホスト・システムに送信することができる。前記イン・バンド状態保存コマンドは、複数の各ホスト・システムとの間のデータ・チャネルを確立する、前記ストレージ・システムのマルチ・ホスト・システム・インターフェースを介して前記複数のホスト・システムに対して発行することができる。前記状態保存データは、前記複数の各ホスト・システムによって収集することができ、前記マルチ・ホスト・システム・インターフェースによって確立された前記データ・チャネルを介して前記ストレージ・コントローラに提供することができる。前記複数の各ホスト・システムによって収集された前記状態保存データは、前記ストレージ・システムからの状態保存データと共に、検出された前記障害状態と関連付けられる単一のデータ・パッケージにパッケージングすることができる。
【0007
他の例示的な実施形態では、コンピュータに読み込み可能なプログラムを有するコンピュータ使用可能な媒体を備えるコンピュータ・プログラム製品が提供される。前記コンピュータに読み込み可能なプログラムは、それ自体がコンピューティング・デバイス上で実行されたときに、前記方法の例示的な各実施形態に概要が示される様々な処理及びそれらの組合せを前記コンピューティング・デバイスに実行させる。
【0008
また別の例示的な実施形態では、システムが提供される。前記システムは、少なくとも1つのホスト・システムと、前記少なくとも1つのホスト・システムと結合されるストレージ・システムとを備えることができる。前記少なくとも1つのホスト・システム又は前記ストレージ・システムあるいはその両方は、前記方法の例示的な各実施形態に概要が示される様々な処理及びそれらの組合せを実行することができる。
【0009
本発明の上記及び他の特徴及び利点は、本発明の例示的な諸実施形態に関する以下の詳細な説明に記載されており、この説明を読めばそれらの特徴及び利点が当業者には明らかとなるだろう。
【0010
以下では単なる例示として、本発明の好ましい一実施形態について添付図面を参照しながら説明する。
【図面の簡単な説明】
【0011
【図1】例示的な諸実施形態の各態様が実施され得るストレージ・エリア・ネットワークを示す図である。
【図2】例示的な諸実施形態の各態様が実施され得る例示的なデータ処理システムのブロック図である。
【図3】ホスト・アプリケーション障害に応答して実行される例示的な諸実施形態に係る基本動作コンポーネントの動作例を示す例示的なブロック図である。
【図4】ストレージ・システム内のストレージ・デバイスの障害に応答して実行される例示的な諸実施形態に係る基本動作コンポーネントの動作例を示す例示的なブロック図である。
【図5】例示的な一実施形態に係るホスト・アプリケーション障害に応答してデータ収集を実行する例示的な処理の概要を示すフローチャートである。
【図6】例示的な一実施形態に係るストレージ・デバイス障害に応答してデータ収集を実行する例示的な処理の概要を示すフローチャートである。
【発明を実施するための形態】
【0012
例示的な諸実施形態は、ホスト・システムとストレージ・システムとの間のイン・バンド問題ログ・データを収集するシステム及び方法を提供する。例示的な諸実施形態に係るシステム及び方法は、ストレージ・エリア・ネットワーク(SAN)等の分散データ処理環境で実施することができる。そこで、例示的な諸実施形態に係る基本動作コンポーネントの理解を与える文脈として、以下では、例示的な諸実施形態の例示的な諸態様が実施され得る例示的なデータ処理環境及び例示的なデータ処理デバイスについて、図1及び図2を参照して説明する。図3は、例示的な諸実施形態の各メカニズムによってデータが収集され得るストレージ・エリア・ネットワークの複数のレイヤの一例として示される。
【0013
ここで添付図面、特に図1及び図2を参照すると、本発明の諸態様が実施され得るデータ処理環境が例示されている。図1及び図2は単なる例示にすぎず、本発明の諸態様又は諸実施形態が実施され得る環境を限定することを主張するものではなく、そのように暗示することも意図しているわけではないことを理解していただきたい。図示の環境には、本発明の趣旨及び範囲から逸脱しない限り様々な変更を施すことができる。
【0014
ここで添付図面を参照すると、図1には、例示的な諸実施形態の各態様が実施され得るストレージ・エリア・ネットワークが図示されている。ストレージ・エリア・ネットワーク(SAN)100は、SAN 100内のルーティング・インフラストラクチャを集中的に提供する相互接続スイッチの組合せであるSANファブリック102を含む。
【0015
図示の例において、ホスト110は、ストレージ・システム又はデバイス120と共にSANファブリック102に接続されている。ホスト110は、例えばパーソナル・コンピュータ、ネットワーク・コンピュータ、サーバ等であってよい。図示の例において、ホスト110は、SANファブリック内の経路を通ってストレージ・システム/デバイス120にアクセスする。SAN 100は、図示されていない追加的なホスト又は他のストレージ・デバイスあるいはその両方を含むことができる。図1は一例であり、本発明のアーキテクチャ上の限定を示すものではない。
【0016
SANファブリック102は、SAN 100内で互いに接続される様々なデバイスとコンピュータとの間の通信リンクを提供するのに使用される媒体である。SANファブリック102は、有線、無線、通信リンク、光ファイバ・ケーブル等の接続を含むことができる。一実施形態において、SANファブリック102は、伝送制御プロトコル/インターネット・プロトコル(TCP/IP)・プロトコル・スイートを使用して互いに通信するネットワーク及びゲートウェイの集合とすることができる。言うまでもなく、SANファブリック102は、例えばファイバ・チャネル、イーサネット(R)、シリアル・アタッチド小型コンピュータ・システム・インターフェース(シリアル・アタッチドSCSI又はSAS)等、いくつかの様々なタイプのネットワークを含むように実装することもできる。実際、現在の多くのSANではデータ転送にファイバ・チャネルが使用され、管理情報の通信にイーサネットが使用されている。
【0017
上述のとおり、図1は本発明の様々な実施形態のアーキテクチャ上の限定ではなく一例として示されるものであり、したがって、図1に示される具体的な各要素も本発明の例示的な諸実施形態が実施され得る環境を限定するものと解釈すべきではない。
【0018
次に図2を参照すると、例示的な諸実施形態の各態様が実施され得る例示的なデータ処理システムのブロック図が示されている。データ処理システム200は、本発明の例示的な諸実施形態に関する処理を実行するコンピュータ使用可能なコード又は命令が配置され得る図1のホスト110のようなコンピュータの一例である。
【0019
図示の例において、データ処理システム200は、ノース・ブリッジ及びメモリ・コントローラ・ハブ(NB/MCH)202と、サウス・ブリッジ及び入力/出力(I/O)コントローラ・ハブ(SB/ICH)204とを含むハブ・アーキテクチャを利用している。処理ユニット206、メイン・メモリ208、及びグラフィックス・プロセッサ210は、NB/MCH 202に接続されている。グラフィックス・プロセッサ210は、高速グラフィックス・ポート(AGP)を介してNB/MCH 202に接続することができる。
【0020
図示の例において、ローカル・エリア・ネットワーク(LAN)アダプタ212は、SB/ICH 204に接続されている。オーディオ・アダプタ216、キーボード及びマウス・アダプタ220、モデム222、読み取り専用メモリ(ROM)224、ユニバーサル・シリアル・バス(USB)ポート及び他の通信ポート232、ならびにPCI/PCIeデバイス234は、バス238を介してSB/ICH 204に接続されており、ハード・ディスク・ドライブ(HDD)226及びCD‐ROMドライブ230は、バス240を介してSB/ICH 204に接続されている。PCI/PCIeデバイスとしては、例えばイーサネット(R)アダプタ、アドイン・カード、及びノート型コンピュータ用PCカード等を挙げることができる。PCIはカード・バス・コントローラを使用するが、PCIeはこれを使用しない。ROM 224は、例えばフラッシュ・バイナリ入力/出力システム(BIOS)等であってもよい。
【0021
HDD 226及びCD‐ROMドライブ230は、バス240を介してSB/ICH 204に接続されている。HDD 226及びCD‐ROMドライブ230は、例えば統合ドライブ・エレクトロニクス(IDE)やシリアル・アドバンスト・テクノロジー・アタッチメント(SATA)・インターフェース等を使用することができる。スーパーI/O(SIO)デバイス236は、SB/ICH 204に接続することができる。
【0022
オペレーティング・システムは、処理ユニット206上で実行される。上記オペレーティング・システムは、図2のデータ処理システム200内の様々なコンポーネントの制御を調整し実行する。クライアントとしてのオペレーティング・システムは、Microsoft(R)Windows(R)XPのような市販のオペレーティング・システムであってもよい(「Microsoft」及び「Windows」は、マイクロソフト・コーポレーションの米国その他の国、又はその両方における商標である)。Java(TM)プログラミング・システムのようなオブジェクト指向プログラミング・システムは、上記オペレーティング・システムと連動させることができ、データ処理システム200上で実行されているJava(TM)プログラム又はアプリケーションから当該オペレーティング・システムをコールするものである(「Java」は、サン・マイクロシステムズの米国その他の国、又はその両方における商標である)。
【0023
サーバとしてのデータ処理システム200は、例えば拡張対話式エグゼクティブ(Advanced Interactive Executive:AIX(R))オペレーティング・システム又はLINUX(R)オペレーティング・システムを実行するIBM(R)eServer(TM)pSeries(R)コンピュータ・システムであってもよい(「eServer」、「pSeries」、及び「AIX」は、インターナショナル・ビジネス・マシーンズ・コーポレーションの米国その他の国、又はその両方における商標であり、「Linux」は、Linus Torvalds氏の米国その他の国、又はその両方における商標である)。データ処理システム200は、複数のプロセッサを処理ユニット206内に含む対称型マルチプロセッサ(SMP)システムであってもよい。別法として、シングル・プロセッサ・システムを採用することもできる。
【0024
上記オペレーティング・システム、オブジェクト指向プログラミング・システム、及びアプリケーション又はプログラムに関する命令は、HDD 226のようなストレージ・デバイス上に配置され、処理ユニット206による実行のためにメイン・メモリ208にロードすることができる。本発明の例示的な諸実施形態の各処理は、例えばメイン・メモリ208やROM 224等のメモリ内に配置されても、1つ又は複数の周辺デバイス226及び230内に配置されてもよい、コンピュータ使用可能なプログラム・コードを使用して処理ユニット206によって実行することができる。
【0025
バス・システムは、図2に示されるバス238やバス240のような1つ又は複数のバスから構成することができる。言うまでもなく、上記バス・システムは、通信ファブリック又はアーキテクチャであって、当該ファブリック又はアーキテクチャに取り付けられた様々なコンポーネント又はデバイス間でデータ転送を行う任意のタイプの通信ファブリック又はアーキテクチャを使用して実装することができる。図2のモデム222やネットワーク・アダプタ212のような通信ユニットは、データの送受信に使用される1つ又は複数のデバイスを含むことができる。メモリは、例えば図2のNB/MCH 202内で見受けられるようなメイン・メモリ208、ROM 224、キャッシュ等であってもよい。
【0026
図1及び図2のハードウェアは実装形態に応じて変更され得ることが当業者には理解されるだろう。図1及び図2に示されるハードウェアに加えて又はその代わりに、フラッシュ・メモリや同等の不揮発性メモリ、あるいは光ディスク・ドライブ等、他の内部ハードウェア又は周辺デバイスを使用することもできる。また、本発明の例示的な諸実施形態の各処理は、本発明の趣旨及び範囲から逸脱しない限り、前述のSMPシステム以外のマルチプロセッサ・データ処理システムにも適用することができる。
【0027
更に、データ処理システム200は、クライアント・コンピューティング・デバイス、サーバ・コンピューティング・デバイス、タブレット・コンピュータ、ラップトップ・コンピュータ、電話又は他の通信デバイス、携帯情報端末(PDA)等を含めたいくつかの異なるデータ処理システムのうちの任意の形をとることができる。いくつかの実例において、データ処理システム200は、オペレーティング・システム・ファイル又はユーザ生成データあるいはその両方を記憶する不揮発性メモリを提供するフラッシュ・メモリが組み込まれた携帯型コンピューティング・デバイスであってもよい。データ処理システム200は事実上、アーキテクチャ上の限定を伴わない既知の又は将来開発される任意のデータ処理システムとすることができる。
【0028
再び図1を参照すると、SAN 100内のコンポーネントの障害が発生した場合は、典型的にはその障害を経験しているコンポーネントの外部に所在するSAN 100のコンポーネントが障害を検出し、デバッグ用のデータ収集を開始しなければならない。その結果、デバッグ用に収集されるデータは障害の原因となるエラー状態の発生から長時間経過してから収集される場合が多く、また、SANコンポーネントのログ能力の制約により、いくつかの情報がレイテンシ期間中に失われる恐れもある。
【0029
例示的な諸実施形態は、ホスト・アプリケーションの障害発生時に、ホスト110のようなホスト・システムがホスト・システム110とストレージ・システム120の両方に対する「状態保存(state save)」処理を開始することが可能となるメカニズムを提供する。更に、例示的な諸実施形態は、ストレージ・システム120のようなストレージ・システム内のストレージ・デバイスの障害が検出されたことに応答して、ストレージ・システム120が複数のホスト・システムであることもあるホスト・システム110とストレージ・システム120の両方に対する「状態保存」処理を開始することが可能となるメカニズムを提供する。
【0030
以下ではいくつかの処理を実行するホスト・システム110及びストレージ・システム120の特定の要素に関して例示的な諸実施形態の説明を行うが、これらは単に本発明の可能な実施形態を例示するものにすぎず、また、本明細書に記載の処理を実行することが可能な要素を限定することを主張するものではなく、そのように暗示することも意図しているわけではないことを理解していただきたい。それ故、例えばストレージ・システム120のストレージ・コントローラによる処理は、ホスト・システム110上で実行されるドライバでも同様に実行することができ、逆もまた同様に実行することができる。更に、後で例示的な諸実施形態に関して概要が示される様々な処理を実行する、ホスト・システム又はストレージ・システムに由来する別個のデバイスを提供することもできる。本明細書を読めば当業者には容易に理解されるように、例示的な諸実施形態には本発明の趣旨及び範囲を逸脱しない限り他の修正を施すことが可能である。
【0031
また、例示的な諸実施形態は、ストレージ・システムと1つ又は複数のホスト・システムとの間のストレージ・エリア・ネットワーク(SAN)における状態保存処理に関して説明されているが、各実施形態及び本発明はそのように限定されるものではないことを理解していただきたい。むしろ、例示的な諸実施形態の各メカニズムは、例えば障害発生時に状態保存処理が望まれるサーバ・システム、クライアント・デバイス、ワークステーション等のデータ処理システム又はデバイスあるいはその両方から構成される任意のネットワークと共に利用することが可能である。それ故、本発明はホスト・システム及びストレージ・システム内の状態保存処理に限定されるものではなく、本発明の趣旨及び範囲には他の環境も含まれるものと見なされる。
【0032
例示的な諸実施形態では、「状態保存」処理、即ちすべてのレジスタのうちの1つ又は複数をログ・ファイルにダンプする処理は、イン・バンド・コマンドを用いて開始される。イン・バンド・コマンドとは、通信プロトコル・インフラストラクチャ内で主要コード・パス(prime code path)の一部として生成され、障害時点とほぼ同時にすべてのコンポーネントのポイント・イン・タイム・フリーズ(point‐in‐time freeze)をもたらすコマンドを指す。これらのコマンドは、ホスト・システム及びストレージ・システムに対して、既知のシステムの場合のように障害検出後しばらく経ってからデータ収集が実行され得る外部コンポーネントを利用するのではなく、当初の障害時点でデータ収集を実行するよう指示するものである。このデータ収集は、障害発生後ほぼ即時に又はほぼ実時間でSAN内の複数のコンポーネントにわたって実行することができる。その結果、データ収集を実行する時間フレームが可能な限り実際の障害に近付くため、「状態保存」処理で収集され得る障害時点の実際の状態に関連するデータ量が最大化される。
【0033
例示的な一実施形態では、エラー又は障害に応答して、例えばストレージ・システム120等のストレージ・システム内の状態保存処理を直接コマンドを利用して促すファシリティが、ホスト・システム110、ホスト・アプリケーション、サーバ・システム等に提供される。例示的な一実施形態において、ホスト・システム110は、ホスト・システム・ログと連動する特定の時点でストレージ・システム120にデバッグ用の1組の状態保存データを収集させるアプリケーション・プログラム・インターフェース(API)を含む。
【0034
例示的な諸実施形態に係る本APIは、例えばフェイルオーバ・ドライバ又はホスト・バス・アダプタ(HBA)あるいはその両方に含めることができる。そのため、本APIは、エラー又は障害の初期検出時に利用可能なデータ量を増加させることによって当該エラー又は障害後の初期データ・キャプチャが最大化されるように、主要コード・パスに提供することができる。本APIは、ストレージ・システム120に状態保存処理を要求するコマンドの交換機能を提供する。ストレージ・システム120は、通信チャネルAPI、例えばイーサネット又はファイバ・チャネルAPIを利用してコマンドを受信し処理する。
【0035
ストレージ・システム120に含まれるロジックは、ストレージ・システム120が状態保存コマンドで過飽和状態に陥るのを回避するために、状態保存処理が所定の期間内に既に実行されているかどうかを判定する頻度機能を含むことができる。ホスト・システム110上では、ストレージ・システム120又はストレージ・システム120内のストレージ・デバイス(単数又は複数)が行った状態保存処理の詳細と、収集された状態保存データ・ファイルの名前とを有するホスト・ログを生成することができる。
【0036
例示的な諸実施形態は更に、ストレージ障害デバッグ用のデータ収集アクティビティ中にホスト・システム110によって例えばストレージ・システム120等のストレージ・システムとの通信に使用されるデータ・チャネルを利用して、ホスト側ログ及びデータの要求及び転送を行うデータ収集用ファシリティも提供する。例示的な諸実施形態に係るシステム及び方法は、フェイルオーバ・ドライバを利用してホスト・システム・ログ、フェイルオーバ・ドライバ・ログ、ホスト構成データ、ファームウェア/ソフトウェア・レベル、及び基本構成データを収集し、当該データをストレージ・システム120に転送する。その後、ストレージ・システム120は、問題の判定及び障害状態の解決のために、ホスト・システム・データをそれ自体の状態保存データの一部としてパッケージングすることができる。
【0037
フェイルオーバ・ドライバ内のAPIは、ストレージ・システムから送信されるデータ収集ストレージ・コマンドを認識することができ、例えばホスト・システム・ログやフェイルオーバ・ドライバ・ログ等のホスト側状態保存データ・セットを独自に一時ディレクトリのアーカイブ・ファイルに収集することが可能となる。その後、フェイルオーバ・ドライバ内のAPIはストレージ・デバイスと交渉して、データ・チャネルのオープン及びアーカイブ・ファイルの転送を求めることができる。
【0038
ストレージ・システム120のデータ収集を支援するために、複数のホスト・システム110のホスト・フェイルオーバ・ドライバに対するコマンドと相互作用することが可能なマルチ・ホスト・インターフェース・システムが含まれている。このマルチ・ホスト・インターフェース・システムは、データ要求を処理し、ホスト・システム110からデータを転送するためのデータ・チャネルをオープンするものである。ストレージ・システム120は、記憶媒体上、例えばハード・ディスク上の一時記憶位置を作成して、場合によっては複数のホスト・システム110に由来する状態保存データを一時的に記憶することができ、その後すべてのストレージ・システム状態データをホスト・システム状態データと共にパッケージングすることができる。マルチ・ホスト・インターフェース・システムは更に、収集されたホスト・システム及びストレージ・システム状態データ・パッケージをストレージ・システム障害のデバッグ時に使用するためにクライアント・システムに転送するファシリティも提供する。
【0039
それ故、上述のとおり、既知の障害データ収集方法よりも優れた例示的な諸実施形態の利点の1つは、各実施形態で実施されるデータ収集が当初の障害時点で実行される点にある。例示的な諸実施形態では、障害を検出しデータ収集を実行するために、障害に関与するコンポーネントの外部に所在するSAN内のコンポーネントを使用するのではなく、ホスト・システムとストレージ・システムとの間の通信経路内に各メカニズムが提供される。これらのメカニズムは、例えばホスト・バス・アダプタ(HBA)・バッファのようなごく短期間のトレース(trace)だけが残るレジスタ等のコンポーネントを含めたシステム・コンポーネントからデータが収集されるときに、すべてのコンポーネントにおいてホスト・システム又はストレージ・システムあるいはその両方を強制的に休止させる。それ故、例示的な諸実施形態に係る各メカニズムは、障害発生時に短期間のトレース情報を直ちに収集することができるような形でデータ収集を実行する。
【0040
図3は、ホスト・アプリケーションの障害に応答して実行される基本動作コンポーネントの動作例を示す例示的なブロック図である。図3に示される各動作コンポーネントは、ハードウェアの形で実装することもソフトウェアの形で実装することもでき、ハードウェアとソフトウェアの任意の組合せの形で実装することもできることを理解していただきたい。好ましい一実施形態において、各動作コンポーネントは、1つ又は複数のプロセッサによって実行されるソフトウェア命令として実装される。
【0041
図3に示されるように、ストレージ・エリア・ネットワーク(SAN)300は、複数のホスト・システム310〜330ならびに複数のストレージ・システム340、392、及び394から構成され得る。説明の便宜上、図3には1つのストレージ・システム、即ちストレージ・システム340だけが詳細に示されている。
【0042
図3に示されるように、ストレージ・システム340は、複数のストレージ・デバイス342〜348と、ストレージ・コントローラ350と、ストレージ・コントローラ350内に設けられるマルチ・ホスト・インターフェース360とを含む。ストレージ・システム340のストレージ・コントローラ350は更に、例えばホスト・システム310〜330から状態保存コマンドを受信するイーサネット又はファイバ・チャネルAPIとして提供され得るアプリケーション・プログラム・インターフェース(API)370も含むことができる。ストレージ・デバイス342〜348のうちの1つ又は複数では、ストレージ・システム340、及びホスト・システム310〜330のうちの1つ又は複数から収集される状態保存データを記憶するための状態保存データ構造が提供される。
【0043
ホスト・システム310〜330は、ホスト・バス・アダプタ(HBA)・ドライバ314、324、334と、フェイルオーバ・ドライバ312、322、332とを含む。HBAドライバ314、324、334、及びフェイルオーバ・ドライバ312、322、332は、マイクロコードの形で提供され、ストレージ・システム340内のストレージ・デバイス342〜348における状態保存処理の実行を要求するコマンドの交換を可能にするAPIを含む。例えば、フェイルオーバ・ドライバ312、322、及び332は、ストレージ・デバイス342〜348と通信して状態保存処理を開始するよう命令する「状態保存取得(take a state save)」コマンドを各ストレージ・デバイスに引き渡すAPI/CIMOMを有することができる。
【0044
動作において、ホスト・システム310〜330は、ストレージ・システム340内のストレージ・デバイス342〜348にアクセスすることが可能な様々なアプリケーションを実行する。アプリケーションの実行中は、アプリケーション・インスタンス内で障害が発生する可能性があり、その結果、障害を引き起こしたエラー原因をデバッグする際、又はその他の方法でエラー原因を特定する際に使用されるホスト・システム310〜330及びストレージ・システム340の状態に関するデータを収集する必要が生じる。フェイルオーバ・ドライバ312、322、及び332のマイクロコードAPIは、アプリケーションの障害を検出し、データ収集を実行するHBAドライバ314、324、及び334に対して状態保存コマンドを発行する機能を提供する。
【0045
典型的なシステムでは、障害が検出されるとその旨がホスト・システム・ログにレポートされるが、ホスト・システムが障害データを得るまでに典型的には数分又は数時間のタイム・ラグが存在する。例示的な諸実施形態の各メカニズムを用いると、障害検出後ほぼ即時に状態保存が実行される。これにより、根本的原因を分析するための最大限のデータが収集される確率が高まる。
【0046
HBAドライバ314、324、及び334のマイクロコードAPIは、1つ又は複数のスイッチやルータ等を備えるデータ・ネットワークやSANファブリック、例えば図1のSANファブリック102等の転送媒体(transport media)390を介して、状態保存コマンドをストレージ・システム340に対して発行する機能を提供する。そのような状態保存コマンドは、HBAドライバ314、324、及び334から既存のイーサネット又はファイバ・チャネル・データ・チャネルを介してストレージ・システム340に直接送信される「イン・バンド」コマンドである。「イン・バンド」という用語は、データ・チャネルと同一の経路内でコマンドを送ることができる能力を指す。既知のシステムは、アウト・オブ・バンド(out‐of‐band)方法を使用する。即ち、エラーはファイバ・チャネル・アダプタ・チャネルにおいて検出され、データ収集コマンドは、当該データ・チャネルの外部のイーサネット・コマンド経路、即ちファイバ・チャネル・アダプタ・チャネルによって送られる。このため、冗長経路及び追加的な接続の保守が必要となり、それに伴うレイテンシも発生する。
【0047
既知のシステムにおいて、エラー・ログは、手動スクリプトを使用してイベント・トリガ・スイッチによってコード単位(in code)で受動的に監視される。その結果、かなりのレイテンシが導入される。本明細書に記載の例示的な諸実施形態では、印刷出力及び応答に数秒かかる可能性がある受動的なエラー・ログ監視を間接的に経由することなく、エラー検出と同時に活性化されるようなロジックが、エラー経路の一部となるドライバ・スタック内に提供される。
【0048
それ故、例えばフェイルオーバ・ドライバ312によってホスト・システム310内のアプリケーション・インスタンス318の障害が検出された場合、フェイルオーバ・ドライバ312は、ホスト・システム310とストレージ・システム340との間のデータ・チャネルを介してHBAドライバ314に状態保存処理コマンドを直ちに送信する。この状態保存処理コマンドは、HBAドライバ314にホスト・システム310内の処理を直ちに休止させ、様々なホスト・システム状態データ、例えばホスト・システム・ログ、フェイルオーバ・ドライバ・ログ、ホスト構成データ、ファームウェア/ソフトウェア・レベル、基本構成データ、HBAレジスタ情報、アプリケーション・ログ情報等のデータ収集を実行させる。このような休止は本質的に、ホスト・システム310にそれ自体の現在の状態を短時間、例えば数ミリ秒維持させるものであるが、その間にレジスタ及びインフライト(in‐flight)・ログ情報を記憶することが可能となる。この短い休止時間間隔の間に何らかの処理が試行された場合は、「ビジー(busy)」応答を返すことができ、後で再試行を行うことができる。
【0049
この処理はホスト・システム310内の障害発生後ほぼ即時に実行され、その障害を経験しているホスト・システム310内で開始されるので、データ収集では、フェイルオーバ・ドライバ312の存在により、典型的には一時に数フレームのデータしか記憶せず、したがって迅速に上書きされる可能性があるHBAバッファのようにごく短期間のトレースだけが残るホスト・システム310内のデバイスからもデータを収集することが可能となる。既知のシステムでは外部デバイスを利用して障害が検出されデータ収集が開始され、それに起因するレイテンシが発生するため、そのような短期間のトレース・データは、データ収集が実行されるまでに失われる恐れがある。
【0050
フェイルオーバ・ドライバ312から状態保存コマンドが受信されたことに応答してデータ収集を開始することに加えて、HBAドライバ314は更に、転送媒体390を介してストレージ・システム340に状態保存コマンドを送信する。ストレージ・システム340に送信される状態保存コマンドは、依然として動作状態にある、ホスト・システム310とストレージ・システム340との間の既存のイーサネット/ファイバ・チャネル接続を介して送信される直接コマンドである。ストレージ・システム340に送信される状態保存コマンドは、ホスト・システム310内に設けられたイーサネット/ファイバ・チャネル要素から送信され、ストレージ・システム340側のイーサネット/ファイバ・チャネル要素によって受信される「イン・バンド」コマンドである。
【0051
ストレージ・システム340は、状態保存コマンドをストレージ・コントローラ350内のイーサネット/ファイバ・チャネルAPI 370において受信する。イーサネット/ファイバ・チャネルAPI 370は、状態保存コマンドを処理してストレージ・システム340でのデータ収集を実行する。この処理の一環として、イーサネット/ファイバ・チャネルAPI 370は、頻度判定を実行してホスト・システム310からの状態保存コマンドが所定の期間内に既に処理されているかどうかを判定することができる。このようにして、イーサネット/ファイバ・チャネルAPI 370は、ストレージ・デバイス342〜348のうちの1つ又は複数が状態保存要求で過飽和状態に陥るのを回避する。ストレージ・システム340からの状態保存コマンドが所定の期間内にイーサネット/ファイバ・チャネルAPI 370によって事前に受信されている場合は、障害の検出に応答して別の状態保存処理を実行することができない
【0052
イーサネット/ファイバ・チャネルAPI 370は、状態保存コマンドを送信したホスト・システム310に関連するストレージ・デバイス342〜348を特定し、その後特定されたホスト・システム310に関連するストレージ・デバイス342〜348のうちの1つ又は複数の休止、あるいはポイント・イン・タイム・フリーズを開始することができる。この場合も、休止又はポイント・イン・タイム・フリーズは、ストレージ・デバイス342〜348の状態をキャプチャすることができるようにストレージ・デバイス342〜348のアクティビティを短時間(数ミリ秒)休止させ、例えば各デバイスは「ビジー」応答を返す。休止期間が終了するとすべてのアクティビティが再試行される。
【0053
ホスト・システム310に関連するストレージ・デバイス342〜348が休止されると、イーサネット/ファイバ・チャネルAPI 370は、特定されたストレージ・デバイス342〜348のうちの1つ又は複数に関する状態保存処理、例えばレジスタ値のダンプを開始し、それによって別のストレージ・デバイス、例えばストレージ・デバイス348の一時記憶位置、あるいは別個の一時ストレージ・デバイス(図示せず)の一時記憶位置にストレージ・システム・ログ・ファイルを生成することができる。このようにして、ホスト・システム310内の障害時点とほぼ同時に、ホスト・システム310に関連するストレージ・デバイス342〜348のうちの1つ又は複数のレジスタ値を後の障害原因のデバッグで使用するために保存しておくことができる。
【0054
イーサネット/ファイバ・チャネルAPI 370は、ストレージ・システム状態保存ログ・データ構造と、ストレージ・システム340によって作成された状態保存ログ・データ構造の名前とに関して、どのストレージ・デバイス342〜348(単数又は複数)からデータが収集されたかに関する詳細をホスト・システム310に報告することができる。これらの情報は、データ収集の位置及び情報がそれぞれのホスト・ログ・データ構造でユーザに知らされるように、ホスト・システム310に報告することができる。このようにして、障害発生の追加的なインジケーション(indication)がユーザに提示され、その障害に関連するデータがストレージ・システム上のどこにあるかを示すインジケーションも提示することが可能となる。これらの情報を使用して、障害時間ならびにそれ自体の一部としてどのデータ・ファイルを収集すべきかを示すプロブレム・チケット(problem ticket)を生成することができる。このプロブレム・チケットもアプリケーションのデバッグに役立つ可能性がある。
【0055
そのため、フェイルオーバ・ドライバ312からの状態保存コマンドに応答してHBAドライバ314によってホスト・システム310から収集された状態保存データと共に、データ収集元となる1つ又は複数のストレージ・デバイス342〜348を特定する情報をホスト・ログ・データ構造に記憶することができる。このようにして、障害デバッグを実行するときにホスト・ログ・データ構造を使用してストレージ・システムの状態保存ログ・データ構造にアクセスすることができる。その後、このホスト・ログ・データ構造は、既知の又は将来開発される障害デバッグ方法に従って実行される障害デバッグで使用するために、転送媒体390等を介してクライアント・デバイス395に送信することができる。
【0056
別法として、ストレージ・システム340からそれ自体の状態保存ログ・データ構造に関する情報が返されたことに応答して、ホスト・システム310は、それ自体のログ・データ構造を、ストレージ・システム340の状態保存ログ・データ構造と共にパッケージングするためにストレージ・システム340に送信することができる。その結果得られたパッケージは、例えば転送媒体390を介してクライアント・デバイス395に送信して後の障害デバッグ等で使用するために、ストレージ・システム340内のストレージ・デバイス、例えばストレージ・デバイス348に記憶しておくことができる。
【0057
それ故、図3に概要が示される上記の処理及びメカニズムを用いれば、ホスト・システム310上のアプリケーション・インスタンス318の障害が発生した場合も、ホスト・システム310内の障害検出後ほぼ即時にデータ収集を実行することができる。その結果、データ損失が経験される可能性は低くなる。更に、状態保存コマンドはイーサネット/ファイバ・チャネル・メカニズムの直接コマンドを利用してストレージ・システム340に送信されるため、状態保存コマンドの送信で経験されるレイテンシは最小限に抑えられ、また、ホスト・システム310に関連するストレージ・デバイス342〜348のうち、障害を経験した1つ又は複数のストレージ・デバイスをホスト・システム310内の障害検出後ほぼ即時に休止させることができる。その後、それらの1つ又は複数のストレージ・デバイス342〜348に対して状態保存処理を実行することができる。
【0058
このようにして、最大限の状態データを収集することができ、それらの状態データは、ホスト・システム310内で検出された障害の特定のポイント・イン・タイムと既に相関付けられているログ・データ構造にコンパイルすることができる。これらのログ・データ構造は、障害に直接関係する情報で構成される単一のパッケージが提供されるように一緒にパッケージングすることができる。パッケージングされたデータはその時点で、ホスト・システム310内で検出された障害のポイント・イン・タイムに関連するデータであることが保証されるので、障害の一時点に対応するエントリを特定するために、既知のシステムで実行されるようにログ・ファイルをスキャンする必要はない。
【0059
図4は、ストレージ・システム内のストレージ・デバイスの障害に応答して実行される例示的な諸実施形態に係る基本動作コンポーネントの動作例を示す例示的なブロック図である。図4に示される各コンポーネントは、図3に示されるのと本質的に同じである。ただし、図4の処理は、ストレージ・システム340内のストレージ・デバイス342〜348の障害がストレージ・システム340によって検出されたことに応答して実行される。SAN 300内では、障害が発生し得る場所に応じて図3と図4の両方に示される処理を実行することができることを理解していただきたい。
【0060
図4に示されるように、SAN 300の通常動作中のある時点で、ストレージ・システム340内のストレージ・デバイス、例えばストレージ・デバイス342の障害が発生する可能性があるそのような障害の例としては、ストレージ・コントローラの再起動、経路又は接続損失、複数のドライブ障害、データ・アクセスを妨げる過渡的なコード・ハング/バグ等を挙げることができる。
【0061
ストレージ・システム340及びそのストレージ・デバイス342〜348を管理するストレージ・コントローラ350は、いくつかの異なる手法のいずれかによってこのストレージ・デバイス342の障害を検出することができる。例えば、ストレージ・コントローラ350は、ストレージ・デバイス342のピング(ping)を実行して応答が受信されるかどうか判定することができる。障害の検出にはハートビート信号ベースのメカニズムを利用することもできる。ストレージ・デバイスからの通信が所定の期間内に受信されなかったときを検出するタイムアウト・メカニズムを利用することもできる。本発明の趣旨及び範囲から逸脱しない限り、ストレージ・デバイス342の障害検出には既知の又は将来開発される任意のメカニズムを利用することができる。
【0062
ストレージ・デバイス342の障害が検出されたことに応答して、例えばストレージ・コントローラ350は、それ自体の内部ロジックに従って、それ自体のマルチ・ホスト・インターフェース360を介してホスト・システム310〜330に対して状態保存コマンドを発行する。マルチ・ホスト・インターフェース360は、ホスト・システム310〜330からストレージ・システム340にホスト状態保存データを送信するためのデータ・チャネルがホスト・システム310〜330との間でまだ確立されていない場合は、そのデータ・チャネルを確立することができる。当業界では、上記のようなイーサネット/ファイバ・チャネルを利用したデータ・チャネルの確立が一般に知られている。
【0063
マルチ・ホスト・インターフェース360は、確立されたデータ・チャネルを介して、それぞれの状態の休止又はポイント・イン・タイム・フリーズを実行し、状態保存処理を実行するよう要求するイン・バンド状態保存コマンドをホスト・システム310〜330に送信する。一方、ストレージ・コントローラ350は、障害を起こしたストレージ・デバイス342に関するストレージ・システム340内の状態保存処理を開始する。即ち、ストレージ・コントローラ350は、ストレージ・デバイス342〜348を休止させ、又はそれらのポイント・イン・タイム・フリーズを実行し、ストレージ・デバイス342に関連する状態レジスタのダンプを実行し、エラー状態に関するデータを収集し、ラップするログ等があればそれらも収集する。これらの情報は、障害を起こしていない別のストレージ・デバイス上、例えばストレージ・デバイス348上等、ストレージ・システム340内の確立された位置に記憶される状態保存データ構造に収集される。このようなストレージ・システム状態保存データの収集は、ストレージ・デバイス342の障害検出後ほぼ即時にストレージ・コントローラ350によって実行される。
【0064
ホスト・システム310〜330では、例えばホスト・システム310を例にとると、ストレージ・コントローラ350のマルチ・ホスト・インターフェース360によって発行される状態保存コマンドは、HBAドライバ314によって受信され、フェイルオーバ・ドライバ312に提供される。フェイルオーバ・ドライバ312は、その状態保存コマンドを認識し、HBAドライバ314に対して内部状態保存コマンドを発行する。その後、HBAドライバ314は、ホスト・システム310の処理を休止させ、ホスト・システム310の各コンポーネントに対して、基本構成情報、HBAレジスタ情報、フェイルオーバ・ドライバ・ログ情報、アプリケーション・ログ情報等の収集コマンドを内部的に発行する。これらの情報は、ホスト・システム310内に記憶されるホスト状態保存ログ・データ構造にコンパイルされる。
【0065
その後、このホスト状態保存ログ・データ構造は、確立されたデータ・チャネルを介してホスト・システム310からストレージ・コントローラ350に転送される。このホスト状態保存ログ・データ構造は、ストレージ・システム状態保存ログ・データ構造と共に、ストレージ・デバイス342の障害のポイント・イン・タイムに関するすべての状態保存情報を含む1つのパッケージにパッケージングされる。後のある時点で、ストレージ・コントローラ350は、その状態保存情報パッケージをストレージ・デバイス342の障害原因を分離する障害デバッグ処理の実行時に使用するために、転送媒体390を介してクライアント・デバイス395に送信することができる。
【0066
この処理は、各ホスト・システム310〜330からストレージ・コントローラ350にホスト・システム状態保存ログ・データ構造を提供することにより、各ホスト・システムにおいて実行することができることを理解していただきたい。ストレージ・コントローラ350は、すべてのホスト・システム状態保存ログ・データ構造をストレージ・システムの状態保存ログ・データ構造と一緒にして、1つのパッケージにパッケージングすることができる。その結果、ストレージ・デバイス342の障害のポイント・イン・タイムに関連することが保証された状態保存ログ・データの単一のパッケージが生成される。それ故、例示的な諸実施形態の各メカニズムを利用して障害デバッグを実行する場合は、障害に対応する各時点のログを外部デバイスによってスキャンする必要がなくなる。
【0067
例示的な諸実施形態の例示的な動作を更に説明するために、ここでは、ホスト・システムからデータベースへのアクセスに問題が生じ、その結果I/Oエラーがエラー・ログの形で生成される実行環境の一般的な状況を仮定する。ストレージ・システム340には障害が発生したことを示すどのようなインジケーションも与えられない。例示的な諸実施形態を用いると、障害は、アプリケーション・インスタンス318、フェイルオーバ・ドライバ312、HBAドライバ314、及びイーサネット/ファイバ・チャネルAPI 370を介してストレージ・システム340に通信される。フェイルオーバ・ドライバ312は、ストレージ・システム340に障害が発生したことを知らせる信号フレームを送信することができる。その後、ストレージ・システム340は、データ収集応答を開始することができる。ホスト・フェイルオーバ・ドライバ312及びHBAドライバ314は、ホスト・システム310上のホスト・ログ、フェイルオーバ・ドライバ・ログ、HBAドライバ・ログ等を収集し、それらを適切なタイム・スタンプを有するログ・ファイルと共に適切なディレクトリに記憶する。ストレージ・システム340は、レジスタ値、すべてのホスト・システム310〜330に関するデバイス固有情報、エラー状態、及びラップするログがあればそれらも状態保存データ・ファイルに収集する状態保存処理を強制実行(force)する。次に、ストレージ・システム340は、ストレージ・デバイス上に一時記憶スペースを作成し、その一時記憶スペースにホスト・システム310〜330からの記憶済みログ・ファイルを転送する。その後、すべてのログ・ファイルは、それぞれのソース、タイム・スタンプ、及びシステム詳細を示すログと共に1つのファイルにアーカイブされる。
【0068
図5及び図6は、例示的な一実施形態に従ってSANコンポーネント障害に関連するデータ収集を実行する例示的な処理を示すフローチャートである。フローチャートに示される各ブロック及びブロックの組合せは、コンピュータ・プログラム命令によって体現され得ることが理解されるだろう。これらのコンピュータ・プログラム命令は、プロセッサ又は他のプログラマブル・データ処理装置に提供することができ、それにより、各命令を当該プロセッサ又は他のプログラマブル・データ処理装置上で実行してフローチャート内の1つ又は複数のブロックで指定される機能を実現する手段が提供されるマシンを生成することが可能となる。これらのコンピュータ・プログラム命令は、プロセッサ又は他のプログラマブル・データ処理装置を特定の形で機能させることができるコンピュータに読み込み可能なメモリ又は記憶媒体に記憶することもでき、それにより、当該コンピュータに読み込み可能なメモリ又は記憶媒体に記憶された各命令によってフローチャート内の1つ又は複数のブロックで指定される機能が実現される製品を生成することが可能となる。
【0069
したがって、フローチャート内の各ブロックは、指定された機能を実行する手段の組合せと、指定された機能を実行するステップの組合せと、指定された機能を実行するプログラム命令手段とをサポートする。フローチャート内の各ブロック及びブロックの組合せは、指定された機能又はステップを実行する専用ハードウェア・ベース・コンピュータ・システムによって、あるいは専用ハードウェアとコンピュータ命令との組合せによって実行することができることも理解されるだろう。
【0070
更に、各フローチャートは、例示的な諸実施形態の範囲内で実行される処理の論証用に提示されるものである。各フローチャートは特定の処理に関する限定、より具体的には処理の順序に関する限定を主張するものではなく、そのように暗示することも意図しているわけではない。各フローチャートの処理は具体的な実装に合わせて修正することができる。
【0071
図5は、ホスト・アプリケーション障害に応答してデータ収集を実行する、例示的な一実施形態に係る例示的な処理の概要を示すフローチャートである。図5に示されるように、本処理は、フェイルオーバ・ドライバがアプリケーション・インスタンスの障害を検出することから開始する(ステップ510)。次に、フェイルオーバ・ドライバは、ホスト・バス・アダプタ(HBA)・ドライバに状態保存コマンドを送信し(ステップ520)、ホスト・システム内の状態保存処理を開始する(ステップ530)。ホスト・システム内の状態保存処理の一環として、フェイルオーバ・ドライバ又はHBAドライバあるいはその両方は、様々なホスト・システム・コンポーネントに対してそれらのデータを収集するためのコマンドを送信し、その後、各データはホスト・システム状態保存ログ・データ構造に記憶される(ステップ540)。
【0072
HBAドライバは、ストレージ・システムに状態保存コマンドを送信する(ステップ550)。ストレージ・システムは、HBAドライバから状態保存コマンドを受信し、当該状態保存コマンドの送信元となるホスト・システムに対応するストレージ・デバイスを判定する(ステップ560)。次に、ストレージ・システムは、特定されたストレージ・デバイスに関する状態保存処理を実行し(ステップ570)、収集された状態情報をストレージ・システム状態保存ログ・データ構造に記憶する(ステップ580)。次に、ストレージ・システムは、影響を受けているストレージ・デバイスと、作成されたストレージ・システム状態保存ログ・データ構造とを示す応答をホスト・システムに返す(ステップ590)。
【0073
その後、ホスト・システムは、ホスト・システム状態保存ログ・データ構造をストレージ・システムに送信することができ(ステップ592)、ストレージ・システムはそこで、当該ホスト・システム状態保存ログ・データ構造をストレージ・システム状態保存ログ・データ構造と共に単一の状態保存ログ・パッケージにパッケージングする(ステップ594)。その後、当該状態保存ログ・パッケージを障害デバッグの実行時に使用するためにクライアント・デバイスに提供することができる(ステップ596)。その後処理は終了する。
【0074
図6は、ストレージ・デバイス障害に応答してデータ収集を実行する、例示的な一実施形態に係る例示的な処理の概要を示すフローチャートである。図6に示されるように、本処理は、ストレージ・コントローラがストレージ・デバイスの障害を検出することから開始する(ステップ610)。次に、ストレージ・コントローラは、それ自体の通信先となる各ホスト・システムとの間のデータ・チャネルを確立し(ステップ620)、各ホスト・システムに状態保存コマンドを送信する(ステップ630)。更に、ストレージ・コントローラは、ストレージ・システム内の状態保存処理を開始する(ステップ640)。ストレージ・システム内の状態保存処理の一環として、ストレージ・コントローラは、様々なストレージ・システム・コンポーネントに対してそれらのデータを収集するためのコマンドを送信し、その後、各データはストレージ・システム状態保存ログ・データ構造に記憶される(ステップ650)。
【0075
各ホスト・システムは、ストレージ・コントローラから状態保存コマンドを受信し、ホスト・システム内の状態保存情報を記憶するためのデータ構造を生成する(ステップ660)。次に、ホスト・システムは、状態保存処理を実行し(ステップ670)、収集された状態情報をホスト・システム状態保存ログ・データ構造に記憶する(ステップ680)。その後、ホスト・システムは、ホスト・システム状態保存ログ・データ構造をストレージ・システムに送信し(ステップ690)、ストレージ・システムはそこで、当該ホスト・システム状態保存ログ・データ構造をストレージ・システム状態保存ログ・データ構造と共に単一の状態保存ログ・パッケージにパッケージングする(ステップ694)。その後、当該状態保存ログ・パッケージを障害デバッグの実行時に使用するためにクライアント・デバイスに提供することができる(ステップ696)。その後処理は終了する。
【0076
このように、例示的な諸実施形態は、ホスト・システム上又はストレージ・システム内のストレージ・デバイス上のアプリケーション障害が発生した場合の即時データ収集を容易にするメカニズムがホスト・システムとストレージ・システムのそれぞれに提供されるシステム及び方法を提供する。データ収集は障害発生後ほぼ即時に実行されるので、収集されるデータ量が最大化される。また、例示的な諸実施形態の各メカニズムによれば、非常に過渡的なデータ、即ち小さいトレース・データ・ストレージを有するコンポーネントに記憶されているデータもキャプチャされる。更に、障害の検出に応答してホスト・システムとストレージ・システムの両方から収集される状態情報を一緒にパッケージングしてデバッグ用に提供することができる。その結果、パッケージに記憶されているデータは障害時点のSANの状態に関連することが保証されるため、特定の障害に関連する情報を特定するための詳細なログ・ファイル・スキャンの実行が最小限に抑えられる。
【0078
上述のとおり、例示的な諸実施形態は、いくつかの処理を実行するホスト・システム及びストレージ・システムの特定の要素に関して説明されているが、これらは単に本発明の可能な実施形態を例示するものにすぎず、また、本明細書に記載の処理を実行することが可能な要素を限定することを主張するものではなく、そのように暗示することも意図しているわけではないことを理解していただきたい。それ故、例えば上記のストレージ・システムのストレージ・コントローラによる処理は、ホスト・システム上で実行されるドライバでも同様に実行することができ、逆もまた同様に実行することができる。更に、前述の例示的な諸実施形態に関して概要を示した様々な処理を実行する、ホスト・システム又はストレージ・システムに由来する別個のデバイスを提供することもできる。上記の説明を読めば当業者には容易に理解されるように、例示的な諸実施形態には本発明の趣旨及び範囲を逸脱しない限り他の修正を施すことが可能である。
【0079
また、例示的な諸実施形態は、ストレージ・システムと1つ又は複数のホスト・システムとの間の状態保存処理に関して説明されているが、各実施形態及び本発明はそのように限定されるものではない。むしろ、例示的な諸実施形態の各メカニズムは、障害発生時に状態保存処理が望まれるデータ処理システムで構成される任意のネットワークと共に利用することが可能である。それ故、本発明はホスト・システム及びストレージ・システム内の状態保存処理に限定されるものではなく、本発明の趣旨及び範囲には他の環境も含まれるものと見なされる。
【0080
例示的な諸実施形態は全体としてハードウェアの実施形態の形をとることも、全体としてソフトウェアの実施形態の形をとることもでき、ハードウェア要素とソフトウェア要素の両方を含む実施形態とすることもできることを理解していただきたい。例示的な一実施形態において、例示的な各実施形態に係るメカニズムは、必ずしもそれだけに限定されるわけではないが、ファームウェア、常駐ソフトウェア、マイクロコード等を含むソフトウェアで実施される。
【0081
更に、例示的な諸実施形態は、コンピュータ又は任意の命令実行システムによって、あるいはそれらに関連して使用されるプログラム・コードを備えるコンピュータ使用可能な又はコンピュータに読み込み可能な媒体からアクセスできる、コンピュータ・プログラム製品の形をとることもできる。本明細書では、コンピュータ使用可能な又はコンピュータに読み込み可能な媒体は、上記命令実行システム、装置、又はデバイスによって、あるいはそれらに関連して使用される上記プログラムを、収容し記憶し通信し伝搬し又は移送することができる任意の装置であってよい。
【0082
上記媒体は、電子系媒体、磁気系媒体、光学系媒体、電磁気系媒体、赤外線系媒体、又は半導体系媒体(あるいは装置又はデバイス)あるいは伝搬媒体であってもよい。コンピュータに読み込み可能な媒体の例としては、半導体又は固体メモリ、磁気テープ、着脱自在のコンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読み取り専用メモリ(ROM)、固定磁気ディスク、及び光ディスクが挙げられる。光ディスクの現行例としては、コンパクト・ディスク読み取り専用メモリ(CD‐ROM)、コンパクト・ディスク読み出し/書き込み(CD‐R/W)、及びDVDが挙げられる。
【0083
プログラム・コードを記憶し又は実行しあるいはその両方を行うのに適したデータ処理システムは、システム・バスを介してメモリ要素に直接又は間接的に連結される少なくとも1つのプロセッサを含む。上記メモリ要素は、上記プログラム・コードの実際の実行中に利用されるローカル・メモリ、バルク・ストレージ・デバイス、及び実行中にバルク・ストレージ・デバイスからコードを検索しなければならない回数を少なくするために、少なくともいくつかのプログラム・コードを一時的に記憶するキャッシュ・メモリを含むことができる。
【0084
入力/出力、即ちI/Oデバイス(必ずしもそれだけに限定されるわけではないが、キーボード、ディスプレイ、ポインティング・デバイス等を含む)は、上記システムに直接連結することも、I/Oコントローラを介して連結することもできる。介在する私設ネットワーク又は公共ネットワークを通して他のデータ処理システムあるいは遠隔プリンタ又はストレージ・デバイスに、上記データ処理システムが連結できるようにするために、上記システムにネットワーク・アダプタを連結することもできる。モデム、ケーブル・モデム及びイーサネット・カードは、現時点で使用可能なタイプのネットワーク・アダプタのほんのいくつかにすぎない。
【0085
本発明の記載は例示及び説明のために提示しているものであって、本発明の実施形態を余すところのないものとし、又は開示の形態に限定することは、本出願人の意図するところではない。当業者には多くの修正、変更が可能なことは明白であろう。

Claims (4)

  1. 複数のホスト・システム及び少なくとも1つのストレージ・システムから構成されるストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法であって、
    (a)前記ストレージ・システム内のストレージ・デバイスの障害状態に関する障害通知を受信するステップと、
    (b)前記ストレージ・システムのマルチ・ホスト・システム・インターフェースを介して、前記複数のホスト・システムのうちの各ホスト・システムとの間の別個のデータ・チャネルを確立するステップと、
    (c)前記マルチ・ホスト・システム・インターフェースによって確立された前記データ・チャネルを介して、イン・バンド状態保存コマンドを前記ストレージ・システムのストレージ・コントローラから前記各ホスト・システムにそれぞれ送信するステップと、
    (d)前記ストレージ・システム内の状態保存処理を要求することにより、前記ストレージ・システム用の状態保存データを生成するステップと、
    (e)前記各ホスト・システムがそれぞれのホスト・バス・アダプタ(HBA)ドライバにおいて前記イン・バンド状態保存コマンドを受信し且つ当該受信されたイン・バンド状態保存コマンドをそれぞれのフェイルオーバ・ドライバに提供したことに応答して、当該各ホスト・システム用の状態保存データを収集し且つ当該収集された当該各ホスト・システム用の状態保存データを前記マルチ・ホスト・システム・インターフェースによって確立された前記データ・チャネルを介して、前記ストレージ・コントローラに送信するステップと、
    (f)前記各ホスト・システムによって収集された当該各ホスト・システム用の前記状態保存データを、前記ストレージ・システムからの状態保存データと共に、検出された前記障害状態と関連付けられる単一の状態保存データ・パッケージにパッケージングするステップと、
    (g)前記状態保存データ・パッケージを前記ストレージ・デバイスの前記障害状態の解決時に使用するために出力するステップとを含む、方法。
  2. 前記イン・バンド状態保存コマンドを受信したことに応答して、前記各ホスト・システムは、それぞれの処理を休止させ、当該各ホスト・システムのコンポーネントの状態を保持し、当該各ホスト・システムの前記コンポーネントの状態情報を記憶することによって当該各ホスト・システム内の状態保存処理を開始する、請求項1に記載の方法。
  3. 前記出力するステップ(g)は、前記状態保存データ・パッケージを前記各ホスト・システム又は前記ストレージ・システムとは異なる障害デバッグ用のデータ処理システムに出力するステップを含む、請求項1に記載の方法。
  4. コンピュータ・システムにロードされたときに、請求項1乃至のいずれか一項に記載の方法に係るすべてのステップを前記コンピュータ・システムに実行させるコンピュータ・プログラム・コードを備えるコンピュータ・プログラム。
JP2010500170A 2007-03-28 2008-02-22 ストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法及びコンピュータ・プログラム Expired - Fee Related JP5079080B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/692,223 2007-03-28
US11/692,223 US7882393B2 (en) 2007-03-28 2007-03-28 In-band problem log data collection between a host system and a storage system
PCT/EP2008/052172 WO2008116712A1 (en) 2007-03-28 2008-02-22 In-band problem log data collection between a host and a storage system

Publications (2)

Publication Number Publication Date
JP2010524053A JP2010524053A (ja) 2010-07-15
JP5079080B2 true JP5079080B2 (ja) 2012-11-21

Family

ID=39643045

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010500170A Expired - Fee Related JP5079080B2 (ja) 2007-03-28 2008-02-22 ストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法及びコンピュータ・プログラム

Country Status (6)

Country Link
US (1) US7882393B2 (ja)
EP (1) EP2140353A1 (ja)
JP (1) JP5079080B2 (ja)
KR (1) KR20090106469A (ja)
CN (1) CN101652751A (ja)
WO (1) WO2008116712A1 (ja)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US7779308B2 (en) * 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network
US8055954B2 (en) * 2008-10-01 2011-11-08 Hewlett-Packard Development Company, L.P. Storage systems and methods for distributed support ticket processing
JP5463780B2 (ja) * 2009-07-31 2014-04-09 ブラザー工業株式会社 情報処理装置
US8447916B2 (en) * 2010-02-17 2013-05-21 Microsoft Corporation Interfaces that facilitate solid state storage configuration
US20120233604A1 (en) * 2011-03-08 2012-09-13 Jibbe Mahmoud K Method for concurrently supporting new and legacy third party boot-sets in an array
US8973018B2 (en) 2011-08-23 2015-03-03 International Business Machines Corporation Configuring and relaying events from a storage controller to a host server
JP5735124B2 (ja) * 2011-10-28 2015-06-17 株式会社日立製作所 ストレージシステム、及びオブジェクト管理方法
US9003432B1 (en) * 2012-06-28 2015-04-07 Emc Corporation Efficient management of kernel driver performance data
JP6035909B2 (ja) * 2012-06-29 2016-11-30 富士通株式会社 ストレージシステムおよびストレージシステムの制御方法
JP6035908B2 (ja) * 2012-06-29 2016-11-30 富士通株式会社 ストレージシステム
KR101955462B1 (ko) 2012-10-19 2019-03-11 에스케이플래닛 주식회사 크래시 로그 리포트 제어를 위한 시스템 및 방법
WO2014118874A1 (ja) 2013-01-29 2014-08-07 株式会社 日立製作所 ストレージシステム
US8990642B2 (en) * 2013-02-22 2015-03-24 International Business Machines Corporation Managing error logs in a distributed network fabric
WO2014199447A1 (ja) * 2013-06-11 2014-12-18 株式会社日立製作所 計算機およびフェールオーバ方法
US10298668B2 (en) 2014-03-24 2019-05-21 Square Enix Co., Ltd. Interactive system, terminal apparatus, server apparatus, control method, program, and recording medium
KR101678933B1 (ko) 2014-11-18 2016-12-07 삼성전자주식회사 스토리지 장치 및 스토리지 장치의 동작 방법
WO2016167789A1 (en) * 2015-04-17 2016-10-20 Hewlett Packard Enterprise Development Lp Storing state machine information in a non-volatile memory
US20200204991A1 (en) * 2018-12-21 2020-06-25 Micron Technology, Inc. Memory device and managed memory system with wireless debug communication port and methods for operating the same
US9916273B2 (en) 2015-07-10 2018-03-13 Microsoft Technology Licensing, Llc Sideband serial channel for PCI express peripheral devices
US11983138B2 (en) 2015-07-26 2024-05-14 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
JP6328595B2 (ja) * 2015-09-29 2018-05-23 東芝テック株式会社 情報処理装置及びプログラム
CN105389235A (zh) * 2015-10-28 2016-03-09 致象尔微电子科技(上海)有限公司 一种异构多核调试系统与方法
WO2017078662A1 (en) 2015-11-02 2017-05-11 Hewlett Packard Enterprise Development Lp Storage area network diagnostic data
US20190109720A1 (en) 2016-07-26 2019-04-11 Samsung Electronics Co., Ltd. Modular system (switch boards and mid-plane) for supporting 50g or 100g ethernet speeds of fpga+ssd
US11461258B2 (en) * 2016-09-14 2022-10-04 Samsung Electronics Co., Ltd. Self-configuring baseboard management controller (BMC)
US10346041B2 (en) 2016-09-14 2019-07-09 Samsung Electronics Co., Ltd. Method for using BMC as proxy NVMeoF discovery controller to provide NVM subsystems to host
US10372659B2 (en) 2016-07-26 2019-08-06 Samsung Electronics Co., Ltd. Multi-mode NMVE over fabrics devices
US11144496B2 (en) 2016-07-26 2021-10-12 Samsung Electronics Co., Ltd. Self-configuring SSD multi-protocol support in host-less environment
US10210123B2 (en) 2016-07-26 2019-02-19 Samsung Electronics Co., Ltd. System and method for supporting multi-path and/or multi-mode NMVe over fabrics devices
US11100996B2 (en) * 2017-08-30 2021-08-24 Micron Technology, Inc. Log data storage for flash memory
CN107729170B (zh) * 2017-09-29 2021-02-02 苏州浪潮智能科技有限公司 一种hba卡生成转存文件的方法及装置
CN110134572B (zh) * 2018-02-02 2023-08-08 伊姆西Ip控股有限责任公司 验证存储系统中的数据
JP6919597B2 (ja) 2018-03-01 2021-08-18 オムロン株式会社 コンピュータおよびその制御方法
CN111063195A (zh) * 2019-11-19 2020-04-24 珠海市德宇辉煌信息科技有限公司 一种车牌识别装置及系统
US11269707B2 (en) 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
US11269708B2 (en) * 2019-12-30 2022-03-08 Micron Technology, Inc. Real-time trigger to dump an error log
KR102155256B1 (ko) * 2020-07-17 2020-09-11 주식회사 가야데이터 이기종 환경에서 사용 가능한 스토리지 이중화 시스템
CN112433877B (zh) * 2020-12-01 2024-05-17 北京五八信息技术有限公司 应用启动崩溃的检测方法、装置、电子设备及存储介质
CN115617280B (zh) * 2022-12-19 2023-03-03 苏州浪潮智能科技有限公司 临时目录的优化管理方法、装置、电子设备及存储介质

Family Cites Families (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS55108064A (en) 1979-02-13 1980-08-19 Hitachi Ltd Interface check system
US5740357A (en) 1990-04-26 1998-04-14 Digital Equipment Corporation Generic fault management of a computer system
US5761212A (en) 1993-07-01 1998-06-02 Cirrus Logic, Inc. Channel quality
US5555389A (en) * 1993-07-07 1996-09-10 Hitachi, Ltd. Storage controller for performing dump processing
US5485573A (en) 1993-07-16 1996-01-16 Unisys Corporation Method and apparatus for assisting in the determination of the source of errors in a multi-host data base management system
US5463768A (en) 1994-03-17 1995-10-31 General Electric Company Method and system for analyzing error logs for diagnostics
US5619644A (en) * 1995-09-18 1997-04-08 International Business Machines Corporation Software directed microcode state save for distributed storage controller
US6199104B1 (en) 1997-04-28 2001-03-06 Sabre Inc. Server-based host monitor
US6101588A (en) 1997-09-25 2000-08-08 Emc Corporation Device level busy arrangement for mass storage subsystem including a plurality of devices
US6247103B1 (en) * 1998-01-06 2001-06-12 International Business Machines Corporation Host storage management control of outboard data movement using push-pull operations
US6148414A (en) 1998-09-24 2000-11-14 Seek Systems, Inc. Methods and systems for implementing shared disk array management functions
US6345369B1 (en) 1998-11-12 2002-02-05 International Business Machines Corporation Environmental and power error handling extension and analysis for systems with redundant components
US6223544B1 (en) 1999-08-05 2001-05-01 Johnson Controls Technology Co. Integrated control and fault detection of HVAC equipment
JP2001147839A (ja) 1999-11-19 2001-05-29 Fujitsu Ltd 情報収集装置、情報生成装置、情報収集プログラムを記録したコンピュータ読み取り可能な記録媒体および情報生成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6609212B1 (en) 2000-03-09 2003-08-19 International Business Machines Corporation Apparatus and method for sharing predictive failure information on a computer network
US6643802B1 (en) 2000-04-27 2003-11-04 Ncr Corporation Coordinated multinode dump collection in response to a fault
US6769071B1 (en) * 2001-01-23 2004-07-27 Adaptec, Inc. Method and apparatus for intelligent failover in a multi-path system
US20020169738A1 (en) 2001-05-10 2002-11-14 Giel Peter Van Method and system for auditing an enterprise configuration
US6721851B2 (en) * 2001-08-07 2004-04-13 Veritas Operating Corporation System and method for preventing sector slipping in a storage area network
JP2003108420A (ja) 2001-09-27 2003-04-11 Hitachi Ltd データストレージシステム及びこの制御方法
US7120832B2 (en) 2001-09-27 2006-10-10 Hewlett-Packard Development Company, L.P. Storage device performance monitor
US6880101B2 (en) 2001-10-12 2005-04-12 Dell Products L.P. System and method for providing automatic data restoration after a storage device failure
US6920511B2 (en) 2001-10-19 2005-07-19 Hewlett-Packard Development Company, L.P. Method and apparatus for controlling communications in data storage complexes
US7139809B2 (en) 2001-11-21 2006-11-21 Clearcube Technology, Inc. System and method for providing virtual network attached storage using excess distributed storage capacity
US7117422B2 (en) 2002-01-22 2006-10-03 Sun Microsystems, Inc. Error detection in storage data
US7003702B2 (en) 2002-03-18 2006-02-21 Emc Corporation End-to-end checksumming for read operations
US6948102B2 (en) 2002-04-29 2005-09-20 International Business Machines Corporation Predictive failure analysis for storage networks
JP2003345531A (ja) 2002-05-24 2003-12-05 Hitachi Ltd ストレージシステム、管理サーバ、及びそのアプリケーションの管理方法
US7036066B2 (en) 2002-05-24 2006-04-25 Sun Microsystems, Inc. Error detection using data block mapping
GB0213073D0 (en) 2002-06-07 2002-07-17 Hewlett Packard Co Method of maintaining availability of requested network resources
US7114106B2 (en) 2002-07-22 2006-09-26 Finisar Corporation Scalable network attached storage (NAS) testing tool
GB0221638D0 (en) 2002-09-17 2002-10-30 Ibm Device system and method for predictive failure analysis
JP4130615B2 (ja) 2003-07-02 2008-08-06 株式会社日立製作所 ストレージ装置を有するネットワークにおける障害情報管理方法及び管理サーバ
GB2395578A (en) 2002-11-22 2004-05-26 Ibm Fault tracing in systems with virtualization layers
US7320084B2 (en) 2003-01-13 2008-01-15 Sierra Logic Management of error conditions in high-availability mass-storage-device shelves by storage-shelf routers
JP2004220216A (ja) 2003-01-14 2004-08-05 Hitachi Ltd San/nas統合型ストレージ装置
GB2400935B (en) 2003-04-26 2006-02-15 Ibm Configuring memory for a raid storage system
US7093120B2 (en) 2003-05-29 2006-08-15 International Business Machines Corporation Method, apparatus, and program for performing boot, maintenance, or install operations on a storage area network
JP4371720B2 (ja) 2003-06-27 2009-11-25 株式会社日立製作所 記憶装置システム及び記憶装置システムの保守方法
US7953819B2 (en) * 2003-08-22 2011-05-31 Emc Corporation Multi-protocol sharable virtual storage objects
JP2005071196A (ja) 2003-08-27 2005-03-17 Hitachi Ltd ディスクアレイ装置、及びその障害情報の制御方法
JP2005100259A (ja) 2003-09-26 2005-04-14 Hitachi Ltd ドライブの2重障害を防止するアレイ型ディスク装置、プログラム、及び方法
US20050081080A1 (en) 2003-10-14 2005-04-14 International Business Machines Corporation Error recovery for data processing systems transferring message packets through communications adapters
US7526684B2 (en) 2004-03-24 2009-04-28 Seagate Technology Llc Deterministic preventive recovery from a predicted failure in a distributed storage system
JP2005301442A (ja) 2004-04-07 2005-10-27 Hitachi Ltd ストレージ装置
US7409594B2 (en) 2004-07-06 2008-08-05 Intel Corporation System and method to detect errors and predict potential failures
US7457871B2 (en) 2004-10-07 2008-11-25 International Business Machines Corporation System, method and program to identify failed components in storage area network
US7631219B2 (en) 2004-10-22 2009-12-08 Broadcom Corporation Method and computer program product for marking errors in BIOS on a RAID controller
JP2006127217A (ja) * 2004-10-29 2006-05-18 Hitachi Ltd 計算機システムおよび計算機システムの制御方法
US7457930B2 (en) 2004-11-19 2008-11-25 International Business Machines Corporation Method for application transparent autonomic data replication improving access performance for a storage area network aware file system
GB0426309D0 (en) 2004-11-30 2004-12-29 Ibm Method and system for error strategy in a storage system
US7418635B2 (en) 2005-01-25 2008-08-26 Tandberg Storage Asa Automatically triggered snapshot data dump for storage unit with embedded system
US7676702B2 (en) 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US7814374B2 (en) 2007-01-19 2010-10-12 International Business Machines Corporation System and method for the capture and preservation of intermediate error state data
US7882393B2 (en) * 2007-03-28 2011-02-01 International Business Machines Corporation In-band problem log data collection between a host system and a storage system
US7779308B2 (en) 2007-06-21 2010-08-17 International Business Machines Corporation Error processing across multiple initiator network

Also Published As

Publication number Publication date
CN101652751A (zh) 2010-02-17
US20080244331A1 (en) 2008-10-02
KR20090106469A (ko) 2009-10-09
WO2008116712B1 (en) 2008-11-27
WO2008116712A1 (en) 2008-10-02
US7882393B2 (en) 2011-02-01
JP2010524053A (ja) 2010-07-15
EP2140353A1 (en) 2010-01-06

Similar Documents

Publication Publication Date Title
JP5079080B2 (ja) ストレージ・エリア・ネットワーク内の障害に対応するデータを収集する方法及びコンピュータ・プログラム
US7389396B1 (en) Bounding I/O service time
US11640247B2 (en) Providing service address space for diagnostics collection
Kasick et al. Black-Box Problem Diagnosis in Parallel File Systems.
US20080162984A1 (en) Method and apparatus for hardware assisted takeover
TWI632462B (zh) 開關裝置及偵測積體電路匯流排之方法
US11157373B2 (en) Prioritized transfer of failure event log data
US7117320B2 (en) Maintaining data access during failure of a controller
US20200174865A1 (en) Controller, storage device having the controller, and method of operating the controller
JP2016085728A (ja) デバイス故障後のコンソールメッセージ回収方法およびシステム
WO2015033433A1 (ja) ストレージ装置及び障害部位特定方法
JP5440073B2 (ja) 情報処理装置,情報処理装置の制御方法および制御プログラム
US8880957B2 (en) Facilitating processing in a communications environment using stop signaling
JP7064225B2 (ja) 改善されたi/oエラー診断法
US20200026596A1 (en) I/o recovery and diagnostics
US20200026631A1 (en) Dynamic i/o monitoring and tuning
US9612852B1 (en) Techniques for redirecting input/output
JP2018022402A (ja) 情報処理装置、情報処理システム、情報処理装置の制御方法および情報処理装置の制御プログラム
Le et al. Resilience to device driver failures using virtualization
US20100332533A1 (en) Disaster Recovery for Databases

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100930

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110914

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110920

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120529

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120807

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120828

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150907

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees