(57)【要約】【課題】  冗長構成を速やかに復元することを目的とする。【解決手段】  データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムにおける冗長構成復元方法であって、異常と検知された記憶ノードが存在した場合、冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始段階と、異常と検知された記憶ノードの、所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元段階と、を有することによって上記課題を解決する。【選択図】  図１４
2005301594.tif 000002
【特許請求の範囲】
【請求項１】
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムにおける冗長構成復元方法であって、
異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始段階と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元段階と、
を有することを特徴とする冗長構成復元方法。
【請求項２】
前記所定の単位で管理されているデータ記憶領域に記憶されている、冗長性を構成するデータ間の同期を確認する同期確認段階を更に有することを特徴とする請求項１記載の冗長構成復元方法。
【請求項３】
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用不可能である場合、該データ記憶領域を開放する開放段階を更に有することを特徴とする請求項１又は２記載の冗長構成復元方法。
【請求項４】
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムであって、
異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始手段と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元手段と、
を有することを特徴とするデータ管理システム。
【請求項５】
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムでの処理をコンピュータに実行させる冗長構成復元プログラムであって、
前記コンピュータに、異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始手順と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元手順と、
を実行させることを特徴とする冗長構成復元プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、冗長構成復元方法、データ管理システム及び冗長構成復元プログラムに関する。
【背景技術】
【０００２】
従来からストレージシステムの重要な役割の一つとしてデータを安全に保管することがある。そのため、ストレージシステムにデータを格納するときには冗長性を持たせることが一般的である。
【０００３】
複数のノード（例えばパーソナルコンピュータやワークステーション）或いは複数のディスクを使用したストレージシステムで冗長性を持たせる手法の１つにミラーリングがある。ミラーリングは、同じデータを２つ以上のノード或いは２つ以上のディスクに格納し、１つのノード或いは１つのディスクが異常となっても正常なデータがストレージシステム内に残ることを狙ったものである。
【０００４】
ミラーリングを用いたシステムは、１つのノード或いは１つのディスクが異常となった場合、まず異常ノード或いは異常ディスクをシステムから切り離し、次に異常ノード或いは異常ディスクが持っていたデータと同じデータを持つストレージシステム内のノード或いはディスクをコピー元とし、予備のノードやディスク、或いは予備の領域をコピー先として、データの冗長性の復元を行う。
【０００５】
以下、ミラーリングを行うストレージシステムの一例を、図１に示す。図１は、従来技術におけるミラーリングを行うストレージシステムの一例を示す図である。なお、以下では図１に示すようなディスクを有する複数のストレージノード群と、ストレージノード群を制御する制御ノードと、から構成されるシステムを本明細書では、ＰＮＳ（ＰＣ  Ｎｅｔｗｏｒｋ  Ｓｔｏｒａｇｅ）と称する事とする。
【０００６】
ＰＮＳは、システムの外部からは論理ボリュームと呼ばれる仮想的なボリュームを持つようにみえ、制御ノードは、論理ボリュームが、実際にはどのストレージノードのどのデータ格納領域で構成されているのかを管理している。クライアントは、制御ノードから論理ボリュームに係る論理ボリューム情報を参照した後、論理ボリューム情報に基づいて、実際にアクセスしたいデータを有するストレージノードのデータ格納領域の位置を確認し、ネットワークを介してストレージノードにアクセスし、データにアクセスする。
【０００７】
また、ストレージノードが有するデータ格納領域は、スライスと呼ばれる一定の大きさに分割されて管理されている。スライス内部には、実データが収められ、別の領域にスライスに係るスライス情報が収められる。例えばスライス情報としては、どのようなセグメントを組んでいるか等の情報がある。なお、セグメントについては後述する。
【０００８】
図２は、従来技術におけるストレージノードの一例の機能構成図である。通信部は、制御ノード等と通信を行う。制御部は、ストレージノード全体の制御を行う。実データ格納部は、実データを格納する。スライス情報格納部は、スライス情報を格納する。
【０００９】
ここで、論理ボリュームは、セグメントと呼ばれる単位で管理される。セグメントは異なるストレージノード上のスライス群から構成され、同じセグメントに属するスライスに同じデータを格納することにより、ストレージノードが１つ異常となっただけでは、システムにおいてデータが失われないようになっている。
【００１０】
図３は、従来技術における制御ノードの一例の機能構成図である。コーディネータは、ストレージノードの状態管理を行うモジュールである。メタデータサーバは、ストレージノードが有するスライス情報を収集して論理ボリューム情報を構成し、クライアント等からの参照要求に応じると共に、外部からの要求や、ストレージノードの異常があった場合の論理ボリューム情報やセグメント構成の更新の指示を行うモジュールである。
【００１１】
ストレージノードの異常を検知したコーディネータは、メタデータサーバに異常と判定したストレージノードを通知する。メタデータサーバは、異常と判定されたストレージノードに属するスライスが構成するセグメントを取り出して、該セグメントからミラーを組んでいるスライスを持つストレージノードを割り出して、該ストレージノードをコピー元として、例えば他のストレージノードの空領域をコピー先として、割り当ての指示を出した後に、コピーの開始を指示する。なお、メタデータサーバは、全ストレージノードのスライス情報を持っているので、上述したような指示を出すことができる。このような方法によって、ＰＮＳは、データの冗長性を復旧する。
【００１２】
図４は、従来技術における一例の冗長性復元フローである。
【００１３】
ステップＳ１０において、制御ノードがストレージノードの１つが異常であると検出する。異常であると検出される原因としては、例えばディスクの破壊や、通信路の故障、システムの再立ち上げどきに立ち上がってこないストレージノードの存在、等が考えられる。
【００１４】
ステップＳ１０に続いてステップＳ１１に進み、制御ノードは異常なストレージノード（異常ストレージノード）上に存在する割り当て済みスライスが属するセグメントのリストを作成する。なお、リストアップされたセグメントには、異常ストレージノードに属するスライスと、正常なストレージノード（正常ストレージノード）に属するスライスと、が存在する。
【００１５】
ステップＳ１１に続いてステップＳ１２に進み、制御ノードは、リストアップされたセグメント中、正常ストレージノードに属するスライスはそのままとして、異常ストレージノードに属するスライスの代わりに、正常ストレージノード上に存在する未割り当てのスライスを新規に割り当てるよう、正常ストレージノードに要求する。なお、セグメントを構成するスライスは、それぞれ別のストレージノードに属するようにする。
【００１６】
ステップＳ１２に続いてステップＳ１３に進み、制御ノードは、ステップＳ１１において作成したリスト中のセグメントには、データを持っているスライスと、データを持っていない新規のスライスとが存在するので、データを持っているスライスから新規へのスライスへのデータのコピーを、正常ストレージノードに要求する。
【００１７】
以下、より具体的な例を示す。図５は、従来技術における、各ストレージノードが有するスライス情報のイメージ図（その１）である。なお、図５においては既に割り当てが行われているものとする。図５には、ストレージノードが４つ（ストレージノードＡ、Ｂ、Ｃ、Ｄ）存在し、各ストレージノードはそれぞれ１０スライス分の領域を持っている。データの冗長性はミラーリングによるデータ二重化であって、Ｐｘと、Ｓｘと、がセグメントを構成している。なお、以下ではＰｘと、Ｓｘと、から構成されるセグメントをＳＧｘという。
【００１８】
図６は、従来技術における、各ストレージノードが有するスライス情報のイメージ図（その２）である。図６は、何らかの原因でストレージノードＢにおいて異常が発生したことを表している。ここで、図６に示されるように、ストレージノードＢに属する割り当て済みスライスは、Ｐ２と、Ｐ６と、Ｐ１０と、Ｓ３と、Ｓ４と、である。したがって、これらのスライスが属するセグメントのリストは、＜ＳＧ２、ＳＧ６、ＳＧ１０、ＳＧ３、ＳＧ４＞となる。制御ノードは、該リストに基づいて、新規スライスの割り当てを行う。
【００１９】
図７は、従来技術における、各ストレージノードが有するスライス情報のイメージ図（その３）である。図７に示される例においては、ストレージノードＡにＳ３’と、Ｓ４’と、が割り当てられ、ストレージノードＣにＰ２’と、Ｐ１０’と、が割り当てられ、ストレージノードＤにＰ６’が割り当てられている。なお、新規に割り当てられたことを示すためＳ３’のように’（ダッシュ）をつけている。
【００２０】
図８は、従来技術における、各ストレージノードが有するスライス情報のイメージ図（その４）である。
【００２１】
図７に示されるように、新規の割り当てが終わると、制御ノードは、セグメントのリストに基づいて、図８に示されるようなスライス毎のデータのコピーを、各ストレージノードに要求する。
【特許文献１】特開平１１−３３８６４８号公報
【発明の開示】
【発明が解決しようとする課題】
【００２２】
しかしながら、上述した方法では、異常と判定されたストレージノードの持つ割り当て済みのデータ全てに対してコピーが必要となる。
【００２３】
近年、ディスク自体が大容量化しており、ストレージノードに複数のディスクを接続して運用する場合、ストレージノード１つ当たりの容量は非常に大きくなる。このような状況下では、１つのストレージノードが異常と判定された場合、ミラーリングの冗長性を復元するために大量のデータのコピーが必要となり、冗長性の復元に長い時間を要する問題があった。
【００２４】
なお、従来技術では説明の簡略化のため、４つのストレージノードを用いて説明を行ったが、実施しているシステムでは、割り当て済みスライス（１スライスは５１２ＭＢ）を約３０００個持つストレージノードを１０個程ネットワークに接続して運用している。
【００２５】
また、冗長性を復元している間は、データコピーのための通信がシステム内を飛び交うので、Ｉ／Ｏの性能が悪くなる問題もあった。また、復元中に他のストレージノードが壊れると、ストレージシステムが閉塞し、システムの運用が停止してしまう問題もあった。
【００２６】
本発明は、上記の点に鑑みなされたもので、冗長構成を速やかに復元することを目的とする。
【課題を解決するための手段】
【００２７】
そこで、上記問題を解決するため、本発明は、データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムにおける冗長構成復元方法であって、異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始段階と、前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元段階と、を有することを特徴とする。
【００２８】
本発明によれば、データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムにおける冗長構成復元方法であって、異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始段階と、前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元段階と、を有することにより、冗長構成を速やかに復元することができる。
【００２９】
また、上記課題を解決するための手段として、データ管理システム及び冗長構成復元プログラムとしてもよい。
【発明の効果】
【００３０】
本発明によれば、冗長構成を速やかに復元することができる。
【発明を実施するための最良の形態】
【００３１】
以下、本発明の実施の形態について図面に基づいて説明する。初めに、本発明におけるミラーリングを行うストレージシステムの一例を、図９に示す。図９は、本発明におけるミラーリングを行うストレージシステムの一例を示す図である。
【００３２】
図９に示されるストレージシステムは、クライアント３と、制御ノード１と、複数のストレージノード２と、がネットワークを介して接続されている。なお、図９に示されるシステム構成は、図１に示した従来のストレージシステムと同様の構成である。
【００３３】
以下、制御ノード１のハードウェア構成の一例を、図１０を用いて説明する。図１０は、制御ノードの一例のハードウェア構成図である。
【００３４】
図１０に示される制御ノード１のハードウェア構成は、それぞれバスで相互に接続されている入力装置１１と、表示装置１２と、ドライブ装置１３と、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１５と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１６と、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１７と、インターフェース装置１８と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）１９と、から構成されている。
【００３５】
入力装置１１は、制御ノード１の利用者が操作するキーボード及びマウス等で構成され、制御ノード１に各種操作信号を入力するのに用いられる。表示装置１２は、制御ノード１の利用者が利用するディスプレイ等で構成され、各種情報を表示する。インターフェース装置１８は、制御ノード１をネットワーク等に接続するインターフェースである。
【００３６】
例えば制御ノード１のプログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体１４によって制御ノード１に提供されるか、ネットワークを通じてダウンロードされる。記録媒体１４は、ドライブ装置１３にセットされ、プログラムが記録媒体１４からドライブ装置１３を介してＨＤＤ１９にインストールされる。
【００３７】
ＲＯＭ１５は、データ等を格納する。ＲＡＭ１６は、制御ノード１の起動時にＨＤＤ１９からプログラム等を読み出して格納する。ＣＰＵ１７は、ＲＡＭ１６に読み出され格納されたプログラム等に従って処理を実行する。
【００３８】
以下、ストレージノード２のハードウェア構成の一例を、図１１を用いて説明する。図１１は、ストレージノードの一例のハードウェア構成図である。
【００３９】
図１１に示されるストレージノード２のハードウェア構成は、それぞれバスで相互に接続されている入力装置２１と、表示装置２２と、ドライブ装置２３と、ＲＯＭ２５と、ＲＡＭ２６と、ＣＰＵ２７と、インターフェース装置２８と、ＨＤＤ２９と、から構成されている。
【００４０】
入力装置２１は、ストレージノード２の利用者が操作するキーボード及びマウス等で構成され、ストレージノード２に各種操作信号を入力するのに用いられる。表示装置２２は、ストレージノード２の利用者が利用するディスプレイ等で構成され、各種情報を表示する。インターフェース装置２８は、ストレージノード２をネットワーク等に接続するインターフェースである。
【００４１】
例えばストレージノード２のプログラムは、例えば、ＣＤ−ＲＯＭ等の記録媒体２４によってストレージノード２に提供されるか、ネットワークを通じてダウンロードされる。記録媒体２４は、ドライブ装置２３にセットされ、プログラムが記録媒体２４からドライブ装置２３を介してＨＤＤ２９にインストールされる。
【００４２】
ＲＯＭ２５は、データ等を格納する。ＲＡＭ２６は、ストレージノード２の起動時にＨＤＤ２９からプログラム等を読み出して格納する。ＣＰＵ２７は、ＲＡＭ２６に読み出され格納されたプログラム等に従って処理を実行する。
【００４３】
ＨＤＤ２９は、プログラムと共に、例えば後述するように、実データやスライス情報等を格納する。
【００４４】
以下、制御ノード１の一例の機能構成を、図１２を用いて説明する。図１２は、制御ノードの一例の機能構成図である。
【００４５】
図１２に示されるように、制御ノード１は、通信部１０１と、コーディネータ１０２と、メタデータサーバ１０３と、を含む。
【００４６】
通信部１０１は、ネットワークを介して、クライアント３や、ストレージノード２等と通信を行うモジュールである。コーディネータ１０２は、ストレージノード２の状態管理を行うモジュールである。メタデータサーバ１０３は、ストレージノード２が有するスライス情報を収集して論理ボリューム情報を構成し、クライアント３等からの参照要求に応じると共に、外部からの要求や、ストレージノードの異常があった場合の論理ボリューム情報やセグメント構成の更新の指示を行うモジュールである。なお、図１２では、説明の簡略化のため、コーディネータ１０２と、メタデータサーバ１０３と、を同じノード内に配置しているが、コーディネータ１０２と、メタデータサーバ１０３と、は別々のノードに配置されるようにしてもよい。
【００４７】
また、コーディネータ１０２は、ハートビート受信部１１１と、ストレージノード状態通知部１１２と、ストレージノード状態管理部１１３と、を含む。
【００４８】
ハートビート受信部１１１は、ストレージノード２からのハートビートを、通信部１０１を介して受信する受信部である。また、ストレージノード状態通知部１１２は、ストレージノード２の状態を、例えばメタデータサーバ１０３等に通知する通知部である。また、ストレージノード状態管理部１１３は、ストレージノード２の状態を管理する管理部である。
【００４９】
また、メタデータサーバ１０３は、スライス情報収集部１２１と、ストレージノード情報管理部１２２と、セグメント情報管理部１２３と、スライス情報更新要求部１２４と、データコピー要求部１２５と、同期確認識別子比較要求部１２６と、を含む。
【００５０】
スライス情報収集部１２１は、ストレージノード２よりスライス情報を収集する収集部である。ストレージノード情報管理部１２２は、ストレージノード２のスライス情報等を管理する管理部である。セグメント情報管理部１２３は、セグメント情報を、セグメント情報テーブル１３０等を用いて管理する管理部である。スライス情報更新要求部１２４は、ストレージノード２に対してスライス情報の更新を要求する要求部である。データコピー要求部１２５は、ストレージノード２に対してデータのコピーを要求する要求部である。同期確認識別子比較要求部１２６は、ストレージノード２に対して同期確認識別子の比較を要求する要求部である。なお、同期確認識別子については後述する。
【００５１】
以下、ストレージノード２の一例の機能構成を、図１３を用いて説明する。図１３は、ストレージノードの一例の機能構成図である。
【００５２】
図１３に示されるように、ストレージノード２は、通信部２０１と、制御部２０２と、を含む。また、ＨＤＤ２９は、実データ格納部２２０と、スライス情報格納部２２１と、を含む。
【００５３】
通信部２０１は、ネットワークを介して、クライアント３や、制御ノード１等と通信を行うモジュールである。制御部２０２は、ストレージノード２全体の制御を行うモジュールである。実データ格納部２２０は、実データを格納する格納部である。スライス情報格納部２２１は、スライス情報を格納する格納部である。なお、図１３では、実データ格納部２２０と、スライス情報格納部２２１と、が交互に表れる構成となっているが、実データ格納部２２０と、スライス情報格納部２２１と、は互いに関連付けられた状態で、別々に配置される構成であってもよい。
【００５４】
また制御部２０２は、ハートビート送信部２１１と、データ正常判定部２１２と、同期確認識別子比較部２１３と、実データ操作部２１４と、スライス情報操作部２１５と、を含む。
【００５５】
ハートビート送信部２１１は、通信部２０１を介してコーディネータ１０２に対して一定間隔でハートビートを送信する送信部である。データ正常判定部２１２は、ストレージノード２の起動時に、ストレージノード２が正常に起動できたか否かを判定し、ＨＤＤ２９に正常な状態でデータを格納できたか否かを判定する判定部である。同期確認識別子比較部２１３は、メタデータサーバ１０３からの要求に基づいて、同期確認識別子を比較する比較部である。
【００５６】
ここで、上述したように、図８に示したようなストレージシステムにおいてはストレージノード２が有する格納領域をスライス単位で管理している。したがって、スライスそれぞれが同期確認識別子を持ち、同期確認識別子比較部２１３において、セグメントを構成するスライス群の同期確認識別子を比較し、例えば同じ値（同値）であると判定すると、スライス群が同じデータを持つと、判定することができる。同期確認識別子は、各ストレージノード２において管理する。
【００５７】
例えばメタデータサーバ１０３の同期確認識別子比較要求部１２６は、従来技術の図４に示したような冗長性の復元処理を行っている最中に、システムに、ストレージノード２が参入してきた場合、該参入してきたストレージノート２が持つスライスと、該スライスとペアを組んでいたスライスと、が同じデータを持っているか否かを確認するために、ストレージノード２に対して同期確認識別子の比較を要求する。
【００５８】
実データ操作部２１４は、ＨＤＤ２９の実データ格納部２２０に格納されているデータを操作する操作部である。スライス情報操作部２１５は、ＨＤＤ２９のスライス情報格納部２２１に格納されているスライス情報を操作する操作部である。
【００５９】
ここで、データの更新があったときには、スライス情報操作部２１５は、スライスの同期確認識別子を更新する。したがって、データの更新が頻繁に行われれば、同期確認識別子の更新も頻繁に行われることになる。なお、データの更新に伴う同期確認識別子の更新は、個々のスライスに対して独立に行われる。つまり、セグメントを構成するスライス群に対して同期して行われるものではない。一方、ストレージノード２の異常時の冗長性復元処理においてスライス全体のデータのコピーを行った場合、データのコピーが完了したときに、コピー元のスライス情報操作部２１５は、コピー先のスライス情報操作部２１５に対して同期確認識別子の値をそのまま送付し、コピー先のスライス情報操作部２１５は、受け取った同期確認識別子をそのまま使用する。
【００６０】
なお、同期確認識別子としては、例えばシリアルナンバーや、メッセージダイジェスト関数を適用した値等がある。
【００６１】
例えば同期確認識別子としてシリアルナンバーを用いた場合、スライス情報操作部２１５は、スライスのデータが更新される度に、シリアルナンバーを１ずつ加算する。セグメントを構成するスライス群のデータの更新は同じ回数なので、セグメントを構成するスライス群でシリアスナンバーは一致する。なお、以下では説明の簡略化のため、同期確認識別子にシリアルナンバーを用いるものとして説明を行う。
【００６２】
図８に示したようなストレージシステムにおいて、ストレージノードが異常と判断されるケースとしては主に以下の２つがある。１つはストレージノードからコーディネータに異常を直接通知する場合である。もう１つはストレージノードからコーディネータにハートビートが一定時間送られてこなかった場合である。
【００６３】
前者の場合は、主としてストレージノード２のディスクの異常、ストレージノード２のファームウェアのバグ等がある。また、後者の場合は、主としてストレージノード２のファームウェアのバグ、ネットワークの障害、システムの再立ち上げどきに立ち上がってこないストレージノードの存在、等がある。
【００６４】
例えばネットワークの障害や、何らかの原因でシステムの再立ち上げどきに立ち上がりが遅く、異常と判定されたストレージノード２は、一度は制御ノード１によって異常と判定されてシステムから切り離されていても、ＨＤＤ２９に格納されているデータは破壊されていないため、ネットワークの障害が修復したり、正常に立ち上がったりした後、システムに再参入することができる。例えばシステムへの再参入は、異常と判定されたストレージノード２が、制御ノード１に対してハートビートを送信することによって、制御ノード１が検出する。
【００６５】
このように、異常と判定されたストレージノード２であっても、データが破壊されていなかったストレージノード２が、再びシステムに参入してきた場合、該ストレージノード２や、該ストレージノード２のデータを再利用することによって、データの冗長性の復元処理を速やかに行うことができる。
【００６６】
以下、冗長性復元処理に係る一例を、図１４を用いて説明する。図１４は、冗長性復元処理に係る一例のシーケンス図である。なお、以下では、コーディネータ１０２をＣＤ１０２、メタデータサーバ１０３をＭＤＳ１０３、ともいう。
【００６７】
ここで、ストレージノード２（Ｂ）の異常を検出する前の状態（状態１）における各ストレージノードが有するスライス情報のイメージを、図１５に示す。図１５は、各ストレージノードが有するスライス情報のイメージ図（その１）である。
【００６８】
図１５に示されるように、各ストレージノード２は、例えば１０スライス分の領域を持っている。また、Ｐｘと、Ｓｘと、はミラーリングによって同じデータを有し、例えば後述する図１６に示されるようにセグメントＳＧｘを構成する。また、Ｐｘ−ｚｚ（例えばｐ１−９５）の、ｚｚ（例えば９５）は、シリアルナンバーを表している。ＳＧｘを構成するＰｘと、Ｓｘと、のシリアルナンバーは通常、同値である。なお、図１５に示されるような各ストレージノードが有するスライス情報は、ＭＤＳ１０３のストレージノード情報管理部１２２等において管理されている情報である。以下においても同様である。
【００６９】
また、状態１におけるセグメント情報テーブル１３０の一例を、図１６に示す。図１６は、セグメント情報テーブルを示す図（その１）である。
【００７０】
図１６に示されるように、セグメント情報テーブル１３０は、セグメントを識別する識別子と、セグメントを構成する一方（Ｐｒｉｍａｒｙ）のスライスを識別する識別子と、セグメントを構成する他方（Ｓｅｃｏｎｄａｒｙ）のスライスを識別する識別子と、を項目に含む。
【００７１】
例えばセグメント情報テーブルの１行目（ＳＧ１、Ａ−１、Ｃ−３）は、ＳＧ１で識別されるセグメントは、ストレージノード２（Ａ）のスライス番号１のスライスのデータと、ストレージノード２（Ｃ）のスライス番号３のスライスのデータと、から構成されていることを表している。
【００７２】
図１４においてＣＤ１０２は、例えばストレージノード２（Ｂ）の異常を検出するとＭＤＳ１０３に通知する（シーケンスＳＱ１）。
【００７３】
通知を受けたＭＤＳ１０３は、異常が検出されたストレージノード２（Ｂ）上に存在する割り当て済みスライスが属するセグメントのリスト（異常セグメントリスト）を作成し、該異常セグメントリストに基づいて、新規スライスの割り当てを行う。ここで、ストレージノード２（Ｂ）に属する割り当て済みスライスは、Ｐ２−２０１と、Ｐ６−１９９と、Ｐ１０−１０と、Ｓ３−９８と、Ｓ４−２１と、である。したがって、これらのスライスが属する異常セグメントリストは、＜ＳＧ２、ＳＧ６、ＳＧ１０、ＳＧ３、ＳＧ４＞となる（図１９参照。）。
【００７４】
ここで、ストレージノード２（Ｂ）の異常を検出した後の状態（状態２）における各ストレージノードが有するスライス情報のイメージを、図１７に示す。図１７は、各ストレージノードが有するスライス情報のイメージ図（その２）である。
【００７５】
図１７では、ストレージノード２（Ｂ）において異常が検出されたことを表している。また、図１７では、ストレージノード２（Ａ）にＳ３’―？？と、Ｓ４’―？？と、が割り当てられる準備がされており、ストレージノード２（Ｃ）にＰ２’―？？と、Ｐ１０’―？？と、が割り当てられる準備がされており、ストレージノード２（Ｄ）にＰ６’―？？が割り当てられる準備がされている。なお、ここで−？？等の？？は、シリアルナンバーが不定であることを表している。
【００７６】
また、状態２におけるセグメント情報テーブル１３０の一例を、図１８に示す。図１８は、セグメント情報テーブルを示す図（その２）である。
【００７７】
図１８では、異常セグメントリストに含まれるセグメントのスライスの片方が、新たに準備されている割り当て予定のスライスとなっている。
【００７８】
図１９は、異常セグメントリストを示す図（その１）である。上述したように、ストレージノード２（Ｂ）に属する割り当て済みスライスは、Ｐ２−２０１と、Ｐ６−１９９と、Ｐ１０−１０と、Ｓ３−９８と、Ｓ４−２１と、であるため、状態２における異常セグメントリストは、＜ＳＧ２、ＳＧ６、ＳＧ１０、ＳＧ３、ＳＧ４＞となる。
【００７９】
図１４において、ＭＤＳ１０３は、ストレージノード２（Ａ）と、ストレージノード２（Ｃ）と、ストレージノード２（Ｄ）と、に対して、それぞれ新たなスライスの割り当て要求を送信する（シーケンスＳＱ２、シーケンスＳＱ３、シーケンスＳＱ４）。
【００８０】
例えばストレージノード２（Ａ）と、ストレージノード２（Ｃ）と、ストレージノード２（Ｄ）と、より、割り当てがＯＫである旨の応答を受け取ると、ＭＤＳ１０３は、図１８に示されるようなセグメント情報テーブル１３０に基づいて、セグメントを構成しているスライスから、新たに割り当てられたスライスへのデータのコピーの開始要求を、例えばストレージノード２（Ａ）と、ストレージノード２（Ｃ）と、ストレージノード２（Ｄ）と、に送信する（シーケンスＳＱ５、シーケンスＳＱ６、シーケンスＳＱ７）。
【００８１】
なお、図１４のシーケンスＳＱ１からシーケンスＳＱ７までの処理は、従来技術の図４のステップＳ１０からステップＳ１３の処理と同様である。
【００８２】
ここで、ストレージノード２（Ｂ）が、ハートビートによるシステムへの参加通知を行って、ＣＤ１０２が該参加通知を受け取ると（シーケンスＳＱ８）、ＣＤ１０２は、ストレージノード２（Ｂ）のシステムへの参加をＭＤＳ１０３に通知する（シーケンスＳＱ９）。
【００８３】
ＭＤＳ１０３は、再参入してきたストレージノード２（Ｂ）に対して、スライス情報の要求を送信する（シーケンスＳＱ１０）。
【００８４】
スライス情報の要求を受信したストレージノード２（Ｂ）は、ＨＤＤ２９等よりスライス情報を取得して、ＭＤＳ１０３に送信する（シーケンスＳＱ１１）。
【００８５】
ここで、ストレージノード２（Ｂ）のスライス情報を取得した後の状態（状態３）における各ストレージノードが有するスライス情報のイメージを、図２０に示す。図２０は、各ストレージノードが有するスライス情報のイメージ図（その３）である。
【００８６】
シーケンスＳＱ１０及びシーケンスＳＱ１１においてストレージノード２（Ｂ）のスライス情報のみ収集が行われているため、図２０に示されるように、ストレージノード２（Ｂ）のシリアルナンバーの一部が更新されている。
【００８７】
また、状態３におけるセグメント情報テーブル１３０の一例を、図２１に示す。図２１は、セグメント情報テーブルを示す図（その３）である。
【００８８】
図２１に示される、セグメント情報テーブル１３０は、図１８に示したセグメント情報テーブル１３０と同様である。
【００８９】
また、状態３における異常セグメントリストの一例を、図２２に示す。図２２は、異常セグメントリストを示す図（その２）である。
【００９０】
図２２に示される異常セグメントリストは、図１９に示した異常セグメントリストと同様である。
【００９１】
図１４においてＭＤＳ１０３は、まずストレージノード２（Ａ）に対して同期確認識別子の比較要求を送信する（シーケンスＳＱ１２）。
【００９２】
ここで、シーケンスＳＱ１２において、ＭＤＳ１０３が、ストレージノード２（Ａ）に対して送信した同期確認識別子の比較要求に含まれるメッセージの一例を、図２３に示す。図２３は、メタデータサーバからのメッセージを示す図（その１）である。
【００９３】
図２３に示されるように、メッセージには、同期確認識別子を比較する対象スライスと、該対象スライスとセグメントを組むペアスライスと、シリアルナンバーと、が含まれる。
【００９４】
ここで、同期確認識別子の比較要求を受け取った状態（状態４）におけるストレージノード２（Ａ）が有するスライス情報のイメージを、図２４に示す。図２４は、ストレージノードＡが有するスライス情報のイメージ図である。
【００９５】
ストレージノード２（Ａ）は、図２３に示されるようなメッセージを、ＭＤＳ１０３より受け取ると、受け取ったメッセージに含まれる対象スライスのシリアルナンバー（図２４において２５３）と、受け取ったメッセージに含まれるシリアルナンバー（図２３において２５３）と、を比較して、一致すると判定すると、ストレージノード２（Ａ）のスライス番号４に関するデータのコピーを中止して、ＭＤＳ１０３にＯＫである旨の結果を通知する（図１４のシーケンスＳＱ１３）。
【００９６】
図１４において、ＯＫである旨の結果を受け取ったＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ｂ）に対して送信する（シーケンスＳＱ１４）。
【００９７】
また、ＭＤＳ１０３は、シーケンスＳＱ３においてＰ２’の割り当てを要求したストレージノード２（Ｃ）に対してスライス番号６の開放通知を送信する（シーケンスＳＱ１５）。
【００９８】
ここで、ストレージノード２（Ｃ）に対してスライス番号６の開放通知を送信した後の状態（状態５）における各ストレージノードが有するスライス情報のイメージを、図２５に示す。図２５は、各ストレージノードが有するスライス情報のイメージ図（その４）である。
【００９９】
図２５に示されるように、ストレージノード２（Ｃ）の、スライス番号６のスライスの領域は開放されている。
【０１００】
また、状態５におけるセグメント情報テーブル１３０の一例を、図２６に示す。図２６は、セグメント情報テーブルを示す図（その４）である。
【０１０１】
図１４のシーケンスＳＱ１３においてＯＫである旨の結果を受信したＭＤＳ１０３は、図２６に示されるように、ＳＧ２のＢ−１（ストレージノード２（Ｂ）のスライス番号１）を確定している。
【０１０２】
また、状態５における異常セグメントリストの一例を、図２７に示す。図２７は、異常セグメントリストを示す図（その３）である。
【０１０３】
上述したように、ＳＧ２が確定したため、例えば図２２に示される状態３における異常セグメントリストに比べて、図２７に示される状態５における異常セグメントリストでは、ＭＤＳ１０３によってＳＧ２が削除されている。
【０１０４】
図１４においてまた、ＭＤＳ１０３は、ストレージノード２（Ｃ）に対して同期確認識別子の比較要求を送信する（シーケンスＳＱ１６）。
【０１０５】
ストレージノード２（Ｃ）は、ＭＤＳ１０３より同期確認識別子の比較要求を受信すると、該同期確認識別子の比較要求に含まれるメッセージに応じて、該メッセージに含まれる対象スライスのシリアルナンバーと、該メッセージに含まれるシリアルナンバーと、を比較して、比較結果（例えばＯＫ）を含む結果通知を、ＭＤＳ１０３に送信する（シーケンスＳＱ１７）。
【０１０６】
ＯＫである旨の結果通知を受信したＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ｂ）に対して送信する（シーケンスＳＱ１８）。
【０１０７】
また、ＭＤＳ１０３は、シーケンスＳＱ４においてＰ６’の割り当てを要求したストレージノード２（Ｄ）に対してスライス番号６の開放通知を送信する（シーケンスＳＱ１９）。
【０１０８】
また、ＭＤＳ１０３は、ストレージノード２（Ｄ）に対して同期確認識別子の比較要求を送信する（シーケンスＳＱ２０）。
【０１０９】
ストレージノード２（Ｄ）は、ＭＤＳ１０３より同期確認識別子の比較要求を受信すると、該同期確認識別子の比較要求に含まれるメッセージに応じて、該メッセージに含まれる対象スライスのシリアルナンバーと、該メッセージに含まれるシリアルナンバーと、を比較して、比較結果（例えばＯＫ）を含む結果通知を、ＭＤＳ１０３に送信する（シーケンスＳＱ２１）。
【０１１０】
ＯＫである旨の結果通知を受信したＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ｂ）に対して送信する（シーケンスＳＱ２２）。
【０１１１】
また、ＭＤＳ１０３は、シーケンスＳＱ３においてＰ１０’の割り当てを要求したストレージノード２（Ｃ）に対してスライス番号７の開放通知を送信する（シーケンスＳＱ２３）。
【０１１２】
また、ＭＤＳ１０３は、ストレージノード２（Ｄ）に対して同期確認識別子の比較要求を送信する（シーケンスＳＱ２４）。
【０１１３】
ここで、シーケンスＳＱ２４において、ＭＤＳ１０３が、ストレージノード２（Ｄ）に対して送信した同期確認識別子の比較要求に含まれるメッセージの一例を、図２８に示す。図２８は、メタデータサーバからのメッセージを示す図（その２）である。
【０１１４】
図２８に示されるように、メッセージには、同期確認識別子を比較する対象スライスと、該対象スライスとセグメントを組むペアスライスと、シリアルナンバーと、が含まれる。
【０１１５】
ここで、同期確認識別子の比較要求を受け取った状態（状態６）におけるストレージノード２（Ｃ）が有するスライス情報のイメージを、図２９に示す。図２９は、ストレージノードＣが有するスライス情報のイメージ図である。
【０１１６】
ストレージノード２（Ｃ）は、図２８に示されるようなメッセージを、ＭＤＳ１０３より受け取ると、受け取ったメッセージに含まれる対象スライスのシリアルナンバー（図２９において１００）と、受け取ったメッセージに含まれるシリアルナンバー（図２８において９８）と、を比較して、一致しないと判定すると、ストレージノード２（Ｃ）のスライス番号１に関するデータのコピーを継続して、ＭＤＳ１０３にＮＧである旨の結果を通知する（図１４のシーケンスＳＱ２５）。
【０１１７】
図１４において、ＮＧである旨の結果を受け取ったＭＤＳ１０３は、ストレージノード２（Ｂ）に対してスライス番号４の開放通知を送信する（シーケンスＳＱ２６）。
【０１１８】
ここで、ストレージノード２（Ｂ）に対してスライス番号４の開放通知した後の状態（状態７）における各ストレージノードが有するスライス情報のイメージを、図３０に示す。図３０は、各ストレージノードが有するスライス情報のイメージ図（その５）である。
【０１１９】
図３０に示されるように、ストレージノード２（Ｂ）の、スライス番号４のスライスの領域は開放されている。
【０１２０】
また、状態７におけるセグメント情報テーブル１３０の一例を、図３１に示す。図３１は、セグメント情報テーブルを示す図（その５）である。
【０１２１】
図１４のシーケンスＳＱ２５においてＮＧである旨の結果を受信したＭＤＳ１０３は、図３１に示されるように、ＳＧ３のＡ−６’（ストレージノード２（Ａ）のスライス番号６）を確定していない。
【０１２２】
また、状態７における異常セグメントリストの一例を、図３２に示す。図３２は、異常セグメントリストを示す図（その４）である。
【０１２３】
上述したように、図１４のシーケンスＳＱ１６からシーケンスＳＱ２３の処理によってＳＧ６と、ＳＧ１０と、が確定したため、例えば図２７に示される状態５における異常セグメントリストに比べて、図３２に示される状態７における異常セグメントリストでは、ＭＤＳ１０３によってＳＧ６と、ＳＧ１０と、が削除されている。
【０１２４】
また、ＭＤＳ１０３は、ストレージノード２（Ｄ）に対して同期確認識別子の比較要求を送信する（シーケンスＳＱ２７）。
【０１２５】
ストレージノード２（Ｄ）は、ＭＤＳ１０３より同期確認識別子の比較要求を受信すると、該同期確認識別子の比較要求に含まれるメッセージに応じて、該メッセージに含まれる対象スライスのシリアルナンバーと、該メッセージに含まれるシリアルナンバーと、を比較して、比較結果（例えばＯＫ）を含む結果通知を、ＭＤＳ１０３に送信する（シーケンスＳＱ２８）。
【０１２６】
ＯＫである旨の結果通知を受信したＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ｂ）に対して送信する（シーケンスＳＱ２９）。
【０１２７】
また、ＭＤＳ１０３は、シーケンスＳＱ２においてＳ４’の割り当てを要求したストレージノード２（Ａ）に対してスライス番号７の開放通知を送信する（シーケンスＳＱ３０）。
【０１２８】
ここで、ストレージノード２（Ａ）に対してスライス番号７の開放通知した後の状態（状態８）における各ストレージノードが有するスライス情報のイメージを、図３３に示す。図３３は、各ストレージノードが有するスライス情報のイメージ図（その６）である。
【０１２９】
図３３に示されるように、ストレージノード２（Ａ）の、スライス番号７のスライスの領域は開放されている。
【０１３０】
また、状態８におけるセグメント情報テーブル１３０の一例を、図３４に示す。図３４は、セグメント情報テーブルを示す図（その６）である。
【０１３１】
図１４のシーケンスＳＱ２８においてＯＫである旨の結果を受信したＭＤＳ１０３は、図３４に示されるように、ＳＧ４のＢ−５（ストレージノード２（Ｂ）のスライス番号５）を確定している。
【０１３２】
また、状態８における異常セグメントリストの一例を、図３５に示す。図３５は、異常セグメントリストを示す図（その５）である。
【０１３３】
上述したように、ＳＧ４が確定したため、例えば図３２に示される状態７における異常セグメントリストに比べて、図３５に示される状態８における異常セグメントリストでは、ＭＤＳ１０３によってＳＧ４が削除されている。
【０１３４】
一方、図１４において、ＭＤＳ１０３は、ストレージノード２（Ｃ）よりデータのコピーの完了通知を受信する（シーケンスＳＱ３１）。
【０１３５】
データのコピーの完了通知を受信したＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ｃ）に対して送信する（シーケンスＳＱ３２）。
【０１３６】
また、ＭＤＳ１０３は、スライスの確定通知を、ストレージノード２（Ａ）に対して送信する（シーケンスＳＱ３３）。
【０１３７】
ここで、ストレージノード２（Ａ）に対してスライスの確定通知を送信した後の状態（状態９）における各ストレージノードが有するスライス情報のイメージを、図３６に示す。図３６は、各ストレージノードが有するスライス情報のイメージ図（その７）である。
【０１３８】
図３６に示されるように、データのコピーが完了したストレージノード２（Ａ）のスライス番号６のスライスのデータのシリアルナンバーは、コピー元のシリアルナンバーが付されている。
【０１３９】
また、状態９におけるセグメント情報テーブル１３０の一例を、図３７に示す。図３７は、セグメント情報テーブルを示す図（その７）である。
【０１４０】
図１４のシーケンスＳＱ３１においてデータのコピーの完了通知を受信したＭＤＳ１０３は、図３７に示されるように、ＳＧ３のＡ−６（ストレージノード２（Ａ）のスライス番号６）を確定している。
【０１４１】
また、状態９における異常セグメントリストの一例を、図３８に示す。図３８は、異常セグメントリストを示す図（その６）である。
【０１４２】
上述したように、ＳＧ３が確定したため、例えば図３５に示される状態８における異常セグメントリストに比べて、図３８に示される状態９における異常セグメントリストでは、ＭＤＳ１０３によってＳＧ３が削除されている。
【０１４３】
図１４に示されるような処理を行うことによって、速やかにデータの冗長性を復元することができる。
【０１４４】
また、図１４に示したように、スライスを開放する処理を行うことによって、無駄なデータの蓄積を回避し、ストレージシステムにおける処理速度を向上させることができる。
【０１４５】
また、図１４に示したように、同期確認識別子を比較することによって、セグメントを構成するスライス群が同じデータを持つか否かを簡単に、判定することができる。
【０１４６】
以下、ストレージシステムにおけるログ出力の一例を、図３９に示す。図３９は、ログ出力の一例を示す図である。
【０１４７】
ここで、ログの書式は、日時−時刻  ノード名  モジュール名  詳細ログ、である。また、ノード名において、ｃｔｒｌ−ｎｏｄｅは制御ノード１を、ｎｏｄｅ−Ａは、ストレージノード２（Ａ）を、ｎｏｄｅ−Ｂは、ストレージノード２（Ｂ）を、ｎｏｄｅ−Ｃは、ストレージノード２（Ｃ）を、ｎｏｄｅ−Ｄは、ストレージノード２（Ｄ）を、表している。また、モジュール名において、ＭＤＳは、メタデータサーバ１０３を、ＣＤは、コーディネータ１０２を、ＳＮは、ストレージノード２を、表している。
【０１４８】
なお、図３９中、ＤＡＴＥ−ＴＩＭＥ０のログは、ストレージノード２（Ｂ）がハートビートを送信してこなくなったので、冗長性復元処理が動き出したことを表している。
【０１４９】
また、図３９中、ＤＡＴＥ−ＴＩＭＥ１のログは、ストレージノード２（Ｂ）がストレージシステムに再参入してきたことを表している。
【０１５０】
また、図３９中、ＤＡＴＥ−ＴＩＭＥ２のログは、同期確認識別子が一致したことを表している。
【０１５１】
また、図３９中、ＤＡＴＥ−ＴＩＭＥ３のログは、同期確認識別子が一致しなかったことを表している。
【０１５２】
また、図３９中、ＤＡＴＥ−ＴＩＭＥ４のログは、データのコピーの完了通知を受け取って冗長性復元処理を終了したことを表している。
【０１５３】
なお、図３９に示されるようなログは、例えば制御ノード１が、ファイル等に書き出して保持するようにしてもよいし、制御ノード１の画面等に表示するようにしてもよい。
【０１５４】
なお、本発明は、以下に記載する付記のような構成が考えられる。
（付記１）
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムにおける冗長構成復元方法であって、
異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始段階と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元段階と、
を有することを特徴とする冗長構成復元方法。
（付記２）
前記所定の単位で管理されているデータ記憶領域に記憶されている、冗長性を構成するデータ間の同期を確認する同期確認段階を更に有することを特徴とする付記１記載の冗長構成復元方法。
（付記３）
前記同期確認段階は、データ間の同期を、同期確認識別子を用いて確認することを特徴とする付記２記載の冗長構成復元方法。
（付記４）
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用不可能である場合、該データ記憶領域を開放する開放段階を更に有することを特徴とする付記１乃至３何れか一項記載の冗長構成復元方法。
（付記５）
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムであって、
異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始手段と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元手段と、
を有することを特徴とするデータ管理システム。
（付記６）
前記所定の単位で管理されているデータ記憶領域に記憶されている、冗長性を構成するデータ間の同期を確認する同期確認手段を更に有することを特徴とする付記５記載のデータ管理システム。
（付記７）
前記同期確認手段は、データ間の同期を、同期確認識別子を用いて確認することを特徴とする付記６記載のデータ管理システム。
（付記８）
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用不可能である場合、該データ記憶領域を開放する開放手段を更に有することを特徴とする付記５乃至７何れか一項記載のデータ管理システム。
（付記９）
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムでの処理をコンピュータに実行させる冗長構成復元プログラムであって、
前記コンピュータに、異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始手順と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元手順と、
を実行させることを特徴とする冗長構成復元プログラム。
（付記１０）
データを記憶するデータ記憶手段を有し、データ記憶領域を所定の単位で管理する記憶ノードと、少なくとも１つ以上の前記記憶ノードとネットワークを介して接続された、記憶ノードに係る制御を行う制御ノードと、を有する、データ記憶手段の冗長構成によってデータを管理するデータ管理システムでの処理をコンピュータに実行させる冗長構成復元プログラムを記録したコンピュータ読み取り可能な記録媒体であって、
前記コンピュータに、異常と検知された記憶ノードが存在した場合、前記冗長構成を復元するため、データ記憶手段から、他のデータ記憶手段へのデータのコピーを開始するデータコピー開始手順と、
前記異常と検知された記憶ノードの、前記所定の単位のデータ記憶領域のデータが再利用可能である場合、不要なデータのコピーを中止し、再利用可能なデータ及びデータ記憶手段を用いて冗長構成を復元する冗長構成復元手順と、
を実行させることを特徴とする冗長構成復元プログラムを記録したコンピュータ読み取り可能な記録媒体。
【０１５５】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲又は付記に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１５６】
【図１】従来技術におけるミラーリングを行うストレージシステムの一例を示す図である。
【図２】従来技術におけるストレージノードの一例の機能構成図である。
【図３】従来技術における制御ノードの一例の機能構成図である。
【図４】従来技術における一例の冗長性復元フローである。
【図５】従来技術における、各ストレージノードが有するスライス情報のイメージ図（その１）である。
【図６】従来技術における、各ストレージノードが有するスライス情報のイメージ図（その２）である。
【図７】従来技術における、各ストレージノードが有するスライス情報のイメージ図（その３）である。
【図８】従来技術における、各ストレージノードが有するスライス情報のイメージ図（その４）である。
【図９】本発明におけるミラーリングを行うストレージシステムの一例を示す図である。
【図１０】制御ノードの一例のハードウェア構成図である。
【図１１】ストレージノードの一例のハードウェア構成図である。
【図１２】制御ノードの一例の機能構成図である。
【図１３】ストレージノードの一例の機能構成図である。
【図１４】冗長性復元処理に係る一例のシーケンス図である。
【図１５】各ストレージノードが有するスライス情報のイメージ図（その１）である。
【図１６】セグメント情報テーブルを示す図（その１）である。
【図１７】各ストレージノードが有するスライス情報のイメージ図（その２）である。
【図１８】セグメント情報テーブルを示す図（その２）である。
【図１９】異常セグメントリストを示す図（その１）である。
【図２０】各ストレージノードが有するスライス情報のイメージ図（その３）である。
【図２１】セグメント情報テーブルを示す図（その３）である。
【図２２】異常セグメントリストを示す図（その２）である。
【図２３】メタデータサーバからのメッセージを示す図（その１）である。
【図２４】ストレージノードＡが有するスライス情報のイメージ図である。
【図２５】各ストレージノードが有するスライス情報のイメージ図（その４）である。
【図２６】セグメント情報テーブルを示す図（その４）である。
【図２７】異常セグメントリストを示す図（その３）である。
【図２８】メタデータサーバからのメッセージを示す図（その２）である。
【図２９】ストレージノードＣが有するスライス情報のイメージ図である。
【図３０】各ストレージノードが有するスライス情報のイメージ図（その５）である。
【図３１】セグメント情報テーブルを示す図（その５）である。
【図３２】異常セグメントリストを示す図（その４）である。
【図３３】各ストレージノードが有するスライス情報のイメージ図（その６）である。
【図３４】セグメント情報テーブルを示す図（その６）である。
【図３５】異常セグメントリストを示す図（その５）である。
【図３６】各ストレージノードが有するスライス情報のイメージ図（その７）である。
【図３７】セグメント情報テーブルを示す図（その７）である。
【図３８】異常セグメントリストを示す図（その６）である。
【図３９】ログ出力の一例を示す図である。
【符号の説明】
【０１５７】
１    制御ノード
２    ストレージノード
３    クライアント
１１    入力装置
１２    表示装置
１３    ドライブ装置
１４    記録媒体
１５    ＲＯＭ
１６    ＲＡＭ
１７    ＣＰＵ
１８    インターフェース装置
１９    ＨＤＤ
２１    入力装置
２２    表示装置
２３    ドライブ装置
２４    記録媒体
２５    ＲＯＭ
２６    ＲＡＭ
２７    ＣＰＵ
２８    インターフェース装置
２９    ＨＤＤ
１０２    コーディネータ
１０３    メタデータサーバ
【図１】
2005301594.tif 000003
【図２】
2005301594.tif 000004
【図３】
2005301594.tif 000005
【図４】
2005301594.tif 000006
【図５】
2005301594.tif 000007
【図６】
2005301594.tif 000008
【図７】
2005301594.tif 000009
【図８】
2005301594.tif 000010
【図９】
2005301594.tif 000011
【図１０】
2005301594.tif 000012
【図１１】
2005301594.tif 000013
【図１２】
2005301594.tif 000014
【図１３】
2005301594.tif 000015
【図１４】
2005301594.tif 000016
【図１５】
2005301594.tif 000017
【図１６】
2005301594.tif 000018
【図１７】
2005301594.tif 000019
【図１８】
2005301594.tif 000020
【図１９】
2005301594.tif 000021
【図２０】
2005301594.tif 000022
【図２１】
2005301594.tif 000023
【図２２】
2005301594.tif 000024
【図２３】
2005301594.tif 000025
【図２４】
2005301594.tif 000026
【図２５】
2005301594.tif 000027
【図２６】
2005301594.tif 000028
【図２７】
2005301594.tif 000029
【図２８】
2005301594.tif 000030
【図２９】
2005301594.tif 000031
【図３０】
2005301594.tif 000032
【図３１】
2005301594.tif 000033
【図３２】
2005301594.tif 000034
【図３３】
2005301594.tif 000035
【図３４】
2005301594.tif 000036
【図３５】
2005301594.tif 000037
【図３６】
2005301594.tif 000038
【図３７】
2005301594.tif 000039
【図３８】
2005301594.tif 000040
【図３９】
2005301594.tif 000041