RAID 書き込みペナルティとソリューション フラッシュ ホルモンについての話

RAID 書き込みペナルティとソリューション フラッシュ ホルモンについての話

導入

通常、さまざまな RAID 保護タイプのパフォーマンスについて議論する場合、結論としては、RAID-1 は読み取りおよび書き込みパフォーマンスが向上し、RAID-5 は読み取りパフォーマンスが優れていますが、書き込みパフォーマンスは RAID-1 ほど良くなく、RAID-5 は読み取りおよび書き込みパフォーマンスが優れているということになります。 6 の方が保護レベルが高く、書き込みパフォーマンスは高くても比較的劣るため、RAID10 は最高のパフォーマンスとデータ保護を提供しますが、コストも高くなります。実際、これらのパフォーマンスに関する考慮事項を決定する要因は非常に単純で、それは RAID 書き込みペナルティ (書き込みペナルティ) です。

RAID5の3つの書き込み方法

  • フルストライプ書き込み

ディスク書き込み操作のデータがストライプに正確にマッピングされている場合、対応するチェック値は新しいデータ ブロックの値に従って直接計算でき、このプロセスは RAID キャッシュ内で直接完了できます。書き込み全体には冗長な読み取り操作は必要なく、RAID5 で最も効率的な書き込み操作です。

  • 再構築書き込み

一度にディスクに書き込むデータにストライプ内の複数のデータブロックが含まれる場合、新たな検証情報を生成する際には、更新されていないデータをキャッシュに読み込んでから新たな検証情報を計算する必要があります。新しいユーザー データは、新しいパリティ情報とともにディスク上の対応する場所に書き込まれます。再構築書き込みでは、完全書き込みよりも古いデータの読み取り操作が 1 回多いため、効率は完全書き込みよりも低くなります。

  • 読み取り-変更-書き込み

一度にディスクに書き込まれたデータにStripe内のごく一部のデータブロックが含まれている場合、新しいチェック値を計算するには、まずStripe内の更新対象の古いデータと古いチェック情報を読み出す必要があります。 、新しいデータ情報との照合を計算し、新しいデータと新しい検証情報を一緒にディスクに書き込むこの操作を「読み取りと再書き込み」と呼びます。

書き込み効率の順序は、全体書き込み > リファクタリング書き込み > 読み取りリライトです。

RAID-5 書き込みペナルティの例

ストレージ ソリューションを計画するプロセスでは、パフォーマンスと容量という 2 つの最も基本的な考慮事項があります。パフォーマンスの計算は、IOPS と帯域幅の要件に分けることができます。ストレージ アレイのキャッシュとフロント ポートに関係なく、IOPS を計算します。バックエンド物理ディスクの IOPS は、物理ディスクの最大 IOPS を合計するだけでは計算できません。その理由は、RAID レベルが異なると、物理ディスクが損傷したときにデータを確実に回復できるようにするために、データ書き込みプロセス中に特別な計算が必要になるためです。たとえば、RAID-5 では、ストライプ上のいずれかのディスク上のデータが変更されると、パリティ ビットが再計算されます。次の図に示すように、7+1 RAID-5 ストライプでは、7 つのディスクにデータが保存され、最後のディスクにチェック ディジットが保存されます。

RAID_ペナルティ-1.png

データの書き込みでは、5 番目のディスクに書き込まれたデータが 1111 であると仮定します。次の図に示すように、書き込みプロセスを完了するために必要な RAID-5 全体は次のステップに分割されます。

[外部リンク画像の転送に失敗しました。ソース サイトにはリーチ防止メカニズムがある可能性があります。画像を保存して直接アップロードすることをお勧めします (img-2izlVv0p-1675673955613)(null)]

  1. 元のデータ 0110 を読み取り、新しいデータ 1111 と XOR 演算を実行します: 0110 XOR 1111 = 1001。
  2. 元のチェックデジット0010を読み取ります。
  3. 最初の手順で計算された値と元のチェック デジットを使用して、別の XOR 演算 (0010 XOR 1001 = 1011) を実行します。
  4. 次に、1111 個の新しいデータをデータ ディスクに書き込み、3 番目の手順で計算された新しいチェック デジットをチェック ディスクに書き込みます。

上記の手順から、どの書き込みでも、ストレージ側で 2 回の読み取りと 2 回の書き込みが必要であることがわかります。そのため、RAID-5 の書き込みペナルティは 4 です。

さまざまな RAID レベルの書き込みペナルティ

RAID ライトペナルティ
0 1
1 2
5 4
6 6
10 2

RAID-0 : ダイレクト ストライピング。データの各書き込みは物理ディスクへの書き込みに対応します。

RAID-1 および 10 : RAID-1 および RAID-10 の書き込みペナルティは、データ ミラーリングが存在するため、1 回の書き込みが 2 回になるため、理解しやすいです。

RAID-5 : チェック ディジットを計算するメカニズムの存在により、RAID-5 には 4 つのステップが必要です: データの読み取り、チェック ディジットの読み取り、データの書き込み、チェック ディジットの書き込み。そのため、RAID5 の書き込みペナルティ値は 4 です。

RAID-6 : 2 つのパリティ ビットが存在するため、RAID-6 は RAID-5 と比較して 2 つのパリティ ビットを読み取り、2 つのパリティ ビットを書き込む必要があるため、RAID-6 のペナルティ値は 6 です。

IOPS を計算します。

上記の説明によれば、実際のストレージ方式の設計プロセスでは、実際に利用可能な IOPS の計算に RAID 書き込みペナルティの計算を含める必要があります。計算式は次のとおりです。

物理ディスクの合計 IOPS = 物理ディスクの IOPS × ディスク数

利用可能な IOPS = (物理ディスクの合計 IOPS × 書き込みパーセンテージ ÷ RAID 書き込みペナルティ) + (物理ディスクの合計 IOPS × 読み取りパーセンテージ)

RAID-5 を構成する物理ディスクが合計 500 IOPS を提供でき、このストレージを使用するアプリケーションの読み取り/書き込み比率が 50%/50% であると仮定すると、フロントエンド ホストで実際に利用可能な IOPS は次のようになります。 :

(500 × 50% ÷ 4)+ ( 500 * 50%) = 312.5 IOPS

フラッシュホルモン

実現原理

FlashHormone と、Hongshan Technology が独自に開発したストレージ オペレーティング システム ODSP を組み合わせることで、主に過剰な RAID 書き込みペナルティ、RAID ストライプの競合、SSD ディスク ウェア レベリングの問題を解決します。

FlashHormone が有効になっているオールフラッシュ デバイスでは、システムはデータが書き込まれるたびに書き込み用のスペースを再割り当てします (新しいデータの追加または既存のデータの書き換え)。は異なるハードディスクに均等に分散され、ビジネス データを完全なストライプにマージして一度に書き込むことができます。

たとえば、追加書き込み中、データ A と B はすでに L1 と L2 に書き込まれており、ホストがデータ D を L4 に追加したい場合、システムはデータ D を書き込むための新しいスペースを割り当て、アドレスが新しいアドレスを指します。割り当てられたスペース、図 1 に示すように。

ここに画像の説明を挿入

同様に、C への書き込みが L3 に追加されると、図 2 に示すように、システムは引き続き C に書き込むための新しいスペースを割り当てます。
ここに画像の説明を挿入

元のデータを変更して書き込むとき、L1 と L2 が変更されて A'' と B'' として書き込まれると仮定すると、システムは A'' と B'' を書き込むためのスペースを新たに割り当て、アドレスは A'' に新しく割り当てられたスペースを指します。および B''。図 3 に示すように。同時に、元のデータ A と B のアドレスがマークされ、システムのバックグラウンドで統合された領域の回復が実行されます。

ここに画像の説明を挿入

システムが継続的に変更されると、断片化された領域が生成されますが、このときシステムは、フルでないストライプの領域を整理するバックグラウンド プロセスを開始し、断片化された領域を自動的に再利用し、空きストライプを解放します。データはいつでも書き込み用に完全なストライプにマージできます。図4に示すように、データC、D、E、Fのみが有効なデータであり、A、B、G、Hのスペースは無効データとしてマークされており、その結果、2つの部分的に満たされたストライプスペースが生じる。この時点で、システムは完全なストライプで書き込まれるスペース C、D、E、および F を自動的に再割り当てします。これにより、2 つの非フル ストライプ スペースが解放され、再割り当て可能な 2 つのフル ストライプ スペースが得られます。

ここに画像の説明を挿入

FlashHornoneテクノロジーの利点

RAID 書き込みペナルティの回避

従来の RAID 読み取りおよび書き込みアルゴリズムでは、IO 書き込みプロセスで複数のリードバックと検証書き込みが必要になる場合があり、その結果、書き込みペナルティが増加します。たとえば、RAID5 の書き込みペナルティ値は 4 です。FlashHormone テクノロジーを使用すると、書き込まれた IO はすべて新しい空のストライプに書き込まれるため、データを何度も読み戻して再検証してから書き込む必要がなくなり、RAID アルゴリズムの書き込みペナルティを回避できます。どの RAID レベルであっても、書き込みペナルティ値は 1 に近くなります。

競合のない RAID ストライプ

複数の IO が同じ RAID ストライプにヒットする場合、これらの IO はシリアルに処理する必要がありますが、これは従来の RAID アルゴリズムでは避けられません。RAID ストライプが大きくなるほど、IO ストライプの競合が多くなり、IO パフォーマンスと遅延に深刻な影響を与えます。FlashHormone テクノロジーは、以前のストライプを変更せずに、各書き込み IO を新しいストライプに書き込むため、一部のストライプでは IO 競合がなく、ストライプ競合はゼロです。

SSDロードバランシング

オールフラッシュ ストレージ システムの SSD ディスクはウェア レベリングを保証する必要があり、SSD の耐用年数はオールフラッシュ システムの安定性に影響しますが、従来の読み取りおよび書き込みアルゴリズムではこれが考慮されていません。

おすすめ

転載: blog.csdn.net/m0_46467017/article/details/128904742