FreeBSD: 突発的にシステムが反応しなくなる

このメモを入力している FreeBSD サーバーですが、時々コマンド入力をしても応答に異常に時間が掛かるという現象が発生するようになりました。

端末にコマンドを入力していると、突然レスポンスが無くなるがしばらくすると復活し、何事もなかったかのように動き続けます。負荷が高くなってはいるものの、超高負荷というわけではなく、端末ではなくコンソールから直接コマンドを入力しようとしてもやはり、応答がない。という不思議な症状。
まとめると次のような症状です。

  • ps などコマンド入力を行うと、応答に5分くらいかかる
  • システムにログインしようとすると
  • ping の応答がある
  • tail -f コマンドでログ表示をしているウィンドウは更新される
  • httpd は応答があるウィンドウと、タイムアウトになるウィンドウがある
  • システムログにエラーは記録されていない

先月あたりまで、希に遭遇するという感じだったのですが、先週突然一日に2,3回発生するようになり、深刻な状況になってきました。ログにエラーが残っていれば原因を推測できるのですが、ログには何にも助けになる情報は無し。ここ数日の症状の変化としては、無応答時間が延びたのか、リモートログインしているターミナルエミュレータとのコネクションが切れるようになってきて、一日に 2,3回サーバーにログインし直すことも。

頭に浮かぶのは「故障」の二文字。

不思議なのは、こういう症状の時は、OSが勝手にリブートしたり、コンソールにエラーが表示されたり、異音がするものなのですが、そういう症状が一切無い事。

完全にハードウェアがらみの症状であることは明らかなので、一応基本的な対処を施す事にしました。症状的には、HDD IDEケーブルの接触不良によるバスのデッドロックを疑っているのですが、その場合、過去の経験からはシステムログに何らかのメッセージが残るはずなんですけどね。
接触不良の可能性を2段階で行う事にしました。

第一段階

  • ハードディスクケーブルを全て抜き差しし直す(ハードディスク側、マザーボード側両方とも)
  • 電源ケーブルを全て抜き差しし直す(延長ケーブル、分岐ケーブル)

第二段階

  • CPUソケットを抜き差しし直す
  • メモリを抜き差しし直す
  • LANカードなど、拡張カードを抜き差しし直す

同時に全部行ってもいいのですが、症状が変化した場合、どこに問題があったのか推測するのが難しくなるため、切り分けは段階的に行います。

サーバーをシャットダウンし、ケースを開けて、第一段階の処置を行い、ケースとケーブルを元に戻して電源オン。

なんと、BIOSから 2ndary IDE HDDが見えない!予想外の展開です。
2ndary IDEには、HDDとCD-ROMドライブが接続されています。HDDは先ほどまで動いていましたが、CDドライブの方はOSをインストールしてから使った事がありません。故障なのか一時的な不具合なのかは分かりませんが、CDを切り離してみる事にしたところ、HDDはすんなりBIOSから見えるようになり、OSが起動。問題の症状が解決されるかどうかは一週間程度モニターしてみないと分かりませんが、これで解決するような気配。
実際、対処後 24時間くらいターミナルエミュレータが切断される事はなく、現象が発生していないのかも。(ログに何も記録されないので、長めのサーバー作業をしないと分からない。)

光学ドライブの不調が、システム全体のレスポンスを数分間停止させているとは思いつかなかったな~。

コメントを残す