Linuxサーバのハングアップの調査(sysrq,netdump)(1)




サーバ運用をしていると、理由はよくわからないけどサーバがハングアップした、という場面に立ち合うことが一度くらいあると思います。後から原因を調査してみてもログには何も出力してないし、MRTGなどのサーバ監視にもまったく予兆がないし、そういえばコンソールに何か出てるか見るの忘れてた、といった場合は途方にくれてしまいます。そういったときにはそれ以上調査のしようがないので、なかったことにして放置といったことになりがちですが、得てしてこういったハングアップは再発するものです。そんなときに少しでも調査を進められるツール類を調べてみました。

0.sysrq

まずはsysrqコマンドを導入しておきましょう。検証などに使いますし、障害対応などでも役にたつ場面があるはずです。

アジアのペンギン: SysRqキーの使用方法

1.netdump

RedHat系ならnetdumpが一番有用だと思います。クラッシュ時の情報で必要なものを全て取得できると思います。特徴は、

  • カーネルのクラッシュダンプ取得ツール
  • クラッシュダンプはリモートサーバに保存できる
  • カーネルのメインストリームに取り入れられていない
  • Red Hat社が開発、つまりRedHatかCentOSで使える

といった感じです。

導入方法はしげふみメモさんによくまとまっていました。

しげふみメモ:netdumpでクラッシュダンプ取得
しげふみメモ:netdumpでクラッシュダンプ取得の補足

クラッシュダンプなどは今まで見たことがなかったのですが、ダンプ時のプロセスのリストなどを見ることができて面白いです。

ただし、CentOS4ではクライアントのbondingインターフェースを介してクラッシュダンプの取得ができませんでした

日本HP_Linux_技術文書_netdumpを利用する際のドライバ、kernel環境構成について_Red Hat EL3, EL4対応

また、はじめの特徴にも書いたようにこの機能はRedHat製のカーネル(CentOSも含みます)独自の機能なので、純正カーネルでは使えません。RedHatのよくわからないパッチがあたっているカーネルなんて使わないよ!という人も中にはいると思います。

こういった場合は別の手段が必要です。

長くなりそうなので、別エントリに続きます。

Trackback URL



コメント

Reader Comments

Be the first to leave a comment!