雨ときどき晴れ

最近はC#やASP.NET MVCやってます。NetduinoやCerbuinoも活用できるようになりました。

CentOS で ata 2.00: softreset failed みたいなのが表示されて起動できなくなったので対応してみた。

CentOS で約2年間ほど24時間運転しているサーバーがある日、アクセスできなくなっちゃいました。
症状としては、ping の応答はあるが、Samba でファイル共有している部分にはアクセスできない。
サーバーに接続しているキーボードを叩いてみても、特に反応なし。。。
フリーズ?、と思ったので、再起動してみたところ、起動できなくなりましたー。という感じです。


今回、いろいろやってみて、何とか起動に成功したので、メモ的な感じで書いてみます。

起動できないときのアクセスランプ。ずっと光ってます。きっと頑張ってます。。。

サーバー構成

起動できないときの症状詳細

通常、CentOS 6.5 を起動すると
CentOS のロゴとともに、進捗状態を表す円が表示されます。
しばらくすると進捗状態を表す円が消えて GNOME などのデスクトップ環境をインストールしていると、
ログイン画面が表示されます。


今回は、起動後の進捗状態を表す円が消えたところで
CentOS のロゴだけ表示された状態で止まりました。


その状態でキーボードを叩くと起動中の状態が分かるコンソール画面が表示されます。
そこで表示されていたエラーメッセージが下記のものです。

ata2.00: exception Emask 0x0 SAct 0x80000 SErr 0x0 action 0x6 frozen
ata2.00: failed command: WRITE FPDMA QUEUED
ata2.00: cmd 61/08:98:40:5c:44/00:00:01:00:00/40 tag 19 ncq 4096 out
              res 40/00:00:00:00:00/00:000:00:00:00/00 Emask 0x4 (timeout)
ata2.00: status: { DRDY }
ata2.00: revalidation failed (errno=-5)
ata2.00: revalidation failed (errno=-5)
ata2: softreset failed (device not ready)
ata2: softreset failed (device not ready)
ata2: softreset failed (device not ready)

また、このエラーメッセージのあとに

INFO: task jbd2/dm-0-8:418 blocked for more than 120 seconds.
          Not tainted 2.6.32-31.17.1.el6.x86_64 #1
"echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.

というメッセージが何度か表示されます。
この状態で10時間くらい放置していましたが、起動完了することはありませんでした。

起動できない状況での試行錯誤

エラーメッセージより、SATA の2番ポートに接続されている SSD に何か問題があると推測してみました。

シングルユーザーモードで起動

シングルユーザーモードで起動してみると、エラーメッセージが表示されつつも一応起動しました。

【CentOS】強制的にシングルユーザーモードで起動する@インフラ系SEのやさぐれblog


そこでソフトウェア RAID の状態を確認すると
システム用の RAID 1 の2台中の1台が認識されていないことを確認。

この状況でいろいろ復旧を試みたかったのですが、
しばらくするとキーボードの入力を受け付けなくなり、フリーズの様な状態となってしまいました。

システムが RAID 1 構成なので1台外してみる

本来 RAID 1 構成なので、SSD 2台中の1台だけでも起動に成功すると考え、
1台外して起動を試みたところ「kernel panic」のメッセージが表示され起動できませんでした。

SATA 2番ポートの SSD をクローンして起動に成功

最終的にエラーが発生していた SSD を別の HDD にまるごとクローン。
エラーの SSD の代わりに クローンした HDD を取り付けることで起動に成功しました。

EaseUS Todo Backup Free@日本語公式窓の杜にもあるよ
上記のソフトを利用して、Windows PC からクローンを行いました。


エラーが出ていた SSD の動作確認のため、Windows PC でフォーマットして使用できるか試したところ、
フォーマット中に PC がフリーズして、フォーマットが完了できませんでした。
どうやら、読み取りは可能だけど、書き込み操作はダメっぽい。

さいごに

ということで、SSD -> HDD へのクローンにより、何とか起動できましたー。
今回は、たまたま SSD が読み取りはできるけど、書き込みはできない状態という
SSD だからこそ発生しそうなトラブル?、だったので、この対応で復旧できました。


SSD 故障は今回で2回目ですが、やっぱり SSD もそこそこ故障するんですかね。
トラブルは運が悪いと突然やってくるものなので、日頃のバックアップが大切です。

ちなみに前回の SSD 故障は こちら です。