CentOs 7无法启动崩溃内核并在/ var / crash中生成转储

时间:2015-01-15 17:31:03

标签: linux kernel coredump panic

我们遇到一个问题,我们的CentOS 7服务器在内核崩溃时不会在/ var / crash中生成内核转储文件。崩溃内核似乎永远不会启动。我们已经按照Rhel指南(http://red.ht/1sCztdv)来配置故障转储,乍一看似乎所有内容都配置正确。我们引发了这样的恐慌:

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

这会导致系统冻结。我们在控制台上没有消息,控制台变得没有响应。此时我想象系统会启动崩溃内核并开始将转储写入/ var / crash。我把它保持在这个冻结状态长达30分钟,以便有时间完成整个转储。但是在硬冷启动/ var / crash之后是空的。

此外,我已按预期复制KVM虚拟机中的配置和kdump字。因此,我在物理系统上的配置有问题,或者导致挂起而不是转储的硬件配置有些奇怪。

我们的服务器是HP G9,具有24核和128GB内存。以下是其他一些细节:

[user@host]$ cat /proc/cmdline

BOOT_IMAGE=/vmlinuz-3.10.0-123.el7.x86_64 root=UUID=287798f7-fe7a-4172-a35a-6a78051af4d2 ro rd.lvm.lv=vg_sda/lv_root vconsole.font=latarcyrheb-sun16 rd.lvm.lv=vg_sda/lv_swap crashkernel=auto vconsole.keymap=us rhgb nosoftlockup intel_idle.max_cstate=0 mce=ignore_ce processor.max_cstate=0 idle=mwait isolcpus=2-11,14-23

[user@host]$ systemctl is-active kdump
active

[user@host]$ cat /etc/kdump.conf 

path /var/crash
core_collector makedumpfile -l --message-level 1 -d 31 -c

[user@host]$ cat /proc/iomem |grep Crash
2b000000-357fffff : Crash kernel

[user@host]$ dmesg|grep Reserving
[    0.000000] Reserving 168MB of memory at 688MB for crashkernel (System RAM: 131037MB)

[user@host]$ df -h
Filesystem                  Size  Used Avail Use% Mounted on
/dev/mapper/vg_sda-lv_root  133G  4.7G  128G   4% /
devtmpfs                     63G     0   63G   0% /dev
tmpfs                        63G     0   63G   0% /dev/shm
tmpfs                        63G  9.1M   63G   1% /run
tmpfs                        63G     0   63G   0% /sys/fs/cgroup
/dev/sda1                   492M  175M  318M  36% /boot
/dev/mapper/vg_sdb-lv_data  2.8T  145G  2.6T   6% /data

2 个答案:

答案 0 :(得分:0)

修改以下参数后,我们能够可靠地获得崩溃转储:

  1. 将crashkernel = auto更改为crashkernel = 1G:我不确定为什么我们需要1G,因为公式表示每1TB内存为128M + 64M。
  2. / etc / sysconfig / kdump:从KDUMP_COMMANDLINE_APPEND excpet irqpoll nr_cpus = 1中删除所有内容,结果为:KDUMP_COMMANDLINE_APPEND =“irqpoll nr_cpus = 1
  3. /etc/kdump.cfg:向makedump添加压缩(“ - c”)
  4. 不是100%确定为什么会这样,但确实如此。很想知道别人的想法

    埃里克

答案 1 :(得分:0)

埃里克,

1G似乎有点大。对于普通服务器,我从未见过任何大于200M的东西。不确定sysconfig设置。压缩是一个好主意,但我不认为它会影响问题,因为你的目标接近总内存并且你只是倾销内核环。