JP6452712B2 - 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム - Google Patents

分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム Download PDF

Info

Publication number
JP6452712B2
JP6452712B2 JP2016553307A JP2016553307A JP6452712B2 JP 6452712 B2 JP6452712 B2 JP 6452712B2 JP 2016553307 A JP2016553307 A JP 2016553307A JP 2016553307 A JP2016553307 A JP 2016553307A JP 6452712 B2 JP6452712 B2 JP 6452712B2
Authority
JP
Japan
Prior art keywords
data
loss
vulnerable
risk
data 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.)
Active
Application number
JP2016553307A
Other languages
English (en)
Other versions
JP2017507427A (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 JP2017507427A publication Critical patent/JP2017507427A/ja
Application granted granted Critical
Publication of JP6452712B2 publication Critical patent/JP6452712B2/ja
Active 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1448Management of the data involved in backup or backup restore
    • G06F11/1451Management of the data involved in backup or backup restore by selection of backup contents
    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1461Backup scheduling policy
    • 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/2094Redundant storage or storage space
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1456Hardware arrangements for backup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/84Using snapshots, i.e. a logical point-in-time copy of the data

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Hardware Redundancy (AREA)
  • Retry When Errors Occur (AREA)
  • Debugging And Monitoring (AREA)

Description

開示される主題は、一般に、分散ストレージ・システムにおける信頼性を高めることに関し、より詳細には、分散ストレージ・システムにおける補助的な信頼性増大メカニズムのためのシステムおよび方法に関する。
情報をいくらかのレベルの冗長性と共に記憶して、ハードウェア障害の場合にデータ損失を回避するのは、よく行われることである。この冗長性は、データを複写(もしくは複製)(duplicating (or replicating))することによって、または何らかの冗長性エンコーディング(例えばパリティ・ブロックもしくは消去コード)を追加することによって、導入することができる。冗長性データまたはデータ複製物(data replicas)は、いくつかの領域にわたって記憶されてよく、それにより、領域障害の場合にデータ回復が可能である。
複製物は、異なる複数のディスク、サーバ、ラック、または地理的に離れた場所に記憶されてよく、したがって、単一のディスク、サーバ、ラック、さらにはデータ・センタ全体に障害が発生しても、データ損失が引き起こされないことになる。このように、組み込まれた冗長性は、システムを、同時障害に対して回復力のあるものにする。それにもかかわらず、システムは、一定数の同時障害にしか耐えることができない。例えば、3重複製を伴うストレージ・システムは、2重のディスク障害からは保護されるが、3重のディスク障害からは保護されない。
複製を介して信頼性を提供するために、障害が発生すると、システムは、障害が発生したハードウェアに位置していたデータを、残りの複製物から、所定の冗長性レベルまで復元する。復元中、システムは追加の障害を被りやすく、したがって、復元ができるだけ素早く実施されることが重要である。しかし、復元プロセスに関係するすべてのデータが等しく脆弱であるとは限らない。例えば、より少数の複製物を有するデータは、一般に、より脆弱であると考えることができる。
より脆弱なデータの回復を動的に優先する回復方式に基づいて、ストレージ・システムの信頼性を高めることが望ましいであろう。このような回復方式を実施することは、通常、容易に可能ではない。というのは、ストレージ・システム中の回復コンポーネントは、ハードウェア中で実装される場合があるか、または、システムの回復メカニズムに対する修正を禁止するライセンス条件に従わなければならない場合があるからである。上記の欠点を克服するシステムおよび方法が必要である。したがって、前述の問題に対処することが、当技術分野で必要とされている。
要約の目的で、本明細書では、いくつかの態様、利点、および新規な特徴について述べている。いずれか1つの特定の実施形態に従ってこのような利点のすべてを達成できるとは限らないことを理解されたい。したがって、開示される主題は、本明細書で教示または示唆される場合のあるすべての利点を達成することなく、1つの利点または1群の利点を達成または最適化するようにして、具体化または実施される場合もある。
第1の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させる方法を提供する。この方法は、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体が利用不可能かどうかを判定するステップと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するステップと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するステップと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するステップとを含む。
さらに他の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させるためのシステムを提供する。このシステムは、データ・ストレージ・システム中の1つまたは複数のデータ・ストレージ媒体が利用不可能かどうかを判定するためのロジック・ユニットと、この1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するためのロジック・ユニットと、損失のリスクがあると決定されたデータのうちから、損失に対して非常に脆弱なデータを識別するためのロジック・ユニットと、損失に対して非常に脆弱なデータの、1つまたは複数の一時複製物を作成するためのロジック・ユニットとを備える。
さらに他の態様から見ると、本発明は、データ・ストレージ・システムにおけるデータ回復を向上させるためのコンピュータ・プログラム製品を提供する。このコンピュータ・プログラム製品は、処理回路によって読取り可能なコンピュータ可読ストレージ媒体であって、本発明のステップを実施する方法を実施するために処理回路によって実行される命令を記憶したコンピュータ可読ストレージ媒体、を備える。
さらに他の態様から見ると、本発明は、コンピュータ可読媒体に記憶され、ディジタル・コンピュータの内蔵メモリにロード可能な、コンピュータ・プログラムを提供する。このコンピュータ・プログラムは、このプログラムがコンピュータ上で実行されたときに本発明のステップを実施するためのソフトウェア・コード部分を含む。
1つまたは複数の実施形態によれば、1つまたは複数のロジック・ユニットを備えるシステムが提供される。この1つまたは複数のロジック・ユニットは、上に開示された方法に関連する機能および動作を実施するように構成される。さらに別の実施形態では、コンピュータ可読プログラムを有するコンピュータ可読ストレージ媒体を備えるコンピュータ・プログラム製品が提供される。このコンピュータ可読プログラムは、コンピュータ上で実行されたとき、上に開示された方法に関連する機能および動作をコンピュータに実施させる。
上に開示された実施形態の1つまたは複数、およびそれに加えていくつかの代替形態を、添付の図を参照しながら以下にさらに詳細に提供する。しかし、開示される主題は、開示されるいずれか特定の実施形態に限定されない。
次に、後続の図に示すような好ましい実施形態に関して、本発明について単なる例として述べる。
1つまたは複数の実施形態による、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、例示的なデータ・ストレージ・システムを示す図である。 本発明の好ましい一実施形態による、分散ストレージ・システムにおける信頼性を高める例示的な方法の流れ図である。 開示されるシステムおよび方法が動作できる、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、ハードウェア環境のブロック図である。 開示されるシステムおよび方法が動作できる、かつ従来技術による、かつ本発明の好ましい一実施形態が実現され得る、ソフトウェア環境のブロック図である。
異なる複数の図で同じ番号によって参照される特徴、要素、および態様は、1つまたは複数の実施形態による、同じ、等価な、または類似の特徴、要素、または態様を表す。
以下では、様々な実施形態に関する完全な記述を提供するために、多くの具体的な詳細を示す。本発明のいくつかの好ましい実施形態は、これらの具体的な詳細なしで、または細部におけるいくらかの差異を伴って、実践することができる。場合によっては、他の態様を曖昧にしないために、いくつかの特徴についてはそれほど詳細には述べない。各要素または特徴に関連する詳細レベルは、ある特徴が他の特徴に勝って新規または重要であると認定するものと解釈されるべきではない。
図1を参照すると、データ・ストレージ・システム100が提供され、このシステムでは、サーバ110を有する第1の場所で、データ112がデータ・ストレージ媒体Aに記憶される。データ回復のための1次手段を提供するために、サーバ120を有する場所2で、データ112のコピーをストレージ媒体Bにわたって複製することができる。このようにして、データ・ストレージ・システム100中で1次回復システムを提供することができる。1次回復システムに加えて、1次データ回復インフラストラクチャの上の2次メカニズムを、データ・ストレージ・システム100に対して適所に導入することができる。
2次メカニズムは、補助コンポーネントによって実装されてよく、この補助コンポーネントは、例えば、データ・ストレージ・システム100の1次データ回復手段を変更することなく、システムの既存のアプリケーション・プログラミング・インタフェース(API)を使用して、データ・ストレージ・システム100を監視してデータの追加的な一時複製物を作成する。したがって、損失データを復元または回復するのに使用される1次データ回復インフラストラクチャと共に、2次メカニズムを設けて全体的なデータ回復動作の信頼性を改善することができる。
図2を参照すると、2次メカニズムを実施して、データ・ストレージ・システム中のサーバを独立して走査し、サーバ(または、サーバによって利用されるディスクなどのストレージ媒体)が利用可能かどうかを判定することができる(S210、S220)。例えば、サーバまたはディスクの1つが利用可能でない場合は、利用不可能なサーバまたはディスクに記憶されているものとされるリスク・データ(例えばデータ・オブジェクト)のリストが得られる。このリストを使用して、データ損失につながる可能性のある障害を決定することができる(S230)。いくらかのデータが失われたと判定された場合(S240)は、他のどこかに記憶された、データの一時コピーまたは複製物から、失われたデータを復元することができる(S250)。
本発明の好ましい一実施形態では、リスクにさらされているデータのリストを検査して、リスト中で識別された、リスクにさらされているデータと、以前の障害(例えば、まだ回復プロセスを施されている場合のある障害)に関連する、リスクにさらされているデータについての他のリストとの間に、交点があるかどうかを判定することができる。この検査は、非常に脆弱なデータを決定する(S260)助けとなる。交点がある場合は、非常に脆弱なデータの追加的な一時コピーまたは複製物を作成することができる(S270)。一実装形態では、リスクにさらされているデータをうまく回復することができた場合は、一時複製物は除去されてよい。そうでない場合は、一時複製物は、データ・ストレージ・システムの信頼性の維持または向上のために、かつデータ回復のために、必要なら保持されてよい。
後でさらに詳細を提供するが、ほとんどの状況では、非常に脆弱なデータ(例えば、複数の障害の影響を受けるデータ)のパーティションは、単一の障害の影響を受けるデータと比較して、ごくわずかである。したがって、非常に脆弱なデータの追加的な一時複製物を作成するのに必要な時間もまた、ごくわずかである。データ・オブジェクトの脆弱性は、例えば、特定のデータ・オブジェクトが未来の障害の間に失われ得る確率に基づいて、計算することができる。このような脆弱性は、データ・オブジェクトの残りの複製物の数を決定することによって、または、障害の可能性に相関し得る何らかのプロパティ(例えば、データ・オブジェクトが記憶されたディスクの寿命)を考慮することによって、概算することができる。
本発明の好ましい一実施形態では、データ・ストレージ・システム100における脆弱性は、何らかのレベルの階層に関連するものとすることができ、この場合、階層は、どのデータが他のデータよりも脆弱であるかを定義することができる。先に述べたように、データ・ストレージ・システム100中では、非常に脆弱なデータの量は、脆弱なまたは脆弱でないデータの量よりも、かなり少ないであろう。したがって、一実装形態では、非常に脆弱なデータに対する一時複製物が最初に作成されるなら、データ・ストレージ・システム100の信頼性を、比較的低いコストで著しく改善することができる。
非常に脆弱なデータを複製することに関連するコストが比較的低い理由は、システム中のすべての脆弱なデータまたはすべてのデータを無差別に複製する代替形態を考えることによって、よりよく理解されるであろう。当然、非常に脆弱なデータを一時的に複製することは、要する時間およびリソースが少なくてすむ。例えば、データ・ストレージ・システム100中の5%のデータのみが非常に脆弱であると見なされる場合は、この5%の一時複製物を作成することは、比較的高速かつ安価であろう。非常に脆弱なデータが複製されれば、その後で、より脆弱でないデータが複製されてよい。
述べたように、どのデータが非常に脆弱化であるかに関する決定は、実装形態に応じて、一定数の障害を被ったデータを履歴情報またはリアルタイム情報に従って検出することによって行うことができる。例えば、障害の数が所定の障害許容度しきい値を超える場合、当該データは非常に脆弱であると見なすことができる。階層手法を使用する場合、本発明の好ましい一実施形態では、異なるデータまたはデータ・セットに対して様々な脆弱性レベルを決定することができ、したがって、非常に脆弱なデータは、最も多数の障害に関連するデータになる。
例示的な一実装形態では、ストレージ・システム全体にわたり最も多数の失われた複製物を有するデータは、非常に脆弱なデータと見なすことができる。本発明の1つまたは複数の好ましい実施形態では、様々なファクタに基づいて脆弱性レベルを計算するために、方式(またはアルゴリズム)を利用することができる。例えば、脆弱性は、データおよび複製物を記憶することに関係するデータ・ストレージ・システム100のコンポーネント(例えば、ディスク、サーバなど)の障害率、データ・ストレージ・システム100全体にわたるコンポーネント障害のリアルタイム検出、これらのデータ・ストレージ・コンポーネントもしくは類似のデータ・ストレージ・コンポーネントについて収集された履歴的な障害データ、または、それぞれのデータ・ストレージ・コンポーネントの障害率に関して製造業者から提供された統計、に基づいて計算することができる。
先に述べたように、本発明のいくつかの好ましい実施形態では、非常に脆弱なデータは、システム・コンポーネントの関連の障害率以外のファクタに基づいて決定することができる。例えば、脆弱性は、以下の測定基準の1つまたは複数によって測定することができる。すなわち、システム・コンポーネントの寿命、データに対する実行可能な複製物の数、データの読取りに関連するエラー率、または、データ損失の確率に影響を及ぼすかもしくはデータがその複製物から回復される可能性に影響を及ぼすであろう他の任意のファクタ、である。
非常に脆弱なデータを決定するのに利用されるメカニズムと、データ脆弱性の階層とにかかわらず、非常に脆弱なデータが決定されると、非常に脆弱なデータの、1つまたは複数の複製物が作られて、1つまたは複数のデータ・ストレージ媒体(例えば、テープ、ハード・ドライブ・ディスク、不揮発性メモリ、固体ストレージ・デバイスなど)に記憶されてよい。データ・ストレージ媒体は、直接に、またはアプリケーション・プログラミング・インタフェース(API)を介して、または他の方法で、データ・ストレージ・システム100中の既存のデータ回復インフラストラクチャとの関係でアクセス可能とすることができる(ただし別個に位置することが望ましい)。
上記のアプローチに基づいて、損失リスクが最も高い非常に脆弱なデータが、最初にコピーされる。実装形態に応じて、残りの脆弱なデータがそれぞれの損失リスクに従って階層方式でコピーされてよく、したがって、コピーされていない脆弱なデータがそれ以上残っていない状態になるまで、より脆弱なデータが、より脆弱でないデータよりも前にコピーされるようになる。実装形態に応じて、いくらかのデータの脆弱性ステータスが更新されるのに伴い、対応するコピーの数が動的な方式で更新されてよい。例えば、もはやリスクにさらされているかまたは脆弱な状態にあるとは考えられないデータに対するコピーの数は、削減されてよい。
有利なことに、上記の複製物管理方式に基づいて、非常に脆弱であると識別されたデータに関連する損失の可能性を、比較的短時間かつ比較的低コストで、著しく低減することができる。本発明の1つまたは複数の好ましい実施形態では、データのコピー、またはデータの複製物が失われた場合、このコピーまたは複製物を他の複製物から復元することができる。失われたデータ・コピーは、管理エンティティによって生成された要求があった時に回復されてもよく、または、基礎をなすデータ回復インフラストラクチャの中に失われたコピーがあればそれらを復元するためにバックグラウンドで定期的に実行されるメカニズムによって回復されてもよい。
本発明の好ましい一実施形態では、脆弱なデータの複製物を作ることに関連する複製プロセスは、1次データ回復システムの外部にあり、したがって、データの複写コピーは、ストレージ・システムに一体化された部分ではない。上記では、本発明の1つまたは複数の好ましい実施形態により複製方法について論じた。以下では、2つの説明的な例によって、特定の特徴および実装形態を提供する。しかし、以下の特徴が、例示的な性質のものであり、特許請求される主題の範囲をいずれか特定の詳細に限定する意図がないことは、留意に値する。
2ウェイ複製(two-way replication)の例では、データ複製物が、RAID(Redundant Array of Independent Disks)RAID5デバイス上に配置される。RAID5デバイスはローカルとすることができ、2ウェイ複製はグローバルとすることができる(例えばワイド・エリア・ネットワーク(WAN)を介して実施される)。この例では、単一ディスクの障害は、RAID5デバイスの内部メカニズムによって扱われてよい。データは利用可能なままなので、グローバル複製プロセスはこのプロセスに干渉しないものとすることができる。しかし、異なるRAID5デバイス中で別のディスクが障害を起こした場合は、回復プロセスが、独立して、かつ並列で稼働することができる。
上の例では、2つの劣化したRAIDアレイの交点に記憶されたデータは、システム中の他のデータよりもリスクにさらされている。RAIDデバイスの回復プロセスは、極度に長く、またシステム中のディスクのサイズに伴って増大するので、このシナリオは特に関連がある。交点にあるデータに対する安定化複製物を作ることは、各RAIDデバイスの回復を完了させるのに必要な時間よりもずっと速く完了させることができる。したがって、安定化コピーを作ることで、データ損失の確率を大きく低減することができる。
3ウェイ複製(three-way replication)の例では、2つのディスクの障害は、データ損失を引き起こすことはないであろうが、障害が発生した両方のディスク上に複製物を有していたデータを危険にさらす可能性がある(すなわち、データは、残った単一の複製物を有し、最後のディスクが障害を起こした場合には失われる可能性がある)。追加の一時的な安定化複製物を作成することでデータが保護されることになり、したがって、回復プロセス中に第3の障害が発生した場合でもデータは失われないことになる。3ウェイ複製を伴う分散システムでは、2つのディスクの交点にあるデータの量は、両方のディスク上のデータの総量よりもはるかに少ない。したがって、ディスク全体の回復のプロセスは非常に時間がかかるであろうが、安定化複製物を作成するための時間は短いはずである。したがって、データが実際に損失のリスクにある時間帯は、最小限である。
Openstack Swiftは、リスクにさらされている異なるレベルのデータ間を区別せず回復に優先順位を付けないシステムの例である。Openstackは、データを外的に識別することを可能にするインタフェースを有する。上で論じた方式を採用することによって、オープン・ソース・コミュニティにコードを寄付する必要なしにSWIFTクラスタの信頼性を高めることができ、それでもなお、現在のオープン・ソース回復メカニズムからの利益を受けることができ、また、共通コード・ベースに追加される場合のあるどのような更新またはバグ修正からの利益も受けることができる。「複製物(replica)」または「複写物(duplicate)」、および「複製(replication)」または「複写(duplication)」は、本明細書では交換可能に使用されており、ターゲット・データの追加コピーを作るプロセスを指すことに留意されたい。
上記の方法を使用すると、非常に脆弱なデータの量は他のすべてのデータに対して相対的に少ないので、非常に脆弱なデータを複製することによって、システムの信頼性の維持における劇的な改善を、比較的低レベルのオーバヘッドを介して達成することができる。さらに、有利なことに、1次データ回復メカニズムはシステム・ハードウェア全体にわたって同種のままであってよく、異種ハードウェアを利用して2次複製層を実装して、必要時にいくらかのデータへのより高速なアクセスをサポートすることができる(例えば、非常に脆弱なデータの一時コピーを、アクセス時間の速い固体デバイスに記憶することができる)。
本明細書における「実施形態」、「一実施形態」、「1つまたは複数の実施形態」などの言及は、記述される特定の要素、特徴、構造、または特性が、開示される主題の少なくとも1つの実施形態に含まれることを意味する。本明細書でそのような言葉が現れる場合、これは、同じ実施形態を指すと特に解釈されるべきではなく、また、そのような言葉が、論じられる特徴または要素に関して相互に排他的な実施形態を指すと解釈されるべきではない。
種々の実施形態で、特許請求される主題は、ハードウェアとソフトウェアの両方の要素の組合せとして実現されてもよく、また別法として、完全にハードウェアの形で、または完全にソフトウェアの形で実現されてもよい。さらに、本明細書で開示されるコンピューティング・システムおよびプログラム・ソフトウェアは、本明細書で企図される結果を達成する方法およびプロセスを実施するために実行されるハードウェア・コンポーネントまたはロジック・コードの点から提示され得る被制御コンピューティング環境を含む場合もある。これらの方法およびプロセスは、汎用コンピューティング・システムまたはマシンによって実施されたとき、汎用マシンを専用マシンに変換する。
図3および4を参照すると、例示的な一実施形態によるコンピュータ・システム環境は、ハードウェア環境1110およびソフトウェア環境1120で構成されてよい。ハードウェア環境1110は、ソフトウェア環境1120のコンポーネントのための実行環境を提供する、ロジック・ユニット、回路、または他の機械および機器を備える場合がある。そして、ソフトウェア環境1120は、基礎をなす動作設定および構成を含めた、ハードウェア環境1110の様々なコンポーネントのための実行命令を提供することができる。
図3を参照すると、本明細書で開示されるアプリケーション・ソフトウェアおよびロジック・コードは、例示的なハードウェア環境1110によって表される1つまたは複数のコンピューティング・システムを介して実行される機械可読コードの形で実現されてよい。図示のように、ハードウェア環境1110は、システム・バス1100を介して1つまたは複数のストレージ要素に結合されたプロセッサ1101を備えることができる。ストレージ要素は、例えば、ローカル・メモリ1102、ストレージ媒体1106、キャッシュ・メモリ1104、または他の機械使用可能もしくはコンピュータ可読媒体を含み得る。本開示のコンテキスト内では、機械使用可能またはコンピュータ可読ストレージ媒体は、プログラム・コードを収録、記憶、通信、伝搬、または移送するのに利用できる、任意の記録可能な物品を含み得る。
コンピュータ可読ストレージ媒体は、電子、磁気、光学、電磁、赤外線、または半導体の、媒体、システム、装置、またはデバイスであってよい。コンピュータ可読ストレージ媒体はまた、限定ではないが、制定法で認められた主題と見なされる範囲で、伝搬媒体中で実現されてもよい。コンピュータ可読ストレージ媒体の例は、適切な場合に、半導体もしくは固体メモリ、磁気テープ、取外し可能コンピュータ・ディスケット、ランダム・アクセス・メモリ(RAM)、読取専用メモリ(ROM)、固定磁気ディスク、光ディスク、または搬送波を含み得る。光ディスクの現在の例は、コンパクト・ディスク読取専用メモリ(CD−ROM)、コンパクト・ディスク・リード/ライト(CD−R/W)、ディジタル・ビデオ・ディスク(DVD)、高精細度ビデオ・ディスク(HD−DVD)、またはBlu−ray(TM)ディスクを含む。
一実施形態では、プロセッサ1101は、実行可能コードをストレージ媒体1106からローカル・メモリ1102にロードする。キャッシュ・メモリ1104は、コードが実行のためにロードされる回数を削減する助けとなる一時ストレージを提供することによって、処理時間を最適化する。1つまたは複数のユーザ・インタフェース・デバイス1105(例えば、キーボード、ポインティング・デバイスなど)および表示画面1107が、例えば、直接に、または介在するI/Oコントローラ1103を介して、ハードウェア環境1110中の他の要素に結合されてよい。ネットワーク・アダプタなどの通信インタフェース・ユニット1108が設けられてよく、それにより、ハードウェア環境1110は、介在する私設または公衆ネットワーク(例えばインターネット)を介して、ローカルのまたはリモートに位置するコンピューティング・システム、プリンタ、およびストレージ・デバイスと通信することができる。有線またはワイヤレス・モデムおよびイーサネット(R)・カードは、例示的なタイプのネットワーク・アダプタのうちの少数である。
ハードウェア環境1110が、いくつかの実装形態では、上記のコンポーネントのいくつかもしくはすべてを備えない場合もあり、または、補助機能もしくは有用性を提供するための追加コンポーネントを備える場合もあることは、留意に値する。企図される使用および構成に応じて、ハードウェア環境1110は、デスクトップまたはラップトップ・コンピュータなどのマシンであってもよく、あるいは、セットトップ・ボックス、パーソナル・ディジタル・アシスタント(PDA)、パーソナル・メディア・プレーヤ、モバイル通信ユニット(例えばワイヤレス電話機)、または、情報処理能力もしくはデータ記憶能力を有する他の類似のハードウェア・プラットフォームなどの、組込みシステムに任意選択で組み入れられる、他のコンピューティング・デバイスであってもよい。
いくつかの実施形態では、通信インタフェース1108は、プログラム・コードを含めた様々なタイプの情報を表すアナログまたはディジタル・データ・ストリームを搬送するディジタル、電気、電磁、または光学信号を送受信することによって1つまたは複数のコンピューティング・システムと通信する手段を提供するための、データ通信ポートとしての役割を果たす。通信は、ローカルもしくはリモート・ネットワークによって確立されてもよく、または別法として、限定ではないが搬送波を介した伝搬を含めた、無線もしくは他の媒体を介した伝送によって確立されてもよい。
ここで提供される、図示のハードウェア要素上で実行される開示されるソフトウェア要素は、例示的な性質である論理的または機能的関係に従って定義される。しかし、これらの例示的なソフトウェア要素を介して実施されるそれぞれの方法はまた、例えば、構成されプログラムされるプロセッサ、特定用途向け集積回路(ASIC)、フィールド・プログラマブル・ゲート・アレイ(FPGA)、およびディジタル信号プロセッサ(DSP)を介して、上記のハードウェア要素中でエンコードされてもよいことに留意されたい。
図4を参照すると、ソフトウェア環境1120は一般に、1つまたは複数のハードウェア環境1110上で実行される、システム・ソフトウェア1121とアプリケーション・ソフトウェア1122とを含む2つのクラスに分割され得る。一実施形態では、ここで開示される方法およびプロセスは、システム・ソフトウェア1121として、アプリケーション・ソフトウェア1122として、またはこれらの組合せとして実現されてよい。システム・ソフトウェア1121は、オペレーティング・システム(OS)または情報管理システムなど、どのように機能し情報を処理するかをハードウェア環境1110中の1つまたは複数のプロセッサ1101(例えばマイクロコントローラ)に命令する制御プログラムを含み得る。アプリケーション・ソフトウェア1122は、以下のものに限定されないが、プロセッサ1101による読取り、分析、または実行ができる、プログラム・コード、データ構造、ファームウェア、常駐ソフトウェア、マイクロコード、または、他の任意の形の情報もしくはルーチンを含み得る。
言い換えれば、アプリケーション・ソフトウェア1122は、マシン、コンピュータ、または任意の命令実行システムによって使用されるかまたはそれに関連して使用されるプログラム・コードを提供する、機械使用可能またはコンピュータ可読ストレージ媒体の形で、コンピュータ・プログラム製品に組み込まれたプログラム・コードとして実現されてよい。さらに、アプリケーション・ソフトウェア1122は、ストレージ媒体1106からローカル・メモリ1102にロードされた後でシステム・ソフトウェア1121の最上部で実行される1つまたは複数のコンピュータ・プログラムを含み得る。クライアント−サーバ・アーキテクチャでは、アプリケーション・ソフトウェア1122は、クライアント・ソフトウェアおよびサーバ・ソフトウェアを含み得る。例えば、一実施形態では、クライアント・ソフトウェアは、サーバ・ソフトウェアが実行されるサーバ・コンピューティング・システムに対して別個であり分離可能な、クライアント・コンピューティング・システム上で実行されてよい。
ソフトウェア環境1120はまた、ローカルまたはリモート・コンピューティング・ネットワークを介して利用可能なデータにアクセスするためのブラウザ・ソフトウェア1126を備えることもできる。さらに、ソフトウェア環境1120は、ユーザ・コマンドおよびデータを受け取るためのユーザ・インタフェース1124(例えばグラフィカル・ユーザ・インタフェース(GUI))を備えることもできる。前述のハードウェアおよびソフトウェア・アーキテクチャおよび環境が例のためのものであることは、繰り返すに値する。したがって、1つまたは複数の実施形態は、任意のタイプのシステム・アーキテクチャ、機能的もしくは論理的プラットフォーム、または処理環境を介して実現されてよい。
また、ロジック・コード、プログラム、モジュール、プロセス、方法、および、各方法のそれぞれのプロセスの実施順序は、純粋に例示的であることも理解されたい。実装形態に応じて、プロセス、または基礎をなす任意のサブプロセスおよび方法は、本開示に別段の指示がない限り、任意の順序で、または同時に実施されてよい。さらに、限定を伴う別段の指定がない限り、本開示のコンテキスト内でのロジック・コードの定義は、いずれか特定のプログラミング言語に関係するかまたは限定されることはなく、分散型、非分散型、シングル、またはマルチプロセッシング環境で1つまたは複数のプロセッサ上で実行され得る、1つまたは複数のモジュールを含み得る。
当業者には理解されるであろうが、ソフトウェア実施形態は、ファームウェア、常駐ソフトウェア、マイクロコードなどを含み得る。ソフトウェアもしくはハードウェアを含むか、またはソフトウェアとハードウェアの態様を組み合わせた、いくつかのコンポーネントは、本明細書では一般に「回路」、「モジュール」、または「システム」と呼ばれることがある。さらに、開示される主題は、コンピュータ可読プログラム・コードが組み入れられた1つまたは複数のコンピュータ可読ストレージ媒体において具体化されるコンピュータ・プログラム製品として実現されてよい。1つまたは複数のコンピュータ可読ストレージ媒体の任意の組合せを利用することができる。コンピュータ可読ストレージ媒体は、コンピュータ可読信号媒体またはコンピュータ可読ストレージ媒体とすることができる。コンピュータ可読ストレージ媒体は、例えば、以下のものに限定されないが、電子、磁気、光学、電磁、赤外線、もしくは半導体の、システム、装置、もしくはデバイス、またはこれらの任意の適切な組合せとすることができる。
この文書のコンテキストでは、コンピュータ可読ストレージ媒体は、命令実行システム、装置、またはデバイスによって使用するかまたはそれに関連して使用するためのプログラムを収録または記憶することのできる、任意の有形媒体であってよい。コンピュータ可読信号媒体は、コンピュータ可読プログラム・コードが例えばベースバンド中にまたは搬送波の一部として組み入れられた、伝搬データ信号を含み得る。このような伝搬信号は、以下のものに限定されないが電磁、光学、またはこれらの任意の適切な組合せを含めた、様々な形のうちのいずれかの形をとることができる。コンピュータ可読信号媒体は、コンピュータ可読ストレージ媒体ではない任意のコンピュータ可読媒体であって、命令実行システム、装置、またはデバイスによって使用するかまたはそれに関連して使用するためのプログラムを、通信、伝搬、または移送できる、任意のコンピュータ可読媒体とすることができる。
コンピュータ可読ストレージ媒体に組み入れられたプログラム・コードは、以下のものに限定されないがワイヤレス、ワイヤライン、光ファイバ・ケーブル、RFなど、またはこれらの任意の適切な組合せを含めた、任意の適切な媒体を使用して送信されてよい。開示される動作を実施するためのコンピュータ・プログラム・コードは、Java(R)、Smalltalk(R)、C++などのオブジェクト指向プログラミング言語、および、「C」プログラミング言語または類似のプログラミング言語などの従来の手続き型プログラミング言語を含めた、1つまたは複数のプログラミング言語の任意の組合せで書かれてよい。Java(R)およびすべてのJava(R)ベースの商標およびロゴは、Oracleまたはその系列会社あるいはその両方の、商標または登録商標である。
プログラム・コードは、完全にユーザのコンピュータ上で実行されるか、スタンドアロン・ソフトウェア・パッケージとして部分的にユーザのコンピュータ上で実行されるか、部分的にユーザのコンピュータ上で実行され部分的にリモート・コンピュータ上で実行されるか、または完全にリモート・コンピュータもしくはサーバ上で実行される場合がある。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN)もしくはワイド・エリア・ネットワーク(WAN)を含めた任意のタイプのネットワークを介してユーザのコンピュータに接続されてもよく、または、接続は、外部コンピュータに対して(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)行われてもよい。
いくつかの実施形態は、実施形態による方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート説明またはブロック図に関して開示される。フローチャート説明またはブロック図の各ブロック、および、フローチャート説明またはブロック図あるいはその両方の中のブロックの組合せを、コンピュータ・プログラム命令によって実現できることは理解されるであろう。これらのコンピュータ・プログラム命令は、コンピュータまたは他のプログラム可能データ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現する手段をもたらすように、汎用コンピュータ、専用マシン、または他のプログラム可能データ処理装置のプロセッサに提供されて、マシンを生み出すものであってよい。
これらのコンピュータ・プログラム命令はまた、コンピュータ可読ストレージ媒体に記憶された命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現する命令を含む製造品を生み出すように、コンピュータ可読ストレージ媒体に記憶され、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスに、特定の方式で機能するよう指示するものであってもよい。
コンピュータ・プログラム命令はまた、コンピュータまたは他のプログラム可能装置上で実行される命令が、フローチャートまたはブロック図の1つまたは複数のブロック中で指定される機能または行為を実現するためのプロセスを提供するように、コンピュータまたは機械実装プロセスを生み出すべく、コンピュータ、他のプログラム可能データ処理装置、または他のデバイスにロードされ、コンピュータ、他のプログラム可能装置、または他のデバイス上で一連の動作ステップを実施させるものであってもよい。
図中のフローチャートおよびブロック図は、様々な実施形態によるシステム、方法、およびコンピュータ・プログラム製品の可能な実装形態の、アーキテクチャ、機能、および動作を示す。これに関して、フローチャートまたはブロック図中の各ブロックは、モジュール、セグメント、またはコードの一部を表すことができ、これは、指定される論理機能を実現するための1つまたは複数の実行可能命令を含む。また、いくつかの代替実装形態では、ブロック中で示される機能は、任意の順序で、または図中で示される順序とは異なる順序で生じる場合があることにも留意されたい。
例えば、関係する機能に応じて、連続して示される2つのブロックが実際にはほぼ同時に実行される場合もあり、またはこれらのブロックが逆の順序で実行されることもある。また、ブロック図またはフローチャート説明の各ブロック、および、ブロック図またはフローチャート説明の中のブロックの組合せは、指定される機能もしくは行為を実施する専用ハードウェアベースのシステムによって、または、専用ハードウェアとコンピュータ命令との組合せによって、実現できることにも気付くであろう。
特許請求される主題を、1つまたは複数の特徴または実施形態に関してここに提供した。ここに提供した例示的な実施形態の詳細な性質にもかかわらず、一般に意図される範囲を限定または逸脱することなく変形および変更をこれらの実施形態に加えることができることを、当業者なら認識および理解するであろう。ここに提供した実施形態の、これらおよび他の様々な適応および組合せも、請求項およびそれらの均等物一式によって定義されるような開示される主題の範囲内である。

Claims (15)

  1. 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法であって、
    前記分散データ・ストレージ・システム中の複数のサーバの各々を独立して走査するステップと、
    前記独立して走査された1つまたは複数のサーバ中のデータ・ストレージ媒体が利用不可能かどうかを判定するステップと、
    前記1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するステップと、
    前記サーバの各々の中で損失のリスクがあると決定された前記データのうちから、損失に対して非常に脆弱なデータを識別するステップであって、前記識別された損失のリスクがあるデータについて他の前記サーバ中の当該データの複製物があるかを判定することを含む、前記非常に脆弱なデータを識別するステップと、
    前記識別された損失のリスクがあるデータについて他の前記サーバ中の当該データの複製物から、前記損失に対して非常に脆弱な前記データの、1つまたは複数の一時複製物を作成するステップとを含む方法。
  2. 損失のリスクがある前記データが、前記1つまたは複数の利用不可能なデータ・ストレージ媒体に記憶されたデータを含む、請求項1に記載の方法。
  3. 少なくとも1つの一時複製物が、外部ストレージ・デバイスまたは固体ストレージ・デバイス上に作成される、請求項1または2に記載の方法。
  4. 損失に対して非常に脆弱な前記データが、所定しきい値未満の数の複製物を有するデータを含む、請求項1ないし3のいずれかに記載の方法。
  5. 損失に対して非常に脆弱な前記データが、未来の障害イベント中に前記データが失われる確率を計算することに基づいて決定される、請求項1ないし4のいずれかに記載の方法。
  6. 損失に対して非常に脆弱な前記データが、未来の障害イベントの可能性に相関する1つまたは複数のファクタを考慮することに基づいて決定される、請求項1ないし5のいずれかに記載の方法。
  7. 前記1つまたは複数のファクタが、前記データが記憶されているディスクの寿命、前記分散データ・ストレージ・システム中のシステム・コンポーネントの寿命、前記データに対する実行可能な複製物の数、前記データの読取りに関連するエラー率、のうちの少なくとも1つを含む、請求項6に記載の方法。
  8. 前記1つまたは複数のファクタが、データ損失の確率、または前記データが前記データの1つもしくは複数の複製物から回復される可能性、に影響を及ぼす1つまたは複数のイベントを含む、請求項6または7に記載の方法。
  9. 前記データに対する複製物の数が所定しきい値まで復元されたと決定されるのに応答して、作成される前記一時複製物の数が削減される、請求項1ないし8のいずれかに記載の方法。
  10. データ損失から回復するために一時複製物が使用される、請求項1ないし9のいずれかに記載の方法。
  11. 分散データ・ストレージ・システムにおけるデータ回復を向上させるためのシステムであって、
    前記分散データ・ストレージ・システム中の複数のサーバの各々を独立して走査するためのロジック・ユニットと、
    前記独立して走査されたデータ・ストレージ・システム中の1つまたは複数のサーバ中のデータ・ストレージ媒体が利用不可能かどうかを判定するためのロジック・ユニットと、
    前記1つまたは複数のデータ・ストレージ媒体が利用不可能なせいで損失のリスクがあるデータを決定するためのロジック・ユニットと、
    前記サーバの各々の中で損失のリスクがあると決定された前記データのうちから、損失に対して非常に脆弱なデータを識別するためのロジック・ユニットとであって、前記識別された損失のリスクがあるデータについて他の前記サーバ中の当該データの複製物があるかを判定することを含む、前記非常に脆弱なデータを識別するためのロジック・ユニットと、
    前記識別された損失のリスクがあるデータについて他の前記サーバ中の当該データの複製物から、前記損失に対して非常に脆弱な前記データの、1つまたは複数の一時複製物を作成するためのロジック・ユニットと、を備えるシステム。
  12. 損失のリスクがある前記データが、前記1つまたは複数の利用不可能なデータ・ストレージ媒体に記憶されたデータを含む、請求項11に記載のシステム。
  13. 少なくとも1つの一時複製物が、外部ストレージ・デバイスまたは固体ストレージ・デバイス上に作成される、請求項11または12に記載のシステム。
  14. 損失に対して非常に脆弱な前記データが、所定しきい値未満の数の複製物を有するデータを含む、請求項11ないし13のいずれかに記載のシステム。
  15. データ・ストレージ・システムにおけるデータ回復を向上させるためのコンピュータ・プログラムであって、
    請求項1ないし10のいずれかに記載の方法を前記分散データ・ストレージ・システムに実行させるコンピュータ・プログラム。
JP2016553307A 2014-03-06 2015-02-19 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム Active JP6452712B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/198,592 US9336091B2 (en) 2014-03-06 2014-03-06 Reliability enhancement in a distributed storage system
US14/198,592 2014-03-06
PCT/IB2015/051266 WO2015132690A1 (en) 2014-03-06 2015-02-19 Reliabilty enhancement in a distributed storage system

Publications (2)

Publication Number Publication Date
JP2017507427A JP2017507427A (ja) 2017-03-16
JP6452712B2 true JP6452712B2 (ja) 2019-01-16

Family

ID=54017485

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016553307A Active JP6452712B2 (ja) 2014-03-06 2015-02-19 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム

Country Status (6)

Country Link
US (3) US9336091B2 (ja)
JP (1) JP6452712B2 (ja)
CN (1) CN106104460B (ja)
DE (1) DE112015000384B4 (ja)
GB (1) GB2538206A (ja)
WO (1) WO2015132690A1 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9264494B2 (en) * 2013-10-21 2016-02-16 International Business Machines Corporation Automated data recovery from remote data object replicas
US9336091B2 (en) 2014-03-06 2016-05-10 International Business Machines Corporation Reliability enhancement in a distributed storage system
US9891973B2 (en) 2015-02-18 2018-02-13 Seagate Technology Llc Data storage system durability using hardware failure risk indicators
US10275302B2 (en) 2015-12-18 2019-04-30 Microsoft Technology Licensing, Llc System reliability by prioritizing recovery of objects
CN109195859B (zh) * 2016-05-24 2021-09-24 三菱电机株式会社 电子控制装置及其动作控制方法
US10437241B2 (en) 2016-12-16 2019-10-08 General Electric Company Systems and methods for generating maintenance packages
CN107589916A (zh) * 2017-09-29 2018-01-16 郑州云海信息技术有限公司 一种基于纠删码的纠删池的创建方法及相关装置
CN109407975B (zh) * 2018-09-19 2020-08-25 华为技术有限公司 写数据方法与计算节点以及分布式存储系统
CN113467703B (zh) * 2020-03-31 2024-06-14 杭州海康存储科技有限公司 存储介质的管理方法、装置及设备
CN113726899B (zh) * 2021-09-01 2022-10-04 内蒙古工业大学 一种基于OpenStack的高校高可用微型数据中心构建方法
CN115167782B (zh) * 2022-07-28 2023-02-28 北京志凌海纳科技有限公司 临时存储副本管理方法、系统、设备和存储介质

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6516425B1 (en) 1999-10-29 2003-02-04 Hewlett-Packard Co. Raid rebuild using most vulnerable data redundancy scheme first
US6609212B1 (en) * 2000-03-09 2003-08-19 International Business Machines Corporation Apparatus and method for sharing predictive failure information on a computer network
JP4500063B2 (ja) * 2004-02-06 2010-07-14 富士通株式会社 電子装置、予測方法および予測プログラム
US9063881B2 (en) * 2010-04-26 2015-06-23 Cleversafe, Inc. Slice retrieval in accordance with an access sequence in a dispersed storage network
JP2007249441A (ja) * 2006-03-15 2007-09-27 Hitachi Ltd 仮想化システム及び障害対処方法
US7743276B2 (en) 2006-09-27 2010-06-22 Hewlett-Packard Development Company, L.P. Sufficient free space for redundancy recovery within a distributed data-storage system
JP5075465B2 (ja) * 2007-04-20 2012-11-21 株式会社東芝 インシデント・アクシデントレポート分析装置、方法、およびプログラム
US8019728B2 (en) 2008-04-17 2011-09-13 Nec Laboratories America, Inc. Dynamically quantifying and improving the reliability of distributed data storage systems
JP4843693B2 (ja) * 2009-03-30 2011-12-21 株式会社東芝 記憶装置
WO2012017641A1 (ja) 2010-08-03 2012-02-09 パナソニック株式会社 アレイ管理装置、方法、集積回路およびプログラム
EP2439908A1 (en) * 2010-09-20 2012-04-11 Thomson Licensing Method of data replication in a distributed data storage system and corresponding device
US8732518B2 (en) 2011-04-13 2014-05-20 Netapp, Inc. Reliability based data allocation and recovery in a storage system
JP5887757B2 (ja) * 2011-08-17 2016-03-16 富士通株式会社 ストレージシステム、ストレージ制御装置およびストレージ制御方法
US20130212428A1 (en) 2011-09-14 2013-08-15 Yoshikazu Yamamoto Information storage medium library array apparatus, information recording method and information recording program
US8812902B2 (en) 2012-02-08 2014-08-19 Lsi Corporation Methods and systems for two device failure tolerance in a RAID 5 storage system
US8862948B1 (en) * 2012-06-28 2014-10-14 Emc Corporation Method and apparatus for providing at risk information in a cloud computing system having redundancy
US9635109B2 (en) * 2014-01-02 2017-04-25 International Business Machines Corporation Enhancing reliability of a storage system by strategic replica placement and migration
US9336091B2 (en) 2014-03-06 2016-05-10 International Business Machines Corporation Reliability enhancement in a distributed storage system

Also Published As

Publication number Publication date
CN106104460A (zh) 2016-11-09
GB2538206A (en) 2016-11-09
US10223207B2 (en) 2019-03-05
US20160162361A1 (en) 2016-06-09
US9336091B2 (en) 2016-05-10
DE112015000384T5 (de) 2016-09-29
US20180203769A1 (en) 2018-07-19
DE112015000384B4 (de) 2021-12-02
GB201615112D0 (en) 2016-10-19
CN106104460B (zh) 2019-04-12
US20150254140A1 (en) 2015-09-10
WO2015132690A1 (en) 2015-09-11
JP2017507427A (ja) 2017-03-16
US9946602B2 (en) 2018-04-17

Similar Documents

Publication Publication Date Title
JP6452712B2 (ja) 分散データ・ストレージ・システムにおけるデータ回復を向上させる方法、システム、およびコンピュータ・プログラム
US10877860B2 (en) Copying data from mirrored storage to auxiliary storage arrays co-located with primary storage arrays
US9635109B2 (en) Enhancing reliability of a storage system by strategic replica placement and migration
CN109725831B (zh) 管理存储系统的方法、系统和计算机可读介质
US8930749B2 (en) Systems and methods for preventing data loss
US8676750B2 (en) Efficient data synchronization in a distributed data recovery system
CN110058787B (zh) 用于写入数据的方法、设备和计算机程序产品
CN111818124B (zh) 数据存储方法、装置、电子设备及介质
US10437691B1 (en) Systems and methods for caching in an erasure-coded system
CN109726036B (zh) 一种存储系统中的数据重构方法和装置
US11210003B2 (en) Method, device and computer program product for restoring data based on replacing child node identifiers with parent node identifier
US10540103B1 (en) Storage device group split technique for extent pool with hybrid capacity storage devices system and method
CN113377569B (zh) 用于恢复数据的方法、设备和计算机程序产品
US10002057B2 (en) Method and apparatus for managing mismatches within a multi-threaded lockstep processing system
US9286163B2 (en) Data recovery scheme based on data backup status
US10216562B2 (en) Generating diagnostic data
US10997040B1 (en) System and method for weight based data protection
US11275518B2 (en) System and method for implementing heterogeneous media types with raid
US9898360B1 (en) Preventing unnecessary data recovery
US9471409B2 (en) Processing of PDSE extended sharing violations among sysplexes with a shared DASD
US20200133514A1 (en) Proactive copy in a storage environment
US20190303243A1 (en) Maintenance of storage devices with multiple logical units
CN107851127B (zh) 利用不同数据存储器类型来存储主用和复制数据库目录的装置和方法
US9218256B1 (en) Systems and methods for shipping I/O operations to prevent replication failure
US11861201B2 (en) System and method for inline recovery of a file system resource allocator

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161014

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20171025

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180130

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180316

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180807

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181105

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181211

R150 Certificate of patent or registration of utility model

Ref document number: 6452712

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150