まめ畑

ゆるゆると書いていきます

HDDの健康調査

久しぶりに自宅サーバのHDDのS.M.A.R.T情報の確認とselftestを行ってみた。
久しぶりすぎて使い方を少し忘れていたのでメモ。

S.M.A.R.Tって?

S.M.A.R.TはHDDが自分自身の動作の統計情報を表示したり、自己診断機能を行える機能でHDDの劣化による故障の予測の手がかりになる。
しかし、全ての値が直接故障の前兆としてあらわれるわけではないので、参考程度に。
表示されるパラメータはHDDベンダーによって若干違ったりするけど、基本的にはSelf-Monitoring, Analysis and Reporting Technology - Wikipediaに書いてある感じです。

どの値が重要?

最近読んだ、「Googleを支える技術」にGoogleが10万台のHDDを調査した時の統計がのっていた。
オリジナルの論文はhttp://research.google.com/archive/disk_failures.pdfとのこと。


長く・よく・温度の高い環境で使うと壊れやすいというわけではなく、以下のS.M.A.R.Tの値による影響が大きいとのこと。
それでも、予測は困難みたい。

  1. スキャンエラー
  2. アロケーション
  3. オフラインリアロケーション

これらのエラーが発生したHDDと発生していないものでは数十倍の故障率の差があるようです。

使い方

Vineはこれから使うコマンドがインストールされていないようなので、smartmontoolsからDLする。

  • HDDの情報の表示

smartctl -d ata -a /dev/sda1
/dev/sda1は環境に合わせて変えてください。

sataのHDDを使用するには、-d ataオプションが必要です。


オプションは以下のものがあります。

  1. -a 全ての情報を表示する
  2. -i S.M.A.R.T.サポート状況を表示する
  3. -l エラーのログを表示する
  4. -t 自己診断を実行する


先ほどのコマンドを実行すると色々情報が表示されます。


自己診断は
smartctl -d ata -t long /dev/sda1
といった感じ。

  • tオプションは、shortとlongが指定できます。

shortは簡易診断で数分で終了します。
longはオフライン診断で30分以上かかります。
実行すると、終了予定時刻が表示されます。

smartctl -Xと入力すると診断をキャンセルできます。


テスト終了時間後に、
smartctl -d ata -l selftest /dev/sda1
と入力するとテスト結果が表示されます。
そこに、残り寿命も表示されます。
あくまで、参考程度だと思いますが。


簡単にメモしましたが、WindowsでもフリーソフトなどでS.M.A.R.T情報を確認できるものがあるのでたまに実行するといいかもしれません。
もちろんHDDが対応してないといけないですが、最近のものなら対応しているはずです。