diskdumpによる、swap領域を利用した情報採取について

[概  要]

MIRACLE LINUX V4.0にはシステムクラッシュ時にカーネルのメモリダンプをディスクに作成するdiskdumpという機能を実装しています。
これによりシステムクラッシュ時の解析が可能となります。

本ドキュメントでは、diskdumpswapパーティションを使用して行う方法について説明します。

 

[注意事項]
本ドキュメントは、各ソフトウェア開発元の情報およびマニュアル等を元にした参考情報です。
本ドキュメントの内容は、予告なしに変更される場合があります。

 

本ドキュメントは、限られた評価環境における検証結果をもとに作成しており、全ての環境での動作を保証するものではありません。
本ドキュメントの内容に基づき、導入、設定、運用を行なったことにより損害が生じた場合でも、弊社はその損害についての責任を負いません。あくまでお客様のご判断にてご使用ください。

 

[確認環境]

MIRACLE LINUX V4.0 SP2 x86 - Asianux Inside

MIRACLE LINUX V4.0 SP2 x86-64 - Asianux Inside

 

[前提条件]
diskdumpの出力先が下記のドライバを使用するデバイスであることが必要です。

megaraid

aic7xxx

aic79xx

ide-disk

sym53c8xx

mptfusion

ipr

sata_promise

sata_sx4

ata_piix

usb-storage

cciss (1)

 

この場合、該当のswap領域に搭載メモリの最低1.1倍のパーティションが必要になります。
また、/varを含むパーティションに常に搭載メモリ分の空き容量を確保するようご注意ください。

 

ccissの場合の注意点については下記ドキュメントを参照して下さい

 

[設定手順]
1.rootユーザでログインします。

 

2.fdiskコマンド等で、swap領域のデバイス名を確認します。

注意:swap領域にLVMボリュームを使用している場合、dump領域に使用することが出来ません。

 

# fdisk -l

 

3.出力先のswap領域のデバイス名を/etc/sysconfig/diskdumpに設定します。

 

DEVICE=/dev/XXXX ←手順2で確認したデバイス名を設定します。

 

4.diskdumpサービスを起動します。

 

# service diskdump start

 

再起動時にもサービスが起動するよう設定します。

 

# chkconfig diskdump on

 

[確認手順]

 

1.magic SysRq Keyが有効になっているか確認します。

 

# cat /proc/sys/kernel/sysrq

1

 

上記の様に値が”1” になっている場合は有効になっています。

 

magic SysRq Keyが無効になっている場合は下記のドキュメントを参考に有効にします。

 

  magic SysRq keyについて

 

2.カーネルパニックの発生とダンプの採取

 

次のコマンドを実行すると、意図的にカーネルパニックを発生させることができますのでこれを利用してdiskdumpの動作から上記の設定が正しく行われているか確認できます。

 

実際にカーネルパニックが発生するので、運用中のサーバでのテストは避けてください。

 

# echo c > /proc/sysrq-trigger

 

数十秒~数分後再起動がかかります。

 

3.ダンプの保存

再起動後のdiskdumpサービスの起動時にデータはswap領域から/var/crash/127.0.0.1-yyyy-mm-dd-hh:mm/vmcore にコピーされます。

 

vmcoreファイルはcrashコマンドを使用して分析することができます。

 

[更新履歴]

2008414日 新規作成