web-dev-qa-db-ja.com

RAID5システムで再構築中にUREが発生した場合、すべてのデータが失われますか?

大きなドライブでは、再構築中にUREが発生する可能性が高まるという議論は理解していますが、これが実際にどのような意味を持つのかはわかりません。 この回答 は、再構築全体が失敗したことを示していますが、これはすべてのデータにアクセスできないことを意味しますか?なぜでしょうか?確かに、ドライブ上の単一のセクターからの単一のUREは、せいぜい数個のファイルに関連するデータにのみ影響します。いくつかのファイルにいくつかの小さな破損があるだけで、アレイはまだ再構築されませんか?

(ここでは特にZFSのRAID5の実装に興味がありますが、論理はどのRAID5実装でも同じように見えます。)

24
process91

それは実際には特定のRAID実装に依存します。

  • ほとんどのハードウェアRAIDは再構築を中止し、一部はアレイをfailedとしてマークし、それを停止します。論理的根拠は、RAID5の再構築中にUREが発生した場合、一部のデータが失われることを意味するため、サイレントのリスクよりもアレイを完全に停止することをお勧めします。データの破損。注:一部のハードウェアRAID(主にLSIベース)は、代わりに puncture アレイとなり、影響を受けるものをマークしながら再構築を続行できますセクターを読み取り不可として(LinuxソフトウェアRAIDの動作と同様)。

  • linuxソフトウェアRAIDは、a)アレイの再構築を停止する(「古代」のMDRAID /カーネルビルドの唯一の動作)、またはb)一部のLBAを不良/アクセス不能としてマークする再構築プロセスを続行するように指示できます。理論的根拠は、ユーザーが自分で選択できるようにするほうがよいということです。結局のところ、単一のUREが空き領域にあり、データにまったく影響を与えない(または重要でないファイルにのみ影響を与える)可能性があります。

  • ZRAIDは一部のファイルが破損していると表示しますが、再構築プロセスを続行します(例は ここ を参照)。繰り返しますが、理論的根拠は、継続してユーザーに報告し、ユーザーが情報に基づいた選択を行えるようにするほうがよいということです。

24
shodanshok

UREが発生すると、通常256KB-1MBのサイズのブロックでデータが破損しますが、ボリューム上のすべてのデータが失われるわけではありません。 RAID5のそれほど優れていないところはまったく異なります。再構築自体はストレスが多く、2番目のディスク障害が連続して発生する可能性が高くなります。このような場合、すべてのデータが失われます。

8
BaronSamedi1958

逆に説明します。

RAIDコントローラーがUREで停止しない場合、どうなりますか?

私はそれをサーバー上に住んでいましたが、RAIDはUREに気付かず、再構築後、RAIDボリューム全体に破損が生じ始めました。

再構築後にディスクの不良セクターが増え始め、データが破損し始めました。

ディスクがRAIDボリュームから切り離されたことはありません。コントローラーの障害は、データの整合性を保護するための仕事です。

この例は、ボリュームがバックアップではなくディスク障害への耐性を目的としているため、コントローラーがUREを使用してボリュームをまったく推し進められないと考えるように書かれています。

2
yagmoth555

この質問 を読んで、もう少し背景について回答することをお勧めします。次に、行き直して リンクした質問 をもう一度読んでください。

この状況について誰かが「RAIDが失敗した」と言った場合、それはRAIDのメリットを失ったことを意味します。最初にRAIDアレイをセットアップした理由であるデータへの継続的なアクセスを失いました。

すべてのデータが失われたわけではありませんが、1つのデッドドライブと残りのドライブの(一部の)UREから回復する最も一般的な方法は、アレイを最初から完全に再構築することです。つまり、すべてのデータを復元します。バックアップから。