Linuxサーバのハングアップの調査(sysrq,netdump)(1)
サーバ運用をしていると、理由はよくわからないけどサーバがハングアップした、という場面に立ち合うことが一度くらいあると思います。後から原因を調査してみてもログには何も出力してないし、MRTGなどのサーバ監視にもまったく予兆がないし、そういえばコンソールに何か出てるか見るの忘れてた、といった場合は途方にくれてしまいます。そういったときにはそれ以上調査のしようがないので、なかったことにして放置といったことになりがちですが、得てしてこういったハングアップは再発するものです。そんなときに少しでも調査を進められるツール類を調べてみました。
0.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のよくわからないパッチがあたっているカーネルなんて使わないよ!という人も中にはいると思います。
こういった場合は別の手段が必要です。
長くなりそうなので、別エントリに続きます。



