kdumpでダンプを取得する方法
kdumpの設定方法です。
※2015/01/11アクセス数が多い記事のため、詳しく書き直しました。
kdumpとは
サーバーのメモリー上に、あらかじめ、カーネルダンプを出力するための
クラッシュカーネルを常駐させておき、カーネルパニックが発生すると、
通常のカーネルからクラッシュカーネルに処理を渡して、ダンプを取得
するツールのこと。
インストール方法
# yum install kexec-tools
もしくは
# rpm -ivh kexec-tools-*.rpm
基本的な設定
crashkernel オプションを追記
# vi /etc/grub.conf
kernel行に、crashkernel=128M と追記する。※サイズは任意だが、crashkernel=auto と指定することも可能
kernel /vmlinuz-2.6.32-22.el6.x86_64 ro root=xxxxxx crashkernel=128M
カーネルダンプの出力先設定
# vi /etc/kdump.conf
/var/crash に出力する場合
path /var/crash
サービスの有効化
# chkconfig kdump on
# service kdump start
オプション設定(任意)
ダンプファイルの圧縮
/etc/kdump.confファイル内にcore_collectorの設定を追記。-cを付けると圧縮できる。
core_collector makedumpfile -c
ダンプファイルから特定のページを削除してさらに圧縮
/etc/kdump.confファイル内のcore_collector行に-d 数字
を追記。
core_collector makedumpfile -c -d 31
-dの後の数字は以下の設定値の合計値。設定値のページが削除される。
設定値 | ページの種類 |
1 | zero page |
2 | chache page |
4 | chache private |
8 | user data |
16 | free page |
zero pageとuser dataを削除するなら9、全部削除するなら31、全部削除しないなら0という感じ。
表示するメッセージレベル設定
/etc/kdump.confファイル内のcore_collector行に–message-level 数字
を追記。
core_collector makedumpfile –message-level 1
–message-level の後の数字は以下の設定値の合計値。設定値のメッセージが表示される。
設定値 | メッセージの種類 |
1 | progress indicator |
2 | common message |
4 | error message |
8 | debug message |
16 | report message |
全部表示するなら31、全部表示しないなら0。とはいえ、1のprogress indicatorぐらいは表示されるほうが分かりやすい。
ダンプファイルを専用のパーティションに出力
/etc/kdump.conf ファイル内に追記
ext4でフォーマットした専用のパーティション(/dev/sda4)に出力する場合
ext4 /dev/sda4
ダンプファイルを別ディスクにrawで出力
/etc/kdump.conf ファイル内に追記
/dev/sdb1に出力する場合
raw /dev/sdb1
ダンプファイルを別サーバのNFS共有領域に出力
/etc/kdump.conf ファイル内に追記
nfsserverというサーバの/export/coreに出力する場合
net nfsserver:/export/core
ダンプファイルを別サーバにssh接続して出力
/etc/kdump.conf ファイル内に追記
dumpserverというサーバのhogeuserというユーザの領域に出力する場合
net hogeuser@dumpserver
設定後作業
再起動
# init 6
動作試験
強制的にカーネルパニックを起こす
# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger
※上手くいかない場合は以下の手順でやってみる。
# vi /etc/sysctl.conf
kernel.sysrq = 1 ←1に変更
# sysctl –p ←設定反映
# echo c > /proc/sysrq-trigger ←パニック発生
ダンプが出力されることを確認
カーネルダンプが出力され、リブートし、指定した出力先に出力されていること。
ディスカッション
コメント一覧
まだ、コメントがありません