首页 > 代码库 > 记一次线上服务器频繁宕机
记一次线上服务器频繁宕机
简单点,说话的方式简单点
1、查看dmesg日志
grep -E "error|Error|ERROR|fail|Fail|FAIL" dmesg [Hardware Error]: This system BIOS has enabled interrupt remapping ERST: Error Record Serialization Table (ERST) support is initialized. ACPI Error: No handler for Region [IPMI] (ffff88042a610300) [IPMI] (20090903/evregion-319) ACPI Error: Region IPMI(7) has no handler (20090903/exfldio-295) ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._GHL] (Node ffff88082a7aeab0), AE_NOT_EXIST ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._PMC] (Node ffff88082a7aeb00), AE_NOT_EXIST
2、查看messages日志
grep -E "error|Error|ERROR|fail|Fail|FAIL" messages Mar 15 11:32:07 rsyslogd: UDP message reception disabled due to error logged in last message. Mar 15 11:32:07 kernel: [Hardware Error]: This system BIOS has enabled interrupt remapping Mar 15 11:32:07 kernel: ERST: Error Record Serialization Table (ERST) support is initialized. Mar 15 11:32:07 kernel: ACPI Error: No handler for Region [IPMI] (ffff88042a610300) [IPMI] (20090903/evregion-319) Mar 15 11:32:07 kernel: ACPI Error: Region IPMI(7) has no handler (20090903/exfldio-295) Mar 15 11:32:07 kernel: ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._GHL] (Node ffff88082a7aeab0), AE_NOT_EXIST Mar 15 11:32:07 kernel: ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._PMC] (Node ffff88082a7aeb00), AE_NOT_EXIST Mar 15 11:32:14 mcelog: failed to prefill DIMM database from DMI data Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 61: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 62: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 63: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 64: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 65: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 66: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 67: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: /etc/snmp/snmpd.conf: line 68: Error: ERROR: This output format has been deprecated - Please use the ‘extend‘ directive instead Mar 15 11:32:14 snmpd[20522]: net-snmp: 8 error(s) in config file(s) Mar 15 11:32:37 kernel: oddjobd[26628]: segfault at 3700000000 ip 00000037975292b0 sp 00007fff5397ef28 error 4 in libc-2.12.so[3797400000+18a000] Mar 15 11:32:37 oddjobd: oddjobd startup failed
3、查看kdump的log文件
grep -E "error|Error|ERROR|fail|Fail|FAIL" vmcore-dmesg.txt <4>[Hardware Error]: This system BIOS has enabled interrupt remapping <6>ERST: Error Record Serialization Table (ERST) support is initialized. <4>ACPI Error: No handler for Region [IPMI] (ffff88042a610300) [IPMI] (20090903/evregion-319) <4>ACPI Error: Region IPMI(7) has no handler (20090903/exfldio-295) <4>ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._GHL] (Node ffff88082a7aeab0), AE_NOT_EXIST <4>ACPI Error (psparse-0537): Method parse/execution failed [\_SB_.PMI0._PMC] (Node ffff88082a7aeb00), AE_NOT_EXIST <6>oddjobd[26656]: segfault at 3700000000 ip 00000037975292b0 sp 00007fffb3fd00d8 error 4 in libc-2.12.so[3797400000+18a000] <6>chntf[42911]: segfault at 10 ip 000000000045afb4 sp 00007f374386b940 error 4 in chntf[400000+12e000] <6>dmagic93[26512] general protection ip:3797476065 sp:7f20c803b500 error:0 in libc-2.12.so[3797400000+18a000]
分析:
由于BIOS中开启了中断重映射(这是个复杂的东西,也可以简单讲明白,我就不讲了。),在ERST(芯片集中的错误校验表)校验时发生错误,导致高级配置电源管理模块无法处理IPMI驱动请求,预存数据到内存发生错误,引发kernel上演了一出找到空指针的戏法。
解决方法:
在grub.conf的内核启动参数中添加 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导致的故障
记一次线上服务器频繁宕机
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。