最近、RAID5とRAID6を比較してみましたが、UREの評価とドライブのサイズの増加により、RAID5の安全性が十分ではなくなっていることがわかりました。基本的に、私が見つけたコンテンツのほとんどは、RAID5でディスク障害が発生した場合、アレイの残りの部分が12TBであれば、UREを満たし、データを失う可能性がほぼ100%あると述べています。
12TBの数値は、ディスクが1つのUREに到達するために読み取られた10 ^ 14ビットと評価されているという事実から来ています。
ええと、私がここで得られないものがあります。読み取りは、ヘッドがセクターで行われることによって行われます。読み取りが失敗する原因は、ヘッドまたはセクターのいずれかです。また、他の理由で測定値が機能しないこともあります(振動がヘッドをジャンプさせるなど、わかりません)。だから、私は3つすべての状況に対処しましょう:
ご覧のように、私が特定した3つの障害点から、どれも意味がありません。では、UREとは具体的に何を意味するのでしょうか。
それを私に説明できる人はいますか?
編集1
回答の最初の波の後、その理由はセクターの失敗です。良いことは、ファームウェア、RAIDコントローラー、OS +ファイルシステムには、それを早期に検出してセクターを再割り当てするための手順が用意されていることです。
さて、私はUREが何であるかを知っています(実際には、名前は一目瞭然です:))。
私はまだ根本的な原因とそれらが与えるほとんどの安定した評価に戸惑っています。
一部のユーザーは、障害のあるセクターを外部ソース(宇宙波)に起因すると考えています。次に、UREレートが年齢ではなく読み取り回数に基づいていることに驚きます。もっと、私は間違っているかもしれませんが、これはよりファンタジーです。
ここで、ディスクの摩耗に関連するもう1つの理由が出てきます。密度が高いと磁区が弱くなるという指摘もあり、それは完全に意味があり、私は説明に従います。しかし ここでうまく説明されているように 、異なるサイズの新しいディスクは、HDDシャーシに同じプラッタ(および同じ密度)を多かれ少なかれ入れることによって得られます。セクターは同じであり、すべてが非常に同じ信頼性を持つ必要があるため、大きいディスクは小さいディスクよりも高い評価を持つ必要があります。セクターの読み取りは少なくなりますが、そうではありません。なぜですか?それでも、より新しいテクノロジーを搭載した新しいディスクが古いディスクよりも優れた評価を受けない理由が説明されます。これは、テクノロジーの向上が高密度による損失によって相殺されるためです。
UREは回復不能な読み取りエラーです。ドライブが修復できないセクターの読み取りに失敗した原因が発生しました。ドライブの電子回路は洗練されており、ディスクから正しく読み取ることができた場合にのみデータを渡します。ドライブの電子回路は、不良セクターを損傷したと宣言する前に、不良セクターの読み取りを複数回試みます。
読み取りエラーの原因-私はここでは専門家ではありませんが(結果として腕を振る)、ドライブの経年変化により製造上の許容誤差が問題になる可能性があります。磁区が弱くなる可能性があります。宇宙線は損傷などを引き起こす可能性があります。本質的にはランダムな障害です。
これはRAID 5にどのように影響しますか?
A RAID 5 は、分散パリティを使用したブロックレベルのストライピングで構成されます。パリティブロックは、データブロックのビットをXORすることによって計算されます。 XOR関数は基本的にすべてのビットが同じである場合、結果は0であり、それ以外の場合は1です。パリティを計算するとき、最初の2ビットとXOR =次に、XOR次のビットの結果など.
1010 data or 1010 data
1100 data 1100 data
0110 parity 0011 data
0101 parity
XOR関数の性質上、ディスクが停止して交換された場合、そこにあるはずのデータを残りのディスクから再構築できます。
1010 data or 1010 data
damaged damaged
0101 parity 0011 data
0101 parity
ご覧のように、残りのデータとパリティをXORすることにより、損傷したデータを再構築できます。
UREはこれにどのように影響しますか?
UREは、RAID 5の再構築中にのみ重要です。
RAID 5を再構築すると、大量の読み取りが行われます。新しいディスクにデータを再構築するには、すべてのデータブロックを読み取る必要があります。 UREが発生した場合、関連するブロックのデータを回復できないため、データに一貫性がありません。十分に大きいR5の十分に大きいディスクの場合、交換されたディスクを再構築するために読み取られるビット数は、たとえば10 ^ 14の読み取りで1ビットのURE値を超えます。
では、UREとは具体的に何を意味するのでしょうか。
ハードディスクは、要求したデータを単に保存するだけではありません。絶えず減少する磁区サイズと、ハードディスクがバイナリではなくアナログでデータを格納するという事実(ハードディスクファームウェアは、プラッターからアナログ信号を取得し、バイナリ信号に変換されます。この変換は、メーカーの秘密のソースの一部)、実質的に常にある程度の読み取りエラーがあり、これを補正する必要があります。
データを確実に読み戻すことができるように、ハードディスクには、保存を要求したデータとともに 前方誤り訂正データ も保存されます。
通常の操作では、FECデータはプラッターから読み戻される信号のエラーを修正するのに十分です。ファームウェアは元のデータを再構築でき、すべて正常です。これは回復可能な読み取りエラー SMART as read error rate attribute(SMART attribute 0x01)and/or Hardware ECC回復済み(SMART属性0xc3)。
何らかの理由で信号が特定のポイントを下回ると、FECデータは、元のデータを再構築するのに十分ではありません。その時点で、理論は進みます、ファームウェアはまだデータを確実に読み戻すことができなかったことをdetectできますが、それについてそれは何もできません。そのような複数の読み取りが失敗した場合、ディスクは何らかの方法で残りのコンピューターに読み取りを正常に実行できなかったことを通知する必要があります。これはnrecoverable read errorを通知することによって行われます。これにより報告された訂正不能エラーも増加します(SMART属性0xbb)カウンター。
回復不能な読み取りエラー、またはUREは、何らかの理由でペイロードデータとFECデータが元の保存データを再構築するには不十分であったことを示す単なるレポートです。
URE率は統計であることに注意してください。正確に10 ^ 14(または10 ^ 15)-1ビットを正常に読み取れ、次のビットが失敗するハードディスクには遭遇しません。むしろ、それは製造元の発言であり、平均であり、10 ^ 14ビットを(たとえば)読み取る場合、そのプロセスのある時点で1つの読み取り不可能なセクターに遭遇します。
また、上記の最後のいくつかの単語に続いて、UREレートは読み取られたビットあたりのセクターの観点から示されていることに注意してください。データがプラッターに格納される方法のため、ディスクはセクターのどの部分が不良であるかを判別できません。そのため、セクターがFECチェックに失敗した場合、セクター全体が不良であると見なされます。
セクターが死ぬ:完全に回復不能ですが、ここでは、4TBディスクがUREに対して10 ^ 14と評価され、8TBもUREに対して10 ^ 14と評価されている理由がわかりません。 8TB(おそらく最も新しい技術)は4TBのものの半分の信頼性がありますが、それは意味がありません。
仕様は通常「平均して1ビットの読み取り中にエラーが検出されるnビット」であるため、ドライブのサイズは重要ではありません。ドライブとワークロードでエラーが発生するリスクを計算するかどうかは重要ですが、製造元は、エラーを見つけるためにnビットの読み取りが必要であると述べているだけです(平均して、保証されていません)。
例:1 TBのドライブを購入した場合、エラーを見つけるには約12回読み取る必要がありますが、8 TBのドライブでは2回目の読み取りでそれが発生する可能性があります-読み取りビット数は両方とも同じであるため、品質磁気スピンドルのほぼ同じです。
増加する価格で支払うものは、他の要因、1 TBの物理スペースに8 TBを詰め込む能力、エネルギー消費量の大幅な削減、ドライブの移動中のヘッドクラッシュの減少などです。
@MichaelKjörlingは明確に答えたと思います。
ディスクが読み取られると、ヘッドが磁区の方向を検出し、アナログの電子信号を送信します。ファームウェアが0.5Vより高い電圧を受け取ったときにファームウェアが1を与える必要があると想定していますが、磁場が弱すぎるため、ヘッドは0.499Vのみの信号を送信し、エラーが発生しました。このエラーを修正するには、FECが必要です。
次に例を示します。セクターデータは0x0F23である必要があります。0* 1 + F * 2 + 2 * 3 + 3 * 4 = 0x30でエンコードします。今度はFECを取得し、セクターの後に書き込みます。読み取ると、0x0E23とFEC 0x30は一致しません。計算の結果、0x0F23になるはずです。ただし、0x0E13と0x30が得られた場合、OR 0x0E23と0x32を取得しました。正しいものを計算できません。
この評価は非常に低く、おそらくhddの製造元がPBを読み取らず、EBのデータが安定した値を取得できない限りです。したがって、確率値を提供します。10^ 14ビットのデータを読み取ると、一度遭遇する可能性があります。これは確率値なので、1セクタデータを読み取っただけで、50 TBのデータを読み取るまで遭遇した可能性があります。そして、この値はディスク容量では何もありませんでした。それは、あなたが読むデータサイズに関する偶然の懸念です。データでいっぱいの4TBディスクを6回読み取る場合、このチャンスは6TBディスクを4回読み取るか、8TBディスクを3回読み取ることと同じです。