保留中の特定のセクタを識別するためにディスクを作成できますか?

保留中の特定のセクタを識別するためにディスクを作成できますか?

smartd次の投稿を記録します。

Sep  2 12:33:59 Watt smartd[438]: Device: /dev/sda, 2 Offline uncorrectable sectors
Sep  2 12:34:01 Watt smartd[438]: Device: /dev/sdc, 16 Currently unreadable (pending) sectors
Sep  2 12:34:01 Watt smartd[438]: Device: /dev/sdc, 16 Offline uncorrectable sectors

これはmdraidアレイ用であるため、mdraidアレイをクリーニングすると簡単に修正できます。ただし、これは時間がかかり、パフォーマンスが低下します。必要な部分だけを選択的にスクラブする方がはるかに高速です。

ディスクから保留中のセクタのリストを取得する方法はありますか?何も見えませんが、smartctl -xここにいます。sdaそしてSDDCそれが役立つなら。 (はい、sdcはすぐに交換される予定です)

SATAディスクです。重要な場合、コンピュータはDebian Test / Unstableを実行しています。しかし、私はDebian stableとoldstableを実行しているコンピュータでこの問題を解決したいと思います。

答え1

私の考えでは、このことが行われるべきだと思います。欠陥サポートされている場合はログ:

smartctl -l defects /dev/sdX

ただし、ドライブから受信したメッセージはPending Defects log (GP Log 0x0c) not supportedsmartctlのマニュアルページにあるため、確認できません。

Defects [,NUM] - [ATA only] ATA 保留障害ログ(通常ログアドレス 0x0c)に LBA と時間値を出力します。デフォルトでは、最初のログページの31項目のみが印刷されます。この数値は、オプションのパラメータNUMを使用して変更できます。ログサイズとエントリの順序はベンダーによって異なります。保留中の障害ログは、ACS-4改訂01(2014年3月)に導入されました。

選ぶ

ドライブが障害ログをサポートしていない場合は、簡単なセルフテストで保留中のセクタを確認し、すぐに読み取りエラーで中断してプロセスがLBAを提供できます。

smartctl -t short /dev/sdX

# then wait ~ 1 minute for the test to complete, and check the log:

smartctl -l selftest /dev/sdX

それではあなたはできます。smartmontools ドキュメントの手順に従ってください。不良セクタ/ブロックを処理します。

関連情報