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デバイスに記録された不良ブロックは検出されません)。 。