btrfsは不良ブロックを追跡/防止できますか?

btrfsは不良ブロックを追跡/防止できますか?

私は完全に信頼していませんが、まだ使用したいハードドライブを持っています(バーストコインマイニング、ファイル内の不良ブロックを見つけた場合は数セントしか失われません)。

特定のブロックを不良として表示するようにbtrfsにどのように指示しますか(badblocks出力で)。

ブロックを不良として事前に表示できない場合、そのbtrfs scrubブロックを使用するファイルを削除すると、後で識別された不良ブロックを防ぐことができますか?

ベストアンサー1

残念ながらそうではありません。

btrfsは不良ブロックを追跡せず、btrfs scrub次のファイルで同じ不良ブロックが発生するのを防ぎません。

このbtrfsメーリングリストの投稿ext4を使用することをお勧めしますmkfs.ext4 -c(これは「不良ブロックリストを作成してからそのセクタを使用しないでください」)。推奨事項btrfs と RAID0 は mdadm 3.1 以降では動作しません。

そうだLVMは不良ブロック再割り当てをサポートしません。

解決策は、既知の不良ブロックを除外するデバイスを構築することです。dmsetupによるBtrfs


btrfsプロジェクトのアイデア Wiki説明する:

宣言されていません - まだパッチがありません - まだカーネルに含まれていません

現在、btrfsは記録されたデータが失われる可能性があるディスクブロックである不良ブロックを追跡しません。 Btrfsは、不良ブロック出力形式のリストを受け入れ、それを新しいbtree(または新しいフラグを使用して現在のスコープツリー)に保存し、ブロックに含まれるすべてのデータを再配置し、配布で使用できないようにブロックを保存する必要があります。未来。また、チェックサムエラーが見つかった場合は、不良ブロックをテストするためにスクラブを学習することもできます。これにより、スクラブがより便利になります。通常、チェックサムエラーはディスクによって引き起こされますが、スクラビングによって影響を受けたファイルを検出している間(バックアップの場合はそのファイルを再生成する機会を提供します)、不良ブロックを持つファイルは次回再利用されます。エラーが表示され始めます。これら2つの項目は、ext4機能(e2fsckを通じて使用されます)と一致します。

ステータスが変更されたらコメントを残していただければ回答を更新します。

おすすめ記事