完全には信頼できないHDDを持っていますが、それでも使用したいと考えています(バーストコインマイニング。ファイルに不良ブロックが含まれていると、数セントしか失われません)。
特定のブロックを不良としてマークするようにbtrfsに指示するにはどうすればよいですか(例:badblocks
から) 出力)?
ブロックを不良として事前にマークできない場合、btrfs scrub
で識別される不良ブロックはありますか それらを使用しているファイルが削除された場合、将来的に回避されますか?
承認された回答:
残念ながら、違います。
btrfsは不良ブロックとbtrfs scrub
を追跡しません 次のファイルが同じ不良ブロックにヒットするのを防ぐことはできません。
このbtrfsメーリングリストの投稿は、mkfs.ext4 -c
でext4を使用することを提案しています。 (この「不良ブロックリストを作成すると、
これらのセクターは使用されません」 )。
RAID0でmdadm3.1+を介してbtrfsを使用するという提案は機能しません。
LVMはbadblockの再割り当てをサポートしていないようです。
回避策は、不良であることがわかっているブロックを除いてデバイスを構築することです:btrfsoverdmsetup。
btrfs Project Ideas wikiによると:
主張されていない—パッチはまだない—カーネルにはまだない
現在、btrfsは不良ブロック、つまり書き込まれたデータを失う可能性が非常に高いディスクブロックを追跡していません。 Btrfsは、badblocksの出力形式のリストを受け入れ、それを新しいbtree(または、新しいフラグを使用して現在のエクステントツリー)に格納し、ブロックに含まれるデータを再配置し、これらのブロックを使用できないように予約する必要があります。将来の割り当てのために。さらに、チェックサムエラーが見つかったときに不良ブロックをテストするようにスクラブを教えることができます。これにより、スクラブがはるかに便利になります。チェックサムエラーは通常、ディスクが原因で発生しますが、scrubが問題のあるファイルを検出すると、バックアップシナリオでそれらを再作成する機会が与えられますが、不良ブロックを再利用する次のファイルは、代わりにエラーを取得し始めます。これらの2つの項目は、ext4機能(e2fsckで使用)と一致します。
ステータスが変更された場合はコメントしてください。この回答を更新します。
関連:Debian – Debianテストから単一のパッケージをインストールする方法または安定版に不安定な方法は?