简介
本文档介绍如何对Cisco Unified Computing System(UCS)解决方案中的内存模块和相关问题进行故障排除。
先决条件
要求
思科建议了解思科统一计算系统(UCS)。
使用的组件
本文档不限于特定的软件和硬件版本。
但是,本文档包括以下内容:
- Cisco UCS B系列刀片服务器
- UCS 管理器
- UCS使用双列直插内存模块(DIMM)作为RAM模块。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您的网络处于活动状态,请确保您了解所有命令的潜在影响。
故障排除方法
本节介绍UCS内存问题的几个部分。
- 内存放置
- 通过UCSM和CLI排除DIMM故障
- 要签入技术支持的日志
术语与缩略语
DIMM |
双列直插式内存模块 |
ECC |
纠错码 |
LVDIMM |
低压DIMM |
MCA |
机器检查架构 |
成员 |
内存内置自检 |
MRC |
内存参考代码 |
POST |
加电自检 |
SPD |
串行在线状态检测 |
DDR |
双倍数据速率 |
RAS |
可靠性、可用性和适用性 |
内存放置
内存放置是UCS解决方案最显着的物理方面之一。
通常,服务器预填充了请求数量的内存。
但是,如有疑问,请参阅硬件安装指南。
有关内存填充规则,请参阅特定平台的B系列技术规格。
B系列技术规格链接:
数据表
内存错误
- DIMM错误
- Multibit =不可校正
- POST由BIOS映射;操作系统看不到DIMM。
- 运行时通常会导致操作系统重新启动。
可更正错误与不可更正错误
特定错误是可纠正的还是不可纠正的取决于在存储器系统中使用的ECC代码的强度。
当出现可更正的错误时,专用硬件能够修复它们,而不影响程序执行。
带有可更正错误的DIMM未禁用,可供操作系统使用。此 Total Memory
和 Effective Memory
都是一样的。
这些可更正的错误在UCSM可操作性状态下报告为 Degraded
而整体可操作性是 Operable
可更正的错误。
不可纠正的错误导致应用程序或操作系统无法继续执行。
带有无法纠正错误的DIMM被禁用,操作系统看不到它们。在这种情况下,UCSM operState更改为Inoperational。
通过UCSM和CLI排除DIMM故障
从GUI检查错误
UCSM |
日志 |
描述 |
DIMM状态 |
可操作性 |
SEL |
备注 |
可操作的 |
可操作的 |
检查SEL日志以查找DIMM相关错误。 |
已安装DIMM且工作正常。 |
可操作的 |
降级 |
检查SEL是否存在ECC错误。 |
在运行时检测到可更正的ECC DIMM错误。 |
已删除 |
不适用 |
无日志 |
DIMM未安装或SPD数据损坏。 |
禁用 |
可操作的 |
检查SEL中是否存在身份无法建立的错误。 |
检查并更新功能目录。 |
禁用 |
不适用 |
如果同一通道中的另一个DIMM出现故障,请检查SEL。 |
DIMM正常但被禁用,因为配置规则无法由同一通道中发生故障的DIMM维护。 |
禁用 |
不适用 |
无日志 |
由于缺少DIMM,内存配置规则失败。 |
不可操作 |
不可操作/需要更换 |
|
检测到UE ECC错误。 |
降级 |
不可操作 |
检查SEL是否存在ECC错误。 |
由于主机重新启动前检测到ECC错误,DIMM状态和可操作性已更改。 |
降级 |
不可操作/需要更换 |
在POST/MRC期间,检查SEL中是否存在ECC错误。 |
在运行时期间检测到无法纠正的ECC错误,DIMM对操作系统仍然可用,操作系统崩溃并恢复,但仍可以使用此DIMM。以后可能会再次发生错误。大多数情况下必须更换DIMM。 |
要获取统计信息,请导航至 Equipment > Chassis > Server > Inventory > Memory,
然后右键单击 Memory
并选择 show navigator.
从CLI检查错误
这些命令在排除CLI中的错误时非常有用。
scope server x/y -> show memory detail
scope server x/y -> show memory-array detail
scope server x/y -> scope memory-array x -> show stats history memory-array-env-stats detail
从内存阵列范围,您还可以访问DIMM。
scope server X/Y > scope memory-array Z > scope DIMM N
从那里,您可以获取每DIMM统计信息或重置错误计数器。
UCS/chassis/server/memory-array/dimm # reset-errors
UCS /chassis/server/memory-array/dimm* # commit-buffer
UCS /chassis/server/memory-array/dimm # show stats memory-error-state
如果您看到与此信息匹配的可纠正错误,可以通过重置BMC而不是重置刀片服务器来纠正该问题。
使用以下Cisco UCS Manager CLI命令:
(重置BMC不会影响刀片上运行的操作系统。)
To reset memory-error counters on a Cisco UCS C-Series Rack Server operating in standalone mode, run the script on the CLI:
UCS-C# scope reset-ecc
UCS-C/reset-ecc # set enabled yes
UCS-C/reset-ecc *# commit
For colusa servers:
UCS# scope chassis
UCS /chassis # scope server x
UCS /chassis/server # reset-ecc
在UCS版本2.27和3.1及更高版本中,已移除内存修正错误的阈值。
因此,不再将内存模块报告为 Inoperable
或 Degraded
仅由于已纠正的内存错误。
根据Managing Correctable Memory Errors on Cisco UCS Servers白皮书
行业对更大容量、更大带宽和更低工作电压的要求会导致内存错误率增加。
传统上,行业对待可纠正错误的方式与对待不可纠正错误的方式相同,这就要求在发出警报时立即更换模块。
鉴于大量研究表明可纠正的错误与不可纠正的错误无关,并且可纠正的错误不会降低系统性能,Cisco UCS团队建议不要使用可纠正的错误立即更换模块。
对于遇到可纠正错误的内存降级警报的客户,建议重置内存错误并恢复操作。 此建议有助于避免不必要的服务器中断。 将来对错误管理的增强功能会区分各种可纠正的错误,并确定所需的适当操作(如有)。
至少应使用2.1(3c)或2.2(1b)版本,该版本具有对UCS内存错误管理的增强功能
要签入技术支持的日志文件
UCSM_X_TechSupport > sam_techsupportinfo
提供有关DIMM和内存阵列的信息。
机箱/服务器技术支持
CIMCX_TechSupport\tmp\CICMX_TechSupport.txt -> Generic tech support information about sever X.
CIMCX_TechSupport\obfl\obfl-log -> OBFL logs provide an ongoing logs about status and boot of server X.
CIMCX_TechSupport\var\log\sel -> SEL logs for server X.
根据平台/版本,导航至技术支持捆绑包中的文件。
var/nuova/BIOS > RankMarginTest.txt
var/nuova/BIOS > MemoryHob.txt
var/nuova/var/nuova/ BIOS > MrcOut_*.txt
这些文件提供从BIOS级别看到的内存信息。
其中的信息可以再次与DIMM状态报告表交叉引用。
示例:
/var/nuova/BIOS/RankMarginTest.txt
- 用于显示BIOS培训测试MEMBIST的测试结果。
- 查找错误。
- 查看是否已映射任何DIMM。
- 显示DIMM特定信息(供应商/速度/PID)。
DIMM |GB|R|MfgDate|Mod ID |DRAM ID |Reg ID |CtW Tck CLS Taa V|Freq|Part#
A1 18| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
A2 26| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
B1 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
B2 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
C1 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
C2 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
D1 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
D2 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
E1 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
E2 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
F1 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
F2 01| 8|2|2009W48|Samsung|Samsung 00|Inphi 03|5550 0C 003C 69 0|1333|M393B1K70BH1-CH9
第一列有两个值:
DIMM定位器(F2)
DIMM状态(01)
以下是每种状态的简要说明:
0x00 //未安装(无DIMM)
0x01 //已安装(工作)
/// 0x02-0F(保留)
////失败
0x10 //培训失败
0x11 //时钟培训失败
/// 0x12-17(保留)
0x18 //失败的MemBIST
/// 0x19-1F(保留)
////已忽略
0x20 //已忽略(从调试控制台禁用)
0x21 //已忽略(BMC报告的SPD错误)
0x22 //忽略(非RDIMM)
0x23 //已忽略(非ECC)
0x24 //已忽略(非x4)
0x25 //已忽略(同一LDIMM中的其他PDIMM出现故障)
0x26 //已忽略(同一通道中的其他LDIMM出现故障)
0x27 //已忽略(LockStep或Mirror中的其他通道失败)
0x28 //已忽略(无效的PDIMM填充)
0x29 //已忽略(PDIMM组织不匹配)
0x2A //已忽略(PDIMM寄存器供应商不匹配)
/// 0x2B-7F(保留)
var/nuova/BIOS > MemoryHob.txt
显示服务器上安装的有效内存和故障内存。
+++ BEGINNING OF FILE
Memory Speed = 1067 MHz
Memory Mode = 00
RAS Modes = 03
MRC Flags = 0000000A
Total Memory = 98304 MB
Effective Memory = 90112 MB
Failed Memory = 8192 MB
Ignored Memory = 0 MB
Redundant Memory = 0 MB
|---------------------------------|
| Memory | Channel | DIMM Status |
| Channel | Status | 1 2 |
|---------------------------------|
| A | 01 | 01 01 |
| B | 01 | 01 01 |
| C | 01 | 01 01 |
| D | 01 | 01 01 |
| E | 01 | 01 01 |
| F | 01 | 01 18 |
|---------------------------------|
18h - DIMM状态在MemBist测试中失败时标记为失败。 更换为确认工作正常的DIMM。
DIMM状态说明
00h未安装(无DIMM)
01h已安装(工作)
02h-0Fh保留
10h失败(培训)
11h失败(时钟培训)
12h-17h保留
18h失败(MemBIST)
19h-1Fh保留
已忽略20h(从调试控制台禁用)
已忽略21h(BMC报告SPD错误)
已忽略22h(非RDIMM)
已忽略23h(非ECC)
已忽略24小时(非x4)
已忽略25h(同一LDIMM中的其他PDIMM出现故障)
已忽略26h(同一通道中的其他LDIMM出现故障)
已忽略27h(LockStep或Mirror中的其他通道)
已忽略28h(内存填充无效)
已忽略29h(组织不匹配)
已忽略2Ah(注册供应商不匹配)
2Bh- 7Fh保留
80h已忽略(解决方案 — 循环)
已忽略81h(卡住I2C总线)
82小时 — 保留
DIMM块列表
在 Cisco UCS Manager
,状态 Dual In-line Memory Module
(DIMM)基于SEL事件记录。
当BIOS在内存测试执行期间遇到不可纠正的内存错误时,DIMM被标记为故障。
有故障的DIMM被视为无法正常工作的设备。
如果启用DIMM阻止列表,Cisco UCS Manager将监控内存测试执行消息,并阻止在DIMM SPD数据中遇到内存错误的任何DIMM。
DIMM阻止列表是在UCSM 2.2(2)中作为可选全局策略引入的。
要正确实施此功能,B系列刀片服务器的服务器固件必须为2.2(1)+,C系列机架服务器的服务器固件必须为2.2(3)+。
在UCSM 2.2(4)中,启用DIMM,阻止列表。
打开技术支持文件……/var/log/DimmBL.log
打开文件/var/nuova/BIOS/MrcOut.txt(如果可用)
查找DIMM状态表。查找DIMM状态:
DIMM块列表= 1E
查找DIMM状态表。查找DIMM状态:
DIMM状态:
00 — 未安装
01 — 已安装
10 — 失败(培训失败)清除
1E — 故障(BMC列出的DIMM块)
1F — 失败(SPD错误)
25 — 已禁用(同一通道中的其他DIMM出现故障。)
示例:
DIMM状态:
|=======================|
| 内存 | DIMM状态 |
| 通道 | 1 2 3 |
|=======================|
| A | 25 1F 25 |
| B | 01 01 01 |
| C | 1F 25 25 |
| D | 01 01 01 |
| E | 01 01 01 |
| F | 25 25 1E |
| G | 01 01 01 |
| H | 01 01 01 |
|=======================|
DIMM状态:
01 — 已安装
1E — 故障(BMC列出的DIMM块)
1F — 失败(SPD错误)
25 — 已禁用(同一通道中的其他DIMM出现故障)
清除DIMM阻止列表错误的方法
UCSM GUI
UCSM CLI
UCS-B/chassis/server # reset-all-memory-errors
相关信息
值得注意的Bug
思科漏洞ID CSCug93076 B200M3-DDR电压调节器在轻负载下噪音过大
Cisco Bug ID CSCup07488 IPMI DIMM故障传感器设置Dimm Degraded,无错误计数。
Cisco Bug ID CSCud22620 — 提高识别降级DIMM的准确性
Cisco Bug ID CSCuw44524 C460M4、B260M4或B460M4 IVB clear CMOS can cause memory UECC Error
B200M3上观察到的Cisco Bug ID CSCur19705 ECC/UECC错误
独立Colusa服务器缺少Cisco Bug ID CSCvm8847重置ECC步骤文档