Dynamic Link Manager ユーザーズガイド(Linux®用)
kdump機能を使用する設定手順を,次の順序で説明します。
- カーネルダンプ出力用のディスクを追加する
- カーネルダンプの出力先を設定する
- ブートローダの設定ファイルを編集する
- kdump機能用の初期RAMディスクイメージファイルを作成する
- カーネルダンプが正しく採取されることを確認する
- この節の構成
- C.2.1 カーネルダンプ出力用のディスクを追加する
- C.2.2 カーネルダンプの出力先を設定する
- C.2.3 ブートローダの設定ファイルを編集する
- C.2.4 kdump機能用の初期RAMディスクイメージファイルを作成する
- C.2.5 カーネルダンプが正しく採取されることを確認する
カーネルダンプの出力先となるディスクを追加します。
システムディスク(/varディレクトリ)のファイルシステムに異常が発生した場合でもカーネルダンプを採取できるようにするため,カーネルダンプ出力用のディスクは,システムディスクから独立した別のディスクに設定することを推奨します。
次の条件に該当する場合,ディスクの追加は不要です。
- カーネルダンプの出力先を内蔵ディスクの任意のディレクトリにする場合
「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)を編集する
- 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)に,タイムアウトの設定を追加します。
Red Hat Enterprise Linux 7またはOracle Linux 7の場合は,タイムアウトの設定は不要です。disk_timeout 1
ブートローダの設定ファイルに,kdump機能のオプションを追加します。ただし,Red Hat Enterprise Linux 7またはOracle Linux 7の場合は,編集は不要です。
ブートローダとしてGRUBを使用している場合(カーネルパラメータにLABELを使用する場合)
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 rhgb quiet crashkernel=128M@16M initrd /initrd-2.6.18-8.el5-hdlm.img : :
- HDLMデバイスから起動する既存の設定をコピーします。
- コピー元の既存の設定は,先頭に#を付けてコメントアウトします。
- titleで始まる行には,任意の設定名を指定します。kdump機能で使用していることがわかる設定名を推奨します。
- kdump機能のオプション(crashkernel=128M@16M※)を追加します。
- 注※
- 使用しているOSによって,crashkernelに指定する内容は異なります。
- 「crashkernel=128M@16M」は,OSにRed Hat Enterprise Linux 5を使用している場合の例です。
ブートローダとしてGRUBを使用している場合(カーネルパラメータにUUIDを使用する場合)
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を使用している場合の例です。
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 crashkernel=256M@256M" : :
- HDLMデバイスから起動する既存の設定をコピーします。
- コピー元の既存の設定は,先頭に#を付けてコメントアウトします。
- labelで始まる行には,任意の設定名を指定します。kdump機能で使用していることがわかる設定名を推奨します。
- 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権限を持つユーザでログインします。
- /var/crash/hdlmディレクトリがない場合は,mkdirコマンドでディレクトリを作成してください。
# mkdir /var/crash/hdlm- Red Hat Enterprise Linux 7の場合は,/etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut」の記述を確認します。
「hdlm_dracut=n」の記述がある場合は,「hdlm_dracut=y」に変更します。「hdlm_dracut」の記述がない場合は,「hdlm_dracut=y」を記述してください。
- 注意事項
- Red Hat Enterprise Linux 7の場合,/etc/opt/DynamicLinkManager/hdlm.confに定義されている「hdlm_dracut」の記述は, 「hdlm_dracut=y」のままで使用してください。
- kdumpサービスを再起動して,kdump機能用の初期RAMディスクイメージファイルを作成します。
- Red Hat Enterprise Linux 7,またはOracle Linux 7の場合
# touch /etc/kdump.conf # systemctl restart kdump.service #- 上記以外のOSの場合
# 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表示されたファイルの更新時刻を確認してください。- ホストを再起動します。
# shutdown -r now
カーネルパニックを発生させて,カーネルダンプが正しく採取されることを確認します。
- 次のコマンドを実行して,カーネルパニックを発生させます。
# echo c > /proc/sysrq-triggerカーネルパニックが発生すると,カーネルダンプが採取されます。そのあと,ホストが再起動します。- ホストが再起動したら,/var/crash/hdlmディレクトリにカーネルダンプ(vmcoreファイル)が作成されていることを確認します。
- Red Hat Enterprise Linux 7,またはOracle Linux 7の場合
# ls -lR /var/crash/ /var/crash/: total 0 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 58732 -r-------- 1 root root 60074832 mmm dd hh:mm vmcore -rw-r--r--. 1 root root 63270 mmm dd hh:mm vmcore-dmesg.txt #- 上記以外のOSの場合
# 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© 2014, 2016, Hitachi, Ltd.