阵列卡管理68 条

MegaCLI 巡检读配置

-AdpPR 系列参数管理 Patrol Read:查看当前设置、手动启停、按周期调度,把坏道发现提前到重建之前。

巡检读是什么

Patrol Read(巡检读)是 RAID 控制器按周期自动扫描成员盘扇区的后台任务,目的是在阵列还健康时把潜在坏道读出来,并借助冗余把数据搬到好扇区。它平时只读不写业务数据,对在线业务的影响远小于重建,是坏道发现被提前到重建之前的关键手段。MegaCli 用 -AdpPR 系列参数查看、启停与设置周期。

基本信息

主要参数-AdpPR -Info / -Start / -Stop / -SetDelay
SetDelay 单位小时,表示两次自动巡检之间的间隔
常见取值168 表示每周一次,24 表示每天一次
权限要求root
适用控制器MegaRAID 系列(老卡 MegaCli,新卡 storcli 同名参数略有差异)

典型使用场景

  • 新盘上架后立即跑一轮,提前暴露运输或生产缺陷
  • 上线交付前做全盘巡检,保证初始状态干净
  • 按周或按天的计划任务,尽早发现渐进性坏道
  • 长期运行的老阵列做一次健康基线扫描
  • 扩容、迁移等重大操作前确认没有隐藏坏道

查看、启停与调度

查看、启停与调度
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Info -a0            # 查看巡检读当前设置与进度
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Start -a0           # 立即开始一轮巡检
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -Stop -a0            # 中止当前巡检(例如遇上业务高峰)
/opt/MegaRAID/MegaCli/MegaCli64 -AdpPR -SetDelay 168 -a0    # 设置自动巡检间隔为 168 小时,即每周一次
/opt/MegaRAID/MegaCli/MegaCli64 -PDList -a0 | grep -iE "media error|other error|predictive failure"   # 巡检后核对错误计数与预测性故障标记
新盘上架后跑一轮巡检读,可以提前暴露运输或生产缺陷,是验收流程里的常见动作。
巡检读、一致性检查与重建共用磁盘队列:排期要错开,并给重建留出余量,否则巡检会把重建拖到超时。
RAID0 阵列上巡检读只能发现坏道,无法借助冗余修复:读到坏块就意味着数据丢失,此时巡检结果应当直接当作迁移数据的触发信号。

易错点

  • 把 SetDelay 当成开始时刻:它设置的是两次自动巡检之间的间隔小时数,不是每天几点开始
  • 让巡检与重建同时进行:两端都变慢,重建窗口被拉长,冗余恢复时间被无谓拖延
  • 以为巡检能修掉所有坏道:它只能借冗余搬走已发现的坏块,物理面持续恶化的盘仍必须更换
  • 从不看巡检后的错误计数:巡检本身不主动告警,需要配合物理盘错误字段与预测性故障标记判断盘况

数据来源与参考

  • MegaCLI 命令参考(-AdpPR)
  • Broadcom MegaRAID 用户指南(Patrol Read)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌