2

我们有一个问题,我们的 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 字词。因此,要么是我在物理系统上的配置有问题,要么是导致挂起而不是转储的硬件配置有些奇怪。

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

[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
4

2 回答 2

2

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

  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”)

不是 100% 确定为什么会这样,但确实如此。很想知道别人的想法

埃里克

于 2015-01-19T16:14:17.423 回答
0

埃里克,

1G好像有点大。对于普通服务器,我从未见过大于 200M 的东西。不确定系统配置设置。压缩是个好主意,但我认为它不会影响问题,因为您的目标接近总内存并且您只是转储内核环。

于 2015-02-01T20:23:41.453 回答