HDDチェック
某バイト先の人から教えてもらった方法でHDDをチェック.まず,
ls -Rl /
してHDD内の全ファイルが正常にlsできるかどうかをチェック.→OK
追記:トラックバックありがとうございます.
ls -Rl / > /dev/null
の方がいいだろうとのこと.なるほど,元のだとエラーメッセージが流れて行っちゃいますね.(エラーが出たらそこで止まるかと思ってたけど,止まらないかも)
次に,
dd if=/dev/ad0 of=/dev/null bs=1024k
でddでHDD全体が読めるかどうかをチェック.ちなみにbs=1024kをつけなかったらむちゃ遅かったので断念.→OK
これにもトラックバックで手直しが.bs=2Mの方がいい,のかな?これは理由がわからなかった.
HDDメーカーの診断ツール→サーバを止めなきゃいけないのでパス
ということで,物理的な損傷はなさそう.やっぱりHDD以外の部分に問題があってリブートがかかり,そのときにファイルシステムに論理的な情報がおかしくなったのだろう.しかしリブートの原因は何だろう?メモリ?CPU?マザー?電源?その後はリブートは発生してないけど,原因がわからないことには気持ち悪いなあ……
追記
shimotsukiさんのコメントからbadblocksをぐぐってみて,id:dayflower:20060406:1144285845経由で ports/sysutils/smartmontools を知った.早速インストールして実行.
# smartctl -a /dev/ad0 5 Reallocated_Sector_Ct 0x0033 200 200 140 Pre-fail Always - 0
ということで,今のところ不良セクタの発生による再割り当ては発生していないようだ.