実用的なRAIDパフォーマンス?


8

RAIDの一般的な経験則は次のとおりであると常に考えていました。

  • RAID 0:ストリッピングからの読み取りと書き込みの最高のパフォーマンス、最大のリスク
  • RAID 1:冗長性があり、読み取りにはまともです(異なるハードドライブからファイルの異なる部分から読み取ることができると思います)。書き込みには最適ではありません。
  • RAID 0 + 1(01):RAID 1の冗長性とRAID 0のパフォーマンスを組み合わせます
  • RAID 1 + 0(10):RAID 0 + 1のわずかに優れたバージョン
  • RAID 5:優れた読み取りパフォーマンス、悪い書き込みパフォーマンス、冗長

この仮定は正しいですか?(およびR / W IOパフォーマンスのJBODセットアップとの比較)

特定の実用的なRAIDセットアップは、ゲーム、ビデオ編集、データベース(アクセスまたはSQL)などのさまざまなアプリケーションに適していますか?

ハードディスクドライブについて考えていましたが、これはソリッドステートドライブにも適用されますか?


各RAIDクラスの冗長性についての私の理解はかなり良く、読み取りと書き込みのI / Oパフォーマンスがわからないだけです。
wag2639

JBODについては、パフォーマンスや冗長性が提供されていないことがわかっているので、ベースリファレンスとして言及しました。
wag2639

回答:


12

RAID 0。優れた読み書き速度。メンバーディスクの数が増えると、障害のリスクが高まります。パリティなし。

RAID 1ドライバーが適切に実装されている場合にのみ、優れた読み取り速度-ArecaおよびLSI RAID RAIDコントローラーを使用する場合、RAID 1セットの読み取り機能はRAID 0セットとほぼ同じです(10%以内)。ソフトウェアRAIDソリューションには、OSソフトウェアとマザーボードソフトウェアの2種類があることに注意してください。

ほとんどのマザーボードタイプのRAIDでは、RAID 1の読み取りパフォーマンスは高くありません。前回WindowsとLinuxを確認したところ、RAID 1読み取りの実装が適切ではありませんでした。BSDには、ラウンドロビン読み取りメソッドを使用する、正しく実装されたRaid 1実装がありました。

つまり、冗長性のためにRAID 1を使用し、高度なコントローラーを使用する場合は読み取り速度を使用します。

RAID 1/0およびRAID 0/1。これは組み合わせです。10個のディスクがあるとします。RAID 1/0は、各セットにミラーがあることです:セットA(1 + 2)、セットB(3 + 4)、セットC(5 + 6)、セットD(7 + 8)、セットE(9+ 10)次に、5セット(AE)にわたってストリップセットを実行します。この方法では、各セットで1つのドライブに障害が発生する可能性がありますが、同じセットで2つのドライブに障害が発生した場合は、完了です。

RAID 0/1は、ストリップセットA(1 + 2 + 3 + 4 + 5)とセットB(6 + 7 + 8 + 9 + 10)を持ち、2つのセットをミラーリングすることです。このようにして、ドライブ2とドライブ9に障害が発生した場合、ほとんどのコントローラーはこれを完全な障害と見なします(実際には、すべてのデータが残っています)。

2つのパフォーマンスの違いはほとんどありませんが、通常はRAIDコントローラから両方を取得するとは思いません。

RAID 5。非常に混合されたバッグ:シーケンシャルリードの場合、raid 1/0よりも高速で、ランダムリードの場合、それよりも少し遅くなります。RAID 5のパフォーマンスはコントローラーの速度に大きく依存することに注意してください(たとえば、オンボードRAIDではあまり期待できません)。

レイド6。冗長性はRAID 5と比較して増加しました。2つのドライブはいつでも故障する可能性があり、1つのドライブが故障した後にアレイを再構築しても冗長性があります(RAID 5のドライブが故障した場合、アレイはRAID 0に似ています-あらゆるドライブの故障=完全な損失)。

JBOD。私が考えることができる利点はありません。


おかげで..私が読んでいることから、パフォーマンスゲームを目的とした一般的なコンシューママザーボードを使用する場合、raid 0は、専用のraidコントローラを個別に取得することなく最適です。(os +プログラムを再インストールする必要があるかどうかは関係ありません。データは別の場所にあります
。raid5

2
あなたはとても正しいです。マザーボードraidを使用した場合のパフォーマンスは、OSベースのソフトウェアraidを使用した場合とそれほど変わらないと思います(もちろん、違いは、システムドライブをOSベースのソフトウェアraidで襲撃できないことです)。また、マザーボードraidのraid5パフォーマンスは悲惨です(場合によっては15-20MB / sの下方に!)
bubu

2

あなたの質問が暗示するように、実際には「最良の」RAID構成はなく、特定の状況にのみ最適であり、コストが最も重要な要素の1つであることがよくあります。

コントローラーとソフトウェアの細かい点に触れない限り、ここに私の経験則があります。

RAID 0は、一度に多くのディスクを読み書きできるため、最速で、冗長性のために「無駄」なスペースはありません。ディスクを失うとセットが失われるため、RAID 0は気にしないマシンでのみ使用するか、復元が簡単で、重要なデータが含まれていないマシンでのみ使用してください。ゲーミングマシンはこのシナリオに適合しますが、正直なところ、速度の違いはそれほど目立たないので、マシンを再構築しなければならないというリスクの増大を受け入れるつもりです。また、そのようなことを必要とするソフトウェアがある場合は、非常に高速な「スクラッチ」領域にも役立ちます。

RAID 1は、非常に一般的なミラー設定で、通常は2つのディスクで構成されます。読み取りは通常、単一のディスクの2倍の速度で実行されますが、書き込みは単一のディスクよりも少しだけ遅くなります。サーバーでは、RAID 1はオペレーティングシステムファイルに最適です。これは、冗長性が必要な場合にも適しています。ストレージのニーズはRAID 5を必要とするほど大きくなく、読み取り速度が向上する可能性があります(データベースログファイルは通常RAID 1に配置されます)。

RAID 2から4(問題ではない)は、企業側の特定のベンダーの製品を除いて、通常は使用されません。

RAID 5は、冗長性のために多くのスペースを無駄にしないことと、追加のディスクの追加パフォーマンスを得ることに妥協点があります。すべてのディスクが参加できるため、読み取り速度は非常に良好です。RAID 5では書き込み速度が問題になる場合がありますが、状況によっては誇張されていることもあります。パリティ計算を行うハードウェアを使用しても、各論理書き込み操作には4つのI / O(データディスクからの読み取り、パリティディスクからの読み取り、データディスクの書き込み、パリティディスクの書き込み)が必要であるため、RAID 5では小さなランダム書き込みが影響を受けます。十分な安全性を保ちながらディスクセットから取得するストレージの量を最大化する場合は、RAID 5を選択します。アプリケーションに高いパフォーマンスのニーズがあり、大量の小さなランダム書き込み(仮想マシンのハードディスク、データベースデータファイル)が必要な場合は避けてください。また、最近の大容量ディスクは、RAID 5セットの一部として障害が発生した場合、再構築にかなりの時間がかかるため、2番目のディスク障害が発生する可能性が高くなることに注意してください。RAID 6は、ランダム書き込みパフォーマンスがさらに低下する代わりに、このリスクを軽減できます。

RAID 1/0と0/1のパフォーマンス特性はほとんど同じです。ただし、障害はディスクのストライプ全体ではなく、関係するディスクのペアのみを再構築することを意味するため、1/0が望ましいです。RAID 1/0は、質問で述べた構成の中で最も高速な汎用構成です。読み取りと書き込みのパフォーマンスはどちらも優れています(読み取りは基本的にすべてのディスクから同時に行うことができ、書き込みは複数のディスクで行う必要がありますが、RAID 5のように読み取り/読み取り/書き込み/書き込みサイクルは必要ありません)。ただし、RAID 5は特定の状況で勝つことができます。RAID 1/0も(当然のことながら)ほとんどすべてのケースで最も高価です。これは、パフォーマンスが重要であり、データの価値が非常に高く、アプリケーションにダウンタイムに対する耐性がない場合にのみ使用してください。多くの場合、データベースサーバー(または少なくともそのデータファイル)がRAID 1/0の良い候補になります。

ソリッドステートドライブは、特にその冗長性の値のために、確かにRAID構成にすることができます。多くのSSDは、特に読み取り操作の場合、接続されているバス(SATA)よりも性能が優れているため、RAIDのパフォーマンスへの影響はSSDにはあまり影響されません。


0

ハードウェアRAIDコントローラを購入する場合は、RAID5を使用してください。オーバーヘッドが最小であり、ハードウェアRAIDコントローラーはハードウェアでパリティビットを計算するため、書き込みオーバーヘッドのペナルティがほとんどなくなります。Raid5は複数のディスクを同時に読み取り、読み取りと書き込みの速度を向上させます。

はい、これはソリッドステートドライブにも適用されます。Raid0でのSSDのテストでは、ほぼ線形の速度の増加が示されました。

Raid5はサーバーの世界で最も使用されているテクノロジーですが、ハードドライブが2つしかないラップトップの場合は、raid1をミラーリングすることをお勧めします。

JBODには、ハードドライブに障害が発生した場合の冗長性はありませんが、設定によっては、RAIDのようなパフォーマンスを向上させるためにデータをストライプ化できます。


1
JBODは、異なるサイズのディスクで使用するように設計されているため、通常はストライプできません。同じサイズの場合は、代わりにRAID 1またはRAID 0を使用しているはずです。
ダースAndroid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.