适用场景
- 产品:ZCF
- 组件:ZCE-X
- ZCE-X 版本:5.2.115.6
- 对接云平台版本:4.8.x
- 部署形态:分布式存储集群
- 触发条件:需要按既定计划从存储池移除部分数据盘,以缩减存储容量。
问题现象
- 存储池需要移除计划中的数据盘以缩减容量。
- 移除数据盘后,集群会进行数据恢复和重平衡,可能出现 I/O 波动或性能下降。
- 若上一轮数据恢复未完成即继续移除硬盘,可能扩大对业务的影响。
判断方法
- 缩容前执行
ceph -s,确认集群处于健康状态。 - 确认待移除硬盘属于已审批的缩容计划,且对应存储池已确定。
- 每轮操作完成后,确认数据恢复完成且集群重新恢复健康,再开始下一轮操作。
原因说明
从存储池移除数据盘后,原盘上的数据需要在剩余资源中恢复和重平衡。按逐盘、逐轮方式执行,并在每轮恢复完成后再继续,可避免多块硬盘同时移除带来的叠加风险。
解决方案
1. 执行前准备
- 该操作可能影响存储性能和业务 I/O,建议在业务低峰期执行,并完成影响评估和回退准备。
- 每次操作前必须确认集群健康。
- 确认待移除硬盘和目标存储池均属于已审批的缩容计划。
- 只能按逐盘、逐轮方式进行,不可并行批量删除。
2. 处理步骤
- 使用
ceph -s检查存储池和集群状态。
ceph -s
- 预期结果:必须处于健康状态后才能进入下一步。
- 在分布式存储平台设置“禁止数据恢复”。
- 预期结果:减少变更期间的自动恢复扰动。
- 在存储管理界面选择目标存储池,执行“移除硬盘”,将计划中的硬盘移出存储池。
- 预期结果:目标硬盘从存储池移除。
- 在硬盘管理界面选择对应硬盘并执行“删除”。
- 预期结果:目标硬盘从平台中删除。
- 删除完成后,重新开启数据恢复,并按现场策略设置恢复速度。
- 预期结果:开始数据恢复。
- 耐心等待数据恢复完成,并再次执行:
ceph -s
- 预期结果:集群恢复健康。
- 在前一轮完全恢复后,再重复以上步骤,继续处理缩容计划中的其余硬盘或节点。
- 预期结果:按计划完成全部缩容动作。
验证方法
- 检查每轮操作前后
ceph -s均恢复健康。 - 检查目标硬盘已从存储池和平台中移除。
- 检查数据恢复完成后业务无明显异常。
风险与回滚
- 风险:数据盘缩容期间会发生数据重平衡,可能导致 I/O 波动和性能下降。
- 风险:剩余容量或副本条件不满足时,可能出现数据恢复异常、只读或写入失败。
- 回滚:若任一轮操作后集群未恢复健康,应停止后续硬盘移除操作,保持现场状态并联系技术支持评估恢复方案。
