下载
中文
注册
Atlas 800-3010 Redhat 7.6安装Mellanox驱动后kdump执行失败

Atlas 800-3010 Redhat 7.6安装Mellanox驱动后kdump执行失败

2021/09/06

151

暂无评分
我要评分

问题信息

问题来源产品大类产品子类关键字
版本测试安装部署驱动固件mlx5_core、 kdump

问题现象描述

硬件配置:

【版本信息】

BIOS:7.73

IBMC:5.13 004

CPLD(主板):0.04

CPLD(背板):1.02

【硬件信息】:

机型:【Atlas 800-3010】

主板:026NEA10LA000027Y2

背板:029JRY10LA000024Y2

【OS信息】

Redhat 7.6

FusionServer iDriver 3.0.14,mlx5_core(4.7-1.0.0)

问题现象:

安装完手动触发BMC NMI按键,OS卡死,未正常重启,出现错误打印。

串口打印systemd-udevd oom 异常日志:

放大

关键过程、根本原因分析

根本原因分析:

通过串口打印日志观察到,系统卡在了kdump内核的启动流程中:

[ 0.000000] Command line: BOOT_IMAGE=/vmlinuz-3.10.0-957.el7.x86_64 ro console=ttyS0,115200n8 console=tty0 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 nokaslr disable_cpu_apicid=0 elfcorehdr=839228K

挂死的位置为 systemd-udevd 加载 Mellanox 驱动 mlx5_core,触发了 OOM 异常。OOM的原因为系统内存不够用,mlx5_core 申请内存失败。

本问题发生的环境为64GB内存,在通过IDriver安装/更新 Mellanox驱动后,更新后的 mlx5_core驱动增加了内存使用量,导致当前164MB不够用,出现kdump内核启动失败问题。

结论、解决方案及效果

通常在加载kdump内核时只需保证能正常启动并收集vmcore到磁盘即可,故其对内存要求很少,并且在内核引导参数中都会禁掉无关的模块,以保证kdump内核功能不受其他模块干扰。

解决方案:

添加如下内容

# vi /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 nokaslr modprobe.blacklist=mlx5_core"

# kdumpctl restart

经验总结、预防措施和规范建议

备注

本页内容