diskdumpの出力先が下記のドライバを使用するデバイスであることが必要です。
- megaraid
- aic7xxx
- aic79xx
- ide-disk
- sym53c8xx
- mptfusion
- ipr
- sata_promise
- sata_sx4
- ata_piix
- usb-storage
- cciss (注1)
また、上記のデバイスに搭載メモリより大きいサイズの専用パーティションが必要になります。
マシンに搭載メモリより大きいサイズの専用パーティションが作成できない場合は、usb-storageを使用するUSB-HDDなどでも代用できます。
(注1) diskdumpにccissを使用する場合は別途次の手順を実行する必要があります。
ただし、ML40 SP2以降のカーネル(kernel-2.6.9-42.7AX)では以下の手順は必要ありませんので、実施しないようお願いします。
- /etc/modprobe.conf を次のように変更してください。
変更前: alias scsi_hostadapter cciss
↓
変更後: alias scsi_hostadapter cciss_dump
options cciss_dump dump_drive=0
※dump_driveの値はダンプデバイスが/dev/cciss/c0dXpYの場合はXになります。
- initrd の再作成を行います。その後再起動してください。
# mkinitrd -f /boot/initrd-`uname -r`.img `uname -r`
次のコマンドを実行すると、意図的にカーネルパニックを発生させることができますのでこれを利用してdiskdumpの動作から上記の設定が正しく行われているか確認できます。
※実際にカーネルパニックが発生するので、運用中のサーバでのテストは避けてください。
# echo c > /proc/sysrq-trigger ----(1)
まず、上記のコマンドが有効になっているか確認します。
# sysctl -a | grep kernel.sysrq
grep kernel.sysrq = 1
上記の様に値が"1"になっている場合は有効になっています。
"0"なっている場合は無効になっているので、下記コマンドで有効にします。
# echo 1 > /proc/sys/kernel/sysrq
では実際にカーネルパニックを発生させます。
(1)のコマンドを実行します。すると数十秒後リブートがかかります。
マシンのリブート後のdiskdumpサービス起動時にデータは/etc/sysconfig/diskdumpで設定したデバイスから/var/crash/127.0.0.1-yyyy-mm-dd-hh:mm/vmcore にコピーされます。
(マシン起動時に自動起動していない場合は、手動でdiskdumpサービスを起動する必要があります)
この時/varの容量に注意してください。vmcoreは搭載メモリと同容量近くのサイズがあります。
vmcoreファイルはcrashコマンドを使用して分析することができます。
crashコマンドについての詳細はオンラインマニュアルを参照してください。