web-dev-qa-db-ja.com

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

私は常に、次のことがRAIDの一般的な経験則であると考えてきました。

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

この仮定は正しいですか? (そして、R/WのJBODセットアップとどのように比較しますかIOパフォーマンス)

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

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

8
wag2639

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

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

ほとんどのマザーボードタイプのRAIDは、優れたRAID1読み取りパフォーマンスを提供しません。前回Windowsをチェックしたとき、LinuxにはRAID1読み取りの適切な実装もありませんでした。 BSDには、ラウンドロビン読み取り方式を使用するRaid1実装が正しく実装されていました。

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

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コントローラーから取得することはないと思います。

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

RAID6。 RAID 5と比較して冗長性が向上しました。2台のドライブはいつでも故障する可能性があり、1台のドライブが故障した後にアレイを再構築しても冗長性があります(RAID 5ドライブが故障した場合、アレイはRAID0と同様です-ドライブの故障=全損失)。

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

12
bubu

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

コントローラとソフトウェアの細部に立ち入ることなく、ここに私の経験則があります。

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

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

RAID 2から4(問題ではありません)は、エンタープライズ側の特定のベンダーの製品を除いて、通常は使用されていません。

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

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

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

2
Jeremy

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

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

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

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

0
Nick