适用场景
- 产品:ZCF
- 组件:ZCE-X
- ZCE-X 版本:5.2.112.1
- 对接云平台版本:4.4.46.1
- 操作系统:c76 x86_64
- 部署形态:分离部署
- 触发条件:OSD 扩容后,需要调整存储池的 PG 数量以匹配当前存储规模。
问题现象
- OSD 扩容后,现有存储池 PG 数量与当前存储规模不匹配。
- 新增 OSD 的资源利用率可能不符合预期。
- 调整 PG 数量会引发数据分裂、迁移和恢复,需要受控执行。
判断方法
- 确认目标存储池名称,以及当前
pg_num和pgp_num配置。 - 根据当前 OSD 数量、副本策略和业务负载,由技术支持评估目标 PG 数量和每轮调整步长。
- 每轮调整后,等待 PG 恢复至技术确认的正常状态,再继续下一轮调整。
- 全程监控
ceph -s和free -h。
原因说明
OSD 扩容后,如果存储池 PG 数量未随当前存储规模调整,数据分布和新增资源利用率可能不符合预期。调整过程中会发生 PG 分裂、数据迁移和恢复,因此需要分轮执行,并根据每轮恢复情况控制后续操作。
解决方案
1. 执行前准备
- 该操作可能影响存储性能和业务 I/O,建议在业务低峰期执行,并完成影响评估和回退准备。
- 确认目标存储池名称、当前 PG 配置及技术支持评估的目标值和每轮调整步长。
- 先关闭云主机全局高可用。
- 先在界面执行“禁止数据恢复”。
2. 调整 PG
- 查询目标存储池名称:
ceph osd pool ls
- 预期结果:拿到目标存储池名称。
- 逐步增加
pg_num:
ceph osd pool set $POOL_NAME pg_num $TARGET_PG_NUM
$POOL_NAME:目标存储池名称。$TARGET_PG_NUM:技术支持评估的目标 PG 数量。- 每次调整后都等待 PG 恢复至技术确认的正常状态。
- 预期结果:
pg_num按计划调整完成,不出现持续异常状态。
- 按同样方式逐步增加
pgp_num:
ceph osd pool set $POOL_NAME pgp_num $TARGET_PGP_NUM
$TARGET_PGP_NUM:技术支持评估的目标 PGP 数量。- 是否需要手动调整
pgp_num,以及每轮调整步长,须以当前 Ceph 版本和技术支持评估结果为准。 - 每轮都等待 PG 恢复至技术确认的正常状态。
- 预期结果:数据分布参数按计划调整完成。
- 确认恢复策略符合当前业务窗口的性能要求。
- 预期结果:数据恢复策略已按现场评估配置。
- 取消“禁止数据恢复”,等待数据重构完成。
- 预期结果:集群完成数据分裂与重平衡。
- 确保各资源连接正常后,重新开启云主机全局高可用。
- 预期结果:扩 PG 流程收口完成。
验证方法
- 检查每轮调整后 PG 都能恢复为
active。 - 检查
pgp_num最终与pg_num一致。 - 检查
ceph -s无持续异常。 - 检查资源连接状态正常。
风险与回滚
- 风险:调整过程中会产生数据分裂和迁移 I/O;若与业务高 I/O 叠加,可能影响业务性能,且 PG 数量增加会带来额外内存开销,应持续观察资源使用情况。
- 监控项:
ceph -s
free -h
- 回滚:若调整后出现持续异常,应停止后续调整,保持现场状态并联系技术支持评估恢复方案。
