首页/系统/服务器硬件与 RAID 速查/CRC 错误与线缆背板排查
硬盘故障与更换68 条

CRC 错误与线缆背板排查

SATA/SAS 链路的 CRC 错误计数(如属性 199、卡的 invalid dwords 计数)指向信号完整性问题:线缆、背板、连接器与供电质量都在嫌疑范围。

CRC 错误说明什么

CRC 错误是链路层校验失败留下的计数,说明数据在盘与控制器之间传输时出现了信号错误。常见原因是线缆老化或弯折、背板连接器氧化、SAS 扩展柜链路质量差,以及供电纹波。它和盘体坏道是两类问题:前者不会因为换盘而消失,必须抓住计数的增量来验证修复效果。

基本信息

常见原因线缆老化与弯折、连接器氧化、扩展柜链路、电源纹波
观察方法记录基线后看计数是否继续增长
验证方法同盘换线换槽位,观察 CRC 是否停止增长
处理更换线缆或背板,复测 CRC 稳定后归档
权限要求root

典型使用场景

  • 阵列频繁掉盘时排除链路因素
  • 换盘后故障依旧时继续往上游查
  • 机房搬迁或重新理线后复测链路质量
  • 巡检时对比历史计数发现缓慢恶化
  • 备件更换后确认问题真的解决
  • 为同链路的多块盘建立统一的计数基线

检查 CRC 相关计数

检查 CRC 相关计数
smartctl -A /dev/sdb | grep -E "199|CRC"                            # 盘侧 CRC 计数
storcli /c0/e252/s4 show all | grep -i -E "invalid|CRC|error"       # 卡侧链路错误计数
storcli /c0/eall/sall show | grep -iE "error|invalid"               # 全盘列表里筛出异常项
# 先记录一次基线,处理后再复测,比较增量而不是绝对值

指标与含义

指标位置含义
属性 199盘侧UDMA CRC 错误计数
invalid dwords卡侧链路上收到的无效数据块计数
reset 计数卡与内核链路复位次数
链路速率降级卡侧协商速率掉档,常伴随信号问题
CRC 增长与盘体坏道是两类问题:前者不会因换盘消失,抓住计数趋势才能验证修复效果。
换线换槽位时一次只改一个变量:同时换线又换槽位,事后无法判断到底是哪一环的问题。
同一条链路上的多块盘同时出现 CRC 增长时,优先怀疑它们共用的线缆、扩展器或供电,而不是分别去换盘。

易错点

  • 换了盘 CRC 继续涨:问题在线缆或背板,需要继续往上游查
  • 不清零历史计数就下结论:应观察增量而不是绝对值,历史计数不会自己归零
  • 复测时间太短:链路问题常要跑满负载或等温度升高后才复现,采样窗口要覆盖业务高峰
  • 只换线不检查连接器与供电:氧化与纹波问题会继续产生 CRC 错误

数据来源与参考

  • smartmontools 属性 199 说明
  • SAS 物理链路诊断文档(通用)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌