2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Hyper-V環境でkdumpでのコアダンプが出力されない件

Posted at

Hyper-V環境のRHEL7.2でkdumpでのコアダンプが出力されなかったので調べると、Hyper-V特有の問題とのこと。

参考

上記サイトのRHEL6.4の設定を参考にRHEL7の設定を行い、kdumpでコアダンプが出力されることを確認。
なお、kdumpの基本設定およびテストは以下のサイトをもとに確認する。
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/7/html/Kernel_Crash_Dump_Guide/chap-introduction-to-kdump.html

設定

  1. メモリ使用量の設定
    この設定はHyper-Vにかかわらず、共通の基本設定です。

(1) メモリ使用量を設定ファイルに記述
4GBメモリでは、128MBではちょっと不足気味なので、200MBに設定しました。
crashkernel=200M という箇所です。

/etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=200M rhgb quiet ipv6.disable=1"

(2) 上記設定後、BIOSファームウェア用にGRUB2設定を再作成

# grub2-mkconfig -o /boot/grub2/grub.cfg
  1. kdumpの設定
    (1) /etc/kdump.confの設定
    以下のように設定しました。
/etc/kdump.conf
path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31
default reboot
extra_modules ata_piix sr_mod sd_mod

「extra_modules ata_piix sr_mod sd_mod」がHyper-V用に追加した設定です。
Hyper-V以外では不要と思われます。
なお、blacklist options disk_timeoutの各オプションは廃止されており、後述のKDUMP_COMMANDLINE_APPENDに記述します。

(2) /etc/sysconfig/kdumpの設定
Hyper-V用に以下のように設定しました。
Hyper-V以外では不要です。

/etc/sysconfig/kdump
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never"
=>
KDUMP_COMMANDLINE_APPEND="irqpoll nr_cpus=1 reset_devices cgroup_disable=memory mce=off numa=off udev.children-max=2 panic=10 rootflags=nofail acpi_no_memhotplug transparent_hugepage=never rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv ata_piix.prefer_ms_hyperv=0"

rd.driver.blacklist=hv_vmbus,hv_storvsc,hv_utils,hv_netvsc,hid-hyperv
ata_piix.prefer_ms_hyperv=0
の2パラメータを追加しています。

テスト

(1) kdumpサービス起動確認

# systemctl is-active kdump
active

となるはずです。activeでなければサービスを起動してください。

(2) カーネルクラッシュ

# echo 1 > /proc/sys/kernel/sysrq
# echo c > /proc/sysrq-trigger

(2)の実行で、ターミナルがハングして、OSが再起動します。
再起動後、/var/crash にコアダンプが出力されます。

メモリ使用量は、サーバの実装メモリで正しく最低メモリ使用量を計算した方がいいかもしれません。

2
1
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?