分析: 4TB、6TB、8TB、10TBのドライブでは、RAIDの再構築が遅すぎます。そこで、障害ディスクのデータの再構築時間を短縮し、容量オーバーヘッドを削減するために、消失訂正符号が導入されます。ディスクドライブの代わりにSSDを使用するとどうなるでしょうか?RAIDはディスクドライブを使用する場合と比べて、どの程度許容されるのでしょうか?
直感的に、フラッシュアレイはSSDコンポーネントの障害からディスクアレイよりも速く回復すると考えられます。しかし、なぜ、そしてどれくらい速いのでしょうか?
RAIDの背景
アレイ内のディスクに障害が発生すると、アレイコントローラのハードウェア/ソフトウェアは、接続されたサーバーのアプリケーションにアクセスするために、アレイ内の他のディスクからデータの読み書きという通常の作業を実行しながら、障害ディスクの内容を別のディスクに再構築します。障害ディスクの再構築時間は、再構築作業に割り当てられるコントローラリソースの量、必要な処理時間、障害ディスクのデータを他のディスクから読み取るのに必要な時間、そして回復したデータを新しいディスクに書き込むのに必要な時間によって影響を受けます。
RAID 1と5は1台のディスク障害から復旧可能で、RAID 6は2台のドライブ障害からの保護を提供します。RAID 1では最低2台のディスク、RAID 5では3台、RAID 6では4台のディスクが必要です。冗長データとパリティブロックはすべてのドライブに分散されるため、より均一なIO時間を実現します。
RAID は容量オーバーヘッドを伴います。RAID 1 のミラーリングでは、2 台目のディスクが 1 台目のディスクをミラーリングするため、100% のオーバーヘッドが必要になります。RAID 1 スキームでは、必要なドライブは 2 台だけです。RAID 5 や RAID 6 などの他のスキームでは、ディスクに書き込まれる各データブロックに、1 つ (RAID 5) または 2 つ (RAID 6) の計算されたパリティデータブロックが追加されます。また、ディスクのデータとパリティデータはフラグメント (ストライプ) として他のドライブにコピーされるため、ソースディスクに障害が発生した場合でも、分散したデータフラグメントとパリティデータからその内容を再構築できます。
故障したドライブを交換すると、元の内容が復元され、そのドライブに書き込まれます。
RAID 5の例
RAID 5構成の6 x 400GBアレイでは、物理容量が2.4TB、使用可能容量が2TBとなり、20%のオーバーヘッドが発生します。最低でも3台のドライブが必要で、そのうち1台は仮想スペアとして使用されます。この方式はN-1方式と呼ばれます。ここで、Nはアレイ内のドライブ数です。
10 x 400 GB アレイの場合、生の容量は 4 TB、使用可能な容量は 3.6 TB となり、オーバーヘッドは 10 パーセントになります。
RAID 6の例
RAID 6構成の4 x 300GBアレイでは、物理容量は1.2TB、使用可能容量は600GBとなり、50%のオーバーヘッドとなります。ドライブが8台の場合、物理容量は2.4TB、使用可能容量は1.8TBとなり、25%のオーバーヘッドとなります。
ドライブが 10 台の場合、生の容量は 3 TB、使用可能容量は 2.4 TB となり、オーバーヘッドは 20 パーセントになります。
これらの RAID 5 および 6 の容量オーバーヘッドの数値は、ディスク ドライブとソリッド ステート ドライブで同じです。
RAID 5はアレイ内の1台のディスク障害から復旧できますが、RAID 6は2台のディスク障害からの保護を提供します。ディスク容量の増加に伴いRAIDの再構築時間が長くなるため、ディスクの再構築中に2台目のディスクが故障する可能性が高まります。また、再構築中に回復不能な読み取りエラーが発生する可能性も高まり、当然ながらデータが失われます。
4TB 以上のディスク ドライブでは、再構築に使用できるリソースがコントローラーの一定の割合のみであるため、再構築には何日もかかることがあり、リスク ウィンドウが許容できない期間まで延長されます。
ディスクとSSDの障害
SSDが故障した場合、RAIDの再構築時間はディスクよりも短くなるはずだと直感的に考えます。では、消去コードも同様に必要になるのでしょうか?
ここで2つの疑問があります。SSDとHDDのRAID再構築時間、そしてRAIDと消去コードの再構築時間です。ここではHDDとSSDの再構築時間について見ていきます。
RAIDディスクの再構築では、その時間の一部はディスクアクセスのレイテンシです。例えば、故障した4TBディスクドライブのRAID再構築に約10時間かかる場合、そのうちディスクレイテンシはどのくらいの割合を占めるでしょうか?そこで、故障した4TB SSDのデータの再構築のうち、SSDアクセス時間はどのくらいの割合を占めるでしょうか?SAS、SATA、NVMe SSDのアクセスは、SSD全体の再構築時間に影響を与えるでしょうか?
この比較を始めるにあたり、RAID 1(ミラーリング)でディスクを再構築するには、少なくともディスク容量をシーケンシャル書き込み帯域幅で割った値が必要であると説明されました。では、80MB/秒の帯域幅と72GBのディスクを想定すると、(7,200/80) = 900秒(15分)となります。
もちろん、これは現実の世界ではディスクアレイ/RAIDコントローラが通常のIOを処理しており、RAID再構築プロセスにリソースの100%を費やすことはできないという事実を無視しています。しかし、今はその点を脇に置いて、容量の増加に伴うドライブ再構築時間の大まかな概要を把握しましょう。
テーブルを再構築する
さまざまなディスク容量と書き込み帯域幅の表を作成し、同じアプローチを SSD に適用して、結果として得られる最小再構築時間を比較できます。
RAID レベル、ハードウェアまたはソフトウェア RAID、容量など、他の条件が同じであれば、ディスク RAID 再構築の処理時間は SSD RAID 再構築の処理時間と同じになると想定できます。
この演習では、最も高速な帯域幅を持つSSDを選択しました。多くのSSDの帯域幅は800MB~1.0GB/秒程度なので、速度は遅くなります。
この表から、書き込み帯域幅が115MB/秒の4TBディスクドライブでは、再構築に最低でも約10時間かかることがわかります。表からわかるように、同じアルゴリズムで計算すると、SSDはこれよりもはるかに高速です。
4TBのIntel DC P3608はシーケンシャル帯域幅が3GB/秒で、再構築の最小時間は22分です。これは、当社の4TB HDDよりも96.6%短縮されています。そのため、RAIDから消失訂正符号への移行を促す時間的プレッシャーは大幅に軽減されます。
RAID レベルが異なると何が起こりますか?
ドライブへのデータのシーケンシャル書き込みに基づく、ドライブ再構築の最小時間は同じです。ただし、RAIDスキームによって計算するパリティデータの量が異なるため、処理時間は異なります。
RAID を使用した SSD の再構築は、残りの SSD からのデータの読み取りが他のディスク ドライブからのデータの読み取りよりも高速になるため、全体的に速くなるはずです。
SSD またはディスク ドライブの再構築の処理時間はまったく同じになるはずです。
上記の数値に基づくと、RAIDスキームはSSDの障害に対する保護として適切であり、4TBの再構築にかかる時間はSSDではディスクドライブの26分の1以上です。SSDで消失訂正符号を使用する必要性は、ディスクドライブよりもはるかに低くなります。®