このbadblocks
ユーティリティを使用すると、ユーザーはデバイス上のバッドブロックを見つけることができ、e2fsck -c
これらのバッドブロックをバッドブロックinodeに追加して実際のデータに使用されないようにすることができます。ただし、SSDの場合、不良セクタはしばしばドライブによって透過的に再割り当て(再マッピング)されることが知られています(ただし、書き込みが発生したときのみ)。それでは、/をSSDで使用するのが合理的ですかbadblocks
?e2fsck -c
私の考えでは
badblocks
smartctl
例えば、不良ブロックの総数を考慮して、SSD状態に関する情報を別々に取得することが合理的である。 (smartmontoolsが同じことを行うことができるかどうかはわかりません...おそらく長い間テストした後です。時間が経過しましたが、明示的なsmartctl -t long
文書を見ていません)。e2fsck -c
関連番号(論理アドレス?)が再割り当てのために使用されなくなる可能性があるため、使用しないでください(不良ブロックinodeに不良ブロックを追加します)。
ただし、これらのユーティリティのマニュアルページにはSSDステータスに関する警告は含まれていません。だから知りたいです...
ベストアンサー1
ハードドライブは、書き込み時に失敗したセクタを再マッピングし、これは数十年間SSDに限定されていません。ハードドライブに比べてSSDの主な問題は、ドライブbadblocks
全体に書き込むときに発生する摩耗の程度です(ただし、これも必ずしも深刻ではありません)。
外部から見えるブロック識別子に影響を与えないこの再マッピングは、次の方法でbadblocks
回避できます。書くブロックに書き込むことは役に立ちません。間違ったブロックが見つかった場合は、ドライブが必要な場合に再マップできるようにブロックに書き込む方が良いでしょう。読み取れないブロックを識別するのに特に役立ちませんbadblocks
。データが重要な場合はddrescue
回復試行などのツールを使用することをお勧めします。データがない場合は、必要に応じてドライブを再マップできるようにブロックを上書きすることをお勧めします。
ドライブセルフテストを使用して、不良ブロックを識別できます。最良の方法はオフラインテストです。オフラインテストは、最も多くのエラー追跡フィールドを更新して、最も多くのエラーを確認する方法です。このコマンドを定期的に実行し、ゼロ以外の「オフライン変更不可能」セクタの数を見つける場合は、実行するのと同じ結果を得る必要がありますbadblocks
。 (実行してsmartctl -a
「更新済み」列に「オフライン」のフィールドを確認してください。)
とにかく、最新のドライブでは再マップできないほどドライブの状態が悪くなり、ファイルシステムからブロックを除外すると便利な場合は、リサイクルする必要があります。
また、見ることができますアーチウィキディスカッションbadblocks
v。再マッピング。badblocks
ドライブファームウェアが不良ブロックを認識するように強制するために使用できますが、SSDへのよりターゲティングされたアプローチ(少なくとも書き込み時)がより良いと思います。