文档目录

适用场景

  • 产品:ZCF
  • 组件:ZCE-X
  • ZCE-X 版本:5.2.112.1
  • 对接云平台版本:4.4.46.1
  • 操作系统:c76 x86_64
  • 部署形态:分离部署
  • 触发条件:OSD 扩容后,需要调整存储池的 PG 数量以匹配当前存储规模。

问题现象

  • OSD 扩容后,现有存储池 PG 数量与当前存储规模不匹配。
  • 新增 OSD 的资源利用率可能不符合预期。
  • 调整 PG 数量会引发数据分裂、迁移和恢复,需要受控执行。

判断方法

  1. 确认目标存储池名称,以及当前 pg_num 和 pgp_num 配置。
  2. 根据当前 OSD 数量、副本策略和业务负载,由技术支持评估目标 PG 数量和每轮调整步长。
  3. 每轮调整后,等待 PG 恢复至技术确认的正常状态,再继续下一轮调整。
  4. 全程监控 ceph -s 和 free -h。

原因说明

OSD 扩容后,如果存储池 PG 数量未随当前存储规模调整,数据分布和新增资源利用率可能不符合预期。调整过程中会发生 PG 分裂、数据迁移和恢复,因此需要分轮执行,并根据每轮恢复情况控制后续操作。

解决方案

1. 执行前准备

  • 该操作可能影响存储性能和业务 I/O,建议在业务低峰期执行,并完成影响评估和回退准备。
  • 确认目标存储池名称、当前 PG 配置及技术支持评估的目标值和每轮调整步长。
  • 先关闭云主机全局高可用。
  • 先在界面执行“禁止数据恢复”。

2. 调整 PG

  1. 查询目标存储池名称:
   ceph osd pool ls
  • 预期结果:拿到目标存储池名称。
  1. 逐步增加 pg_num:
   ceph osd pool set $POOL_NAME pg_num $TARGET_PG_NUM
  • $POOL_NAME:目标存储池名称。
  • $TARGET_PG_NUM:技术支持评估的目标 PG 数量。
  • 每次调整后都等待 PG 恢复至技术确认的正常状态。
  • 预期结果:pg_num 按计划调整完成,不出现持续异常状态。
  1. 按同样方式逐步增加 pgp_num:
   ceph osd pool set $POOL_NAME pgp_num $TARGET_PGP_NUM
  • $TARGET_PGP_NUM:技术支持评估的目标 PGP 数量。
  • 是否需要手动调整 pgp_num,以及每轮调整步长,须以当前 Ceph 版本和技术支持评估结果为准。
  • 每轮都等待 PG 恢复至技术确认的正常状态。
  • 预期结果:数据分布参数按计划调整完成。
  1. 确认恢复策略符合当前业务窗口的性能要求。
  • 预期结果:数据恢复策略已按现场评估配置。
  1. 取消“禁止数据恢复”,等待数据重构完成。
  • 预期结果:集群完成数据分裂与重平衡。
  1. 确保各资源连接正常后,重新开启云主机全局高可用。
  • 预期结果:扩 PG 流程收口完成。

验证方法

  • 检查每轮调整后 PG 都能恢复为 active。
  • 检查 pgp_num 最终与 pg_num 一致。
  • 检查 ceph -s 无持续异常。
  • 检查资源连接状态正常。

风险与回滚

  • 风险:调整过程中会产生数据分裂和迁移 I/O;若与业务高 I/O 叠加,可能影响业务性能,且 PG 数量增加会带来额外内存开销,应持续观察资源使用情况。
  • 监控项:
  ceph -s
  free -h
  • 回滚:若调整后出现持续异常,应停止后续调整,保持现场状态并联系技术支持评估恢复方案。
ZCE-X 分布式存储调整存储池 PG 数量 | 技术方案 · KB | ZStack 资源中心