非標準RAIDレベル
すべてのRAID実装は仕様からある程度逸脱していますが、一部の企業やオープンソースプロジェクトでは、標準とは大きく異なる非標準のRAID実装が開発されています。さらに、 RAIDの略語で呼ばれない複数のハードドライブ構成を提供する、 非RAIDドライブアーキテクチャも存在します。
RAID-DP
行対角パリティ(RDP)は、パリティの専用ディスクの1つがRAID 4のように水平の「行」にあるが、もう1つの専用パリティはRAID 5のようにブロックの順序を変えて(「対角」に)計算される方式である。パリティ自体は、完全に専用のディスク上(ダブルRAID 4のように)または分散方式(RAID 5のように)に配置することができる。[ 1 ]
RDPはNetAppによって発明され、同社はRAID-DP (RAIDダブルパリティ)と呼ばれる珍しいパリティストレージシステムにもこれを採用しています。「行」パリティはRAID 4と同様に専用ディスクに保存されますが、「対角」パリティはRAID 5と同様に分散保存されます。[ 2 ] [ 3 ]この技術は、SNIAの広義の定義ではRAID 6とみなされ、RAID 6と同じ障害特性を持ちます。[ 4 ]
RDPは、従来の方式(リード・ソロモン、アンビンの最適化の有無、EVENODD)と比較して、CPU効率が非常に高い。[ 1 ] RAID-DPのパフォーマンスペナルティは、同様のRAID 4構成と比較した場合、通常2%未満である。[ 5 ]
RAID 7、RAID N+M
RAID 7.mは、m台の予備ドライブを備え、 m台のドライブの損失を許容できる消失訂正符号化システムを表すために使用されています。この方式では、RAID 5はRAID 7.1、RAID 6はRAID 7.2となります。[ 6 ]また、RAID N+Mは、N台の通常のデータドライブとM台の冗長ドライブを備え、M台のドライブのいずれかが故障してもすべてのデータを復旧できるシステムを指します。[ 7 ]
一般パリティシステム
パリティ関数をより慎重に選択することで、はるかに多くのドライブをサポートすることが可能になります。ここで直面する課題は、有限体 上の連立方程式が一意に解を持つことを保証することです。そのためには、有限体上の多項式方程式の理論を利用できます。
のガロア体 を考えてみましょう。この体は、上の次数の適切な既約多項式に対する多項式体と同型です。データ要素をガロア体上の多項式で表します。を、このように体の要素としてエンコードされたハードドライブ上のデータストライプに対応させます。を体における加算を表すために、 を連結を表すために使用します。 を再利用するのは意図的です。これは、有限体における加算がXOR演算子を表すため、2つの要素の和を計算することは、多項式係数のXORを計算することと等価だからです。
体 の生成元とは、が非負の各 に対して異なる である体の元です。これは、 を除く体の各元がのべき乗として表されることを意味します。有限体には少なくとも1つの生成元が存在することが保証されています。そのような生成元を1つ選び、とを次のように定義します。
以前と同様に、最初のチェックサムは各ストライプのXOR演算ですが、今回は多項式として解釈されます。 の効果は、データチャンクに対する慎重に選択された線形フィードバックシフトレジスタの作用と考えることができます。 [ 8 ] 簡略化された例のビットシフトは、エンコードが繰り返される前に 回しか適用できませんでしたが、演算子を複数回適用すると、一意の可逆関数が生成されることが保証され、 のチャンク長で 最大 個のデータピース をサポートできるようになります。
データチャンクが1つ失われた場合も、状況は前述と同様です。データチャンクが2つ失われた場合は、回復式を代数的に計算できます。 と が の失われた値であると仮定すると、 の他の値を用いて、定数と を求めます。
2 番目の方程式 の を解き、それを 1 番目の方程式に代入して を求め、 と を求めることができます。
Pとは異なり、 Qの計算はにおける多項式乗算を伴うため、CPU の負荷が比較的高くなります。これはハードウェア実装(ASIC またはFPGA )によって軽減できます。
あるいは,Anvinによる巧みな多項式の選択により,CPU上で高速な計算が可能となる:この構成により, GF(2 8 )における2の加算と乗算のみを用いた効率的な実装が可能となり, SSSE3,AVX2 ,その他のSIMD方式を用いて効率的に実装することが可能となる.同様に,または を定義することもできる.
残念ながら、アンビンのヴァンデルモンド行列解法は3重パリティまでしか機能せず、それ以上のパリティではコーシー行列の構築が必要となる。SSSE3、AVX2、その他のSIMD法は依然として適用可能である。[ 9 ]
RAID 5E、RAID 5EE、および RAID 6E
RAID 5E、RAID 5EE、およびRAID 6E(Enhancedの頭文字であるEが付加されている)は、一般的にRAID 5またはRAID 6の派生版で、ホットスペアドライブを内蔵しています。これらのドライブでは、スペアドライブがブロックローテーションスキームのアクティブな構成要素となります。これにより、I/Oがスペアドライブを含むすべてのドライブに分散され、各ドライブの負荷が軽減され、パフォーマンスが向上します。ただし、スペアドライブを複数のアレイで共有することは不可能であり、これは場合によっては望ましいことです。[ 10 ]
インテル マトリックス RAID

インテル マトリックス RAID(インテル ラピッド・ストレージ・テクノロジーの機能)は、インテルのICH6R以降のサウスブリッジチップセットに搭載されている機能(RAID レベルではありません)であり、RAID BIOSセットアップユーティリティからアクセスおよび設定できます。マトリックス RAID は、最小 2 台の物理ディスクから、コントローラーがサポートする最大台数のディスクまでをサポートします。マトリックス RAID の特徴は、アレイ内に RAID 0、1、5、または 10 のボリュームを任意に組み合わせることができ、各ディスクの制御可能な(かつ同一の)領域を各ボリュームに割り当てることができることです。[ 11 ] [ 12 ] [ 13 ]
このように、Matrix RAIDアレイはパフォーマンスとデータの整合性の両方を向上させることができます。具体的な例としては、オペレーティングシステム、プログラム、ページングファイル用に小さなRAID 0(ストライプ)ボリュームを使用し、2つ目の大きなRAID 1(ミラー)ボリュームに重要なデータを保存するというものがあります。Linux MD RAIDも同様の機能を備えています。[ 11 ] [ 12 ] [ 13 ]
Linux MD RAID 10
Linuxカーネルが提供するソフトウェアRAIDサブシステム(md)は、従来の(ネストされた)RAID 1+0アレイと、いくつかの追加機能を備えた単一レベルのRAIDレイアウトを使用する非標準RAIDアレイの両方の作成をサポートしています。[ 14 ] [ 15 ]
標準的な「ニア」レイアウトは、各チャンクがkウェイストライプアレイ内でn回繰り返されるレイアウトであり、標準的なRAID 10構成と同等ですが、 nがkを均等に割り切る必要はありません。例えば、2、3、4台のドライブでn 2レイアウトを構成すると、次のようになります。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ---------- -------------- A1 A1 A1 A1 A2 A1 A1 A2 A2 A2 A2 A2 A3 A3 A3 A3 A4 A4 A3 A3 A4 A4 A5 A5 A5 A6 A6 A4 A4 A5 A6 A6 A7 A7 A8 A8 .. .. .. .. .. .. .. .. ..
4ドライブの例は標準的なRAID 1+0アレイと同一ですが、3ドライブの例はRAID 1Eのソフトウェア実装です。2ドライブの例はRAID 1と同等です。[ 17 ]
このドライバは、すべてのドライブをfセクションに分割する「far」レイアウトもサポートしています。各セクション内のすべてのチャンクは繰り返されますが、グループ(例えばペア)単位で切り替えられます。例えば、2、3、4ドライブアレイ上のf 2レイアウトは次のようになります。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ------------ ------------------ A1 A2 A1 A2 A3 A1 A2 A3 A4 A3 A4 A4 A5 A6 A5 A6 A7 A8 A5 A6 A7 A8 A9 A9 A10 A11 A12 .. .. .. .. .. .. .. .. .. A2 A1 A3 A1 A2 A2 A1 A4 A3 A4 A3 A6 A4 A5 A6 A5 A8 A7 A6 A5 A9 A7 A8 A10 A9 A12 A11 .. .. .. .. .. .. .. .. ..
「Far」レイアウトは、ミラーリングされたアレイ上でストライピング性能を提供するために設計されており、RAID 0構成と同様にシーケンシャルリードをストライピングできます。[ 18 ]ランダムリードはやや高速ですが、シーケンシャルライトとランダムライトは他のミラーリングされたRAID構成とほぼ同等の速度を提供します。「Far」レイアウトは、書き込みよりも読み取り頻度が高いシステム(一般的なケース)で優れたパフォーマンスを発揮します。比較すると、LinuxソフトウェアRAIDが提供する通常のRAID 1は、読み取りをストライピングしませんが、読み取りを並列に実行できます。[ 19 ]
mdドライバは「オフセット」レイアウトもサポートしています。このレイアウトでは、各ストライプはo回繰り返され、f(far)デバイス分オフセットされます。例えば、2、3、4ドライブアレイ上のo 2レイアウトは次のように配置されます。 [ 16 ] [ 17 ]
2ドライブ 3ドライブ 4ドライブ -------- ---------- --------------- A1 A2 A1 A2 A3 A1 A2 A3 A4 A2 A1 A3 A1 A2 A4 A1 A2 A3 A3 A4 A4 A5 A6 A5 A6 A7 A8 A4 A3 A6 A4 A5 A8 A5 A6 A7 A5 A6 A7 A8 A9 A9 A10 A11 A12 A6 A5 A9 A7 A8 A12 A9 A10 A11 .. .. .. .. .. .. .. .. ..
「近い」レイアウトと「オフセット」レイアウトを組み合わせることも可能です(ただし、「遠い」レイアウトと「オフセット」レイアウトを組み合わせることはできません)。[ 17 ]
上記の例では、kはドライブの数であり、n#、f#、o#はパラメータとして与えられ、mdadmの--レイアウトオプション。LinuxソフトウェアRAID(Linuxカーネルの医学ドライバーは標準的なRAID 0、1、4、5、6構成の作成もサポートしています。[ 20 ] [ 21 ]
RAID 1E

一部のRAID 1実装では、2台以上のディスクを持つアレイを異なる方法で扱い、 RAID 1Eと呼ばれる非標準のRAIDレベルを作成します。このレイアウトでは、データストライピングとミラーリングが組み合わされ、書き込まれた各ストライプがアレイ内の残りのディスクの1つにミラーリングされます。RAID 1Eアレイの使用可能容量は、アレイを構成する全ドライブの総容量の50%です。異なるサイズのドライブが使用されている場合、各ドライブでは最小のドライブのサイズに相当する部分のみが利用されます。[ 22 ] [ 23 ]
通常のRAID 1ミラーペアと比較したRAID 1Eの利点の1つは、劣化したアレイでもランダム読み取り操作のパフォーマンスが単一ドライブのパフォーマンスを上回っていることです。[ 22 ]
RAID-Z
ZFSファイルシステムは、RAID 5に似たデータ/パリティ分散方式であるRAID-Zを提供しますが、動的なストライプ幅を使用します。ブロックサイズに関係なく、すべてのブロックが独自のRAIDストライプであるため、RAID-Zへの書き込みはすべてフルストライプ書き込みとなります。これは、 ZFSのコピーオンライトトランザクションセマンティクスと組み合わせることで、書き込みホールエラーを排除します。また、RAID-Zは通常の読み取り、変更、書き込みシーケンスを実行する必要がないため、従来のRAID 5よりも高速です。RAID-Zは、信頼性のためのNVRAMやパフォーマンスのための書き込みバッファリングなどの特別なハードウェアを必要としません。[ 24 ]
RAID-Zのストライプ幅は動的であるため、RAID-Zの再構築ではファイルシステムのメタデータを参照し、実際のRAID-Zジオメトリを決定する必要があります。ファイルシステムとRAIDアレイが別々の製品であれば、これは不可能ですが、データの論理構造と物理構造を統合的に把握することで実現可能になります。メタデータを参照することで、ZFSは256ビットのチェックサムを用いて各ブロックを検証できますが、従来のRAID製品では通常、これは不可能です。[ 24 ]
RAID-Zはディスク全体の障害に対処するだけでなく、サイレントデータ破損も検出・修復し、「自己修復データ」を提供します。RAID-Zブロックを読み取る際、ZFSはブロックをチェックサムと比較します。データディスクが正しい値を返さなかった場合、ZFSはパリティを読み取り、どのディスクが不良データを返したかを判断します。そして、破損したデータを修復し、正常なデータを要求元に返します。[ 24 ]
RAID-Zには5つのモードがあります。RAID -Z0(RAID 0に類似、冗長性なし)、RAID-Z1(RAID 5に類似、1つのディスクの障害を許容)、RAID-Z2(RAID 6に類似、2つのディスクの障害を許容)、RAID-Z3(RAID 7.3 [ a ]構成、3つのディスクの障害を許容)、ミラー(RAID 1に類似、1つを除くすべてのディスクの障害を許容)です。[ 25 ]
ドライブエクステンダー
Windows Home Server Drive Extenderは、ファイルシステムレベルで実装されたJBOD RAID 1の特殊なケースです。[ 26 ]
マイクロソフトは2011年、Drive ExtenderをWindows Home Server Version 2、Windows Home Server 2011(コードネームVAIL)に搭載しないことを発表しました。 [ 27 ]その結果、Drive Extenderの穴を埋めようとサードパーティベンダーが動き出しました。競合には、Drive Benderの開発元であるDivision Mと、StableBitのDrivePoolがあります。[ 28 ] [ 29 ]
RAIDを超えて
BeyondRAIDは真のRAID拡張機能ではありませんが、最大12台のSATAハードドライブを1つのストレージプールに統合します。[ 30 ] JBODと同様に、複数のディスクサイズを同時にサポートできるという利点があり、すべてのディスクに冗長性を提供し、いつでもホットスワップアップグレードが可能です。内部的には、RAID 1および5に類似した技術を組み合わせて使用しています。容量に対するデータの割合に応じて、別のドライブが故障する前に「アレイ」を残りの正常なディスクに復元できれば、最大3台のドライブ故障に耐えることができます。使用可能なストレージ容量は、ディスクの容量を合計し、最大ディスクの容量を差し引くことで概算できます。例えば、500GB、400GB、200GB、100GBのドライブがインストールされている場合、使用可能な容量は500GB + 400GB + 200GB + 100GB - 500GB = 700GBとなります。内部的には、データは 2 つの RAID 5 のようなアレイと 2 つの RAID 1 のようなセットに分散されます。
ドライブ | 100GB | | 200GB | | 400GB | | 500GB | ---------- | x | 使用できない領域 (100 GB) ---------- ---------- ---------- | A1 | | A1 | RAID 1 セット (2× 100 GB) ---------- ---------- ---------- ---------- | B1 | | B1 | RAID 1 セット (2× 100 GB) ---------- ---------- ---------- ---------- ---------- | C1 | | C2 | | Cp | RAID 5アレイ(3×100 GB) ---------- ---------- ---------- ---------- ---------- ---------- ---------- | D1 | | D2 | | D3 | | DP | RAID 5 アレイ (4× 100 GB) ---------- ---------- ---------- ----------
BeyondRaidはRAID 6のような機能を提供し、160ビットのSHA-1ハッシュを使用したハッシュベースの圧縮を実行してストレージ効率を最大化します。[ 31 ]
アンレイド
Unraidは、メディアファイルのストレージに最適化された独自のLinuxベースのオペレーティングシステムです。[ 32 ] 残念ながら、Unraidはそのストレージ技術に関する情報を提供していませんが、そのパリティアレイはmdadmモジュールの書き換えであると言う人もいます。
デメリットとしては、クローズドソースコード、高価格、単一ディスクよりも書き込みパフォーマンスが低いこと、複数のドライブへの同時書き込み時にボトルネックが発生することなどが挙げられます。しかし、Unraidはキャッシュプールをサポートしており、書き込みパフォーマンスを大幅に向上させることができます。キャッシュプールのデータは、 Unraidがソフトウェア内で設定されたスケジュールに基づいてアレイに移動するまで、 Btrfs RAID 1を使用して一時的に保護されます。
Advantages include lower power consumption than standard RAID levels, the ability to use multiple hard drives with differing sizes to their full capacity and in the event of multiple concurrent hard drive failures (exceeding the redundancy), only losing the data stored on the failed hard drives compared to standard RAID levels which offer striping in which case all of the data on the array is lost when more hard drives fail than the redundancy can handle.[33]
CRYPTO softraid
In OpenBSD, CRYPTO is an encrypting discipline for the softraid subsystem. It encrypts data on a single chunk to provide for data confidentiality. CRYPTO does not provide redundancy.[34] RAID 1C provides both redundancy and encryption.[34]
DUP profile
Some filesystems, such as Btrfs,[35] and ZFS/OpenZFS (with per-dataset copies=1|2|3 property),[36] support creating multiple copies of the same data on a single drive or disks pool, protecting from individual bad sectors, but not from large numbers of bad sectors or complete drive failure. This allows some of the benefits of RAID on computers that can only accept a single drive, such as laptops.
Declustered RAID
Declustered RAID from IBM allows for arbitrarily sized disk arrays while reducing the overhead to clients when recovering from disk failures. It uniformly spreads or declusters user data, redundancy information, and spare space across all the disks of a declustered array. Under traditional RAID, an entire disk storage system of, say, 100 disks would be split into multiple arrays each of, say, 10 disks. By contrast, under declustered RAID, the entire storage system is used to make one array. Every data item is written twice, as in mirroring, but logically adjacent data and copies are spread arbitrarily. When a disk fails, erased data is rebuilt using all the operational disks in the array, the bandwidth of which is greater than that of the fewer disks of a conventional RAID group. Furthermore, if an additional disk fault occurs during a rebuild, the number of impacted tracks requiring repair is markedly less than the previous failure and less than the constant rebuild overhead of a conventional array. The decrease in declustered rebuild impact and client overhead can be a factor of three to four times less than a conventional RAID. File system performance becomes less dependent upon the speed of any single rebuilding storage array.[37]
Dynamic disk pooling (DDP), also known as D-RAID, maintains performance even when up to 2 drives fail simultaneously.[38] DDP is a high performance type of declustered RAID.[39]
See also
説明ノート
参考文献
- ^ a b Peter Corbett、Bob English、Atul Goel、Tomislav Grcanac、Steven Kleiman、James Leong、Sunitha Sankar (2004). 「二重ディスク障害訂正のための行対角パリティ」(PDF) . USENIX Association. 2013年11月22日時点のオリジナルよりアーカイブ(PDF) . 2013年11月22日閲覧。
- ^フィッシャー、ヴェルナー。「RAID-DP」。トーマス・クレン。2023 年5 月 26 日に取得。
- ^ White, Jay; Lueth, Chris; Bell, Jonathan (2003年3月). 「RAID-DP: NetAppによるデータ保護のためのダブルパリティRAIDの実装」(PDF) . NetApp.com . Network Appliance . 2014年6月7日閲覧.
- ^ 「Dictionary R」 . SNIA.org . Storage Networking Industry Association . 2007年11月24日閲覧。
- ^ White, Jay; Alvarez, Carlos (2011年10月). 「Back to Basics: RAID-DP | NetApp Community」 . NetApp.com . NetApp . 2014年8月25日閲覧。
- ^ a b Leventhal, Adam (2009-12-17). 「トリプルパリティRAIDとその先:ハードドライブの容量がスループットを上回り続ける中、新たなレベルのRAIDの時代が到来した」 ACM Queue . 7 (11): 30. doi : 10.1145/1661785.1670144 .
- ^引用エラー: 名前付き参照が呼び出されましたが、定義されていません (ヘルプ ページを参照してください)。
xinnor - ^ Anvin, H. Peter (2009年5月21日). 「RAID-6の数学」(PDF) . Kernel.org . Linuxカーネル組織. 2009年11月4日閲覧.
- ^ "bcachefs-tools: raid.c" . GitHub . 2023年5月27日.
- ^ 「非標準RAIDレベル」 RAIDRecoveryLabs.com . 2013年12月15日時点のオリジナルよりアーカイブ。 2013年12月15日閲覧。
- ^ a b「IntelのMatrix RAIDを調査」 The Tech Report. 2005年3月9日. 2014年4月2日閲覧。
- ^ a b「Intel Matrix Storage Technologyを使用したRAIDの設定」 HP.com 、 Hewlett Packard 。 2014年4月2日閲覧。
- ^ a b「Intel Matrix Storage Technology」 . Intel.com . Intel. 2011年11月5日. 2014年4月2日閲覧。
- ^ 「ソフトウェアRAID 10デバイスの作成」 . SUSE . 2016年5月11日閲覧。
- ^ 「ネストされたRAIDレベル」 Arch Linux . 2016年5月11日閲覧。
- ^ a b c「複雑なRAID 10の作成」 SUSE 2016年5月11日閲覧。
- ^ a b c d e「LinuxソフトウェアRAID 10レイアウトのパフォーマンス:近距離、遠距離、オフセットのベンチマーク分析」 Ilsistemista.net 2012年8月28日。2023年3月24日時点のオリジナルよりアーカイブ。 2014年3月8日閲覧。
- ^ Jon Nelson (2008年7月10日). 「2.6.25.5でのRAID5、6、10のベンチマーク」 . Jamponi.net . 2014年1月1日閲覧。
- ^ 「パフォーマンス、ツール、そして一般的な愚かな質問」 TLDP.org 。2014年1月1日閲覧。
- ^ "mdadm(8): MDデバイス(別名ソフトウェアRAID)の管理 - Linux manページ" . Linux.Die.net . 2014年3月8日閲覧。
- ^ "md(4): マルチデバイスドライバー(別名ソフトウェアRAID) - Linux manページ" . Die.net . 2014年3月8日閲覧。
- ^ a b「自分に最適なRAIDレベルはどれか?: RAID 1E(ストライプミラーリング)」。Adaptec 。2014年1月2日閲覧。
- ^ 「LSI 6 Gb/s Serial Attached SCSI (SAS) Integrated RAID: A Product Brief」(PDF) . LSI Corporation . 2009.オリジナル(PDF)から2011年6月28日にアーカイブ。 2015年1月2日閲覧。
- ^ a b c Bonwick, Jeff (2005年11月17日). 「RAID-Z」 . Jeff Bonwickのブログ. Oracle Blogs. 2014年12月16日時点のオリジナルよりアーカイブ。2015年2月1日閲覧。
- ^ 「ZFS Raidzのパフォーマンス、容量、整合性」calomel.org。2017年11月27日時点のオリジナルよりアーカイブ。 2017年6月23日閲覧。
- ^ Windowsの論理ディスクマネージャーとは別
- ^ 「MS 、Windows Home Serverからドライブプーリングを削除」The Register。
- ^ 「Drive Benderの一般公開版が今週到着」。We Got Served。2017年8月20日時点のオリジナルよりアーカイブ。2014年1月15日閲覧。
- ^ 「StableBit DrivePool 2年レビュー」Home Media Tech . 2013年12月。
- ^ Data Robotics, Inc. は、 Drobostorageデバイスに BeyondRaid を実装しています。
- ^ BeyondRaidの詳細な技術情報(ドライブの追加と削除の処理方法を含む)は、 US 20070266037 、Julian Terry、Geoffrey Barrall、Neil Clarkson、「Filesystem-Aware Block Storage System, Apparatus, and Method」( DROBO Incに譲渡)をご覧ください。
- ^ 「unRAIDとは?」 Lime-Technology.com Lime Technology. 2013年10月17日. 2014年1月5日時点のオリジナルよりアーカイブ。2014年1月15日閲覧。
- ^ "LimeTech – Technology" . Lime-Technology.com . Lime Technology. 2013年10月17日. 2014年1月5日時点のオリジナルよりアーカイブ。 2014年2月9日閲覧。
- ^ a b「マニュアルページ: softraid(4)」 . OpenBSD.org . 2022年9月6日. 2022年9月8日閲覧。
- ^ 「マニュアルページ: mkfs.btrfs(8)」 . btrfs-progs . 2018年1月8日. 2018年8月17日閲覧。
- ^ 「メンテナンスコマンド zfs - ZFS ファイルシステムを構成します」。illumos : マニュアルページ: zfs.1m。
- ^ 「Declustered RAID」 IBM、2019年6月14日。 2020年2月1日閲覧。
- ^ IBM. 「ダイナミック ディスク プーリング (DDP)」 .
- ^「ハイパフォーマンスコンピューティング: NEC GxFS ストレージアプライアンス」。6 ページ。