kdumpでダンプを取得する方法

公開日: : 最終更新日:2015/03/30 Linuxの技術メモ , ,

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 ←パニック発生

ダンプが出力されることを確認

カーネルダンプが出力され、リブートし、指定した出力先に出力されていること。

AD

この記事が興味深かった場合は、SNSボタンでシェアいただけると嬉しいです。

関連記事

linux_icon

「.bash_profile」と「.bashrc」は何が違う??

「.bash_profile」と「.bashrc」の違いについて。 ・「.bash_profile

記事を読む

linux_icon

cronの実行ログ確認方法

cronのログ確認方法です。 # tail -f /var/log/cron 以上

記事を読む

linux_icon

インストールされているperlモジュールの確認方法

perlモジュールの確認方法です。 # find `perl -e 'print "@INC"'`

記事を読む

linux_icon

CentOS7やRHEL7でIPv6を無効化する方法

CentOS7やRHEL7でipv6をdisableにするには、カーネルに組み込まれているipv6モ

記事を読む

linux_icon

「gnome-session: (tracker-miner-fs:5589): GLib-GIO-CRITICAL **: Error while sending AddMatch() message: 接続が閉じています」の原因と対策

CentOS7やRHEL7環境で、/var/log/messagesに gnome-sessi

記事を読む

Message

メールアドレスが公開されることはありません。

AD

PAGE TOP ↑