レイド

RAIDとは、コンピュータのデータストレージを統合的に管理する手法であり、データは複数の二次記憶装置に書き込まれます。RAIDは、すべてのデータを単一のハードディスクドライブまたはソリッドステートドライブに保存するのではなく、複数のディスクドライブを統合してディスクアレイを構成します。コンピュータが二次記憶装置にデータを書き込む際、RAIDシステムはデータをアレイ全体に分散させます。この分散には複数の方法があり、それらの様々な構成はRAIDレベルと呼ばれます。

RAID レベルは、提供される冗長性の程度と必要な最小ドライブ数、そして相対的な複雑さパフォーマンスエネルギー効率フォールトトレランス可用性によって区別されます。RAID で使用される決定的な技術は、1970年代と1980年代に考案されました。読み取り/書き込み効率を向上させるデータストライピングと、データ復旧のためのディスクミラーリングまたはパリティドライブです。RAID 1を除くすべての標準 RAID レベルは、ストレージ仮想化を使用して複数のストレージデバイスを 1 つの論理ストレージボリュームに 抽象化します

RAID は元々、Redundant Array of Inexpensive Disks頭字語でした。[ 1 ] [ 2 ]その後、RAID Advisory Board (1992 年設立) によってこの頭字語が再定義され、Redundant Array of Independent Disksという意味になりました。[ 2 ] RAID 以前は、大容量で高可用性のデータ ストレージは、メインフレーム コンピュータに接続されたいわゆる SLED (「単一の大型で高価なディスク」) に依存していました。[ 1 ] [ 3 ] RAID は、メインフレーム コンピュータだけでなく、パーソナル コンピュータスーパーコンピュータファイル サーバーデータベースサーバー、 Web サーバーネットワーク接続ストレージアプライアンスにも導入されています。

歴史

RAIDという用語は、1987年にカリフォルニア大学バークレー校デイビッド・パターソンガース・ギブソンランディ・カッツによって造られました。1988年6月にSIGMODカンファレンスで発表された論文「安価なディスクの冗長アレイ(RAID)の事例」の中で、彼らは、当時の最高性能のメインフレームコンピュータのディスクドライブは、成長を続けるパーソナルコンピュータ市場向けに製造された(比較的安価な)ディスクドライブのアレイによって性能を凌駕できると主張しました。ハードディスクドライブの故障率は使用中のドライブ数に比例して増加しますが、複数のディスクに自動的にデータを書き込むようにコンピュータストレージシステムに冗長性を組み込むことで、アレイの信頼性は単一の大容量ドライブの信頼性をはるかに上回る可能性があります。[ 4 ]

1988年6月の論文で言及されたRAIDの5つのレベルの技術は、まだその用語は使われていないものの、論文の発表前にはさまざまな製品で使用されていました。 [ 3 ]次のようなものがあります。

  • ミラーリング (RAID 1) は、たとえばTandem NonStop Systemsなどによって 1970 年代に確立されました。
  • 1977年、IBMのノーマン・ケン・オウチは、後にRAID 4と名付けられることになる特許を出願した。[ 5 ]
  • 1983年頃、DECはHSC50サブシステムの一部としてサブシステムミラーリングRA8Xディスクドライブ(現在はRAID 1として知られている)の出荷を開始しました。[ 6 ]
  • 1986年、IBMのクラークらは、後にRAID 5と名付けられることになる技術を公開する特許を出願した。[ 7 ]
  • 1988年頃、Thinking Machines社のDataVaultは、ディスクドライブアレイにエラー訂正コード(現在RAID 2として知られている)を使用していました。[ 8 ]同様のアプローチは、1960年代初頭にIBM 353で使用されていました。[ 9 ] [ 10 ]

業界のメーカーは後にRAIDの頭字語を「Redundant Array of Independent Disks (独立したディスクの冗長アレイ)」の略として再定義しました。[ 2 ] [ 11 ] [ 12 ] [ 13 ]

概要

多くのRAIDレベルでは、「パリティ」と呼ばれるエラー保護方式が採用されています。これは、情報技術において、特定のデータセットのフォールトトレランスを実現するために広く用いられている手法です。ほとんどのRAIDでは単純なXORが用いられますが、RAID 6では、特定のガロア体における加算と乗算、またはリード・ソロモン誤り訂正に基づく2つの独立したパリティが用いられます。[ 14 ]

RAIDは、オールSSDシステムの導入コストをかけずに、ソリッドステートドライブ(SSD)によるデータセキュリティを実現できます。例えば、高速SSDを機械式ドライブとミラーリングすることができます。この構成で大幅な速度向上を実現するには、すべての読み取り操作に高速SSDを使用する適切なコントローラが必要です。Adaptecこれを「ハイブリッドRAID」と呼んでいます。[ 15 ]

標準レベル

24 台のハードディスク ドライブと、さまざまなRAID レベルをサポートするハードウェアRAID コントローラを内蔵したストレージ サーバー

当初、RAIDには5つの標準レベルがありましたが、その後、複数のネストされたレベルや多くの非標準レベル(主に独自のもの)など、多くのバリエーションが進化してきました。RAIDレベルとそれに関連するデータフォーマットは、ストレージネットワーク業界協会(SNIA)によって共通RAIDディスクドライブフォーマット(DDF)標準として標準化されています。[ 16 ] [ 17 ]

  • RAID 0はブロックレベルのストライピングで構成されますが、ミラーリングパリティは使用されません。n台のドライブが同一容量で完全に使用されていると仮定すると RAID 0ボリュームの容量はスパンボリュームの容量、つまりn台のドライブの容量の合計と一致します。ただし、ストライピングでは各ファイルの内容がすべてのドライブに分散されるため、いずれかのドライブに障害が発生すると、RAID 0ボリューム全体にアクセスできなくなります。通常、すべてのデータが失われ、バックアップコピーがなければファイルを復元することはできません。
一方、ファイルをシーケンシャルに保存するスパンボリュームでは、故障したドライブに保存されているデータは失われますが、残りのドライブに保存されているデータは保持されます。ただし、ドライブ故障後のファイルの復旧は困難な場合があり、ファイルシステムの特性によって復旧方法が異なる場合があります。いずれにせよ、故障したドライブにまたがるファイル、またはドライブ外にまたがるファイルは永久に失われます。
一方、RAID 0の利点は、スパンボリュームとは異なり、読み取りと書き込みが同時に実行されるため、ファイルへの読み取りおよび書き込み操作のスループットがドライブ数に応じて増加することです。[ 11 ]一方で、RAID 0構成では、ドライブの1つに障害が発生するとボリューム全体が失われるため、ボリュームの平均障害率は接続されたドライブの数に応じて増加します。そのため、データの信頼性やフォールトトレランスが求められるシナリオでは、RAID 0は適切な選択肢とは言えません。
  • RAID 1は、パリティやストライピングを使用しないデータミラーリングで構成されます。データは2台以上のドライブに同一の形式で書き込まれるため、「ミラーリングされたドライブセット」が形成されます。したがって、すべての読み取り要求は、セット内のどのドライブでも処理できます。要求がセット内のすべてのドライブにブロードキャストされる場合、データに最初にアクセスするドライブ(シーク時間回転レイテンシによって異なります)が処理できるため、パフォーマンスが向上します。コントローラまたはソフトウェアが最適化されている場合、持続的な読み取りスループットは、RAID 0と同様に、セット内のすべてのドライブのスループットの合計に近づきます。ほとんどのRAID 1実装における実際の読み取りスループットは、最速のドライブよりも低速です。書き込みスループットは常に低速です。これは、すべてのドライブを更新する必要があり、最も低速なドライブが書き込みパフォーマンスを制限するためです。アレイは、少なくとも1つのドライブが動作している限り動作し続けます。 [ 11 ]
  • RAID 2は、専用のハミングコードパリティを備えたビットレベルのストライピングで構成されています。すべてのディスクスピンドルの回転は同期されており、データは各連続ビットが異なるドライブに配置される形でストライピングされます。ハミングコードパリティは対応するビット間で計算され、少なくとも1つのパリティドライブに保存されます。 [ 11 ]このレベルは歴史的な重要性のみを有しており、初期のマシン(例えばThinking Machines CM-2)では使用されていましたが、 [ 18 ] 2014年現在、市販のシステムでは使用されていません。 [ 19 ]
  • RAID 3は、専用のパリティを備えたバイトレベルのストライピングで構成されています。すべてのディスクスピンドルの回転は同期されており、データは各バイトが異なるドライブに分割されるようにストライピングされます。パリティは対応するバイト間で計算され、専用のパリティドライブに保存されます。 [ 11 ]実装は存在しますが、 [ 20 ] RAID 3は実際にはあまり使用されていません。
  • RAID 4は、専用パリティを備えたブロックレベルのストライピングで構成されています。このレベルは以前はNetAppによって使用されていましたが、現在ではRAID-DPと呼ばれる2つのパリティディスクを備えたRAID 4の独自の実装に大きく置き換えられています。 [ 21 ] RAID 2および3に対するRAID 4の主な利点は、I/Oの並列性です。RAID 2および3では、1回の読み取りI/O操作でデータドライブのグループ全体を読み取る必要がありますが、RAID 4では、1回の読み取りI/O操作ですべてのデータドライブに分散する必要はありません。その結果、より多くのI/O操作を並列に実行できるようになり、小さな転送のパフォーマンスが向上します。 [ 1 ]
  • RAID 5は、分散パリティによるブロックレベルのストライピングで構成されています。RAID 4とは異なり、パリティ情報はドライブ間に分散されているため、1台を除くすべてのドライブが動作している必要があります。1台のドライブに障害が発生した場合、後続の読み取りは分散パリティから計算されるため、データは失われません。RAID 5には少なくとも3台のディスクが必要です。 [ 11 ]すべてのシングルパリティコンセプトと同様に、大規模なRAID 5実装は、アレイの再構築時間と再構築中のドライブ障害の可能性に関する傾向により、システム障害の影響を受けやすくなります(以下の「再構築時間と障害確率の増加」セクションを参照)。 [ 22 ]アレイの再構築にはすべてのディスクからすべてのデータを読み取る必要があるため、2台目のドライブ障害が発生し、アレイ全体が失われる可能性があります。
  • RAID 6は、二重分散パリティによるブロックレベルのストライピングで構成されています。二重パリティは、最大2台のドライブの故障までフォールトトレランスを提供します。これにより、特に高可用性システムでは大容量ドライブの復旧に時間がかかるため、大規模なRAIDグループの方が実用的になります。RAID 6は最低4台のディスクを必要とします。RAID 5と同様に、1台のドライブに障害が発生すると、故障したドライブが交換されるまでアレイ全体のパフォーマンスが低下します。 [ 11 ]複数のソースおよびメーカーのドライブを使用するRAID 6アレイでは、RAID 5に関連するほとんどの問題を軽減できます。ドライブ容量が大きく、アレイサイズが大きいほど、RAID 5ではなくRAID 6を選択することが重要になります。 [ 23 ] RAID 10もこれらの問題を最小限に抑えます。 [ 24 ]

ネストされた(ハイブリッド)RAID

元々ハイブリッドRAIDと呼ばれていたもの[ 25 ]では、多くのストレージコントローラがRAIDレベルのネスト化を可能にしています。RAIDの要素は、個々のドライブまたはアレイ自体です。アレイが1レベル以上ネストされることはほとんどありません。

最後のアレイはトップアレイと呼ばれます。トップアレイがRAID 0(RAID 1+0やRAID 5+0など)の場合、ほとんどのベンダーは「+」を省略します(それぞれRAID 10とRAID 50になります)。

  • RAID 0+1: 2つのストライプを作成し、それらをミラーリングします。1台のドライブに障害が発生した場合、ミラーの1台にも障害が発生し、この時点では冗長性のないRAID 0として実質的に動作します。再構築時には、1台のドライブだけでなく、残りのストライプ内のすべてのドライブからすべてのデータを読み取る必要があるため、RAID 1+0よりも大幅に高いリスクが生じます。これにより、回復不能な読み取りエラー(URE)が発生する可能性が高まり、再構築ウィンドウが大幅に長くなります。[ 26 ] [ 27 ] [ 28 ]
  • RAID 1+0: ( RAID 10参照) は、ミラーリングされた複数のドライブからストライプセットを作成します。アレイは、ミラーリングされたドライブの全てが失われない限り、複数のドライブの損失に耐えることができます。[ 29 ]
  • JBOD RAID N+N: JBOD ( just a bunch of disks ) を使用すると、ディスクを連結できるだけでなく、RAID セットなどのボリュームも連結できます。ドライブ容量が大きいほど、書き込み遅延と再構築時間が大幅に増加します (特に、前述のように RAID 5 と RAID 6 の場合)。大きな RAID N セットを小さなサブセットに分割し、リニア JBOD で連結すると、書き込みと再構築の時間が短縮されます。ディスク アレイ コントローラがリニア JBOD を RAID N でネストできない場合は、OS レベルのソフトウェア RAID と、1 つまたは複数のハードウェア RAID コントローラ内に作成された個別の RAID N サブセット ボリュームを組み合わせて、リニア JBOD を実現できます。速度が大幅に向上するほかに、小さなディスク セットでリニア JBOD を開始し、後で異なるサイズのディスクでセット全体を拡張できるという大きな利点もあります (やがて、より大きなサイズのディスクが市場で入手可能になります)。災害復旧の点でも別の利点があります (RAID N サブセットに障害が発生した場合でも、他の RAID N サブセットのデータは失われず、復元時間が短縮されます)。

非標準レベル

基本的な番号付きRAIDレベル以外にも、様々な構成が可能であり、多くの企業、組織、グループが独自の非標準構成を作成しています。多くの場合、これらは小規模なニッチなグループの特殊なニーズを満たすように設計されています。このような構成には、以下のようなものがあります。

  • Linux MD RAID 10は、汎用RAIDドライバーを提供します。「near」レイアウトでは、デフォルトで2台のドライブによる標準RAID 1、または4台のドライブによる標準RAID 1+0が設定されますが、奇数台を含む任意の数のドライブを含めることができます。「far」レイアウトでは、MD RAID 10は、レイアウトに2台のドライブしかない場合でも、ストライプとミラーの両方を実行できます。これは、ストライプ読み取りでミラーリングを実行し、RAID 0と同等の読み取りパフォーマンスを実現します。LinuxソフトウェアRAIDf2が提供する通常のRAID 1は、読み取りをストライプ化しませんが、読み取りを並列に実行できます。[ 29 ] [ 30 ] [ 31 ]
  • Hadoopには、単一のHDFSファイル内のブロックのストライプをXOR演算してパリティファイルを生成するRAIDシステムがあります。[ 32 ]
  • 並列ファイルシステムであるBeeGFSLustre には、複数のサーバーのスループットと容量を集約するための内部ストライピング (ファイルベースの RAID0 に相当) とレプリケーション (ファイルベースの RAID10 に相当) のオプションがあり、通常は基盤となる RAID を基盤としてディスク障害を透過的にします。
  • デクラスタRAIDは、ストレージサブシステム内のすべてのディスク(場合によっては数百台)にデータの二重(またはそれ以上)コピーを分散させ、少数のディスク障害を許容するだけの予備容量を確保します。この分散は、一見恣意的に見えるアルゴリズムに基づいています。1台以上のディスクに障害が発生すると、失われたコピーは再び恣意的にその予備容量に再構築されます。再構築は残りのすべてのディスク間で行われるため、従来のRAIDよりもはるかに高速に動作し、ストレージシステムのクライアントへの全体的な影響を軽減します。

実装

複数のドライブにわたるデータの分散は、専用のコンピュータハードウェアまたはソフトウェアによって管理できます。ソフトウェアソリューションは、オペレーティングシステムの一部である場合もあれば、標準ドライブコントローラに付属するファームウェアおよびドライバの一部である場合(いわゆる「ハードウェア支援型ソフトウェアRAID」)、あるいはハードウェアRAIDコントローラ内に完全に常駐する場合もあります。

ハードウェアベース

ハードウェアRAIDコントローラは、オペレーティングシステムの起動前にカードBIOSまたはオプションROMを介して設定でき、オペレーティングシステムの起動後には、各コントローラのメーカーから独自の設定ユーティリティが提供されます。イーサネット用のネットワークインターフェースコントローラは、通常、サードパーティ製のツールを必要とせず、 Unixifconfigなどの一般的なオペレーティングシステムパラダイムを介して設定およびサービス提供できますが、各RAIDコントローラのメーカーは通常、サポートするオペレーティングシステムごとに独自のソフトウェアツールを提供しています。これにより、ベンダーロックインが発生し、信頼性の問題につながります。[ 33 ]

例えば、FreeBSDでは、 Adaptec RAIDコントローラの設定にアクセスするには、 Linux互換レイヤーを有効にし、AdaptecのLinuxツールを使用する必要がありますが、 [ 34 ]、特に長期的な視点で見ると、セットアップの安定性、信頼性、セキュリティが損なわれる可能性があります。[ 33 ]

他のオペレーティングシステムの中には、RAIDコントローラとのインターフェースとして独自の汎用フレームワークを実装し、RAIDボリュームの状態を監視するツールを提供しているものもある。また、カードBIOSを再起動することなく、オペレーティングシステム内からLEDの点滅によるドライブ識別、アラーム管理、ホットスペアディスクの指定などを容易に行うことができる。例えば、OpenBSDは2005年にbio(4)擬似デバイスとbioctlユーティリティでこのアプローチを採用した。これらはボリュームの状態を提供し、LED/アラーム/ホットスペアの制御や、ヘルスモニタリング用のセンサー(ドライブセンサーを含む)を可能にした。[ 35 ]このアプローチはその後、2007年にNetBSDにも採用され、拡張された。[ 36 ]

ソフトウェアベース

多くの最新のオペレーティングシステムでは、ソフトウェアRAIDの実装が提供されています。ソフトウェアRAIDは次のように実装できます。

一部の高度なファイル システムは、サードパーティの論理ボリューム マネージャーの助けを借りずに、複数のストレージ デバイスにわたってデータを直接整理するように設計されています。

ZFS raidz1構成の5TBハードディスク3台。このアレイには、GBIF、iDigBio、BioCASeネットワークに登録された生物多様性データ記録の、既知で最大の長期アーカイブのコピーが格納されています。
  • ZFSは、RAID 0、RAID 1、RAID 5(RAID-Z1)シングルパリティ、RAID 6(RAID-Z2)ダブルパリティ、およびRAID 7とも呼ばれるトリプルパリティバージョン(RAID-Z3)と同等のものをサポートしています。[ 38 ]常に最上位レベルのvdevにストライプ化されるため、1+0、5+0、6+0のネストされたRAIDレベル(およびストライプ化されたトリプルパリティセット)と同等のものをサポートしますが、その他のネストされた組み合わせはサポートしていません。ZFSはSolarisillumosのネイティブファイルシステムであり、FreeBSDとLinuxでも利用できます。オープンソースのZFS実装は、 OpenZFSアンブレラプロジェクトの下で積極的に開発されています。[ 39 ] [ 40 ] [ 41 ] [ 42 ] [ 43 ]
  • Spectrum Scaleは、IBMがメディアストリーミングとスケーラブルな分析のために開発したもので、 n+3までのデクラスタRAID保護スキームをサポートしています。特徴的なのは、データチャンクがn+0の冗長性に達するまでバックグラウンドで低負荷で実行される動的な再構築優先度です。データチャンクがn+0の冗長性に達すると、このチャンクは少なくともn+1に迅速に再構築されます。さらに、Spectrum ScaleはメトロディスタンスRAID 1をサポートしています。[ 44 ]
  • BtrfsはRAID 0、RAID 1、RAID 10をサポートしています(RAID 5と6は開発中です)。[ 45 ] [ 46 ]
  • XFSはもともと、複数の物理ストレージデバイスの連結、ミラーリング、ストライプ化をサポートする統合ボリュームマネージャを提供するために設計されました。[ 47 ]しかし、LinuxカーネルにおけるXFSの実装には統合ボリュームマネージャが欠けています。[ 48 ]

多くのオペレーティング システムは、次のような RAID 実装を提供しています。

ブートドライブが故障した場合、システムは残りのドライブからブートできるほど高度な機能を備えている必要があります。例えば、ディスクがRAID 1(ミラードライブ)として構成されているコンピュータを考えてみましょう。アレイの最初のドライブに故障が発生した場合、第一段階のブートローダーは、フォールバックとして2番目のドライブから第二段階のブートローダーをロードしようとするほど高度な機能を備えていない可能性があります。FreeBSDの第二段階のブートローダーは、このようなアレイからカーネルをロードすることができます。 [ 64 ]

ファームウェアとドライバーベース

独自のファームウェアとドライバーを通じてRAID機能を提供するSATA 3.0コントローラー

ソフトウェア実装のRAIDは、システムのブートプロセスと必ずしも互換性があるわけではなく、デスクトップ版のWindowsでは一般的に実用的ではありません。しかし、ハードウェアRAIDコントローラは高価で独自仕様です。このギャップを埋めるために、専用のRAIDコントローラチップではなく、標準的なドライブコントローラチップ、またはチップセット内蔵のRAID機能と独自のファームウェアとドライバを搭載した、安価な「RAIDコントローラ」が導入されました。起動初期にはファームウェアによってRAIDが実装され、オペレーティングシステムのロードが完了すると、ドライバが制御を引き継ぎます。そのため、ホストオペレーティングシステムでドライバサポートが利用できない場合、このようなコントローラは動作しない可能性があります。[ 65 ]一例として、多くのコンシューマー向けマザーボードに実装されているIntel Rapid Storage Technologyが挙げられます。[ 66 ] [ 67 ]

最小限のハードウェアサポートが必要とされるため、この実装は「ハードウェア支援型ソフトウェアRAID」[ 68 ] [ 69 ] [ 70 ]、「ハイブリッドモデル」RAID [ 70 ] 、あるいは「フェイクRAID」[ 71 ]とも呼ばれます。RAID 5がサポートされている場合、ハードウェアXORアクセラレータが提供される場合があります。このモデルが純粋なソフトウェアRAIDよりも優れている点は、冗長モードを使用している場合、オペレーティングシステムのドライバーが引き継ぐ前のブートプロセス中であっても、ブートドライブが(ファームウェアによる)障害から保護されることです。[ 70 ]

誠実さ

データスクラビング(一部の環境ではパトロールリードと呼ばれる)では、RAIDコントローラがアレイ内のすべてのブロック(通常はアクセスされないブロックも含む)を定期的に読み取り、チェックします。これにより、使用前に不良ブロックが検出されます。[ 72 ]データスクラビングは、アレイ内の各ストレージデバイス上の不良ブロックをチェックするだけでなく、アレイの冗長性を利用して単一のドライブ上の不良ブロックを回復し、回復したデータをドライブ上の他のスペアブロックに再割り当てします。[ 73 ]

多くの場合、RAIDコントローラは、ドライブが8秒程度応答しない場合、そのドライブを「ドロップ」(つまり、ドライブが故障したと想定)するように設定されています。この設定により、アレイコントローラは正常なドライブをドロップする可能性があります。これは、そのドライブが内部エラー回復手順を完了するのに十分な時間を与えられないためです。そのため、一般向けドライブをRAIDで使用することはリスクを伴う可能性があり、いわゆる「エンタープライズクラス」ドライブでは、リスクを軽減するためにこのエラー回復時間を制限しています。Western Digitalのデスクトップドライブには、以前は特別な修正プログラムが用意されていました。WDTLER.exeというユーティリティは、ドライブのエラー回復時間を制限していました。このユーティリティはTLER(時間制限付きエラー回復)を有効にし、エラー回復時間を7秒に制限していました。2009年9月頃、Western Digitalはデスクトップドライブ(Caviar Blackシリーズなど)でこの機能を無効にし、これらのドライブをRAID構成での使用に適さないようにしました。[ 74 ]しかし、Western Digitalのエンタープライズクラスドライブは、工場出荷時にTLERが有効になっています。Seagate、Samsung、Hitachiも同様の技術を採用しています。したがって、RAID以外の用途では、変更できない短いエラー回復タイムアウトを持つエンタープライズクラスのドライブは、デスクトップドライブほど適していません。[ 74 ] 2010年後半に、SmartmontoolsプログラムはATAエラー回復制御の構成のサポートを開始し、このツールで多くのデスクトップクラスのハードドライブをRAIDセットアップで使用できるように構成できるようになりました。[ 74 ]

RAIDは物理的なドライブの故障から保護しますが、データは依然としてオペレータ、ソフトウェア、ハードウェア、そしてウイルスによる破壊の危険にさらされています。多くの研究では、オペレータの過失が一般的な故障原因として挙げられており、[ 75 ] [ 76 ]例えば、サーバオペレータが故障したRAIDで誤ったドライブを交換し、その過程でシステムを(たとえ一時的にでも)無効化してしまうことが挙げられます。[ 77 ]

アレイは、その復旧能力を超える壊滅的な障害によって過負荷状態になる可能性があり、アレイ全体が火災、自然災害、人為的要因による物理的損傷のリスクにさらされます。しかし、バックアップはオフサイトに保存できます。また、アレイはコントローラの障害に対しても脆弱です。これは、データ損失なしに新しいコントローラに移行できないことが常にあるわけではないためです。[ 78 ]

弱点

相関した障害

実際には、ドライブは多くの場合、同じ年数(摩耗も同様)で、同じ環境にさらされています。多くのドライブ障害は機械的な問題(古いドライブでより起こりやすい)によるものであるため、これはドライブ間の障害率が独立して同一であるという仮定に反します。実際、障害は統計的に相関しています。[ 11 ]実際には、最初の障害が回復する前に2回目の障害が発生する可能性(データ損失を引き起こす)は、ランダム障害が発生する可能性よりも高くなります。少なくとも4つの異なるベンダーの約10万台のドライブを対象とした調査では、同じクラスター内の2台のドライブが1時間以内に故障する確率は、指数統計分布(イベントが一定の平均率で継続的かつ独立して発生するプロセスを特徴付ける)によって予測されるよりも4倍高くなりました。同じ10時間​​以内に2つの障害が発生する確率は、指数分布によって予測されるよりも2倍高くなりました。[ 79 ]

相関ディスク障害の回避可能なモードとして、バッチ相関ディスク障害があります。これは、アレイが同じバッチのディスクで構築され、ディスクが立て続けに故障することを意味します。このような事象はまれですが、全くないわけではありません。標準的な推奨事項は、異なるバッチ、場合によっては異なるメーカーのディスクを混在させることです。[ 80 ] 2021年の調査では、Alibabaの複数のSSDベースのデータセンターにおけるバッチ相関障害のパターンについて説明されており、少なくとも2つのSSDを搭載したノードの88.6%が同じモデルを使用しています。[ 81 ]

相関性のあるディスク障害のもう一つの原因は、ディスクではなく、インターコネクト、CPU、またはメモリにあります。Jiangら(2008)は、ストレージシステム障害のうち、ディスクに起因するものはわずか20~55%であると示しました。これらの部品もまた、バースト的な相関障害モードを持っています。[ 82 ] [ 83 ]

再構築中に回復不能な読み取りエラーが発生し、

回復不能な読み取りエラー(URE)は、セクター読み取り障害(潜在セクターエラー(LSE)とも呼ばれる)として現れます。関連するメディア評価指標である回復不能ビットエラー(UBE)率は、通常、エンタープライズクラスのドライブ(SCSIFCSAS 、SATA)では10の15乗分の1ビット未満、デスクトップクラスのドライブ(IDE/ATA/PATA、SATA)では10の14乗分の1ビット未満であることが保証されています。ドライブ容量の増加とRAID 5インスタンスの大規模化により、RAIDセットの再構築中に残りの1台以上のドライブでこのようなエラーが発生する可能性が高くなり、最大エラー率では正常な回復を保証できなくなっています。[ 11 ] [ 84 ]再構築時に、RAID 5などのパリティベースのスキームでは、UREが発生したセクターだけでなく、そのセクターを使用してパリティ計算を行う再構築ブロックにも影響するため、特にUREの影響を受けやすくなります。[ 85 ]

RAID 6 などの二重保護パリティベース方式では、二重ドライブ障害を許容する冗長性を提供することでこの問題に対処しようとしていますが、欠点として、このような方式では書き込みペナルティ (1 回の書き込み操作中にストレージ メディアにアクセスする回数) が高くなります。[ 86 ] RAID 1 や RAID 10 など、ドライブ間でデータを複製 (ミラーリング) する方式では、パリティ計算やストライプ セット間のミラーリングを使用する方式よりも URE によるリスクが低くなります。[ 24 ] [ 87 ]バックグラウンド プロセスとしてのデータ スクラビングを使用して URE を検出して回復できるため、RAID 再構築中に URE が発生して二重ドライブ障害が発生するリスクを効果的に軽減できます。URE の回復には、ドライブのセクター再マッピング プールを使用して、影響を受ける基礎ディスク セクターの再マッピングが含まれます。バックグラウンドスクラビング中にUREが検出された場合、完全に機能するRAIDセットによって提供されるデータ冗長性により、失われたデータを再構築し、再マップされたセクターに書き直すことができます。[ 88 ] [ 89 ]

再構築時に発生したエラーに対するRAID実装の挙動も重要です。一部の実装では、UREに遭遇するとアレイをパンクチャし、該当セクター/ブロックをアクセス不可としてマークしますが、再構築は続行されます。また、単に手順を中止する実装もあります。

再構築時間と故障確率の増加

ドライブ容量は転送速度よりもはるかに速いペースで増加しており、エラー率はそれに比べてわずかに低下した程度です。そのため、大容量ドライブの再構築には数時間、場合によっては数日かかることがあり、その間に他のドライブが故障したり、未検出の読み取りエラーが発生したりする可能性があります。アレイ全体の容量が低下した状態で動作している場合も、再構築時間は制限されます。[ 90 ]冗長ドライブが1台しかないアレイ(RAIDレベル3、4、5、および「クラシック」な2ドライブRAID 1に適用)の場合、2台目のドライブに障害が発生すると、アレイ全体が完全に故障します。個々のドライブの平均故障間隔(MTBF)は時間の経過とともに増加していますが、この増加はドライブのストレージ容量の増加に追いついていません。1台のドライブに障害が発生した後のアレイの再構築にかかる時間と、再構築中に2台目のドライブに障害が発生する可能性は、時間の経過とともに増加しています。[ 22 ]

一部の評論家は、RAID 6は問題を先送りするだけなので、この点では単なる「応急処置」に過ぎないと主張している。[ 22 ]しかし、2006年にBerrimanらがNetAppで行った調査によると、RAID 6を適切に実装することで、市販のドライブを使用した場合でも、障害発生率はRAID 5に比べて約3,800倍減少する。[ 91 ]それでも、現在の技術動向が変わらなければ、2019年のRAID 6アレイの障害発生率は、2010年のRAID 5アレイの障害発生率と同じになるだろう。[ 91 ]

RAID 10などのミラーリング方式は、アレイセット内のドライブの全ブロックのコピーを必要とするRAID 6などのパリティ方式と比較して、故障したドライブ1台のコピーのみを必要とするため、リカバリ時間が限られています。トリプルパリティ方式、またはトリプルミラーリングは、この長い再構築時間中に発生する追加のドライブ故障に対する耐性を向上させるための1つのアプローチとして提案されています。[ 91 ]

原子性

システムクラッシュや書き込み操作の中断により、書き込みプロセスの非アトミック性のためにパリティとデータに不整合が生じる可能性があり、ディスク障害発生時にパリティを復旧に使用できなくなります。これは一般に「書き込みホール」と呼ばれ、旧式およびローエンドのRAIDにおいてディスクへの書き込みのデステージング中断によって引き起こされる既知のデータ破損問題です。[ 92 ]書き込みホールはいくつかの方法で対処できます。

  • 先行書き込みログ
    • ハードウェアRAIDシステムでは、この目的のためにオンボードの不揮発性キャッシュを使用します。[ 93 ]
    • mdadmは専用のジャーナリングデバイス(パフォーマンスの低下を避けるため、通常はSSDNVMが推奨される)をこの目的に使用できる。[ 94 ] [ 95 ]このデバイスはライトスルーモードまたはライトバックモードで書き込みキャッシュとして機能する。[ 96 ]
  • 書き込み意図のログ記録。mdadm「書き込み意図ビットマップ」を使用します。起動時に書き込みが不完全とマークされた場所が見つかった場合、それらを再同期します。書き込みホールは閉じられますが、完全なWALとは異なり、転送中のデータの損失は保護されません。[ 93 ] [ 97 ]
  • 部分パリティ。mdadm「部分パリティ」を保存することができ、これを変更されたチャンクと組み合わせることで元のパリティを復元します。これにより書き込みホールは閉じられますが、転送中のデータの損失は防げません。[ 98 ]
  • 動的なストライプサイズ。RAID -Zは各ブロックが独自のストライプであることを保証するため、すべてのブロックが完全です。コピーオンライト(COW)トランザクションセマンティクスは、ストライプに関連付けられたメタデータを保護します。[ 99 ]欠点はIOの断片化です。[ 100 ]
  • 使用済みのストライプの上書きを避ける。コピー型ガベージコレクタを使用するbcachefsはこのオプションを選択する。COWは再びストライプデータへの参照を保護する。 [ 100 ]

ライトホールは、トランザクション機能を利用しない冗長ストレージシステムにおいて、あまり理解されておらず、ほとんど言及されない障害モードです。データベース研究者のジム・グレイは、リレーショナルデータベースの商用化初期に「Update in Placeは毒リンゴだ」と著しました。[ 101 ]

書き込みキャッシュの信頼性

ライトキャッシュの信頼性については、特にライトバックキャッシュを搭載したデバイスに関して懸念があります。ライトバックキャッシュとは、データが不揮発性ストレージメディアに書き込まれた時点ではなく、キャッシュに書き込まれた時点でデータが書き込まれたと報告するキャッシュシステムです。システムで停電やその他の重大な障害が発生した場合、データは不揮発性ストレージに到達する前にキャッシュから回復不能に失われる可能性があります。このため、優れたライトバックキャッシュの実装には、冗長バッテリ電源などのメカニズムが組み込まれており、システム障害(停電を含む)が発生してもキャッシュの内容を保持し、システムの再起動時にキャッシュをフラッシュします。[ 102 ]

参照

参考文献

  1. ^ a b c Patterson, David ; Gibson, Garth A. ; Katz, Randy (1988).安価なディスクの冗長アレイ(RAID)の事例(PDF) . SIGMODカンファレンス. 2024年1月3日閲覧。
  2. ^ a b c Gupta, Meeta (2002). 「RAIDテクノロジーとファイバーチャネルベンダー」 .ストレージエリアネットワークの基礎. Cisco Press Networking Technology. インディアナポリス: Cisco Press. p. 261. ISBN 978-1-58705-065-7. OCLC  52356423 . 2026年1月27日取得– Googleブックス経由。RAIDという用語は、元々はRedundant Array of Inexpensive Disksと呼ばれていましたが、1980年代後半にカリフォルニア大学バークレー校のパターソン、ギブソン、カッツによって初めて発表されました。(その後、RAID諮問委員会はInexpensiveという用語をIndependentに置き換えました。)
  3. ^ a b Katz, Randy H. (2010年10月). 「RAID: ストレージがシステムになった経緯についての個人的な回想」(PDF) . eecs.umich.edu . IEEE Computer Society . 2015年1月18日閲覧.パターソン氏が「低速で大容量、高価なディスク(SLED)」と表現したディスクを、安価なディスクアレイに置き換えるというアイデアを思いついたのは、私たちが初めてではありませんでした。例えば、タンデム社が先駆的に開発したディスクミラーリングの概念は広く知られており、既にいくつかのストレージ製品が小型ディスクアレイをベースとして構築されていました。
  4. ^ Hayes, Frank (2003年11月17日). 「これまでのストーリー」 . Computerworld . 2016年11月18日閲覧.パターソン氏は1987年のRAIDプロジェクトの始まりを振り返りました。[...] 1988年: デビッド・A・パターソン氏が、パフォーマンス、信頼性、スケーラビリティの向上を目指したRAID標準を定義するチームを率います。
  5. ^米国特許4092732、ノーマン・ケン・オウチ、「故障したメモリユニットに格納されたデータを回復するためのシステム」、1978年5月30日発行 
  6. ^ 「HSC50/70 ハードウェア技術マニュアル」(PDF) . DEC . 1986年7月. pp. 29, 32. 2016年3月4日時点のオリジナル(PDF)からアーカイブ。 2014年1月3日閲覧
  7. ^米国特許4761785、ブライアン・E・クラーク他、「パリティ拡散によるストレージアクセスの強化」、1988年8月2日発行 
  8. ^米国特許4899342、David Potter他、「メモリのマルチユニットアレイを操作する方法と装置」、1990年2月6日発行。また、 The Connection Machine(1988年)も参照 
  9. ^ 「IBM 7030 データ処理システム:リファレンス・マニュアル」(PDF) . bitsavers.trailing-edge.com . IBM . 1960. p. 157. 2015年1月17日閲覧多数のビットが並列処理されるため、エラー検査および訂正(ECC)ビットの使用が実用的であり、39ビットの各バイトは32のデータビットと7つのECCビットで構成されています。ECCビットは高速ディスクとの間で転送されるすべてのデータに付随し、読み取り時にバイト内の1ビットエラーを訂正し、バイト内の2ビットエラーおよび最大多重エラーを検出するために使用されます。
  10. ^ 「IBM Stretch(別名IBM 7030データ処理システム)」 . brouhaha.com . 2009年6月18日. 2015年1月17日閲覧典型的なIBM 7030データ処理システムは、以下のユニットで構成されていた可能性があります。[...] IBM 353ディスク・ストレージ・ユニット - IBM 1301ディスク・ファイルに似ていますが、はるかに高速です。2,097,152 (2^21) 72ビット・ワード(64データ・ビットと8 ECCビット)、1秒あたり125,000ワード
  11. ^ a b c d e f g h i Chen, Peter; Lee, Edward; Gibson, Garth; Katz, Randy; Patterson, David (1994). 「RAID: 高性能で信頼性の高いセカンダリストレージ」. ACM Computing Surveys . 26 (2): 145– 185. CiteSeerX 10.1.1.41.3889 . doi : 10.1145/176979.176981 . S2CID 207178693 .  
  12. ^ Donald, L. (2003). MCSA/MCSE 2006 JumpStart コンピュータとネットワークの基礎(第2版). グラスゴー: SYBEX.
  13. ^ Howe, Denis (編). 「Redundant Arrays of Independent Disk」 . Free On-line Dictionary of Computing (FOLDOC) . インペリアル・カレッジ・コンピューティング学部. 2011年11月10日閲覧
  14. ^ Dawkins, Bill、Jones, Arnold.「Common RAID Disk Data Format Specification」、Wayback Machineで2009年8月24日にアーカイブ[Storage Networking Industry Association] Colorado Springs、2006年7月28日。2011年2月22日閲覧。
  15. ^ 「Adaptec ハイブリッド RAID ソリューション」(PDF) . Adaptec.com . Adaptec. 2012 . 2013年9月7日閲覧
  16. ^ 「Common RAID Disk Drive Format (DDF) standard」 . SNIA.org . SNIA . 2012年8月26日閲覧
  17. ^ "SNIA Dictionary" . SNIA.org . SNIA. 2010年1月9日時点のオリジナルよりアーカイブ2010年8月24日閲覧。
  18. ^ Tanenbaum, Andrew S. Structured Computer Organization 第6版. p. 95.
  19. ^ヘネシー, ジョン; パターソン, デイヴィッド (2006). 『コンピュータアーキテクチャ:定量的アプローチ』第4版. モーガン・カウフマン. p. 362. ISBN 978-0123704900
  20. ^ 「FreeBSDハンドブック、第20.5章 GEOM: モジュラーディスク変換フレームワーク」 。 2012年12月20日閲覧
  21. ^ White, Jay; Lueth, Chris (2010年5月). 「RAID-DP: NetAppによるデータ保護のためのダブルパリティRAIDの実装。NetAppテクニカルレポートTR-3298」. 2013年3月2日閲覧。
  22. ^ a b c Newman, Henry (2009年9月17日). 「RAIDの時代は終わりに近づいている」 . EnterpriseStorageForum . 2010年9月7日閲覧。
  23. ^ 「2019年にRAID 6が機能しなくなる理由」 ZDNet 2010年2月22日。2010年8月15日時点のオリジナルよりアーカイブ
  24. ^ a b Lowe, Scott (2009-11-16). 「RAID関連の回復不能な読み取りエラー(URE)から身を守る方法」Techrepublic . 2012年12月1日閲覧
  25. ^ Vijayan, S.; Selvamani, S.; Vijayan, S (1995). 「デュアルクロスハッチディスクアレイ:高信頼性ハイブリッドRAIDアーキテクチャ」 . 1995年国際並列処理会議議事録:第1巻. CRC Press . pp. I–146 ff . ISBN 978-0-8493-2615-8– Google ブックス経由。
  26. ^ 「なぜRAID 1+0はRAID 0+1よりも優れているのか?」 aput.net 2016年5月23日閲覧
  27. ^ 「RAID 10とRAID 01(RAID 1+0とRAID 0+1)を図解で解説」 www.thegeekstuff.com 2016年5月23日閲覧
  28. ^ 「RAID 10とRAID 01の比較 | SMB IT Journal」 www.smbitjournal.com 2014年7月30日. 2016年5月23日閲覧
  29. ^ a b Jeffrey B. Layton:「Nested-RAID 入門:RAID-01 と RAID-10」、Linux Magazine、2011年1月6日
  30. ^ 「パフォーマンス、ツール、そして一般的な愚かな質問」 tldp.org . 2013年12月25日閲覧
  31. ^ 「メインページ – Linux-raid」 . osdl.org. 2010年8月20日. 2008年7月5日時点のオリジナルよりアーカイブ。 2010年8月24日閲覧
  32. ^ 「Hdfs Raid」 . Hadoopblog.blogspot.com. 2009年8月28日. 2010年8月24日閲覧
  33. ^ a b「3.8: 「ロストRAIDのハッカーたち」" . OpenBSD リリース曲. OpenBSD . 2005-11-01 . 2019-03-23取得.
  34. ^ Long, Scott; Adaptec, Inc (2000). 「aac(4) — Adaptec AdvancedRAID コントローラドライバ」 . BSD 相互参照. FreeBSD ., "aac -- Adaptec AdvancedRAID コントローラドライバ". FreeBSD マニュアルページ. FreeBSD.
  35. ^ Raadt, Theo de (2005-09-09). 「OpenBSD 3.8でRAID管理サポートがサポートされる」 . misc@ (メーリングリスト). OpenBSD .
  36. ^ Murenin, Constantine A. (2010-05-21). 「1.1. 動機; 4. センサードライバー; 7.1. NetBSD envsys / sysmon」. OpenBSD ハードウェアセンサー — 環境モニタリングとファン制御( MMath論文).ウォータールー大学: UWSpace. hdl : 10012/5234 . 文書ID: ab71498b6b1a60ff817b29d56997a418.
  37. ^ 「RAID over File System」 。 2013年11月9日時点のオリジナルよりアーカイブ2014年7月22日閲覧。
  38. ^ 「ZFS Raidzのパフォーマンス、容量、整合性」calomel.org . 2017年6月26日閲覧
  39. ^ "ZFS -illumos" . illumos.org . 2014年9月15日. 2019年3月15日時点のオリジナルよりアーカイブ。 2016年5月23日閲覧
  40. ^ 「ZFSストレージプールの作成と破棄 – Oracle Solaris ZFS管理ガイド」 . Oracle Corporation . 2012年4月1日. 2014年7月27日閲覧
  41. ^ “20.2. Zファイルシステム(ZFS)” . freebsd.org . 2014年7月3日時点のオリジナルよりアーカイブ。 2014年7月27日閲覧
  42. ^ 「ダブルパリティRAID-Z(raidz2)(Solaris ZFS管理ガイド)」 Oracle Corporation . 2014年7月27日閲覧
  43. ^ 「トリプルパリティRAIDZ(raidz3)(Solaris ZFS管理ガイド)」Oracle Corporation2014年7月27日閲覧
  44. ^ Deenadhayalan, Veera (2011). 「General Parallel File System (GPFS) Native RAID」(PDF) . UseNix.org . IBM . 2014年9月28日閲覧
  45. ^ 「Btrfs Wiki: 機能一覧」 . 2012年11月7日. 2012年11月16日閲覧
  46. ^ 「Btrfs Wiki: 変更ログ」 . 2012年10月1日. 2012年11月14日閲覧
  47. ^ Trautman, Philip; Mostek, Jim. 「Scalability and Performance in Modern File Systems」 linux-xfs.sgi.com . 2015年4月22日時点のオリジナルよりアーカイブ。 2015年8月17日閲覧
  48. ^ 「Linux RAIDセットアップ – XFS」 . kernel.org . 2013年10月5日. 2015年8月17日閲覧
  49. ^ Hewlett Packard Enterprise. 「HPEサポートドキュメント - HPEサポートセンター」 . support.hpe.com .
  50. ^ 「Mac OS X: ディスクユーティリティでRAIDセットを結合する方法」 。 2010年1月4日閲覧
  51. ^ 「Apple Mac OS X Server ファイルシステム」 。 2008年4月23日閲覧
  52. ^ 「Other World ComputingがSoftRAID 8を発表、信頼性、速度、データ保護の新たな基準を確立」 TechPowerUp、2024年3月20日。 2024年11月24日閲覧
  53. ^ 「FreeBSDシステムマネージャのGEOM(8)​​のマニュアルページ」 。 2009年3月19日閲覧
  54. ^ "freebsd-geom メーリングリスト – 新しいクラス / geom_raid5" . 2006年7月6日. 2009年3月19日閲覧
  55. ^ 「FreeBSDカーネルインターフェースマニュアル for CCD(4)」2009年3月19日閲覧。
  56. ^ 「ソフトウェアRAIDのハウツー」 。 2008年11月10日閲覧
  57. ^ "mdadm(8) – Linux manページ" . Linux.Die.net . 2014年11月20日閲覧。
  58. ^ 「Windows Vista の大規模セクターハードディスクドライブのサポート」 Microsoft 2007年5月29日。2007年7月3日時点のオリジナルよりアーカイブ。 2007年10月8日閲覧
  59. ^ 「Windows Vista、Windows 7、またはWindows Server 2008 R2をインストールしようとすると、ハードディスクのパーティションを選択またはフォーマットできません」。Microsoft 。2011年9月14日 2011年3月3日時点のオリジナルよりアーカイブ。 2009年12月17日閲覧
  60. ^ 「Windows XPを使用してRAID 5を実現する」 Tom 's Hardware、2004年11月19日。 2010年8月24日閲覧
  61. ^ Sinofsky, Steven (2012年1月5日). 「拡張性、回復力、効率性を実現するストレージの仮想化」 . Building Windows 8 ブログ. 2013年5月9日時点のオリジナルよりアーカイブ。 2012年1月6日閲覧
  62. ^ Metzger, Perry (1999年5月12日). 「NetBSD 1.4 リリースアナウンスメント」 . NetBSD.org . The NetBSD Foundation . 2013年1月30日閲覧
  63. ^ 「OpenBSD softraid manページ」 . OpenBSD.org . 2018年2月3日閲覧。
  64. ^ 「FreeBSDハンドブック」19章 GEOM: モジュラーディスク変換フレームワーク2009年3月19日閲覧。
  65. ^ 「SATA RAID FAQ」 . Ata.wiki.kernel.org. 2011年4月8日. 2012年8月26日閲覧
  66. ^ 「Red Hat Enterprise Linux – ストレージ管理者ガイド – RAID タイプ。redhat.com
  67. ^ラッセル、チャーリー、クロフォード、シャロン、エドニー、アンドリュー (2011). Windows Small Business Server 2011 Essentials の操作. O'Reilly Media, Inc. p. 90. ISBN 978-0-7356-5670-3– Google ブックス経由。
  68. ^ Block, Warren. 「19.5. ソフトウェアRAIDデバイス」 . freebsd.org . 2014年7月27日閲覧
  69. ^ Krutz, Ronald L.; Conley, James (2007). Wiley Pathways Network Security Fundamentals . John Wiley & Sons . p. 422. ISBN 978-0-470-10192-6– Google ブックス経由。
  70. ^ a b c「ハードウェア RAID とソフトウェア RAID: アプリケーションに最適な実装はどれか? Adaptec ホワイトペーパー」( PDF)。adaptec.com
  71. ^スミス、グレゴリー (2010). PostgreSQL 9.0: 高性能. Packt Publishing Ltd. p. 31. ISBN 978-1-84951-031-8– Google ブックス経由。
  72. ^ Ulf Troppens、Wolfgang Mueller-Friedt、Rainer Erkens、Rainer Wolafka、Nils Haustein.『ストレージネットワーク解説:ファイバーチャネルSAN、NAS、ISCSI、InfiniBand、FCoEの基礎と応用』 John Wiley and Sons、2009年、39ページ
  73. ^ Dell Computers、Dell PowerEdge RAID コントローラのバックグラウンド パトロール リード、Drew Habas および John Sieber 著、Dell Power Solutions から転載、2006 年 2 月http://www.dell.com/downloads/global/power/ps1q06-20050212-Habas.pdf
  74. ^ a b c「Smartmontoolsによるエラー回復制御」 。2009年。 2011年9月28日時点のオリジナルよりアーカイブ2017年9月29日閲覧。
  75. ^ Gray, Jim (1990年10月). 「1985年から1990年までのタンデムシステムの可用性に関する調査」(PDF) . IEEE Transactions on Reliability . 39 (4). IEEE: 409– 418. Bibcode : 1990ITR....39..409G . doi : 10.1109/24.58719 . S2CID 2955525. 2019年2月20日時点のオリジナル(PDF)からのアーカイブ 
  76. ^ Murphy, Brendan; Gent, Ted (1995). 「自動データ収集プロセスを用いたシステムおよびソフトウェアの信頼性の測定」. Quality and Reliability Engineering International . 11 (5): 341– 353. doi : 10.1002/qre.4680110505 .
  77. ^パターソン、D.、ヘネシー、J.(2009)、574。
  78. ^ 「RAID移行の冒険」 2007年7月10日. 2010年3月10日閲覧
  79. ^現実世界におけるディスク障害:100万時間のMTTFはあなたにとって何を意味するのか?ビアンカ・シュローダーガース・A・ギブソン
  80. ^ Pâris, Jehan-François; Long, Darrell DE (2006年10月30日). 「デバイスの多様性を利用したバッチ相関ディスク障害からのデータ保護」. StorageSS '06: Proceedings of the Second ACM Workshop on Storage Security and Survivability : 47– 52. doi : 10.1145/1179559.1179568 . ISBN 1-59593-552-5
  81. ^ Han, Shujie; Lee, Patrick PC; Xu, Fan; Liu, Yi; He, Cheng; Liu, Jiongzhou (2021).実稼働中のSSDベースデータセンターにおける相関障害に関する詳細な調査. FAST '21. pp.  417– 429.
  82. ^ Rosenthal, David. 「相関する障害(Shujie Hanらの論文FAST '21の要約)」
  83. ^ディスクはストレージ障害の主な原因か? ストレージ サブシステム障害特性の包括的研究。第 6 回 USENIX ファイルおよびストレージ テクノロジ カンファレンス (FAST '08)。
  84. ^ Harris, Robin (2010-02-27). 「RAID 6は2019年に機能しなくなるのか?」 . StorageMojo.com . TechnoQWAN . 2013年12月17日閲覧
  85. ^ JL Hafner、V. Dheenadhayalan、K. Rao、JA Tomlin。「消失訂正符号における消失データ復元のための行列法」USENIXファイル・ストレージ技術会議、2005年12月13~16日。
  86. ^ Miller, Scott Alan (2016年1月5日). 「様々なレベルにおけるRAIDパフォーマンスの理解」 . Recovery Zone . StorageCraft . 2016年7月22日閲覧.
  87. ^ Kagel, Art S. (2011年3月2日). 「RAID 5とRAID 10(あるいはRAID 3、RAID 4も)」 . miracleas.com . 2014年11月3日時点のオリジナルよりアーカイブ。 2014年10月30日閲覧
  88. ^ Baker, M.; Shah, M.; Rosenthal, DSH; Roussopoulos, M.; Maniatis, P.; Giuli, T.; Bungale, P (2006年4月). 「長期デジタルストレージの信頼性に関する新たな考察」.第1回ACM SIGOPS/EuroSys ヨーロッパコンピュータシステム会議 2006 議事録. pp.  221– 234. doi : 10.1145/1217935.1217957 . ISBN 1595933220. S2CID  7655425 .
  89. ^ Bairavasundaram, LN; Goodson, GR; Pasupathy, S.; Schindler, J. (2007年6月12~16日). 「ディスクドライブにおける潜在セクターエラーの解析」(PDF) . 2007 ACM SIGMETRICS国際会議「コンピュータシステムの測定とモデリング」の議事録. pp.  289– 300. doi : 10.1145/1254882.1254917 . ISBN 9781595936394. S2CID  14164251 .
  90. ^ Patterson, D., Hennessy, J. (2009).『コンピュータの構成と設計』ニューヨーク: Morgan Kaufmann Publishers. pp 604–605.
  91. ^ a b c Leventhal, Adam (2009-12-01). 「トリプルパリティRAIDとその先へ。ACM Queue、Association for Computing Machinery」 . 2012年11月30日閲覧
  92. ^ "「RAID5、RAID6、RAID1、およびその他のアレイの「書き込みホール」」。ZAR チーム。20122 月 15 日閲覧
  93. ^ a b Danti, Gionatan. 「書き込みホール:どのRAIDレベルが影響を受けるか?」 Server Fault .
  94. ^ 「お知らせ: mdadm 3.4 - Linux で md Soft RAID を管理するためのツール [LWN.net]」lwn.net
  95. ^ Brown, Neil (2015年11月24日). 「MD/RAID5ジャーナル [LWN.net]」 . lwn.net .
  96. ^ 「RAID 4/5/6 キャッシュ — Linux カーネルドキュメント」 . docs.kernel.org .
  97. ^md(4)  –  Linuxプログラマーズマニュアル– Manned.org の特殊ファイル
  98. ^ 「部分パリティログ」。Linuxカーネルドキュメント
  99. ^ Bonwick, Jeff (2005年11月17日). 「RAID-Z」 . Jeff Bonwickのブログ. Oracle Blogs.オリジナル記事より2014年12月16日アーカイブ. 2015年2月1日閲覧
  100. ^ a b Overstreet, Kent (2021年12月18日). “bcachefs: Principles of Operation” (PDF) . 2023年5月10日閲覧
  101. ^ Gray, Jim (2008-06-11). 「トランザクション概念:長所と限界(招待論文)」 . VLDB [Very Large Data Bases] 1981. pp.  144– 154. 2008-06-11時点のオリジナルよりアーカイブ
  102. ^ 「 SNIA辞書におけるライトバックキャッシュの定義」。snia.org

さらに読む