web-dev-qa-db-ja.com

btrfsでbadblocksを使用する方法はありますか?

不良ブロックやWindowsが使用しているものを使用して発見した不良セクタのあるハードドライブがあります。 Lutrntuをbtrfsにインストールしましたが、現在は(Windowsがフリーズする場所で)スムーズに実行されていますが、Btrfsにbadblocks出力をフィードする方法はありますか?または、btrfsはすでにこれらすべてを自動的に実行しますか?

重要ではないデータは保存していません。これは、実際にはbtrfsをいじって、実際の不良ハードドライブを処理するのがどれだけ良いかを確認するためのものです。

5
guest

brtrfsはbadblocksをサポートしていません。現在、デバイスへのすべての書き込みが成功すると想定しています。修正不可能なSMARTセクターエラーを返すドライブには使用しないでください。

詳細と回避策が利用可能です こちら

The btrfs Project Ideas wiki のコメント:

要求されていない—パッチはまだない—カーネルにはまだない

現在、btrfsは、書き込まれたデータを失う可能性が非常に高いディスクブロックである不良ブロックを追跡しません。 Btrfsはbadblocksの出力形式のリストを受け入れ、新しいbtree(または、現在のエクステントツリーに新しいフラグを付けて)に保存し、ブロックに含まれるデータを再配置し、これらのブロックを使用できないように予約する必要があります将来の割り当てのため。さらに、チェックサムエラーが見つかったときに不良ブロックをテストするようにスクラブを教えることができます。これにより、スクラブがはるかに便利になります。通常、チェックサムエラーはディスクによって引き起こされますが、スクラブは問題のあるファイルを検出しますが、バックアップシナリオではそれらを再作成する機会を与えますが、不良ブロックを再利用する次のファイルは代わりにエラーを取得し始めます。これらの2つの項目は、ext4機能(e2fsckで使用)と一致します。

ステータスが変更された場合はコメントしてください。この回答を更新します。

1
Tom Hale