我们经常让服务器中的DIMM因syslog中的以下错误而变坏:
- May 7 09:15:31 nolcgi303 kernel: EDAC k8 MC0: general bus error: participating processor(local node response),time-out(no timeout) memory transaction type(generic read),mem or i/o(mem access),cache level(generic)
- May 7 09:15:31 nolcgi303 kernel: MC0: CE page 0xa0,offset 0x40,grain 8,syndrome 0xb50d,row 2,channel 0,label "": k8_edac
- May 7 09:15:31 nolcgi303 kernel: MC0: CE - no information available: k8_edac Error Overflow set
- May 7 09:15:31 nolcgi303 kernel: EDAC k8 MC0: extended error code: ECC chipkill x4 error
我们可以使用HP SmartStart CD来确定哪个DIMM有错误,但这需要使服务器停止生产.是否有一种巧妙的方法可以解决服务器运行时哪个DIMM出现故障?我们所有的服务器都是运行RHEL 5的HP硬件.
解决方法
除了使用EDAC代码之外,您还可以使用仅CLI的HP实用程序在机器联机时确定这一点. cli版本比基于Web的版本更轻量级,并且不需要您打开端口或让守护程序不断运行.
hpasmcli将为您提供故障模块的盒式磁带和模块.比分析EDAC快一点.
例:
- hpasmcli -s "show dimm"
- DIMM Configuration
- ------------------
- Cartridge #: 0
- Module #: 1
- Present: Yes
- Form Factor: 9h
- Memory Type: 13h
- Size: 1024 MB
- Speed: 667 MHz
- Status: Ok
- Cartridge #: 0
- Module #: 2
- Present: Yes
- Form Factor: 9h
- Memory Type: 13h
- Size: 1024 MB
- Speed: 667 MHz
- Status: Ok
- Cartridge #: 0
- Module #: 3
- Present: Yes
- Form Factor: 9h
- Memory Type: 13h
- Size: 1024 MB
- Speed: 667 MHz
- Status: Ok
- Cartridge #: 0
- Module #: 4
- Present: Yes
- Form Factor: 9h
- Memory Type: 13h
- Size: 1024 MB
- Speed: 667 MHz
- Status: Ok
失败的模块的状态将更改.