Patrol Read 巡检读
Patrol Read 是控制器在相对空闲时逐块扫描成员盘的后台任务,目的是发现并触发坏块重映射,把媒体错误在盘还健康的时候暴露出来。它和一致性检查(CC)不同:巡检读只检查盘的可读性、不比对校验,因此开销小、可以更频繁地跑;一致性检查会校验数据与校验的一致性,开销更大。两者的共同价值是把风险从「重建时才发现」提前到「日常就能看见」。
基本信息
| 作用 | 主动扫描媒体错误并触发坏块重映射,不读校验 |
|---|---|
| 与 CC 的区别 | CC 校验数据与校验的一致性,开销更大、频率更低 |
| 调度 | 可按周期与间隔计划自动运行,也可手动启动 |
| 影响 | 扫描期间有额外读负载,业务高峰可暂停或降低速率 |
| 适用前提 | 阵列处于 Optimal 状态,降级时优先恢复冗余 |
手动启动与查看(megacli)
手动启动与查看(megacli)
M=/opt/MegaRAID/MegaCli/MegaCli64
$M -AdpPR -Start -a0 # 手动启动巡检读
$M -AdpPR -Info -a0 # 查看配置与进度
$M -AdpPR -Stop -a0 # 停止巡检读
$M -AdpPR -SetDelay 168 -a0 # 设置巡检间隔(小时,示例值)
# storcli 环境:storcli /c0 show patrolread巡检读与一致性检查
| 维度 | Patrol Read | 一致性检查(CC) |
|---|---|---|
| 检查对象 | 盘的介质可读性与坏块 | 数据块与校验块是否一致 |
| 是否读校验 | 否 | 是 |
| 开销 | 较低,可高频运行 | 较高,需按周期安排 |
| 发现写洞 | 不能 | 可以发现不一致 |
| 典型频率 | 每周或每月 | 每季度或每半年 |
调度建议
- 按业务低谷设定运行窗口,避免与备份、跑批撞车
- 开启自动周期运行,并验证它确实按期执行过
- 发现坏块后记录位置与时间,纳入盘的劣化趋势
- 降级运行期间先恢复冗余,再考虑巡检
长期不跑 Patrol Read 的阵列,媒体错误只能在重建或随机读时暴露,风险被发现得更晚,处理余地也更小。