[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 月 初期不良チェック済み」と印刷したテプラを貼り, もとにあった場所に戻した.
Keyword(s):
References:[[EPA2008]2008年度前期サーバ構築ログ]