JP4557988B2 - コアダンプに関係するパートナリソースのテイクオーバのためのシステム及び方法 - Google Patents

コアダンプに関係するパートナリソースのテイクオーバのためのシステム及び方法 Download PDF

Info

Publication number
JP4557988B2
JP4557988B2 JP2006551354A JP2006551354A JP4557988B2 JP 4557988 B2 JP4557988 B2 JP 4557988B2 JP 2006551354 A JP2006551354 A JP 2006551354A JP 2006551354 A JP2006551354 A JP 2006551354A JP 4557988 B2 JP4557988 B2 JP 4557988B2
Authority
JP
Japan
Prior art keywords
core dump
server
storage device
attribute
storage
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
JP2006551354A
Other languages
English (en)
Other versions
JP2007523404A (ja
Inventor
コートニー,スーザン,エム
ロイド,ジョン
キメル,ジェフェリー,エス
パーキソン,ブライアン
ボレン,デイビッド,ブリテイン
Original Assignee
ネットアップ,インコーポレイテッド
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 ネットアップ,インコーポレイテッド filed Critical ネットアップ,インコーポレイテッド
Publication of JP2007523404A publication Critical patent/JP2007523404A/ja
Application granted granted Critical
Publication of JP4557988B2 publication Critical patent/JP4557988B2/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
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • G06F11/2092Techniques of failing over between control units

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Multi Processors (AREA)
  • Nitrogen Condensed Heterocyclic Rings (AREA)

Description

発明の分野
本発明はネットワークファイルサーバに関し、特に、一群のネットワークファイルサーバの中でパニック状態にある、すなわち故障したファイルサーバを他のファイルサーバによってテイクオーバ(引き継ぎ)することに関する。
発明の背景
ファイルサーバ
ファイルサーバ(「ファイラ」とも呼ばれる)は、ディスク等のストレージデバイス上での情報の編成に関するファイルサービスを提供するコンピュータである。ファイルサーバ、すなわちファイラは、情報をディレクトリやファイルの階層構造としてディスク上に論理編成するためのファイルシステムを実施するストレージオペレーティングシステムを含む。「ディスク上」の各ファイルは、情報を記憶するように構成された例えばディスクブロックのようなデータ構造のセットとして実施される。一方、ディレクトリは、他のファイルやディレクトリに関する情報を記憶する特殊形式のファイルとして実施される。
ファイラは、クライアント/サーバモデルの情報配送に従って動作し、それによって、多数のクライアントが、サーバ、すなわちファイラ上に記憶されたファイルにアクセスすることができる。このモデルでは、クライアントは、ポイント・ツー・ポイントリンク、共有ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、あるいは、インターネットのような公衆網上で実施される仮想私設ネットワーク(VPN)のようなコンピュータネットワークを介してファイラに「接続」するために、コンピュータ上で実行されるファイルシステムプロトコルのようなアプリケーションを有する。
ファイルシステムの1つのタイプは、ディスク上でデータを上書きしないwrite−anywhereファイルシステムである。ディスク上のデータブロックをディスクからメモリに取り出し(読み出し)、そのデータブロックを新たなデータで「汚す」場合、そのデータブロックをディスク上の新たな場所に記憶する(書き込む)ことによって、パフォーマンスを最適化する。Write−anywhereファイルシステムは、ディスク上にデータが実質的に連続的に配置された最適レイアウトを最初に仮定する場合がある。この最適なディスクレイアウトによって、効率的なアクセスが可能となり、特に、ディスクに対するシーケンシャル読み出しアクセスの場合に、効率的なアクセスが可能となる。ファイラ上で動作するように構成されたwrite−anywhere file systemの一例は、カリフォルニア州サニーベイルにあるネットワーク・アプライアンス・インコーポレイテッドから市販されているWrite Anywhere File Layout(WAFL)である。WAFLファイルシステムはマイクロカーネルの中でファイラのプロトコルスタック全体の一部として実施され、ディスクストレージに関連する。マイクロカーネルは、ネットワークアプライアンスのData ONTAPストレージオペレーティングシステムの一部として供給され、ネットワーク取り付けされたクライアントからのファイルサービス要求を処理するファイラ上に常駐する。
本明細書で使用される場合、「ストレージオペレーティングシステム」という用語は通常、ストレージシステム上で動作するコンピュータ実行可能コードであって、ファイルシステムセマンティックを実施し、データアクセスを管理するコンピュータ実行可能コードを意味する。その意味で、Data ONTAPソフトウェアは、マイクロカーネルとして実施されるそのようなストレージオペレーティングシステムの一例である。ストレージオペレーティングシステムは、UNIXやWindows(R)NTのような汎用オペレーティングシステム上で動作するアプリケーションプログラムとして実施することや、本明細書で説明されるようなストレージアプリケーションのために構成された設定機能を備えた汎用オペレーティングシステムとして実施することも可能である。
ディスクストレージは通常、記憶空間の全体的論理配置を規定する一組の物理的ストレージディスク、並びに、ファイルサービスの必要に応じて使用するために待機する一組の「ホット」スペアディスクからなる1以上のストレージ「ボリューム」として実施される。現在利用可能なファイラ実施形態は、多数の個別のボリュームを提供することができる。各ボリュームは固有のファイルシステムを有し、本明細書の目的では、ボリュームとファイルシステムはほぼ同じ意味で使用される。ボリューム内のディスクは通常、RAID(Redundant Array of Independent(or Inexpensive) Disks)グループに編成される。RAID実施形態は、RAIDグループ内の所定数の物理的ディスクにわたってデータを「ストライプ状」に書き込み、そのストライプ状のデータに関するパリティ情報を適宜記憶することによって、データ記憶の信頼性/完全性を向上させる。スペアディスクは、それを所有しているファイラによって適切に予約されてはいるが、ファイルサービスには現在使用されていないディスクである。スペアディスクは、ボリューム作成、既存ボリュームの拡張、RAID再構築、その他災害復旧、あるいは、ファイルサービス処理に関するメンテナンス等の必要に応じて使用するために待機する。一般に、再構築とは、特定のRAIDグループ内の故障したアクティブファイルシステムを置き換えるためのスペアディスクを割り当て、故障したディスク上に記憶されていたデータをパリティ計算によって無事に残っているディスクから復元し、復元されたデータを代替ディスクに書き込む処理である。
例えばWAFLファイルシステムの場合、RAID4実施形態を使用すると有利である。この実施形態では、データを1グループのディスクにわたってストライピングし、そのRAIDグループ内の特定のディスク上に個別にパリティを記憶する必要がある。RAID4グループ内の単一のディスクが故障しても、そのグループは品質低下モードで動作を継続することができる。故障したディスクのデータは、生き残ったディスクからパリティ計算によって復元することができる。本明細書に記載されるように、RAIDグループは通常、(一台のディスク上に、)RAID4実施形態又は同等の高信頼性の実施形態に従って構成された少なくとも1つのデータディスク、及び、関連パリティディスク(又は、データ/パリティ)パーティションを有する。ただし、他の構成(例えば、RAID0、RAID1、RAID4、RAID5、又は、RAID DP(対角パリティ))も可能である。RAIDに関する詳しい説明は、Loellyn Cassell他による「QUERY-BASED SPARES MANAGEMENT TECHNIQUE」と題する本願と同じ譲受人の米国特許出願第10/394,819号に記載されており、その教示は参照により本明細書に援用される。
後で詳しく説明するように、各ディスクは一連の複数の領域に分割され、それによって、予測可能な態様でディスクに対するデータの書き込みやアクセスを行うことが可能となる。それらの領域は一般に、RAID層によって使用されるディスクラベルを有する。このディスク上のラベルは、実際には、ストレージシステムに対して有効に取り付けられた各ディスクに関する自己記述情報である。これらのラベルは、ディスクをスペアプール又はスペアボリュームとして動的に編成するために使用される。ディスクラベルに基づいてディスクをスペアプールまたはスペアボリュームとして編成する処理は、「ディスクラベル・アシミレーション」と呼ばれる。ラベルがディスクをボリュームの一部であるものと識別する場合、そのラベルは、ディスクオブジェクトレベルから開始して最大でボリュームオブジェクトレベルまで、そのボリュームのコア内コンフィギュレーションツリーを構築するために使用される。したがって、ディスク上のラベルは、そのディスクがRAIDグループに参加しているか否かを識別し、更に、そのRAIDグループがプレックス、ミラー、及び、最終的に、コンフィギュレーションツリーにおけるボリュームオブジェクトに関連するものであるか否かを識別する。ラベルはディスクの既知の場所に配置され、起動処理の際にRAIDサブシステムが発見プロセスに従ってそのラベルを調べることができるように配置される。この発見プロセスは例えば、本明細書に記載されるディスクイベントスレッドを実施する。
ストレージシステムは、ディスクラベルに基いてアシミレーションを実施し、所与のディスクをアクティブストレージの一般的構成にすべきか否か、及び、その構成内のどの場所にそのディスクを配置すべきかを判断する。ラベルから、あるディスクをアクティブストレージ構成の一部にするのではなく、「スペア」にすべきものと判断される場合、そのディスクはスペアプールに置かれる。
他の領域は、ディスクの目次、そのファイルイシステム領域、コアダンプ情報が記憶されるコアダンプ領域、所有権情報(以下で説明する)、及び、他の関連情報を含み、それらは、そのディスクの記憶空間内に、論理的に、且つ、予測可能な形態で配置される。情報によっては、目次のように、ディスクが接続されたときにストレージシステムが常にアクセスできるように既知のオフセットに配置されるものもある。
ファイルサーバ、すなわちファイラは、内部的にはマイクロプロセッサベースのコンピュータであり、そのコンピュータ内では、1以上のマイクロプロセッサが、システムバスによってマザーボード上に物理的に配置された種々のシステム構成要素に相互接続される。マザーボードは、メモリ、データやコマンドを記憶するためのバッファキャッシュ、LANや他のネットワークを介して通信するためのネットワークアダプタ、システムファームウェア(ブート機構を含む)を格納する電気的プログラム可能ROM(EPROM・・・シャットダウンの際にもエネルギを保持するフラッシュメモリ等を含む場合がある)のようなファームウェア記憶装置、及び、ファイラに取り付けられた物理的ディスクと通信するための種々のストレージアダプタを含む。
ディスクは通常、シェルフ・エンクロージャ・ユニット、すなわち「シェルフ」に収容される。シェルフは、主としてディスクに対する電力供給及び接続が可能な物理的筐体である。
ファイラは複数のグループ、すなわち「クラスタ」に編成することができ、各クラスタでは、2以上のファイラが互いに接続され、クラスタパートナがパニック状態になったとき、すなわち故障したときにフォールトトレラント(故障許容)計算を実施するように構成される。故障した場合、まだ故障していないクラスタパートナが、故障したパートナの処理をテイクオーバし、そのディスクの制御を引き受ける。このテイクオーバは、各ファイラにおける「フェイルオーバー」機能(後で詳しく説明する)や、パニックや故障の際に通信路として機能するファイラ間のクラスタ相互接続によって可能となる。
クラスタ環境では、各ファイラは、所与のクラスタの一部である全てのディスクに物理的に接続され、あるファイラは、そのファイラが提供するボリュームを含むディスクを「所有」しているものとみなされる。この所有権は、ファイラが、そのようなディスク上に記憶されたデータを提供する役割を持つことを意味し、また、特定ディスクを「所有」しているファイラだけが、そのディスクにデータを書き込めるようにすべきことを意味する。この単独所有権は、データの完全性及びコヒーレンシの保証に役立つ。1つの例示的なファイルシステムでは、ディスク所有権情報は2つの場所に、すなわち、各ディスク上の決められた所有権セクタに記憶することができ、それらはスモール・コンピュータ・システム・インタフェース(SCSI)レベル3予約を使用して記憶される。そのようなSCSI−3予約については、NCITS(National Committee for Information Technology Standards)のT10委員会が、「SCSI Primary Commands-3」に記載しており、この文献は参照により本明細書に完全に援用される。ディスクの所有権に関するこの方法の詳細は、「SYSTEM AND METHOD OF IMPLEMENTING DISK OWNERSHIP IN NETWORKED STORAGE」と題す米国特許出願第10/027,457号に記載されており、この文献は参照により本明細書に援用される。当然ながら、ディスク所有権の他のモデルも可能であり、ネットワークストレージに関する知識を持った者であれば、開示した発明が、上記のような所有権に関する方法に限定されないことが分かるであろう。例えば、トポロジベースの所有権方式を使用することも可能である。この方式の1つは従来のA/Bクラスタ所有権方式である。この方式では、所与のディスクシェルフのファイバチャネルポートAに接続されたファイラを、そのシェルフ、並びに、そのシェルフに収容された全ディスクのデフォルト所有者であるものとみなす一方、ポートBに接続されたファイラをテイクオーバ・クラスタパートナであるものとみなす。同様に、ディスクの接続先であるスイッチポートを利用してディスク所有権を判定する、他のトポロジベースの所有者方式を使用することも可能である。この方式は例えば、ディスクのポートAの接続先であるスイッチポートバンク(例えば、1群の個々のポート)に基づいて所有者を決める。例えば、市販のBrocade Communication Systems,inc.(カリフォルニア州サンノゼ)の、バンク1(ポート0〜7)及びバンク2(ポート8〜15)に分割された16個のポートを有する3800シリーズのスイッチを使用した場合、データ冗長性を確保するために、バンク1に接続されたファイラは、バンク2に接続されたディスクを所有しているものとみなされる。この詳細は、2003年5月にネットワーク・アプライアンス・インコーポレイテッドから出版された「The FAS900 Series Appliance Cluster Guide (part #210-00342)に記載されている(主に3章を参照)。
ファイラ故障とテイクオーバ
本明細書で使用される場合、クラスタ構成内の或るファイラが「パニック状態」にある、すなわち「故障」していると言った場合、それは、そのファイラが、通常動作を継続することができない致命的な何らか問題の問題を検出したが、そのファイラのクラスタパートナを含めて、そのクラスタ内の他のノードとは通信可能である場合を言う。つまり、そのような故障の判断基準は、機能や性能が多少劣化しても、クラスタ内で通信する機能を維持しているか否かである。そのような故障は、ファイラが例えば電力損失等によってクラスタ内の他のノードと通信することが出来なくなる「ハード故障」と区別するために、「ソフト故障」とも呼ばれることがある。したがって、ストレージオペレーティングシステムがパニック状態に陥ったファイラは一般に、「故障したファイラ」(または、「故障したファイルサーバ」)と呼ばれる。
クラスタ環境においてファイラが故障した場合、クライアントがディスクに対して引き続きアクセスできるようにするために、ボリュームの所有権を故障したファイラから他方のパートナファイラに移転する必要が生じる。「テイクオーバ」または「フェイルオーバ」の1つの方法は、「NEGOTIATED GRACEFUL TAKEOVER IN A NODE CLUSTER」と題する米国特許出願第09/933,883号に詳細に記載されている。
故障原因の究明に役立てるために(故障したファイラを「デバッグ」するために)、故障したファイラまたは他のストレージシステムは通常、「コアダンプ」処理を実施する。この処理は、現在のワークメモリの内容をディスク上に書き出す処理(「コアダンプ」とも呼ばれる)である。その後、「セーブコア」と呼ばれるコアダンプ復元プロセスは、そのコアダンプデータを読み出し、「コアダンプファイル」を生成し、それを故障したファイラのルートファイルシステムを記憶する。コアダンプファイルは、パニックが発生した時点におけるシステムメモリ、又は、任意の不揮発性記憶装置のイメージを有する。次に、故障の原因を判定する際に、このイメージが取り出され、調査される。この情報は、故障が発生した時点におけるシステムの状況を示すものであるため、故障の診断に役立つ。
以下で述べるように、パニック状況において重要なのは時間である。つまり、コアダンプの生成全体を迅速に行うために、コアダンプ処理は通常、複数のディスク上に位置する特別に割り当てられた複数のコア領域にわたってコアダンプを分散させる。通常、コアダンプファイルは、(例えば)3メガバイトのデータチャンクとして、故障したファイラが現在所有している1セットの故障していない/動作可能なディスク上の指定領域に書き込まれる。空間に余裕がある場合、ディスクに書き込まれるこの3メガバイトのデータチャンクは一般に圧縮されないが、空間が貴重である場合は圧縮されることもあり、その場合、圧縮されたデータは、一部のディスクが他のディスクよりも先に埋められる可能性があるようにディスクセットにわたって「スプレー」されるのではなく、複数のディスクに順番に書き出される。後でディスクセットから最終的なコアダンプファイルを再構築することができるように、ディスクには番号が付される。
クラスタ環境において、2以上のファイルサーバが、所有権予約によって所定のディスクセットを制御する場合、コアダンプは、故障したファイラの所有ディスクに対してのみしか作成されない。なぜなら、コアダンプはコアダンプを複数のディスク上に分散させ、パートナファイラは、テイクオーバプロセスを開始するためにそれらのディスクにアクセスすることが普通はできないからである。むしろ、それらのディスクは、コアダンプの書き込み時に、故障したファイラの動作によって占有されたままである。コアダンプディスクは通常、パートナファイラが従来のテイクオーバ処理の一部としてアクセスできるものでなければならないので、パートナファイラは、故障したファイラがそのコアダンプを完了するまで、テイクオーバプロセスを遅らせることになる。実際には、テイクオーバプロセスは、次の2つの連続したステップによって進められる。すなわち、まず、故障したファイラによる第1のコアダンプが完了した後、パートナファイラによりテイクオーバを実施する。2つのステップ(コアダンプとテイクオーバ)を進める間に、実際には、故障は「ソフト」から「ハード」に変わることがあり、テイクオーバが完了する前に故障したファイラは完全にアクセス不能になることがある。また、その遅延の間、クライアントは故障したファイラによって処理されるデータをアクセスすることができず、テイクオーバが完了するまで、そのデータを利用することができない。特にクライアントがデータを利用できなくなる可能性が高いブロックベース(SAN)の環境では、クラスタからデータを利用できなくなる可能性を可能な限り低減することが非常に望ましい。例えば、ファイルサーバが所定時間内に応答しない場合、SANプロトコルは、ネットワーク規模のパニックを引き起こし、それが、全体的なネットワークの停止の原因になる場合がある。したがって、望ましくない状況(及び、致命的なダウンタイム)を避けるために、コアダンプのような全体的なテイクオーバ処理は、可能な限り迅速に実施しなければならない。
発明の概要
本発明は、コアダンプ手順(故障したファイラのワークメモリの転送)が存在する状況において、故障したファイラをクラスタ内のテイクオーバパートナによって迅速にテイクオーバすることが可能なシステム及び方法を提供することにより、従来技術の欠点を克服する。時間を節約するために、コアダンプは、通常ファイルサービスデータを記憶している故障したファイラのアクティブディスクのパートナによるテイクオーバと同時に行うことができ、テイクオーバを開始するために、コアダンプの完了を待つ必要はない。簡単に言えば、これは次のような方法によって達成される。通常ファイルサービスに関係しない単一のディスクにコアダンプを書き込み、コアダンプによる干渉を受けることなく、通常ファイルサービスのテイクオーバを進めることができるようにする。クラスタ内の両方のファイラにとってコアダンプディスクを識別するための信頼性の高い手段を提供し、それによって、信頼性のない通信手段に対するテイクオーバの依存性を無くす。コアダンプディスクのテイクオーバが実行されていることを識別するための手段を設け、SCSI−3予約を使用して共有ディスク(の所有権)に対する書き込みアクセスを確保し、テイクオーバがコアダンプによる干渉を受けることを防止すると同時に、故障したファイラが、そのパートナによってテイクオーバされた通常ファイルシステムディスクに対して書き込み続けることを防止する。
本発明の一実施形態によれば、各ファイラは、ファイラの動作の種々の状態をモニタリングするための手段を有する。故障の検出に応答して、故障したファイラは、選択されたコアダンプディスクに対してコアダンプを実施する。コアダンプディスクは、故障したファイラが有しているスペアディスクの中から選択してもよいし、または、故障したファイラとテイクオーバパートナファイラの両方と通信する別のディスクであってもよい。一実施形態において、故障したファイラは、コアダンプディスクに対してコアダンプ手順を開始する際に、コアダンプディスクの既知の「コア」領域にある既知のヘッダ領域に、特定のコアダンプ属性を書き込む。この属性は、故障したファイラがスペアディスクに対してコアダンプを書き込み中であり、パートナファイラはこのスペアディスクに対して予約を行ってはならないということを、パートナファイラに知らせるものである。
故障したファイラは更に、テイクオーバを行うために、パートナファイラに故障を伝達する。パートナファイラは、テイクオーバプロセスの一部として、故障したファイラの全てのディスクをスキャンし、各ディスクのコア領域の属性位置を調べる。パートナファイラは、テイクオーバを実施する際に、コアダンプディスクとしてマークされたディスクを識別し、SCSI予約によって所有権を主張するときに、そのディスクをバイパスする。ディスクに対する予約が済むと、故障したファイラは、それらのディスクに対して書き込むことが出来なくなる。
また、パートナが、故障したファイラのディスクをテイクオーバする際に、故障したファイラは、コア領域に割り当てられた非常に小さな領域に比べて、非常に大きなファイルシステム領域を使用して、コアダンプディスクに対する書き込みを継続する。コアダンプが完了すると、コアダンプディスクの属性は、故障したファイラがコアダンプを完了したことをパートナファイラに知らせるものに変更される。次に、テイクオーバパートナファイラは、その属性をスキャンするときに、コアダンプディスクの所有権を確立することが許される。パートナは、適当な時点で、診断用のコアダンプファイルを生成する。このコアダンプファイルは、後のデバッグに備えて、故障したファイラのルートファイルシステム(今回所有権を得た故障したファイラのディスクにある)に記憶される。コアダンプファイルは通常、適当なユーティリティによる後のアクセスに備えて、ファイルとしてルートボリュームに保存される。
故障したファイラが、単一のコアダンプディスクに対してコアダンプを独立して同時に実施している間に、パートナファイラがテイクオーバを開始できるようにすることで、テイクオーバ遅延が低減され、それによって、クライアントアクセスが複数のディスクに***することを最小限に抑えることができる。
本発明の上記の利点及び他の利点は、添付の図面と合わせて下記の説明を参照すると分かりやすいであろう。図中、同様の参照符号は、同一の要素、又は、機能的に類似の要素を意味している。
例示的実施形態の詳細な説明
本発明の教示は、種々のストレージシステムアーキテクチャに適合し、限定はしないが例えば、ネットワーク・アタッチド・ストレージ環境、ストレージ・アタッチド・ネットワーク、及び、クライアント/ホストコンピュータに直接取り付けられたディスクアセンブリに適合する。したがって、「ストレージシステム」という用語は、それらの構成を含むものとして広い意味で解釈しなければならない。ただし、本発明の教示は、いかなるサーバシステムにも適用可能であるものと考えられる。当然ながら、本明細書に記載される種々のプロセス、アーキテクチャ、及び、手順は、ハードウェアでも、ファームウェアでも、一連のステップを実施するためのプログラム命令を有するコンピュータ読み取り可能媒体からなるソフトウェアでも実施することができる。
クラスタファイルサーバ
図1は、図示のようなファイラクラスタ100を成す2つのノードとして接続された指定されたファイラA150及びファイラB150からなる2つのファイラ、すなわちファイルサーバを示すブロック図である。説明の都合上、ファイラAとファイラBは、機能的にも構造的にも同様であるものとする。ただし、これらのファイラは、クラスタを形成することができ、各ファイラが他のファイラに対するテイクオーバ/フェイルオーバ機能を有するものでさえあれば、機能的及び構造的に異なるものであってもよい。また、図1のクラスタ構成には、2つのファイラ、及び、関連する2つのディスクシェルフ(160)しか描かれていないが、フェイルオーバのために、もっと多くの数のファイラをクラスタ化してもよく、通常は、もっと多くの数のディスクシェルフが使用される。さらに、各ファイラに関連する2以上のボリュームが存在してもよく、各ボリュームは1以上のRAIDグループから構成される場合もある。本明細書の説明では、「ファイラ」、「ファイルサーバ」、及び、「ストレージシステム」という用語は同じ意味で使用される。
図1によれば、ファイラA及びファイラB(150)は、ネットワーク120を介してクライアント110にそれぞれ接続されたディスクシェルフA及びB160内のハードディスクD1〜Dnのような記憶装置における情報の編成に関するファイルサービスを提供するように構成されたファイルサーバであることが好ましい。クライアント110は、パーソナルコンピュータ(PC)やワークステーションのような汎用コンピュータであってよく、オペレーティングシステム上でファイルシステムプロトコルを備えたアプリケーションを実行するように構成される。また、各クライアント110は、クライアント/サーバモデルの情報配送に従ってファイラ150と通信する。すなわち、クライアント110は、例えば、ファイル又は他のデータコンテナ(例えば、データブロック)を読み出すためにファイラ150にサービスを要求する。この例では、クライアント110は、集合体または束140として構成されたネットワーククラウド120、スイッチ135、及び、物理的通信リンク130を介して、クラスタ110内のファイラにアクセスする。
図示していないが、クラスタ100は、ネットワーク(例えば、ファイバチャネルループ)を介して他のクラスタや個々のファイルサーバ/ファイラに接続することにより、(SANのような)ネットワークストレージシステムを形成することができる。そのようなネットワークストレージ構成を実施するために、各ファイラ及び/又はディスクシェルフには、適当なインタフェース及び相互接続(図示せず)が設けられる。
クライアントは通常、クライアントが動作するオペレーティングシステムに適合する既知のファイルシステムプロトコルを使用し、ネットワークを介してファイラと通信する。ネットワーク・ファイル・システム(NFS)は、UNIX環境でファイラのアクセスに使用されるファイルシステムプロトコルである。コモン・インターネット・ファイル・システム(CIFS)は、ネットワークを介したリモートファイルアクセスを可能にするためのオープンスタンダードのコネクション指向のプロトコルであり、Windows(R)環境においてPCにサービスを提供するためにファイラで使用される。したがって、CIFSは、PCクライアントからアクセスを受けるファイラのようなサーバに広く使用されている。
下記パラグラフの説明では、ファイラA又はファイラBを単体で参照することがしばしばあるが、この説明が他のファイラにも適用可能であることを忘れてはならない。
ファイラA及びB(150)は、クラスタ処理の一部として、1セットのディスクが最初に割り当てられている。ファイラはストレージオペレーティングシステムによって制御される。ストレージオペレーティングシステムは、ファイルサービスを提供するために最適化された、ネットワーク・アプライアンス・インコーポレイテッドから市販されているData ONTAPストレージオペレーティングシステムであることが好ましい。この例では、ファイラAとファイラBはいずれも、ディスクシェルフAとディスクシェルフBの両方にアクセスすることができるが、例えば、ファイラAはディスクシェルフAを「所有」し、ファイラBはディスクシェルフBを「所有」している。ファイラAは、ループA157を介して自分のディスクシェルフAにアクセスし、ループBを介してディスクシェルフBにアクセスする。同様に、ファイラBは、最初にディスクシェルフBが割り当てられ、ループAを介してディスクシェルフBにアクセスし、ループBを介してディスクシェルフAにアクセスする。このジョイントアクセスは、パートナファイラが、故障したファイラのディスクシェルフにアクセスし、テイクオーバ後に、故障したファイラのファイルサービスをクライアントに提供し続けるために必要とされる。
この例では、各ファイラは、ファイラの故障時にフォールトトレラントな動作を確保するための不揮発性ランダムアクセスメモリ(NVRAM)151を更に実施する。具体的には、NVRAMは、ファイラのワークメモリに対して所定量のデータ及び情報を記憶し、それらが所定の「コンシステンシ・ポイント」の時点で長期記憶装置に収容されるまで、それらを保持する。
各例示的なファイラは、フェイルオーバ・モニタリング機能を更に有する。この機能は、故障したファイラをクラスタパートナによってテイクオーバしなければならないような故障、パニック状態、又は、他のイベントを検出する。そのような場合、モニタ機能は、後で詳しく説明するようなテイクオーバルーチンを開始する。
クラスタパートナによるファイラのテイクオーバは、クラスタ相互接続153のような1以上の通信リンクのうち、ピア・ツー・ピア機能で動作するファイラAとファイラB(150)の間に確立された通信リンクを使用する。クラスタ相互接続153は、任意の通信媒体及び通信プロトコルを使用することができ、例えば、ファイバ・チャネルやサーバ・ネット・フェイルオーバ・リンクが使用される。これらはいずれも当業界で一般に知られている。なお、本明細書で使用される場合、「ファイバチャネル」とは、コンピュータ業界におけるあらゆるタイプのハードウェア間で迅速にデータを転送するための装置に対して使用される規格の集まりに対する総称である。ファイラA及びファイラBはそれぞれ、ファイラクラスタ100に対する手入力インタフェースをシステムオペレータに提供する従来のグラフィカルユーザインタフェース(GUI)、または、コマンドラインインタフェース(CUI)を有する。
図2は、プロセッサ202、クラスタ相互接続153、NVRAM151、メモリ204、ストレージアダプタ206、及び、少なくとも1つのネットワークアダプタ208を含む例示的なファイラ(AまたはB)150を示すブロック図200であり、それらはシステムバス210によって全て相互接続されている。バス210は、従来のPCI(Peripheral Computer Interconnect)であってもよいし、他の適当な内部バス規格であってもよい。この実施形態では、ストレージアダプタ206は、ファイバチャネルリンクによってディスク216(D1〜DN)に接続される。また、ファイラ150は、メモリ204に記憶された好ましいストレージオペレーティングシステム230を有し、該ストレージオペレーティングシステムは、記憶される情報をディレクトリやファイルの階層構造として論理編成するためのファイルシステムを実施する。ディスク故障によって発生するデータ損失を当該技術分野において既知の態様で防止するために、関連ボリューム内のディスクは通常、1以上のRAID(Redundanta Arrays of Inexpensive Disks)グループに編成される。また、RAIDグループによれば、ディスク故障時にもファイラに動作を継続させることができ、それによって、データ利用可能性を向上させることができる。RAIDグループは、単一のシェルフ160(例えば、図示のようなシェルフA又はB)の中に完全に収容してもよいし、複数のシェルフを含む複数のハードウェアコンポーネントにわたって配置してもよい。
ストレージアダプタ206は、プロセッサ202で実行されるストレージオペレーティングシステム230と協働し、クライアント110によって要求された記憶された情報にアクセスする。この情報は、ハードディスク216(D1〜Dn)に記憶されている。ストレージアダプタ206は、従来の高性能ファイバチャネルシリアルリンクトポロジ(図示せず)のようなI/O相互接続構成を介してディスク216に接続するための入出力(I/O)インタフェース回路を有する。ストレージアダプタ206は、記憶された情報を読み出し、その情報は必要に応じてプロセッサ202(又はストレージアダプタ206自体)によって処理された後、システムバス210を介してネットワークアダプタ208に転送され、そこで情報はパケットにフォーマットされ、ネットワーク(図示せず)を介してその情報を要求したクライアント110(図2には描かれていない)に返される。
後で詳しく説明するように、例示的なディスクシェルフ160内の1以上のディスクは、「スペア」ディスク250として指定されることがある。それらは、システム内で「スペア」としてマークされ、必要に応じて使用するために待機する。
図2の各ネットワークアダプタは、図1に示した物理的通信リンクを介してファイラをネットワークノードスイッチ(図示せず)に接続するために必要な機械的、電気的、及び信号回路を有するネットワークインタフェースカード(NIC)208を含む場合がある。
ストレージオペレーティングシステム
図3は、本発明の例示的実施形態に従って使用される例示的なストレージオペレーティングシステム300を示すブロック図である。ストレージオペレーティングシステム300は、Data ONTAPストレージオペレーティングシステムの特殊なファイラ処理を各ファイラ上で実施する。ストレージオペレーティングシステムは、図2のネットワークアダプタ208を使用して機能するネットワークドライバ(例えば、イーサネット(R)NICドライバ)のメディアアクセス層302のような一連のソフトウェア層を含む。ストレージオペレーティングシステム300は、IP層304、並びに、それを支持する搬送機構であるトランスポート・コントロール・プロトコル(TCP)層306、及び、ユーザ・データグラム・プロトコル(UDP)層308を更に含む。ファイルシステムプロトコル層は、コモン・インタフェース・ファイル・システム(CIFS)プロトコル310、ネットワーク・ファイル・システム(NFS)プロトコル312、及び、ハイパーテキスト・トランスファ・プロトコル(HTTP)プロトコル314をサポートする。
さらに、ストレージオペレーティングシステムは、RAIDプロトコルのようなディスクストレージプロトコルを実施するRAID(論理ボリューム管理)層316、及び、スモール・コンピュータ・システム・インタフェース(SCSI)プロトコルのようなディスクアクセスプロトコルを実施するディスクドライバ層318を含む。ディスクストレージ層316は、ディスクに関連するファイラについてディスクの所有権を管理するディスク所有権層320を含む。ディスクマイグレーション層322は、ディスク所有権階層320の一部である。テイクオーバの際に、ファイラのクラスタパートナは、ストレージの所有権を論理的に推測する。これを達成するために、フェイルオーバモニタ層(340、以下で説明する)は、テイクオーバされているディスクに対してその予約を行う。
また、ストレージオペレーティングシステムは、フェイルオーバの検出、及び、クラスタパートナによるテイクオーバの開始を管理するフェイルオーバモニタ層または機能340を更に含む。また、図面には、ストレージスタックの一部としてクラスタ相互接続機能342も描かれている。コアダンプ機能350は、RAID層316及びディスクドライバ層318と交信し、後で詳しく説明するような本発明の教示によるコアダンプの伝送を可能にする。
ディスクソフトウェア層をネットワーク及びファイルシステムプロトコル層に橋渡しするのは、ファイルシステムデータの記憶や読み出しを制御するファイルシステム層324である。この層は、故障したファイラがそのコアダンプを書き込むのに要する時間を計測するのに使用されるカウントダウンタイマ336(その機能の詳細は後で説明する)を含む。コアダンプが不確定にフリーズしようとする場合でも、テイクオーバパートナファイラが最終的に全てのディスクに対する制御権を確実に得ることができるようにするために、コアダンプ完了の制限時間(一実施形態では約1分から2分)が決められている。コアダンプがこの制限時間内に完了しない場合、テイクオーバパートナは、コアダンプを中止してから、コアダンプディスクの制御権の獲得を試みる。
なお、代替実施形態として、ファイラは、マルチプロトコル・ストレージ・アプライアンスとして実施することもでき、常駐ストレージオペレーティングシステムは、仮想ディスク(「vdisk」)モジュール及びSCSIターゲットモジュール(図示せず)として実施される仮想化モジュールを備えた仮想化システムとして実施することもできる。vdiskモジュールは、ファイルシステム324の上に層として形成され、システム管理者がマルチプロトコル・ストレージ・アプライアンスに対して発行したコマンドに応答して、最新式ユーザインタフェース(UI)のような管理インタフェースによるアクセスを可能にする。実際には、vdiskモジュールは、とりわけ、UIを通してシステム管理者が発行したvdisk(LUN)コマンドの総合的なセットを実施することにより、SANデプロイメントを管理する。これらのvdiskコマンドは、ファイルシステム324及びSCSIターゲットモジュールと交信する原始的なファイルシステム処理(「プリミティブ」)に変換され、vdiskを実現する。一般に、ファイルシステム層324は、ブロックベースのディスク上ファイルフォーマット表現を有するファイルシステムを実施する。生成されたファイルシステムは、要求されたボリュームデータが「コア内」に存在しない場合、すなわち、ファイルサーバのメモリに存在しない場合に、それをロード/読出しする働きをする。情報がメモリ内に無い場合、ファイルシステム層は、inode番号を索引として使用してinodeファイルを検索し、適当なエントリにアクセスし、論理ブロック番号を読み出す。次に、ファイルシステム層は、その論理ブロック番号をディスクストレージ/RAID層に渡し、ディスクストレージ/RAID層は、論理ブロック番号をディスクブロック番号にマッピングし、後者をディスクドライバ層の適当なドライバに送信する。ディスクドライバは、ボリュームからディスクブロック番号にアクセスし、要求されたデータをファイルサーバによって処理するためにメモリにロードする。要求の処理が完了すると、ファイルサーバ及びストレージオペレーティングシステムは、例えばCIFS規格に規定される従来の受領確認パケットを、ネットワークを介してクライアントに返答する。なお、クライアントがファイルサーバから受信するためのデータストレージアクセスを実施するために必要とされる上記の種々のストレージオペレーティングシステム層を貫通するソフトウェア「パス」は、結局のところ、ハードウェアで実施しても、ソフトウェアで実施しても、ハードウェアとソフトウェアの組み合わせ(例えば、ファームウェア)で実施してもよい。このマルチプロトコル・ストレージ・アプライアンス構成の詳細については、「STORAGE VIRTUALIZATION BY LAYERING VIRTUAL DISK OBJECTS ON A FILE SYSTEM」と題する本願と同じ譲受人の米国特許出願第10/216,453に記載されている。
本発明の更に別の代替実施形態として、ストレージオペレーティングシステムによって実施される一部の機能は、フィールド・プログラマブル・ゲート・アレイ(FPGA)や特定用途向け集積回路(ASIC)の内部で実施される論理回路として実施してもよい。この種のハードウェア実施形態によれば、クライアント110によって発行されたファイルシステム要求に応答してファイラにより提供されるファイルサービスの性能を向上させることができる。また、本発明の更に他の代替実施形態として、ネットワークアダプタ及びストレージアダプタの処理要素は、パケット処理及びストレージアクセス処理のそれぞれの負荷の一部をプロセッサから引き受けるように構成することによって、ファイラによって提供されるファイルサービスの性能が向上する場合がある。
ディスク領域
各ディスクは、ストレージオペレーティングシステムが知っている標準的なセクタ位置に、ヘッダ情報領域を有する。この既知の領域内の種々の固定オフセット位置に、そのディスクに関連する種々のエントリが設けられる。図4に示すように、例示的なディスク(D1〜Dn)は、その記憶領域に従ってマッピングされる。RAID層は通常、このマッピング400をディスク目次(TOC)として実施する。
ブートブロック領域402は、例えば最初の1KBブロックに格納され、このディスク上のカーネル領域404をどのように使用するかに関する情報を記憶するために予約される。領域403は、ディスクTOC(目次)を有する。TOCは、簡単に見付けることができるように、ディスクの先頭から固定オフセットの位置に配置される。TOC構造内には、ディスク内のコアダンプの有無に関する情報を含むコアダンプデータの場所も設けられている。さらに、ディスクラベル領域(420及び421、後で詳しく説明する)の中には、そのディスクをスペアディスクとして識別する情報や、そのディスクが通常ファイルサービスに使用されているか否かを示す情報が記憶される。後者(通常ファイルサービス)の場合、更に、そのディスクに関連するRAIDグループ、プレックス、ミラー、及び、ボリュームを示す情報が存在する。また、TOC領域403は、特定バージョンのストレージオペレーティングシステムにとって必要とされるディスクに関する重要な情報を更に含む場合があり、例えば、そのディスクが通常ファイルサービスに使用されているか否か、及び、そのディスクの物理的サイズを示すフラグを更に含む場合がある。
カーネル領域404は通常、ディスク上の次の領域を占め、例えば、約20MBの記憶領域を占める場合がある。このカーネル領域は、ストレージオペレーティングシステムのカーネルの適当な部分を記憶する領域として使用される。この実施形態では、後で説明するように、フェイルオーバセクタも設けられる。
また、ディスクは、4ブロック以上がマッピングされたディスク所有権領域406を更に含み、ボリューム及びファイルサーバ、並びに、(一実施形態において)対応するストレージ・エリア・ネットワーク(SAN)によるディスク所有権に関する情報を有する。
所有権領域406の次には、ファイルシステム層がファイルシステムデータ(例えば、ファイルやディレクトリに関するデータ)の記憶に使用するファイルシステム領域408がある。ファイルシステム領域は概ね、そのディスクの使用可能なセクタのうちの物理的最後まで延びている。
なお、ブートブロック領域401、TOC領域403、カーネル領域404、所有権領域406、及び、ファイルシステム領域408は、そのディスクの物理的先頭から常に固定オフセットの位置に在するため、容易に見付けることができる。
ファイルシステム層408の次には、コア領域410がある。この領域は、ディスクの物理的最後にある余分な空き空間から形成される。この実施形態では、以下で例示する種々の領域が存在するために、コア領域のサイズは制限される。コア領域410は、マジックナンバー413を有するヘッダ412を含む。マジックナンバーはヘッダの最初の数バイトに記憶され、故障したファイラとテイクオーバパートナファイラはいずれも、そのマジックナンバーを簡単に見つけてスキャンすることができる。このマジックナンバーは、実際には、他のステータスデータと共にコアダンプが存在するか否かを指定するコアダンプ属性である。例えばこの属性は、「コアダンプ無し」、「コアダンプ実行中」、又は、「コアダンプ完了」の値を有する場合がある。したがって、パートナファイラは、この属性を読み出し、コアダンプ属性ステータスをチェックしてから、不活動ディスクに対する予約を行うことにより、特定ディスクのテイクオーバを開始してもよいか否かを判断することができる。
コア領域410の残りの領域414は、先の実施形態に従ってコアダンプの一部を記憶するために使用される。ただし、この領域414のサイズは、コアダンプ全体を記憶するには不十分なサイズである。いずれにしても、以下で説明するようにより広い領域が設けられ、ヘッダ412及びマジックナンバー情報は、オペレーティングシステムによって容易に見付けることができるように、常に定位置に置かれる。
図示の実施形態では、コア領域410に続いて、更に幾つかの領域が設けられている。上で概ね述べたように、ディスクラベル1領域(420)、及び、ラベル2領域(421)が設けられている。ディスク障害によって2つのラベルが両方とも破壊される機会を減らすために、これらのラベル(420と421)は互いに間隔を空けて配置される。この例では、ラベル1領域(420)の後に、RAIDシステムが使用するための1MBのRAID領域422が予約される。RAID領域422の次には、ファイラ及びそのクラスタパートナの両方のフェイルオーバモニタの種々の機能に関係して使用されるフェイルオーバモニタ領域424が設けられている。一対のクラスタ化されたファイラの場合、各ファイラのこの領域424に1MBが与えられる(その結果、合計で2MBとなる)。また、フェイルオーバモニタ領域424の後には、例えば、SAN領域426が設けられる。この領域は、SAN機能に関係して一般的に使用されるものであり、本明細書で詳しい説明はしない。
なお、ディスクの最後にあるコア領域410の後に続く領域は、ディスクの物理的な最後から固定オフセットの位置にある。一般に、ディスク領域の特定のレイアウトについて図示説明されているが、これは1つの例に過ぎず、種々のタイプの領域を備えた種々のレイアウトを使用することが可能である。領域は、固定オフセットの位置に配置される場合もあれば、可変オフセットの位置に配置され、データ検索のためにポインタ(例えば)を使用する場合もある。また、ディスク上に設けられる領域の性質及び情報内容は、異なっていてもよい。代替実施形態において、特定情報タイプについては、特殊な/個別の領域を設けることがある。同様に、この例では、そのような情報を有する領域以外の領域には、特定のディスク情報を含めてもよい。一般に、ディスクは、(とりわけ)、内容の予測可能な識別、コアダンプデータの有無、及び、そのようなデータのステータスが得られる領域のマッピングを有していなければならない。
コアダンプディスク
なお、例示的実施形態は、スペアディスク(又は、従来のATA/IDEディスクのような他の安価な専用ディスク)を使用してコアダンプの内容全体を記憶することを想定している。単一のスペアディスク又は専用ディスクにコアダンプを割り当てることにより、コアダンプを平行して(同時に)進めながら、故障したファイラが有する残りの他のディスク(アクティブファイルサービスディスク及び他のスペアディスク)を全て、テイクオーバプロセスに利用することができる。スペアディスクは一般に、説明したような図4に従ってマッピングされる。ただし、コア領域410は今度は主に、コアダンプステータスに関連するマジックナンバー413、及び、ファイルシステム領域408の中を指し示すヘッダ情報412の記憶に使用される。スペアディスク上のファイルシステム領域が、今度は、指定されたコアダンプ記憶領域である。したがって、この領域は、大きなコアダンプを単一のディスク上に記憶するための十分な記憶容量を有する。このようにすると、スペアディスクまたは他の指定されたディスクを使用してコアダンプを受け取ることができ、同時に、他のディスクをテイクオーバに参加させることができ、その結果、テイクオーバを計算する際にかなりの時間を節約することができる。実際には、以下で説明するコアダンプ手順によれば、クラスタパートナによる全ての他のディスクのテイクオーバが完了した後、故障したファイラ上のその場所でコアダンプを継続することができる。
コアダンプ手順
図5は、コアダンププロセスと平行してテイクオーバを実施するために2つのファイラ(AとB)がクラスタ化された環境において実施される手順500を例示するフロー図である。当業者であれば、本発明の思想から外れることなく、一部のステップは異なる順序で実施したり、本明細書に記載したもの以外のステップを間に挿入したりすることも可能であることが分かるであろう。
ステップ502及び503では、2つのファイラ(AとBのそれぞれ)はそれぞれ、正常に動作し(例えば、非パニック状態で通常ファイルサービスを提供し)、自分の動作状態をモニタリングして、その動作の問題を検出する。ファイラA(この例では、「故障したファイラ」)は、故障又はパニック状態を検出すると、故障が始まり(ステップ504)、パートナBがそれをテイクオーバすることができるか否かを確認し、そのメモリ全体をコアダンプとして書き込むための単一のディスク(専用のもので、通常は、安価なディスク又はスペアディスク)を探す。コアダンプを行うときに使用されるスペアディスクを探し、選択する方法については、「SYSTEM AND METHOD OF SELECTION AND COMMUNICATION OF A DISK FOR STORAGE OF A COREDUMP」と題する本願と同じ譲受人の米国特許出願第10/764,773号に記載されており、その教示は参照により本明細書に援用される。選択手順の例の説明に関して、読者は、この援用された文献の図6を特に参照する。この説明の都合上、通常のファイルサービスには一般に使用されない任意の妥当なディスクを選択することができる。すなわち、故障したファイラからパートナファイラへとファイルサービスを完全に適切に受け渡すために必要となるであろうディスクを選択することができる。そのような「ファイルサービス」には通常、クライアントに関連するデータ、若しくは、クライアントによって要求されたデータの処理及び記憶、あるいは、クラスタが接続される接続先のネットワーク(例えば、SAN)の動作にとって通常必要とされるデータなどがある。したがって、故障したファイラに関連するスペアディスクは、ファイルサービスやネットワーク動作に現在関係しないので、よい選択である。
ステップ506において、ファイラAは、自分がコアダンプを実行していることをクラスタ相互接続を介してファイラBに通知し、ファイラAは、選択されたコアダンプディスク上の指定されたコアダンプ属性領域(図4のマジックナンバー413)を、単一のスペア(又は、指定された)ディスクがそのコアダンプを受信していることを示すものに変更する。ステップ508において、ファイラAは、自分のメモリを選択されたコアダンプディスク上の指定されたファイルシステム領域に書き込む。故障したファイラAがメモリを選択されたディスクに書き込むのと同時に(平行して)、ステップ509において、ファイラB(「パートナファイラ」)は、ファイラAのウェイクアップインターバルを設定する。これは、その時間の経過後に、コアダンプが完了していなくても、コアダンプディスクを予約することになる基準である。(ステップ509において)ファイラBは、ファイラAのコアダンプディスクを識別し、コアダンプディスクを除く、ファイラAの全てのディスクに対して予約(例えば、SCSI予約)を行う。コアダンプディスクの識別は、(一実施形態として)上で援用した「SYSTEM AND METHOD OF SELECTION AND COMMUNICATION OF A DISK FOR STORAGE OF A COREDUMP」の図7に示されている手順に従って行うことができる。つまり、ファイラBは、ファイラAが所有する全てのディスクのラベルを検査し、どのディスクが、ファイラAがコアダンプの書き込みに使用してよいディスクであるかを判定する。また、ファイラBは、それらのスペアのコア領域にあるコアマジックナンバー413を検査し、どのディスクがコアダンプディスクであるものとしてマークされているかを判定する。最後に、ファイラBは、ファイラAの全てのスペアディスク上のコアマジックナンバーを検査した後、ファイラAのそれらのスペアディスクのうちのどれに対して実際にコアダンプを書き込むかを決定する。
ファイラBは、上記のステップによって、ファイラAがコアダンプの書き込みを行っているスペアディスクを識別した場合、ファイラBは、そのディスクに対する予約を控える。このときパートナファイラBは、予約されたディスクを全て所有しているものとみなす(ステップ511)。したがって、ファイラBは、テイクオーバを行う際に、コアダンプディスクをバイパスし、故障したファイラAがコアダンプを行うためにそのコアダンプディスクをアクセス出来る状態に維持する。ファイラBによるファイラAのディスクのテイクオーバが完了した後、ファイラBは、実行可能になるとすぐに、ファイラAのディスクからのデータのファイルシステムサービスを復元する(ステップ510)。
上記のように、ファイラBに故障が通知されると(ステップ509)、ウェイクアップタイマが駆動される。ウェイクアップタイマ(図3の336)は、コアダンプの失敗が発生したときでも、既にテイクオーバされたコアダンプディスク以外の他のすべてのディスクと同様に、コアダンプディスクが最終的にファイラBによって予約されるように設定される。ファイラBは、制限時間の経過(ステップ512)、または、コアダンプの完了(ステップ518)を待つ。この時点で、ファイラBにおける手順は、コアダンプディスクを予約する働きをする(ステップ516)。制限時間内にコアダンプが完了しなかった場合、手順は中止される。コアダンプの終了には、2つのステップが必要とされる。最初のステップは、ファイラAとファイラBの間で通信することである。ファイラBは、コアダンプディスクのコア領域に中止フラグを書き込み、ファイラAにコアダンプの中止を命じる。次に、ファイラBはコアダンプディスクを予約する。この予約は、ファイラAのコアダンプディスクに対する全ての入出力を停止させる働きをし、それによって、コアダンプが確実に終了していることが保証される。ファイラAがコアダンプを完了した場合、又は、ファイラAがファイラBの要求に従ってコアダンプを中止した場合、コアダンプディスクのコア領域に、フラグがセットされる(ステップ518)。
ファイラBの「コア保存」手順は、そのフラグをチェックし(判断ステップ520)、予約されていないコアダンプディスクにおけるコアダンプが完了したか、それとも中止されたかを判定する。
ステップ522によれば、次に、パートナファイラBはコアダンプディスクにアクセスし、コアダンプファイルの生成、又は、コアダンプ内容の他の適当なデータ編成を行う。このプロセスは、ファイラBのストレージオペレーティングシステム300上のコアダンプユーティリティの一部である「コア保存プロセス」によって命じられる。コアダンプファイルは、ブックマークやインデックス等のような種々の診断目的を有する場合もあれば、故障したファイラのメモリから得られる生のデータしか持たない場合もある。一実施形態によれば、コアダンプファイルが作成されても、RAID再構築を目的としたコアダンプディスクに対するアクセスはすべて禁止される場合がある(なぜなら、そのような再構築の目的には、スペアディスクを利用することができるため)。コアダンプファイルを作成した後、次に、そのコアダンプファイルは、後のデバッグに備えて、ファイラAのルートファイルシステムに書き込まれる(同じくステップ522)。故障したファイラAのルートファイルシステムは一般に、テイクオーバされた(コアダンプディスクではない)ディスク上に存在し、そのディスクは、今度は、ファイラAにあるかのように、パートナファイラBによって自由にアクセスすることができる。
この時間全体を通じて、ファイラBへのクライアントによるアクセスは維持される。ステップ510におけるテイクオーバによれば、通常ならばコアダンプによって受けることになる過度の遅延を受けることなく、クライアントは、ファイラAの一般的データに対するアクセスを既に得ている。
上記のように、コアダンプディスクは、コアダンプの状態を意味するフラグを有し、そのフラグは最終的にファイラBによって読み出される。この属性は、例えば「コアダンプ実行中」または「コアダンプ完了」といったように、コアダンプがアクティブであるか、完了しているか、又は、実行中であるかのいずれかを示すコアダンプ状態を表わすことができる。言い換えるならば、この属性は、例えば「コアダンプ無し」または「コアダンプ中止」といったように、コアダンプが存在しない/非アクティブであることや、コアダンプがその完了前に中止されたことを意味する非コアダンプ状態を表わすことができる。実施形態によっては、単純な「コアダンプ無し」という属性ではなく、「コアダンプ中止」という属性を具体的に使用することで、診断情報が得られる場合もあると考えられる。また、代替実施形態として、部分的に書き込まれたコアダンプを、完全なコアダンプと同様のやり方でファイルとして予約する場合がある。ファイラBがコアダンプファイルを書き出した後、スペアを「ホット」スペアとして使用できるようにするために、この属性は「コアダンプ無し」に変更される場合がある(ステップ524)。
当然ながら、システム故障時にコアダンプのような手順を実施するための単一のディスクの使用は、必ずしもクラスタレベルで実施する必要はない。むしろ、本明細書に記載した原理は、1つのディスクを故障した所有システムによって選び出して所有し、それを使用してシステムメモリをダンプするとともに、所有された他のディスクをネットワーク環境の故障していない要素によって即座にテイクオーバすることが可能であるような、SAN又はその他のネットワークストレージ環境にも適用することができる。
幾つかの例として、コアダンプディスクは、通常記憶処理に直ぐに必要となる場合があり、従って、コアダンプディスクは、コアダンプの完了前、又は、コアダンプファイルの生成前に、空きスペアディスクプールに移動させなければならない場合がある。通常ファイルサービスにコアダンプディスクが必要となった場合、コアダンプディスクは、テイクオーバパートナファイラBによって単純に予約することができ、それに従って、故障したファイラAによるそれ以上のコアダンプは実質的に中止される。故障したファイラAは、もはやディスクを所有しないことになる。あるいは、コアダンプディスク上の領域ヘッダ412にあるコアマジックナンバーに、特殊な「kill」サインを書き込むことができる。故障したファイラAのコアダンプ機能は、この属性を読み出し、見付けると、コアダンプを中止する。
上記が本発明の例示的実施形態に関する詳細な説明である。本発明の思想及び範囲から外れることなく種々の変更及び追加を行うことが可能である。例えば、ファイルやディレクトリは本明細書において、データを種々のデータ構造として編成可能であることを意味するが、「ファイル」、「ファイルシステム」、「ディレクトリ」等の用語は、種々の「データ構造」、「データセット」、又は、「データ編成」を含むものとして広い意味で解釈しなければならない。同様に、RAID層316はRAID編成を利用しているが、種々のストレージ構成を使用することが可能であるものと考えられる。同様に、本明細書に記載されたストレージデバイスはディスクであるが、本発明の原理は、限定はしないが、電気光学的、半導体的、または、磁気的なものを含めて、種々のストレージデバイス、又は、媒体に適用することができる。さらに、1つのディスクをコアダンプディスクとして使用しているが、2以上のコアダンプディスク、又は、「ストレージデバイス」を使用してコアダンプを記憶する代替実施形態も存在するであろう。故障したファイラは、本明細書に一般的に記載したやり方でそのようなコアダンプディスクの所有権を維持し、他のディスクはテイクオーバに利用することができる。最後に、本明細書に記載した原理のいずれか、又は全ては、ハードウェアで実施することも、コンピュータ上でプログラム命令を実行するコンピュータ読み取り可能媒体からなるソフトウェアで実施することも、ハードウェアとソフトウェアの組み合わせによって実施することも可能であるものと考えられる。したがって、この説明は、単なる例であるものと理解すべきものであり、本発明の範囲を制限するものではない。
クラスタ構成を成すように接続され、パートナファイラによって故障したファイラをテイクオーバすることができるように構成された2つのファイラを示すブロック図である。 本発明に使用されるファイラのブロック図である。 本発明の一実施形態による図2の例示的ファイルサーバに使用されるストレージオペレーティングシステムを示す略ブロック図である。 本発明の一実施形態において使用されるようなストレージディスクの種々の領域のマッピングを示す図である。 コアダンプと平行して実行されるクラスタパートナによる故障したファイラのテイクオーバを含む一連のステップを示すフロー図である。

Claims (26)

  1. ービスデータを記憶する記憶装置を所有し、サービスデータを持たない少なくとも1つの記憶装置を所有する故障したサーバを、クラスタ化されたパートナサーバによってテイクオーバする方法であって、前記故障したサーバ、故障時にコアダンプを実施するように構成され、該コアダンプにおいて前記故障したサーバのメモリ内容を記憶装置に転送るものにおいて、前記方法は、
    前記故障したサーバが所有する記憶装置上にコアダンプ属性を作成するステップであって、前記コアダンプ属性は、前記記憶装置の始まりからオフセットされた位置に配置され、前記故障したサーバ、及び前記クラスタ化されたパートナサーバは、前記オフセットを知っており、前記コアダンプ属性は、前記故障したサーバが、前記記憶装置の1つをコアダンプ記憶装置として選択するために使用される、前記故障したサーバが所有する記憶装置上にコアダンプ属性を作成するステップと、
    記サービスデータを持たない前記記憶装置上の前記コアダンプ属性を前記故障したサーバによって非コアダンプ状態からコアダンプ状態に変更し、サービスデータを持たない記憶装置を前記コアダンプ記憶装置として選択するステップと、
    前記故障したサーバが所有する他の記憶装置上の前記コアダンプ属性を非コアダンプ状態に維持するステップと、
    前記メモリ内容を前記故障したサーバによって前記コアダンプ記憶装置に書き込むステップと、
    前記故障したサーバが所有する記憶装置の前記コアダンプ属性を前記クラスタ化されたパートナサーバによってアクセスし、コアダンプ状態にあるコアダンプ属性を有するコアダンプ記憶装置を識別するとともに、非コアダンプ属性にあるコアダンプ属性を有する他の記憶装置を識別するステップと、
    非コアダンプ状態にあるコアダンプ属性を有する他の記憶装置のそれぞれの所有権を前記クラスタ化されたパートナサーバによって取得するステップと
    前記故障したサーバに対し、コアダンプ状態にあるコアダンプ属性を有する前記コアダンプ記憶装置の所有権を維持することを許可するステップと、
    前記メモリ内容の書き込みの完了時に、前記コアダンプ記憶装置のコアダンプ属性を非コアダンプ状態に変更するステップと、
    前記コアダンプ記憶装置のコアダンプ属性の非コアダンプ状態への変化を識別したときに、前記コアダンプ記憶装置の所有権を前記クラスタ化されたパートナサーバによって取得するステップと
    からなる方法。
  2. 前記コアダンプ記憶装置前記故障したサーバが所有するスペア記憶装置である、請求項1に記載の方法。
  3. 前記コアダンプ記憶装置コアダンプのための専用の記憶装置である、請求項1に記載の方法。
  4. 前記コアダンプ記憶装置に書き込まれたメモリ内容から、前記故障したサーバの診断のためのコアダンプデータセットを作成し、該コアダンプデータセットを前記故障したサーバのファイルシステムルートに書き込むステップを更に含む、請求項1に記載の方法。
  5. 前記メモリ内容を書き込むステップは、前記コアダンプ記憶装置に対する書き込みを前記故障したサーバの故障発生後の所定時間に制限するステップを含む、請求項1に記載の方法。
  6. 前記所定の制限時間は、前記故障したサーバのそれぞれ及び前記クラスタ化されたパートナサーバと通信するネットワークのパニックが発生する最大時間よりも短い、請求項5に記載の方法。
  7. 前記制限するステップは、前記所定の制限時間が経過したときに、前記コアダンプ記憶装置のコアダンプ属性を非コアダンプ状態に変更することを含む、請求項5に記載の方法。
  8. 前記故障したサーバが所有する前記コアダンプ記憶装置、及び、他の記憶装置のそれぞれは、コアダンプ領域、及び、データ記憶領域を含む複数の所定の領域を含み、前記メモリ内容を書き込むステップは、前記メモリ内容を前記コアダンプ記憶装置の前記データ記憶領域に書き込むことを含む、請求項1に記載の方法。
  9. 前記コアダンプ領域は、前記コアダンプ属性を記憶するように構成されたコアダンプヘッダを含む、請求項8に記載の方法。
  10. 複数の第1の記憶装置を所有する第1のサーバ
    1以上の第2の記憶装置を所有する第2のサーバと、
    前記第1のサーバと前記第2のサーバの間を接続するクラスタ相互接続であって、それによって前記第1のサーバの故障時に、前記第2のサーバが前記第1の記憶装置の所有権を引継ぐことが出来るようにするクラスタ相互接続と、
    (a)前記第1のサーバの故障の検出に応答して、前記第1のサーバに、前記第1のサーバのメモリ内容を前記第1の記憶装置の中から選択されたコアダンプ記憶装置に書き込ませ、前記第1の記憶装置がそれぞれ、前記第1の記憶装置の始まりからオフセットされた位置にコアダンプ属性を有し、(b)前記コアダンプ記憶装置のコアダンプ属性をコアダンプ状態に設定し、(c)前記第1の記憶装置のうちの他のもののコアダンプ属性を非コアダンプ状態に設定するコアダンプ機能と、
    (a)前記第1の記憶装置のそれぞれにアクセス、コアダンプ状態に設定されたコアダンプ属性を有するコアダンプ記憶装置を識別するとともに、非コアダンプ状態に設定されたコアダンプ属性を有する他の第1の記憶装置を識別し、(b)非コアダンプ状態に設定されたコアダンプ属性を有する他のの記憶装置のそれぞれの所有権を第1のサーバから第2のサーバに変更し、(c)前記第1のサーバに対し、前記コアダンプ記憶装置の所有権を維持することを許可し、前記所有権の引継ぎ前記第1のサーバによる前記コアダンプ記憶装置へのメモリ内容の書き込みと平行して進めることができるようにする、前記第2のサーバにおいて実施されるテイクオーバ機能と
    からなるストレージシステム。
  11. 前記テイクオーバ機能は、所定の制限時間の経過と前記コアダンプ記憶装置へのメモリ内容の書き込みの完了のうちのいずれか早い方の後、前記第2のサーバに、前記コアダンプ記憶装置の所有権を引継がせるように構成される、請求項10に記載のストレージシステム。
  12. 前記コアダンプ機能は、前記所定の制限時間の経過と前記コアダンプ記憶装置へのメモリ内容の書き込みの完了のうちのいずれか早い方の後に、前記コアダンプ記憶装置の前記コアダンプ属性を非コアダンプ状態に変更するように構成される、請求項11に記載のストレージシステム。
  13. 前記非コアダンプ状態は、中止状態、完了状態、及び、非アクティブ状態のそれぞれを含む、請求項12に記載のストレージシステム。
  14. 前記第1の記憶装置は、前記コアダンプ記憶装置として選択されたものを除き、それぞれ、ファイルサービス活動に携わるディスクドライブからなり、前記コアダンプ記憶装置は、ファイルサービス活動には携わらないスペアディスクからなる、請求項10に記載のストレージシステム。
  15. 複数の第1の記憶装置を所有する第1のサーバ、及び1以上の第2の記憶装置を所有する第2の記憶装置を所有する第2のサーバを含むストレージシステムにおけるコンピュータ読み取り可能媒体であって前記第1のサーバと前記第2のサーバが、クラスタ相互接続によって互いに接続され、それによって前記第1のサーバの故障時に、前記第2のサーバが前記第1の記憶装置の所有権を引継ぐことができるように構成されるものにおいて、前記コンピュータ読み取り可能媒体は、
    前記第1のサーバの故障の検出に応答して、前記第1のサーバによって前記第1のサーバのメモリ内容を前記第1の記憶装置の中から選択されたコアダンプ記憶装置に書き込むステップであって、前記第1のサーバが所有する前記第1の記憶装置のそれぞれが、前記第1の記憶装置の始まりからオフセットされた位置に作成されたコアダンプ属性を有し、前記第1のサーバ、及び前記第2のサーバは前記オフセットを知っており、前記コアダンプ属性は、前記第1のサーバが、前記第1の記憶装置のうちの1つを前記コアダンプ記憶装置として選択するために使用される、前記第1のサーバの故障の検出に応答して、前記第1のサーバによって前記第1のサーバのメモリ内容を前記第1の記憶装置の中から選択されたコアダンプ記憶装置に書き込むステップと、
    前記コアダンプ記憶装置のコアダンプ属性をコアダンプ状態に設定するステップと、
    前記第1の記憶装置のうちの他のもののコアダンプ属性を非コアダンプ状態に設定するステップと、
    前記第1のサーバが所有する前記第1の記憶装置の前記コアダンプ属性を前記第2のサーバによってアクセスし、コアダンプ状態に設定された前記コアダンプ属性を有するコアダンプ記憶装置を識別するとともに、非コアダンプ状態に設定されたコアダンプ属性を有する他の第1の記憶装置のそれぞれを識別するステップと、
    コアダンプ状態に設定されたコアダンプ属性を有する第の記憶装置のそれぞれの所有権を前記第1のサーバから前記第2のサーバに変更するステップと、
    前記第1のサーバに対し、コアダンプ状態に設定された前記コアダンプ属性を有するコアダンプ記憶装置の所有権を維持することを許可し、それによって前記所有権の引継ぎ、前記第1のサーバによる前記コアダンプ記憶装置へのメモリ内容の書き込みと平行して進めることが出来るようにするステップと
    を実施するプログラム命令を含む、コンピュータ読み取り可能媒体。
  16. 所定の制限時間の経過と前記コアダンプ記憶装置へのメモリ内容の書き込みの完了のうちのいずれか早い方の後、前記第2のサーバに、前記コアダンプ記憶装置の所有権を引継がせるステップを更に含む、請求項15に記載のコンピュータ読み取り可能媒体。
  17. 前記所定の時間制限の経過と前記コアダンプ記憶装置へのメモリ内容の書き込みの完了とのいずれかの後に、前記コアダンプ記憶装置のコアダンプ属性を非コアダンプ状態に変更するステップを更に含む、請求項16に記載のコンピュータ読み取り可能媒体。
  18. 前記非コアダンプ状態は、中止状態、完了状態、及び、非アクティブ状態のそれぞれを含む、請求項17に記載のコンピュータ読み取り可能媒体。
  19. 前記第1の記憶装置は、前記コアダンプ記憶装置として選択されたものを除き、それぞれ、ファイルサービス活動に携わるディスクドライブからなり、前記コアダンプ記憶装置は、ファイルサービス活動には携わらないスペアディスクからなる、請求項18に記載のコンピュータ読み取り可能媒体。
  20. 前記第1の記憶装置はそれぞれ、コアダンプ情報領域、及び、ファイルシステム領域を含み、前記メモリ内容は、前記コアダンプ記憶装置のファイルシステム領域に書き込まれる、請求項15に記載のコンピュータ読み取り可能媒体。
  21. 前記第2のサーバによって、前記コアダンプ記憶装置に書き込まれた前記メモリ内容からコアダンプデータセットを生成するステップを更に含み、前記データセットは、前記第1のサーバに関する故障の診断を可能にするように構成される、請求項15に記載のコンピュータ読み取り可能媒体。
  22. 前記第2のサーバによって前記コアダンプデータセットを前記第1の記憶装置に記憶された前記第1のサーバのルートファイルシステムに書き込むステップを更に含む、請求項21に記載のコンピュータ読み取り可能媒体。
  23. 複数の第1の記憶装置を所有する第1のサーバ、及び、1以上の第2の記憶装置を所有する第2のサーバを含むストレージシステムにおけるテイクオーバのための方法であって、前記第1のサーバと前記第2のサーバが、通信相互接続によって互いに接続され、前記第1のサーバの故障時に、前記第2のサーバが前記第1の記憶装置の所有権を引継ぐことが出来るように構成されるものにおいて、前記方法は、
    前記第1のサーバが所有する記憶装置上にコアダンプ属性を作成するステップであって、前記コアダンプ属性は、前記記憶装置の始まりからオフセットされた位置に配置され、前記第1のサーバ、及び前記第2のサーバは、前記オフセットを知っており、前期コアダンプ属性は、前記第1のサーバが、前記記憶装置の1つをコアダンプ記憶装置として選択するために使用される、前記第1のサーバが所有する記憶装置上にコアダンプ属性を作成するステップと、
    前記第1のサーバの故障の検出に応答して、前記第1のサーバにより、前記第1のサーバのメモリ内容を、前記第1の記憶装置の中から選択されたコアダンプ記憶装置に書き込むステップと、
    前記コアダンプ記憶装置のコアダンプ属性をコアダンプ状態に設定するステップと
    前記第1の記憶装置のうちの他のもののコアダンプ属性を非コアダンプ状態に設定するステップと、
    前記第1のサーバが所有する前記第1の記憶装置のコアダンプ属性を前記第2のサーバによってアクセスし、コアダンプ状態に設定された前記コアダンプ属性を有するコアダンプ記憶装置を識別するとともに、非コアダンプ状態に設定されたコアダンプ属性を有する前記第1の記憶装置のそれぞれを識別するステップと、
    前記非コアダンプ状態に設定されたコアダンプ属性を有する前記第の記憶装置のそれぞれの所有権を前記第1のサーバから前記第2のサーバに変更するステップと、
    前記第1のサーバに対し、コアダンプ状態に設定された前記コアダンプ属性を有する前記コアダンプ記憶装置の所有権を維持することを許可し、それによって前記所有権の引継ぎ前記第1のサーバによる前記コアダンプ記憶装置へのメモリ内容の書き込みと平行して進めることができるようにするステップと
    からなる方法。
  24. 所定の制限時間の経過と前記コアダンプ記憶装置へのメモリ内容の書き込みの完了のうちのいずれか早い方の後に、前記第2のサーバに、前記コアダンプ記憶装置の所有権を引継がせるステップを更に含む、請求項23に記載の方法。
  25. 前記変更するステップは、前記第2のサーバの所有権が確立されるように、第2の記憶装置のそれぞれに対してSCSI予約を設定することを含む、請求項24に記載の方法。
  26. 前記予約はSCSI−3予約からなる、請求項25に記載の方法。
JP2006551354A 2004-01-26 2005-01-25 コアダンプに関係するパートナリソースのテイクオーバのためのシステム及び方法 Expired - Fee Related JP4557988B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/764,809 US7321982B2 (en) 2004-01-26 2004-01-26 System and method for takeover of partner resources in conjunction with coredump
PCT/US2005/002141 WO2005073857A1 (en) 2004-01-26 2005-01-25 System and method for takeover of partner resources in conjunction with coredump

Publications (2)

Publication Number Publication Date
JP2007523404A JP2007523404A (ja) 2007-08-16
JP4557988B2 true JP4557988B2 (ja) 2010-10-06

Family

ID=34826491

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006551354A Expired - Fee Related JP4557988B2 (ja) 2004-01-26 2005-01-25 コアダンプに関係するパートナリソースのテイクオーバのためのシステム及び方法

Country Status (9)

Country Link
US (3) US7321982B2 (ja)
EP (1) EP1709535B1 (ja)
JP (1) JP4557988B2 (ja)
AT (1) ATE382893T1 (ja)
AU (1) AU2005208328B2 (ja)
CA (1) CA2554405C (ja)
DE (1) DE602005004120T2 (ja)
IL (1) IL177082A (ja)
WO (1) WO2005073857A1 (ja)

Families Citing this family (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050086427A1 (en) * 2003-10-20 2005-04-21 Robert Fozard Systems and methods for storage filing
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) * 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US7577688B2 (en) * 2004-03-16 2009-08-18 Onstor, Inc. Systems and methods for transparent movement of file services in a clustered environment
TWI269165B (en) * 2004-03-30 2006-12-21 Infortrend Technology Inc Dispatching of service requests in redundant storage virtualization subsystems
US7761881B2 (en) * 2005-10-28 2010-07-20 Microsoft Corporation Event bookmarks
US20070168507A1 (en) * 2005-11-15 2007-07-19 Microsoft Corporation Resource arbitration via persistent reservation
US7694166B1 (en) * 2005-11-30 2010-04-06 Network Appliance, Inc. Integrating control of service during cluster failover
JP2007299213A (ja) * 2006-04-28 2007-11-15 Fujitsu Ltd Raid制御装置および障害監視方法
US7774544B1 (en) 2006-11-15 2010-08-10 Netapp, Inc. Reliable disk ownership changes
US20080263391A1 (en) * 2007-04-20 2008-10-23 International Business Machines Corporation Apparatus, System, and Method For Adapter Card Failover
US7870417B2 (en) * 2007-04-20 2011-01-11 International Business Machines Corporation Apparatus, system, and method for adapter card failover
US7987383B1 (en) * 2007-04-27 2011-07-26 Netapp, Inc. System and method for rapid indentification of coredump disks during simultaneous take over
US8812443B2 (en) * 2007-10-01 2014-08-19 International Business Machines Corporation Failure data collection system apparatus and method
US8806037B1 (en) * 2008-02-29 2014-08-12 Netapp, Inc. Remote support automation for a storage server
US8086909B1 (en) 2008-11-05 2011-12-27 Network Appliance, Inc. Automatic core file upload
US8671265B2 (en) 2010-03-05 2014-03-11 Solidfire, Inc. Distributed data storage system providing de-duplication of data using block identifiers
US8380668B2 (en) 2011-06-22 2013-02-19 Lsi Corporation Automatic discovery of cache mirror partners in an N-node cluster
US8677374B2 (en) 2011-09-14 2014-03-18 International Business Machines Corporation Resource management in a virtualized environment
US9838269B2 (en) 2011-12-27 2017-12-05 Netapp, Inc. Proportional quality of service based on client usage and system metrics
US9054992B2 (en) 2011-12-27 2015-06-09 Solidfire, Inc. Quality of service policy sets
US9436488B2 (en) * 2012-03-27 2016-09-06 Fujitsu Limited Program redundancy among virtual machines and global management information and local resource information arrangement
US8904231B2 (en) 2012-08-08 2014-12-02 Netapp, Inc. Synchronous local and cross-site failover in clustered storage systems
WO2015011749A1 (ja) * 2013-07-22 2015-01-29 株式会社日立製作所 ストレージシステムおよびストレージシステムの障害管理方法
US10140136B2 (en) * 2013-11-07 2018-11-27 Datrium, linc. Distributed virtual array data storage system and method
US10089013B2 (en) 2013-11-07 2018-10-02 Datrium, Inc. System and method for managing a non-volatile storage resource as a shared resource in a distributed system
US10180948B2 (en) 2013-11-07 2019-01-15 Datrium, Inc. Data storage with a distributed virtual array
US9170746B2 (en) 2014-01-07 2015-10-27 Netapp, Inc. Clustered raid assimilation management
US20150244795A1 (en) 2014-02-21 2015-08-27 Solidfire, Inc. Data syncing in a distributed system
IN2014DE00764A (ja) * 2014-03-14 2015-09-18 Netapp Inc
US9798728B2 (en) 2014-07-24 2017-10-24 Netapp, Inc. System performing data deduplication using a dense tree data structure
US10133511B2 (en) 2014-09-12 2018-11-20 Netapp, Inc Optimized segment cleaning technique
US9671960B2 (en) 2014-09-12 2017-06-06 Netapp, Inc. Rate matching technique for balancing segment cleaning and I/O workload
US9836229B2 (en) 2014-11-18 2017-12-05 Netapp, Inc. N-way merge technique for updating volume metadata in a storage I/O stack
US9720601B2 (en) 2015-02-11 2017-08-01 Netapp, Inc. Load balancing technique for a storage array
US9762460B2 (en) 2015-03-24 2017-09-12 Netapp, Inc. Providing continuous context for operational information of a storage system
US9710317B2 (en) 2015-03-30 2017-07-18 Netapp, Inc. Methods to identify, handle and recover from suspect SSDS in a clustered flash array
US10540504B2 (en) 2015-05-12 2020-01-21 Datrium, Inc. Distributed data method for encrypting data
JP2017010390A (ja) * 2015-06-24 2017-01-12 富士通株式会社 ストレージ制御装置、ストレージ制御プログラム、およびストレージ制御方法
US9740566B2 (en) 2015-07-31 2017-08-22 Netapp, Inc. Snapshot creation workflow
US9894156B2 (en) * 2015-09-22 2018-02-13 International Business Machines Corporation Distributed global data vaulting mechanism for grid based storage
US9952951B2 (en) * 2015-10-22 2018-04-24 Netapp Inc. Preserving coredump data during switchover operation
US10235059B2 (en) 2015-12-01 2019-03-19 Netapp, Inc. Technique for maintaining consistent I/O processing throughput in a storage system
US10929022B2 (en) 2016-04-25 2021-02-23 Netapp. Inc. Space savings reporting for storage system supporting snapshot and clones
US10642763B2 (en) 2016-09-20 2020-05-05 Netapp, Inc. Quality of service policy sets

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5293612A (en) 1989-05-11 1994-03-08 Tandem Computers Incorporated Selective dump method and apparatus
US5163131A (en) 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
AU651321B2 (en) 1989-09-08 1994-07-21 Network Appliance, Inc. Multiple facility operating system architecture
JP2868141B2 (ja) 1992-03-16 1999-03-10 株式会社日立製作所 ディスクアレイ装置
EP1197836A3 (en) 1993-06-03 2009-06-17 Network Appliance, Inc. A method for allocating files in a file system integrated with a raid disk sub-system
ATE409907T1 (de) 1993-06-03 2008-10-15 Network Appliance Inc Verfahren und vorrichtung zum beschreiben beliebiger bereiche eines dateisystems
US5963962A (en) 1995-05-31 1999-10-05 Network Appliance, Inc. Write anywhere file-system layout
US5761739A (en) 1993-06-08 1998-06-02 International Business Machines Corporation Methods and systems for creating a storage dump within a coupling facility of a multisystem enviroment
JP3025732B2 (ja) * 1993-07-16 2000-03-27 株式会社ピーエフユー 多重化コンピュータシステムの制御方式
JPH07234808A (ja) * 1994-02-24 1995-09-05 Toshiba Corp システムダンプ採取方式
US5666512A (en) 1995-02-10 1997-09-09 Hewlett-Packard Company Disk array having hot spare resources and methods for using hot spare resources to store user data
US5999933A (en) 1995-12-14 1999-12-07 Compaq Computer Corporation Process and apparatus for collecting a data structure of a memory dump into a logical table
US5996086A (en) 1997-10-14 1999-11-30 Lsi Logic Corporation Context-based failover architecture for redundant servers
US6249879B1 (en) 1997-11-11 2001-06-19 Compaq Computer Corp. Root filesystem failover in a single system image environment
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
JP2000267872A (ja) * 1999-03-17 2000-09-29 Fujitsu Ltd 2重化システムにおける再開処理方式
US6792559B1 (en) * 2000-04-25 2004-09-14 Ncr Corporation Performing operations in an environment recreated from system dump information
US8219662B2 (en) 2000-12-06 2012-07-10 International Business Machines Corporation Redirecting data generated by network devices
US6836832B1 (en) 2001-12-21 2004-12-28 Network Appliance, Inc. System and method for pre-selecting candidate disks based on validity for volume
US7650412B2 (en) 2001-12-21 2010-01-19 Netapp, Inc. Systems and method of implementing disk ownership in networked storage
US6993701B2 (en) 2001-12-28 2006-01-31 Network Appliance, Inc. Row-diagonal parity technique for enabling efficient recovery from double failures in a storage array
US7133964B2 (en) 2002-03-20 2006-11-07 Network Appliance, Inc Raid assimilation method and apparatus
US6751136B2 (en) 2002-06-17 2004-06-15 Lsi Logic Corporation Drive failure recovery via capacity reconfiguration
US7028154B2 (en) 2002-06-18 2006-04-11 Hewlett-Packard Development Company, L.P. Procedure to reduce copy time for data backup from short-term to long-term memory
JP2004234555A (ja) * 2003-01-31 2004-08-19 Hitachi Ltd ストレージシステムの制御方法、ストレージシステム、及びプログラム
JP4252828B2 (ja) 2003-03-19 2009-04-08 株式会社日立製作所 キャッシュ制御方法、ノード装置、プログラム
US7664913B2 (en) 2003-03-21 2010-02-16 Netapp, Inc. Query-based spares management technique
US7424637B1 (en) 2003-03-21 2008-09-09 Networks Appliance, Inc. Technique for managing addition of disks to a volume of a storage system
US7321982B2 (en) 2004-01-26 2008-01-22 Network Appliance, Inc. System and method for takeover of partner resources in conjunction with coredump
US7266717B2 (en) 2004-01-26 2007-09-04 Network Appliance, Inc. System and method of selection and communication of a disk for storage of a coredump
US7434090B2 (en) 2004-09-30 2008-10-07 Copan System, Inc. Method and apparatus for just in time RAID spare drive pool management
US7490203B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Method for dumping data in processing systems to a shared storage

Also Published As

Publication number Publication date
DE602005004120D1 (de) 2008-02-14
IL177082A0 (en) 2006-12-10
CA2554405A1 (en) 2005-08-11
EP1709535B1 (en) 2008-01-02
IL177082A (en) 2012-08-30
US7321982B2 (en) 2008-01-22
WO2005073857A1 (en) 2005-08-11
DE602005004120T2 (de) 2009-01-02
JP2007523404A (ja) 2007-08-16
US20050177770A1 (en) 2005-08-11
AU2005208328A1 (en) 2005-08-11
ATE382893T1 (de) 2008-01-15
US8032781B1 (en) 2011-10-04
US7827437B1 (en) 2010-11-02
CA2554405C (en) 2011-07-12
EP1709535A1 (en) 2006-10-11
AU2005208328B2 (en) 2009-06-11

Similar Documents

Publication Publication Date Title
JP4557988B2 (ja) コアダンプに関係するパートナリソースのテイクオーバのためのシステム及び方法
US8010848B2 (en) System and method of selection and communication of a disk for storage of a coredump
US7478263B1 (en) System and method for establishing bi-directional failover in a two node cluster
US7415506B2 (en) Storage virtualization and storage management to provide higher level storage services
US8261125B2 (en) Global write-log device for managing write logs of nodes of a cluster storage system
JP4480756B2 (ja) ストレージ管理装置、ストレージシステム制御装置、ストレージ管理プログラム、データ記憶システムおよびデータ記憶方法
US6757695B1 (en) System and method for mounting and unmounting storage volumes in a network storage environment
US7895287B2 (en) Clustered storage system with external storage systems
US11416354B2 (en) Techniques for providing intersite high availability of data nodes in a virtual cluster
US20080250215A1 (en) Method for replicating snapshot volumes between storage systems
US20100232288A1 (en) Takeover of a Failed Node of a Cluster Storage System on a Per Aggregate Basis
US20060112219A1 (en) Functional partitioning method for providing modular data storage systems
US8140754B2 (en) Methods and apparatus for managing HDD's spin-down and spin-up in tiered storage systems
US7702757B2 (en) Method, apparatus and program storage device for providing control to a networked storage architecture
CN107003920B (zh) 用于处置灾难恢复群集中的多节点故障的***和方法
JP2002229837A (ja) 共有ディスク・パラレル・データ・ファイル内のデータに対するアクセスを制御する方法
US7987383B1 (en) System and method for rapid indentification of coredump disks during simultaneous take over
US7487308B1 (en) Identification for reservation of replacement storage devices for a logical volume to satisfy its intent
US20230205638A1 (en) Active-active storage system and data processing method thereof
JP2009522656A (ja) 記憶システムを再構成するための方法及び装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20091118

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091201

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20100301

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20100308

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100601

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: 20100629

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: 20100720

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130730

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees