一致性检查是什么
一致性检查(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 在降级状态下通常仍可执行,但耗时更长、风险更高:先恢复冗余,再安排校验是更稳的顺序。