CD起動のLive Linuxを使ったsmartのチェック
- ubuntuの10.10日本語版をCDに焼いて起動する
- CDイメージはここから http://www.ubuntulinux.jp/products/JA-Localized/download
- CDで起動中にインストールするかと訊ねられたら「ubuntuを試す」を選ぶ
- Firefox を起動して「hdd wikiwiki.jp」を検索し、このページを出して見ながら作業する
- 右上の時計をクリックして時間を合わせる。場所に「東京」と打ってどちらか選んでセット
- システム→システム管理→Synapticパッケージ・マネージャを出して「再読込」して
- 「クイック検索」に「smartmontools」と打って、出てきたパッケージをインストール指定して「適用」、
- Postfix Configurationは「設定なし」
- アプリケーション→アクセサリ→端末 ウィンドウを出して
- 「sudo smartctl -t short /dev/sda」と打って、3分待とう
- その端末で「sudo smartctl -a /dev/sda | less」すればsdaの情報が分かる
- システム→システム管理→ディスク・ユーティリティ を起動して「SMARTデータ」のボタンを押す
- あとはテストの種類を選んで実行して、待つだけ
拡張セルフテストの所要時間と途中経過
- 拡張セルフテストの所要時間は機種によるけど1TBで4~6時間、2TBで6~9時間、3TBで8~12時間。同一機種でも個体差があり所要時間は異なります。
- 端末で「sudo smartctl -a /dev/sda | less」すれば、まだやってる最中か、エラーで中断したかどうかわかることもあります。SMART Self-test log structureセクションの「Remaining」の次の行に注目。下のは「あと10%残っている」例。最新のセルフテスト履歴のステータスは in progress (続行中)。
SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Self-test routine in progress 10% 161 - # 2 Extended offline Completed without error 00% 107 - # 3 Short offline Completed without error 00% 96 -
物理障害修復の実例
物理障害があるといつまで待ってもSelftestが終わらないことがあります。
一晩待っても終了しないときはリブートしてsmartctlで見てみると、エラーを検知した最初のLBA番号が出ているかもしれません。↓はLBA23958834番地でエラーに遭遇して停止した例。
SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed: read failure 90% 23391 23958834 # 2 Short offline Completed without error 00% 23388 - # 3 Extended offline Completed without error 00% 16857 -
セルフテストで読み出せないエラーがあると中止終了します。セクタの部分修復も可能ですが、ゼロフィルが手っ取り早いです。ゼロフィルすると中のデータはすべて消えます。↓は、↑のエラーで停止した後、ゼロフィルしてから再度Short Selftestをかけた例。
SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Short offline Completed without error 00% 23406 - # 2 Extended offline Completed: read failure 90% 23391 23958834 # 3 Short offline Completed without error 00% 23388 - # 4 Extended offline Completed without error 00% 16857 -
物理障害がある場合、ゼロフィルも完走しないことがあります。何度目で完走するか、何度やっても完走しないかは障害の程度次第です。
↓は、念のためさらに1回ゼロフィルをかけてからExtended Selftestをかけて完走した後のもの。
SMART Self-test log structure revision number 1 Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error # 1 Extended offline Completed without error 00% 23409 - # 2 Short offline Completed without error 00% 23406 - # 3 Extended offline Completed: read failure 90% 23391 23958834 # 4 Short offline Completed without error 00% 23388 - # 5 Extended offline Completed without error 00% 16857 -
ゼロフィルと拡張セルフテストが共に完走すれば、理屈の上では全セクタに書いて全セクタから読み出せたということです。
しかし、あくまでも理屈の上での話で、プラッタに傷がついたHDDはゼロフィルをかけるたびにどんどんリアロケが増えたり、セルフテストをかけるたびに別のLBAで止まったりします。その時は諦めましょう。
理屈がよくわからないときは、完走するまでゼロフィル→拡張セルフテストを繰り返して不良セクタを完全に埋めます。何度やってもセルフテストで同じ位置で止まるときは、その部分を避けてパーティションを複数切って使う手もあります。
↑の不良セクタの修復の経過ログ・値の推移・推察
- short selftest後
- 23,388時間目 http://pastie.org/1448692
- extended selftest失敗中断終了後
- 23,392時間目 http://pastie.org/1448694
- ゼロ埋め・short selftest後
- 23,406時間目 http://pastie.org/1448649
- ゼロ埋め・extended selftest後
- 23,409時間目 http://pastie.org/1448653
- Reallocated_Sector_Ct の推移
- 2 → 385 → 561 → 586
- Reallocated_Event_Count の推移
- 2 → 588 → 792 → 823
- Current_Pending_Sector の推移
- 0 → 1 → 0 → 0
- ペンディングの減少はゼロ埋めしたことでリアロケに転換したからと思われます。
- リアロケが385→561と増えているのを見ると読めないセクタはもっとたくさんあったはずなのに、23,392時間目にペンディングが1個しか出てません。理由は、extended selftestでは読めないセクタに遭遇するとそこで止まってしまうから。
- メーカ純正ツールで拡張テストするとダメージセクタが複数個ある場合でも、1個目で止まらず全部チェックできるかもしれません。
- これはモデルがちょっと古すぎて、今の垂直磁気モデルでも同じような経過をたどるかどうかはわかりません。Selftestは各社各モデルごとに機能や振る舞いが少しずつ異なります。同じような故障でも必ずしも同じような経過をたどるとは限りません。あくまでも一例として挙げました。