今回は,
トラシュー事例 (初級編)
「XX月YY日にシステムが予期せぬ再起動をしました。原因調査をしてください」
上記のような問い合わせについて,
- ハードウェア
- アプリケーション
- ユーザによる操作
- カーネルパニック
このような問い合わせ内容の場合,
情報収集の初期段階では,
sosreportとは
sosreportは,rpm -ql sos
」
sosreportの構造
収集したsosreportは図1のようになっています。一般的に確認することが多いディレクトリについて紹介しています。この図から,
図1 sosreportの構造
. ├── boot /boot 配下の設定ファイルを収めている ├── etc /etc 配下の設定ファイルを収めている ├── proc /proc ファイルシステム配下から収集した情報を収めている ├── root /root 配下の収集したファイルを収めている ├── sos_commands 各スクリプトで実行したコマンドの実行結果をスクリプトごとに収めている │ ├── autofs │ ├── bootloader │ ├── crontab ├── sys /sys ファイルシステム配下から収集した情報を収めている └── var /var/ 配下のログなどを収めている ├── crash kdumpで取得されたvmcoreのデフォルトの保存先で,vmcore-dmesg.txtを配置している └── log 収集した一般的なログを収めている
soreportを使って調査してみよう
取得したsosreportから,
まず,sos_
」
図2 chkconfigの確認結果
$ cat sos_commands/startup/chkconfig_--list ¦grep kdump kdump 0:off 1:off 2:on 3:on 4:on 5:on 6:off
次に事象が発生した日時の直前のシステムログ
図3から,
図3 kdumpサービスの起動ログ
Feb 11 11:08:12 localhost kdump: kexec: loaded kdump kernel Feb 11 11:08:12 localhost kdump: started up
保存先を指定するpathオプションを確認すると図4から保存先は/var/
図4 /etc/
$ cat etc/kdump.conf ¦ grep -v ^# ¦ grep -v ^[[:space:]]*$ path /var/crash core_collector makedumpfile -c --message-level 1 -d 31
vmcoreが保存されている場合には,
リスト1 vmcore-dmesg.
<0>Uhhuh. NMI received for unknown reason 30 on CPU 0.
<0>Do you have a strange power saving mode enabled?
<0>Kernel panic - not syncing: NMI: Not continuing
<4>Pid: 0, comm: swapper Not tainted 2.6.32-504.8.1.el6.x86_64 #1
<4>Call Trace:
<4> <NMI> [<ffffffff815292d6>] ? panic+0xa7/0x16f
<4> [<ffffffff8152dec9>] ? do_nmi+0x329/0x340
<4> [<ffffffff8152d620>] ? nmi+0x20/0x30
<4> [<ffffffff81040f8b>] ? native_safe_halt+0xb/0x10
<4> <<EOE>> [<ffffffff810167ad>] ? default_idle+0x4d/0xb0
<4> [<ffffffff81009fc6>] ? cpu_idle+0xb6/0x110
<4> [<ffffffff8151061a>] ? rest_init+0x7a/0x80
<4> [<ffffffff81c29f8f>] ? start_kernel+0x424/0x430
<4> [<ffffffff81c2933a>] ? x86_64_start_reservations+0x125/0x129
<4> [<ffffffff81c29453>] ? x86_64_start_kernel+0x115/0x124
この内容から,
今回は,
ここからは一歩進んだ情報収集について,