首页/系统/服务器硬件与 RAID 速查/一致性检查(Consistency Check)
RAID 级别与计算68 条

一致性检查(Consistency Check)

一致性检查读取数据与校验并重新计算比对,发现 RAID 5/6 阵列中数据与校验不一致的条带;部分控制器发现不一致后可自动修复。

一致性检查是什么

一致性检查(Consistency Check,CC)是控制器对 RAID 5/6 阵列做的一次后台全量校验:读出条带内的数据与校验,按算法重新计算并比对,发现数据与校验不一致的条带。它的作用是清理掉电、写洞(write hole)等异常留下的隐患,让阵列回到自洽状态。CC 只保证阵列级一致,不校验业务层数据是否被误删或改错。

基本信息

目的发现并修复数据与校验不一致(写洞、掉电残留等)
与巡检读区别巡检读只看盘能否读通,不校验数据一致性
与重建区别重建是缺盘后恢复成员盘数据,CC 是全员在线时做比对
频率按月、或重要变更前后执行,安排在业务低峰期
执行方式storcli /c0/v0 start cc,进度用 show cc 查看

三类后台任务对照

任务触发条件主要作用
巡检读 Patrol Read控制器按计划自动运行提前发现盘上的潜在坏块
一致性检查手工发起或按计划修正数据与校验的不一致
重建 Rebuild成员盘缺失后自动启动用冗余数据恢复新加入的盘

启动一致性检查并查看进度

启动一致性检查并查看进度
storcli /c0/v0 start cc                                 # 启动
storcli /c0/v0 show cc                                  # 查看进度百分比
storcli /c0/v0 show all | grep -i consistency           # 确认任务状态
storcli /c0/v0 stop cc                                  # 业务受影响时可中止

典型使用场景

  • 非计划断电后:上电先跑一轮 CC,清理写洞造成的校验不一致
  • 变更前后:阵列迁移、扩容完成后校验一次,作为交付证据
  • 月度巡检:与巡检读错开排期,避免两类任务同时抢 IO
  • 降级恢复后:盘恢复在线并完成重建后,再校验一遍更稳妥
  • 隐患确认:业务侧出现静默数据差异时,用 CC 判断问题是否在阵列层
对不一致数据的自动修复方向依赖校验假设(默认认为数据正确、校验错误),在多数控制器上按此处理。
CC 在降级状态下通常仍可执行,但耗时更长、风险更高:先恢复冗余,再安排校验是更稳的顺序。

易错点

  • 和巡检读混着排计划:两个任务同时跑会互相抢 IO,业务延迟明显劣化
  • 认为跑了 CC 就不需要备份:CC 只能发现阵列级不一致,不能恢复误删
  • 在业务高峰期发起 CC:全盘扫描带来的延迟抖动没有预期管理,容易升级成事故

数据来源与参考

  • Broadcom MegaRAID 用户指南(Consistency Check)
  • storcli 命令参考
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌