[Memo2008][EPA]HDD初期不良チェック

2008/04/11 に HDDの不良セクタの有無をチェックしたときの手順を記す.

担当: 村上, 納多, 中本

準備

用意するもの

  • USBインターフェースの付いた外付けHDDケース
  • チェックしたいHDD

ハードウェアセットアップ

USBインターフェースの付いた外付けHDDケースに チェックしたいHDDを入れる.

適当なマシンに外付けHDDをUSBで接続する.

接続すると, consoleにメッセージが出る. どのようなデバイス名として認識されているか分かる.

USB接続した外付けHDDにアクセスするためのデバイスファイルが /devにできているはずである.

読みだし/書き込みテスト

読みだし/書き込みのテストにはdd(1)を使う.

まず, HDDの全ての領域からデータを読み出して, エラーが出ないかどうか調べる.

例えば, HDDを表すデバイスファイル名が /dev/hoge だった場合, 次のコマンドを実行する.

# dd if=/dev/hoge of=/dev/null

null(4)は, 入力したデータを全て捨てるデバイスファイルである.

書き込みのテストには,

# dd if=/dev/zero of=/dev/hoge

とする. zero(4)は, 読み出すとゼロを返すデバイスファイルである.

次のようなシェルスクリプトを使い, 読み出しテスト, 書き込みテストを 続けて実行する.

----ここから----
#!/bin/sh

DD=/bin/dd
FILE=/dev/hoge

dd if=$FILE of=/dev/null
dd if=/dev/zero of=$FILE
----ここまで----

これを, diskiochk.sh などとして保存して,

# chmod u+x diskiochk.sh
# nohup ./diskiochk.sh | mail to_address

などとして, 結果を to_address に送る.

所要時間見積りの例

USB 2.0で接続された機器は, 最大で480Mbpsで通信できる. つまり, 60MB/secである.

hdparm(8)でハードディスクのパラメータを設定できる. また, 読み出し書き出し速度を調べられる.

今回の場合, HDDの読み出し速度の実測値はおよそ30MB/secであった.

従って, 500GBのHDDの全領域を読み出すのにかかる時間は, 約4時間40分である.

出力結果

ディスク 1 台につき, 以下のような結果が出力された.

----ここから----
976773168+0 records in
976773168+0 records out
500107862016 bytes (500 GB) copied, 14832.4 seconds, 33.7 MB/s
dd: writing to `/dev/sdc': デバイスに空き領域がありません
976773169+0 records in
976773168+0 records out
500107862016 bytes (500 GB) copied, 80592.3 seconds, 6.2 MB/s
----ここまで----

所要時間は読み込みに 4 時間強, 書き込みに 22 時間強, 合わせて約 26.5 時間であった. いずれの HDD も所要時間に若干の差はあったがエラーは検出されなかった.

初期不良がないことを確認した HDD について

HDD 本体に「2008 年 4 月 初期不良チェック済み」と印刷したテプラを貼り, もとにあった場所に戻した.

Last modified:2011/03/25 15:03:12
Keyword(s):
References:[[EPA2008]2008年度前期サーバ構築ログ]