SMARTをサポートしていないディスクのエラーをテストする方法は?

SMARTをサポートしていないディスクのエラーをテストする方法は?

microSDカードから起動したRaspberry Pi(Raspbianを実行)があります。ホームサーバーとして機能するので、当然microSDカードのエラーを監視したいと思いました。しかし残念ながら、microSDカードは私が持っている他のディスクのようにSMARTをサポートしていないので、ディスクエラーを監視する方法がわかりません。

非SMART対応ディスクがまだ使用されている場合、またはパーティションがマウントされている場合は、エラーを監視/確認する方法は?

答え1

smartctl -t longセルフテストを(パラメータなし)に置き換えることができますbadblocks。簡単な読み取り専用テストを実行します。ファイルシステムのマウント中に実行できます。 (いわゆる非破壊書き込みテストを使用しないでください)。

# badblocks -v /dev/loop0
Checking blocks 0 to 1048575
Checking for bad blocks (read-only test): done
Pass completed, 0 bad blocks found. (0/0/0 errors)

まだ不良セクタが疑われていない場合にのみ、このオプションを使用してください。不良セクタになることが既にわかっている場合は、代わりに使用してくださいddrescue。 (badblocks読み込んだすべてのデータを破棄し、後で役に立つ可能性ddrescueのあるコピーを作成します。)

それ以外にも、SMARTができないことを行うことができます。チェックサムファイルシステム、dm整合性レイヤー、またはバックアップと比較を使用して、実際にコンテンツを確認します。これが欠落している場合は、通常のファイルシステムチェックを実行してください。

MicroSDカードには検出しにくいエラーモードもあります。一部のカードは最終的に書き込みを放棄し、読み取ったときに古いデータを返すことができます。ここでは、単純なチェックサムだけでは十分ではないかもしれません。カードが誤って古いデータと以前のチェックサムを返す場合、データが間違っていても一致する可能性があります。

記録しすぎると、データが失われるいくつかの偽の容量カードもあります。どちらも読み取りまたは書き込みエラーを返さず、破壊的な書き込みモードでも検出できませんbadblocks(書き込みパターンが繰り返しであるため)。

これを行うには、暗号化レイヤーをその上に置くなど、繰り返しのないパターンでテストする必要があります(LUKSに記録された不良ブロックは偽の容量カードで検出されますが、RAWデバイスに記録された不良ブロックは検出されません)。 。

関連情報