ceph降低恢复速度和优先级

在 Ceph 中,“自动平衡”通常指集群为维持数据分布均匀而触发的​​数据重平衡(Rebalance)​​或​​恢复(Recovery)​​过程(如 OSD 故障恢复、扩容/缩容后自动调整数据分布)。若需暂时停止自动平衡,可通过调整关键参数实现。以下是具体操作步骤和注意事项:

​一、明确自动平衡的类型​

Ceph 的自动平衡主要涉及两类过程,需针对性调整:

  1. ​数据重平衡(Rebalance)​​:因 OSD 加减、权重变化等触发的数据重新分布(由 osd_balanced_ratio 控制)。
  2. ​故障恢复(Recovery)​​:故障 OSD 恢复后,数据从副本 OSD 同步回该 OSD(由 osd_recovery_* 参数控制)。

​二、暂时停止数据重平衡(Rebalance)​

数据重平衡的核心控制参数是 osd_balanced_ratio(默认值 0.7)。该参数定义“集群认为平衡的阈值”:当所有 OSD 的​​使用率比例​​(最高使用率 / 最低使用率)≤ 该值时,停止自动重平衡。

​1. 临时调高阈值(停止自动平衡)​

osd_balanced_ratio 设置为一个较大的值(如 1.0),使 Ceph 认为当前状态已足够平衡,不再触发重平衡:

# 临时调整(立即生效,重启后失效)
ceph config set osd osd_balanced_ratio 1.0

# 永久生效(写入配置文件)
ceph config set osd osd_balanced_ratio 1.0 --permanent

​2. 验证效果​

调整后,Ceph 会重新评估集群状态。可通过以下命令观察是否停止重平衡:

ceph osd df  # 查看 OSD 使用率差异(若最高/最低比 > 1.0,才会触发重平衡)
ceph -w      # 实时监控集群事件(无 "rebalancing" 相关日志即生效)

​三、暂时停止故障恢复(Recovery)​

故障恢复的自动平衡由 osd_recovery_max_active(同时进行的恢复操作数)和 osd_recovery_priority(恢复优先级)控制。若需减缓或暂停恢复带来的数据流动,可调整这两个参数。

​1. 限制恢复并发数(减缓恢复速度)​

osd_recovery_max_active 默认值为 10(同时进行 10 个恢复操作)。调小该值可减缓恢复速度,间接减少数据流动:

# 临时调整为仅 1 个并发恢复(几乎暂停恢复)
ceph config set osd osd_recovery_max_active 1

# 永久生效
ceph config set osd osd_recovery_max_active 1 --permanent

​2. 降低恢复优先级(优先其他操作)​

osd_recovery_priority 默认值为 3(恢复优先级较高)。调小该值可使恢复操作优先级低于客户端读写,减少对业务的影响(但不会完全暂停):

# 临时调整为最低优先级(0)
ceph config set osd osd_recovery_priority 0

# 永久生效
ceph config set osd osd_recovery_priority 0 --permanent

​四、恢复自动平衡(后续操作)​

完成临时操作后,需恢复默认参数以避免长期影响集群健康:

# 恢复数据重平衡阈值
ceph config set osd osd_balanced_ratio 0.7 --permanent

# 恢复恢复并发数
ceph config set osd osd_recovery_max_active 10 --permanent

# 恢复恢复优先级
ceph config set osd osd_recovery_priority 3 --permanent

# 重启 ceph-mgr 服务使配置生效(可选)
systemctl restart ceph-mgr@*

​五、注意事项​

  1. ​风险提示​​:停止自动平衡可能导致数据分布不均,引发热点(某些 OSD 负载过高)或可靠性下降(如 OSD 故障时数据冗余不足)。
  2. ​临时性质​​:仅在必要时(如扩容/缩容期间避免干扰)使用,完成后尽快恢复默认值。
  3. ​版本差异​​:以上参数适用于 Ceph Octopus(15.2.3)及更高版本,低版本可能参数名或默认值不同(如 Luminous 12.2.0 也支持 osd_balanced_ratio)。

​总结​

通过调整 osd_balanced_ratio(控制数据重平衡)和 osd_recovery_*(控制故障恢复)参数,可暂时停止 Ceph 的自动平衡。操作后需及时恢复默认值,确保集群长期稳定。

posted @ 2025-06-11 09:22  mofy  阅读(132)  评论(0)    收藏  举报