ファイルサーバーのHDDが「SError: { 10B8B BadCRC }」を吐き出し始めたのでHDDを交換しました



GNS3の記事を絶賛執筆中でしたが、ヒヤッとした出来事が起きたので事の顛末を書いておこうと思います。

HDDがおかしいことに気づく

事の始まりはファイルサーバーに置いてある動画ファイルを再生していた時のこと。

最初は普通に試聴できていたのに、途中で再生が止まってしまいました。
「なんだろな~?」
と思いながらファイルを開き直してみたり、他のファイルを開いてみたりしたけども、こんどは再生ができない。

「あれ?まさか・・・・!?」
ファイルサーバにログインして(CentOSをファイルサーバーにしています)/var/log/messagesを見てみると

Mar  5 22:38:30 localhost kernel: ata12.00: exception Emask 0×0 SAct 0×0 SErr 0×280000 action 0×0
Mar  5 22:38:30 localhost kernel: ata12.00: BMDMA2 stat 0x6d0009
Mar  5 22:38:30 localhost kernel: ata12: SError: { 10B8B BadCRC }
Mar  5 22:38:30 localhost kernel: ata12.00: failed command: READ DMA EXT
Mar  5 22:38:30 localhost kernel: ata12.00: cmd 25/00:00:90:5f:55/00:01:26:01:00/e0 tag 0 dma 131072 in
Mar  5 22:38:30 localhost kernel: ata12.00: status: { DRDY ERR }
Mar  5 22:38:30 localhost kernel: ata12.00: error: { ABRT }
Mar  5 22:38:30 localhost kernel: ata12.00: configured for UDMA/100
Mar  5 22:38:30 localhost kernel: ata12: EH complete

って、なんかHDDからエラーが出てるぅ!!(汗)

急いでエラー内容をググってみると以下の可能性があるとのこと。

  • HDDが原因
  • ケーブルが原因
  • コントローラーが原因

えっと、これって、つまり何が原因かわからないんだよね?

とりあえずファイルサーバーをシャットダウンし、ケーブルが緩んでいないかをチェック。
緩んでないことを確認後、サーバーを立ちあげてみたら今度はOSが起動に失敗した。
原因は起動時にファイルシステムのジャーナルをチェックする部分でエラーが発生しているためのよう。

更に焦る。

続いて問題のHDDをファイルサーバーから外し、外付けのUSB HDDケースに入れて認識できるかチェック。
ファイルサーバーからの認識はOK。
けどファイルシステムにアクセスしようとすると上記のエラーが再び出てきた。

論理障害だったらfsckをかければ治る可能性があるけど、万が一物理障害だったら「fsckの負荷でとどめを刺した」なんてことも考えられるので、ここは最も安全で安心なHDD交換で対応することにしました。

秋葉原でHDDのお買い物

翌日仕事をさっさと切り上げて、秋葉原で途中下車してHDDを買いました。

行ったのは行きつけだった旧TWO TOP。

つい最近BUY MOREと店名が変更になり、気になっていたので行って見ることにしました。

で、買ったのはSeageteのST3000DM001という3TBのHDD。

11,400円ぐらいでした。

HDDの交換

いつ本当に壊れるかわからないので、早速HDDの交換を行います。

サクッとHDDを入れてファイルサーバーを立ち上げるとあっさり認識。
ハードディスクの導入は以前にもやったことがあるので(当時はUbuntuを使っていましたが、今はCentOS。ツール類もデフォルトで用意されていました)この通りに実行して、ファイルシステムの認識まで完了しました。

あとは壊れないことを祈りながらデータを移すだけです。

あー疲れた。



コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


3 + 7 =

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>