重建对业务影响的评估方法
重建是阵列在降级状态下补数据的过程,本质上是持续的额外读取加额外写入:它既占用盘与背板的带宽,也把剩余成员盘的负载推高。评估影响要同时看三件事:降级期间业务的延迟与吞吐还能不能接受、重建窗口有多长、以及重建期间再掉一块盘的风险有多大。速率不是一个「越快越好」的参数,而是用来在风险窗口与业务体验之间做取舍的旋钮。
基本信息
| 适用平台 | 硬件阵列用 storcli/perccli 观察与控制,软 RAID 用 mdstat 与内核参数 |
|---|---|
| 关键指标 | 业务侧 P95/P99 延迟、阵列队列深度、重建速率与预计完成时间 |
| 常用命令 | storcli /c0/v0 show rebuild 看进度,storcli /c0 show perf 看卡侧压力 |
| 限速思路 | 低峰全速跑完、高峰适当限速,把重建窗口安排在业务低谷 |
| 记录要求 | 重建起止时间、限速取值、业务指标波动都要留档 |
典型使用场景
- 换盘后重建:评估是否需要临时下调重建速率,保证在线业务延迟不越界
- 批量重建:多台机器同时进入降级时,错峰安排避免存储后端与网络同时承压
- 容量规划复盘:用历史重建耗时数据反推 RAID 级别与盘型是否需要调整
- 变更评审:把重建期间的业务预案写进变更单,让业务方提前知情
- 事后复盘:把重建期间的实际影响与预案对比,修正下次的限速策略
重建期间的观测与限速
重建期间的观测与限速
storcli /c0/v0 show rebuild # 查看进度与当前重建速率
storcli /c0 show perf # 卡侧读写与错误计数,判断压力水平
storcli /c0 set rebuildrate=30 # 高峰时段把重建速率下调,压低对业务的影响
storcli /c0 set rebuildrate=60 # 低峰时段再提回,缩短风险窗口
iostat -x 5 # 系统侧逐盘利用率与等待
sar -d 1 30 | tail -20 # 留存一段时间的盘级历史,便于事后对比影响评估三个维度
| 维度 | 观察方式 | 决策含义 |
|---|---|---|
| 业务体验 | 应用延迟与错误率曲线 | 越界就下调重建速率 |
| 风险窗口 | 预计完成时间与阵列冗余度 | 窗口过长时优先恢复冗余 |
| 硬件压力 | 卡侧错误计数与超时 | 计数增长说明成员盘接近极限 |
重建速率没有通用最优值:盘数、RAID 级别、业务读写模型都会改变结论,用本环境的实测数据形成自己的取值区间。
重建期间阵列处于无冗余或低冗余状态,此时再做巡检读、备份全量或大批量拷贝,等于把风险叠在同一时间窗口。