web-dev-qa-db-ja.com

ZFSサイレント破損

ZFSがどのように機能するかに関するいくつかの質問に対する答えを見つけようとしています。

  • データが変更されるとすぐに(そしてチェックサムとは異なり)、チェックサムを介してサイレント破損を検出しますか(RAIDZ 1がある場合は、ミラーリングされたディスクからフェッチして修復します)、OR =これは破損したファイルにアクセスする場合にのみ機能します(もちろん、読み取り中およびスクラブ中)?
  • 私は今、従来のハードウェアRAIDについて混乱しています-ZFSと同じ確実性でサイレント破損を検出でき、破損の場所も検出できますか?はいの場合、ZFSとしても修復できますか?

これがどのように機能するかを説明するには、もう少し正確さが必要です。

ありがとう。

4
lidagon

チェックサム検証は読み取り時に行われ、すべて(空き領域を除く)を読み取るために、定期的にスクラブできます。ソフトウェアRAID(mdadm)の場合、--action=checkを実行してから、mismatch_cntがまだ0であるかどうかを確認できます。

RAIDは、(データを再書き込みすることによって)読み取りエラーの修正のみを試みます。不一致のデータの場合、データが関連しているかどうか(空き領域かどうか)、およびデータまたはパリティが正しいかどうかを手動で判断する必要があります。

基本的にRAIDを使用すると、誤ったデータを黙って返すのではなく、ストレージが誤動作してエラーを適切に報告しないことを信頼できます。 RAIDにはチェックサムがなく、読み取りごとにパリティを検証することもありません。

2
frostschutz