Dynamic Link Manager Software ユーザーズガイド(Linux®用)
kdump機能を使用する設定手順を,次の順序で説明します。
- カーネルダンプ出力用のディスクを追加する
- カーネルダンプの出力先を設定する
- ブートローダの設定ファイルを編集する
- kdump機能用の初期RAMディスクイメージファイルを作成する
- カーネルダンプが正しく採取されることを確認する
- この節の構成
- C.2.1 カーネルダンプ出力用のディスクを追加する
- C.2.2 カーネルダンプの出力先を設定する
- C.2.3 ブートローダの設定ファイルを編集する
- C.2.4 kdump機能用の初期RAMディスクイメージファイルを作成する
- C.2.5 カーネルダンプが正しく採取されることを確認する
カーネルダンプの出力先となるディスクを追加します。
システムディスク(/varディレクトリ)のファイルシステムに異常が発生した場合でもカーネルダンプを採取できるようにするため,カーネルダンプ出力用のディスクは,システムディスクから独立した別のディスクに設定することを推奨します。
次のどちらかの条件に該当する場合,ディスクの追加は不要です。
- ブートディスクにHDLMデバイス上の論理ボリューム(LVM2)を使用していない環境で,カーネルダンプの出力先をデフォルトのディレクトリ(/var/crash)にする場合
「C.2.2 カーネルダンプの出力先を設定する」の手順5に進んでください。- カーネルダンプの出力先を内蔵ディスクの任意のディレクトリにする場合
「C.2.2 カーネルダンプの出力先を設定する」の手順1に進んでください。
- ストレージシステム上のボリュームにカーネルダンプ出力用のディスクを作成し,ホストにシングルパスで接続します。
- HDLM構成定義ユティリティ(dlmcfgmgr -r)を実行して,カーネルダンプ出力用のディスクをHDLMに認識させます。
KAPL10339-Iメッセージが表示されたら,「y」を入力してください。# /sbin/dlmcfgmgr -r KAPL10339-I This operation will change the configuration of HDLM devices. Do you want to continue? [y/n]: y KAPL10341-I The HDLM device configurations have been changed. KAPL10302-I /sbin/dlmcfgmgr completed normally.- dlmcfgmgrユティリティ(dlmcfgmgr -v)を実行して,カーネルダンプ出力用のディスクが認識されたことを確認します。
# /sbin/dlmcfgmgr -v HDevName Management Device Host Channel Target Lun /dev/sddlmaa configured /dev/sda 0 0 0 0 /dev/sdc 1 0 0 0 /dev/sddlmab configured /dev/sdb 0 0 0 1 /dev/sdd 1 0 0 1 /dev/sddlmac configured /dev/sde 0 0 0 2 KAPL10302-I /sbin/dlmcfgmgr completed normally.下線部に新しいディスクが追加されています。- dlmcfgmgrユティリティ(dlmcfgmgr -o)を実行して,カーネルダンプ出力用のディスクをHDLMの管理対象外にします。
KAPL10339-Iメッセージが表示されたら,「y」を入力してください。# /sbin/dlmcfgmgr -o /dev/sddlmac KAPL10339-I This operation will change the configuration of HDLM devices. Do you want to continue? [y/n]: y KAPL10341-I The HDLM device configurations have been changed. KAPL10302-I /sbin/dlmcfgmgr completed normally.- dlmcfgmgrユティリティ(dlmcfgmgr -v)を実行して,カーネルダンプ出力用のディスクがHDLMの管理対象外になったことを確認します。
# /sbin/dlmcfgmgr -v HDevName Management Device Host Channel Target Lun /dev/sddlmaa configured /dev/sda 0 0 0 0 /dev/sdc 1 0 0 0 /dev/sddlmab configured /dev/sdb 0 0 0 1 /dev/sdd 1 0 0 1 /dev/sddlmac unconfigured /dev/sde 0 0 0 2 KAPL10302-I /sbin/dlmcfgmgr completed normally.Management列に「unconfigured」が表示されていることを確認してください。
次の操作を実行して,カーネルダンプの出力先を設定します。
- パーティションを作成する
- ファイルシステムを作成する
- /etc/fstabファイルを編集する
- kdump機能の設定ファイル(/etc/kdump.conf)を編集する
次に示す条件をすべて満たす場合,手順1から4は実行しないで,手順5から実行してください。
- ブートディスクにHDLMデバイス上の論理ボリューム(LVM2)を使用していない
- カーネルダンプの出力先をデフォルトのディレクトリ(/var/crash)にする
- fdiskコマンドを実行して,カーネルダンプ出力用のディスクにパーティションを作成します。
fdiskのコマンドは,次の下線部に示すとおりに入力してください。# fdisk /dev/sde The number of cylinders for this disk is set to 10240. There is nothing wrong with that, but this is larger than 1024, and could in certain setups cause problems with: 1) software that runs at boot time (e.g., old versions of LILO) 2) booting and partitioning software from other OSs (e.g., DOS FDISK, OS/2 FDISK) Command (m for help): p Disk /dev/sde: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 First cylinder (1-10240, default 1): Using default value 1 Last cylinder or +size or +sizeM or +sizeK (1-10240, default 10240): Using default value 10240 Command (m for help): p Disk /dev/sde: 10.7 GB, 10737418240 bytes 64 heads, 32 sectors/track, 10240 cylinders Units = cylinders of 2048 * 512 = 1048576 bytes Device Boot Start End Blocks Id System /dev/sde1 1 10240 10485744 83 Linux Command (m for help): w The partition table has been altered! Calling ioctl() to re-read partition table. Syncing disks.- mkfsコマンドを実行して,作成したパーティションにファイルシステムを作成します。
- LABELを使用する場合
- -Lパラメタには,任意のボリュームラベルを設定します。kdump機能で使用していることがわかるラベル名を推奨します。カーネルダンプの出力先にボリュームラベルを指定することで,デバイスの構成が変更された場合でも設定ファイルを修正する手間が省けます。
- 次の実行例では,ボリュームラベルを「kdump_disk」としています。
# mkfs -t ext3 -L kdump_disk /dev/sde1 mke2fs 1.39 (29-May-2006) Filesystem label=kdump_disk OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) 1310720 inodes, 2621436 blocks 131071 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=2684354560 80 block groups 32768 blocks per group, 32768 fragments per group 16384 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632 Writing inode tables: done Creating journal (32768 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 24 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.- UUIDを使用する場合
- ファイルシステムを作成したあと,設定されたUUIDを確認します。
# mkfs -t ext4 /dev/sde1 mke2fs 1.41.12 (17-May-2010) Filesystem label= OS type: Linux Block size=4096 (log=2) Fragment size=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 65536 inodes, 262094 blocks 13104 blocks (5.00%) reserved for the super user First data block=0 Maximum filesystem blocks=268435456 8 block groups 32768 blocks per group, 32768 fragments per group 8192 inodes per group Superblock backups stored on blocks: 32768, 98304, 163840, 229376 Writing inode tables: done Creating journal (4096 blocks): done Writing superblocks and filesystem accounting information: done This filesystem will be automatically checked every 30 mounts or 180 days, whichever comes first. Use tune2fs -c or -i to override.- blkidコマンドを実行して,設定された UUIDを確認します。
UUID="bf5d6d8d-d18b-45f8-8187-86837d895488" TYPE="ext4"- /etc/fstabファイルに,カーネルダンプの出力先を追加します。
- LABELを使用する場合
- LABELには,手順2で設定したボリュームラベルを指定します。
LABEL=kdump_disk /var/crash ext3 defaults 1 2- UUIDを使用する場合
- 手順2で確認したUUIDを指定します。
UUID=bf5d6d8d-d18b-45f8-8187-86837d895488 /var/crash ext4 defaults 1 2- kdump機能の設定ファイル(/etc/kdump.conf)に,カーネルダンプの出力先を追加します。
- LABELを使用する場合
- LABELには,手順2で設定したボリュームラベルを指定します。
path hdlm ext3 LABEL=kdump_disk- UUIDを使用する場合
- 手順2で確認したUUIDを指定します。
path hdlm ext4 UUID=bf5d6d8d-d18b-45f8-8187-86837d895488- kdump機能の設定ファイル(/etc/kdump.conf)に,タイムアウトの設定を追加します。
disk_timeout 1
ブートローダの設定ファイルに,kdump機能のオプションを追加します。
ブートローダとしてGRUBを使用している場合(カーネルパラメータにLABELを使用する場合)
/etc/grub.confファイルの編集例を次に示します。下線部の個所を編集してください。
: : default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu #title HDLM-Red Hat Enterprise Linux Server (2.6.18-8.el5) # root (hd0,0) # kernel /vmlinuz-2.6.18-8.el5 ro rhgb quiet # initrd /initrd-2.6.18-8.el5-hdlm.img title HDLM-kdump-Red Hat Enterprise Linux Server (2.6.18-8.el5) root (hd0,0) kernel /vmlinuz-2.6.18-8.el5 ro root=LABEL=/ rhgb quiet crashkernel=128M@16M initrd /initrd-2.6.18-8.el5-hdlm.img : :
- HDLMデバイスから起動する既存の設定をコピーします。
- コピー元の既存の設定は,先頭に#を付けてコメントアウトします。
- titleで始まる行には,任意の設定名を指定します。kdump機能で使用していることがわかる設定名を推奨します。
- ブートディスクにLVM2を適用していない環境の場合は,rootオプション(root=LABEL=/)を追加します。ブートディスクにLVM2を適用している環境の場合は,rootオプションの編集は不要です。
- kdump機能のオプション(crashkernel=128M@16M※)を追加します。
- 注※
- 使用しているOSによって,crashkernelに指定する内容は異なります。
- 「crashkernel=128M@16M」は,OSにRed Hat Enterprise Linux 5を使用している場合の例です。
ブートローダとしてGRUBを使用している場合(カーネルパラメータにUUIDを使用する場合)
/etc/grub.confファイルの編集例を次に示します。下線部の個所を編集してください。
: : default=0 timeout=5 splashimage=(hd0,0)/grub/splash.xpm.gz hiddenmenu #title HDLM-Red Hat Enterprise Linux Server (2.6.32-220.el6.x86_64) # root (hd0,0) # kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=43a23c95-4a5f-42ad-bce6-23fcf4c1f13a # rd_NO_LUKS rd_NO_MD # initrd /initrd-2.6.32-220.el6.x86_64-hdlm.img title HDLM-kdump-Red Hat Enterprise Linux Server (2.6.32-220.el6.x86_64) root (hd0,0) kernel /vmlinuz-2.6.32-220.el6.x86_64 ro root=UUID=43a23c95-4a5f-42ad-bce6-23fcf4c1f13a rd_NO_LUKS rd_NO_MD crashkernel=128M initrd /initrd-2.6.32-220.el6.x86_64-hdlm.img : :
- HDLMデバイスから起動する既存の設定をコピーします。
- コピー元の既存の設定は,先頭に#を付けてコメントアウトします。
- titleで始まる行には,任意の設定名を指定します。kdump機能で使用していることがわかる設定名を推奨します。
- kdump機能のオプション(crashkernel=128M※)を追加します。
- 注※
- 使用しているOSによって,crashkernelに指定する内容は異なります。
- 「crashkernel=128M」は,OSにRed Hat Enterprise Linux 6を使用している場合の例です。
/etc/elilo.confファイルの編集例を次に示します。下線部の個所を編集してください。
: : prompt timeout=10 default=HDLM-kdump-Red_Hat_Enterprise_Linux_Server_2.6.18-8.el5 relocatable #image=vmlinuz-2.6.18-8.el5 # label=HDLM-Red_Hat_Enterprise_Linux_Server_2.6.18-8.el5 # initrd=initrd-2.6.18-8.el5-hdlm.img # read-only # append="rhgb quiet" image=vmlinuz-2.6.18-8.el5 label=HDLM-kdump-Red_Hat_Enterprise_Linux_Server_2.6.18-8.el5 initrd=initrd-2.6.18-8.el5-hdlm.img read-only append="rhgb quiet root=LABEL=/ crashkernel=256M@256M" : :
- HDLMデバイスから起動する既存の設定をコピーします。
- コピー元の既存の設定は,先頭に#を付けてコメントアウトします。
- labelで始まる行には,任意の設定名を指定します。kdump機能で使用していることがわかる設定名を推奨します。
- ブートディスクにLVM2を適用していない環境の場合は,rootオプション(root=LABEL=/)を追加します。ブートディスクにLVM2を適用している環境の場合は,rootオプションの編集は不要です。
- kdump機能のオプション(crashkernel=256M@256M※)を追加します。
- 上記で作成した設定で起動するように,「default=」で始まる行の記述を手順3で指定したlabel名に変更します。
- 注※
- 使用しているOSによって,crashkernelに指定する内容は異なります。
- 「crashkernel=256M@256M」は,OSにRed Hat Enterprise Linux 5を使用している場合の例です。
C.2.4 kdump機能用の初期RAMディスクイメージファイルを作成する
カーネルダンプの採取時に,セカンドカーネルで使用されるkdump機能用の初期RAMディスクイメージファイルを作成します。
- ホストを再起動します。
# shutdown -r now- ホストが再起動したら,root権限を持つユーザでログインします。
- kdumpサービスを再起動して,kdump機能用の初期RAMディスクイメージファイルを作成します。
# touch /etc/kdump.conf # /sbin/service kdump restart Stopping kdump: [ OK ] Detected /etc/kdump.conf or /boot/vmlinuz-2.6.18-8.el5 change Rebuilding /boot/initrd-2.6.18-8.el5kdump.img Starting kdump: [ OK ]- 初期RAMディスクイメージファイルが作成されたことを確認します。
# ls -l /boot/initrd-`uname -r`kdump.img -rw-r--r-- 1 root root 2769763 mmm dd hh:mm /boot/initrd-2.6.18-8.el5kdump.img表示されたファイルの更新時刻を確認してください。
カーネルパニックを発生させて,カーネルダンプが正しく採取されることを確認します。
- 次のコマンドを実行して,カーネルパニックを発生させます。
# echo c > /proc/sysrq-triggerカーネルパニックが発生すると,カーネルダンプが採取されます。そのあと,ホストが再起動します。- ホストが再起動したら,/var/crash/hdlmディレクトリにカーネルダンプ(vmcoreファイル)が作成されていることを確認します。
# ls -lR /var/crash/ /var/crash/: total 24 drwxr-xr-x 3 root root 4096 mmm dd hh:mm hdlm drwx------ 2 root root 16384 mmm dd hh:mm lost+found /var/crash/hdlm: total 4 drwxr-xr-x 2 root root 4096 mmm dd hh:mm 127.0.0.1-yyyy-mm-dd-hh:mm:ss /var/crash/hdlm/127.0.0.1-yyyy-mm-dd-hh:mm:ss: total 1971852 -r-------- 1 root root 2017199848 mmm dd hh:mm vmcore /var/crash/lost+found: total 0以上で,kdump機能を使用するために必要な設定は終了です。
All Rights Reserved. Copyright© 2011, 2013, Hitachi, Ltd.