Dell服务器频繁重启、IBM服务器频繁重启、惠普服务器频繁重启、R410R420R710R720
报错现象:
线上有台服务器运行了了大概半年多,突然收到报警服务器重启了,可以确定不是人为操作导致的重启,以下是排查过程。
服务器品牌:Dell PowerEdge R720
系统版本:CentOS Linux release 7.1.1503
内核版本:3.10.0-229.el7.x86_64
查看messages日志报错信息如下:
# tail -1000 /var/log/messages | grep -i error

查看dmesg报错信息如下:
# dmesg | grep -E “error|Error|ERROR|fail|Fail|FAIL”

报错原因:
由于BIOS中开启了中断重映射,在ERST(芯片集中的错误校验表)校验时发生错误,导致高级配置电源管理模块无法处理IPMI驱动请求,预存数据到内存发生错误,造成kernel寻找了空指针。
网上说这是kernel的一个bug,它不会立即造成重启,会在服务器200多天内没重启过就会自动重启,但是我觉得这种说法不准确,线上有台服务器和这台无论是硬件品牌型号,系统版本、内核版本都是一样的,但是运行了440多天了也没有重启过,目前不知道具体是什么原因会诱发这个问题。
发现有问题的内核版本:
Centos 6:2.6.32-220.el6.x86_64 、2.6.32-431.el6.x86_64 、2.6.32-71.el6.x86_64
Centos 7:3.10.0-229.el7.x86_64
解决方法:
方法一:
# vi /boot/grub/grub.conf
在kernel一行最后加上添加 intremap=off 或者 intremap=no_x2apic_optout
然后重启服务器即可。
参数解释:
intremap={on,off,nosid,no_x2apic_optout}
on:(默认值)开启中断重映射,BIOS中默认开启
off:关闭中断重映射
nosid:重映射时不对SID(Source ID)做检查
no_x2apic_optout:无视BIOS的设置,强制禁用x2APIC特性,主要用于解决某些对x2APIC支持有缺陷的BIOS导致的故障
方法二:(此方法会导致多核变单核,生成环境不要使用)
# vi /boot/grub/grub.conf
在kernel一行最后加上acpi=off noacip,关闭高级电源管理接口如下:
kernel … acpi=off noacip
然后重启服务器即可。
方法三:更新系统内核
# yum install kernel
我升级到3.10.0-514.26.2.el7内核后,问题解决。关于内核升级的方法,请参看本站文章:
Centos 7/6 内核版本由3.10.0 升级至 4.12.4方法:https://www.proyy.com/centos-7-6-kernel-version-upgraded-from-3-10-0-to-4-12-4-method.html
参考文章:
http://www.mamicode.com/info-detail-1724724.html
http://www.bubuko.com/infodetail-1781180.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END