适用场景
- 产品:
ZCF - 组件:
ZCE-X - 版本:
5.2.x - 触发条件:需要对分布式存储做容量缩减,按计划移除部分数据盘。
问题现象
- 存储环境需要执行数据盘缩容。
- 缩容过程中会触发数据重平衡。
- 若处理顺序不当,可能带来 IO 抖动、性能下降或更严重的数据风险。
判断方法
- 缩容前确认
ceph -s健康。 - 每轮删除后确认数据恢复完成并再次回到健康状态。
- 仅在前一轮完全恢复后,继续下一块盘或下一节点的数据盘删除。
原因说明
本次变更属于 ZCE-X 存储缩容场景,因此需要通过逐盘移除、逐次恢复的方式来降低数据重平衡带来的风险。
解决方案
- 执行前准备
- 风险等级:中风险
- 变更原则是尽量不影响现有云主机业务正常运行。
- 每次操作前必须确认集群健康。
- 只能按逐盘、逐轮方式进行,不能并行批量删除。
- 处理步骤
- 使用
ceph -s检查存储池和集群状态。
ceph -s
- 预期结果:必须处于健康状态后才能进入下一步。
- 在分布式存储平台设置“禁止数据恢复”。
- 预期结果:减少变更期间的自动恢复扰动。
- 进入资源管理 -> 存储池,勾选目标存储池并选择“移除硬盘”,将计划中的硬盘从存储池中踢出。
- 预期结果:目标硬盘从存储池移除。
- 进入资源管理 -> 硬盘,勾选对应计划中的硬盘并选择“删除”。
- 预期结果:目标硬盘从平台中删除。
- 删除完成后,重新开启数据恢复,并设置为中速恢复。
- 预期结果:开始数据恢复,同时将业务影响控制在可接受范围。
- 耐心等待数据恢复完成,并再次执行:
ceph -s
- 预期结果:集群恢复健康。
- 在前一轮完全恢复后,再重复以上步骤,继续删除其余两个节点的数据盘。
- 预期结果:按计划完成全部缩容动作。
验证方法
- 检查每轮操作前后
ceph -s均恢复健康。 - 检查目标硬盘已从存储池和平台中移除。
- 检查数据恢复完成后业务无明显异常。
风险与回滚
- 风险:数据盘缩容期间会发生数据重平衡,可能导致 IO 抖动和性能下降。
- 风险:副本数不足时可能丢数据。
- 风险:剩余容量不足时可能触发只读或写入失败。
- 风险等级:中。
- 回滚:无单独详细回退命令链路,重点是严格按逐轮缩容 + 恢复健康的方式降低风险。
