ceph BALANCER

balancer 可以优化OSD上PG的放置,以自动或以监督方式实现均衡分布。

状态

balancer的当前状态可以随时通过以下方式检查:

ceph balancer status

自动均衡

可以使用默认设置启用自动平衡,方法是:

ceph balancer on

可以使用以下方法再次关闭balancer:

ceph balancer off

这将使用与旧客户端向后兼容的crush-compat模式,并且随着时间的流逝对数据分布进行细微更改,以确保OSD被平等地利用。

节流

如果集群降级(例如,因为OSD发生故障且系统尚未自愈),则不会对PG分配进行任何调整。

当集群健康时,balancer将限制其更改,以使错位(即,需要移动的PG)的百分比低于(默认)5%的阈值。 可以通过以下方式调整target_max_misplaced_ratio阈值:

ceph config set mgr target_max_misplaced_ratio .07   # 7%

模式

当前支持两种balancer模式:

  1. crush-compat. CRUSH兼容模式使用compat weight-set功能(在Luminous中引入)来管理CRUSH层次结构中设备的替代权重集。 正常权重应保持设置为设备的大小,以反映我们要存储在设备上的目标数据量。 然后,balancer优化权重设置值,以较小的增量向上或向下调整权重设置值,以实现与目标分布尽可能接近的分布。 (由于PG放置是一个伪随机过程,因此放置中会有自然的变化;通过优化权重,我们抵消了该自然变化。)

    值得注意的是,此模式与较旧的客户端完全向后兼容:当OSDMap和CRUSH map与较旧的客户端共享时,我们将优化的权重表示为“实际”权重。

    此模式的主要限制是,如果层次结构的子树共享任何OSD,则balancer无法使用不同的放置规则来处理多个CRUSH层次结构。 (通常不是这种情况,并且通常也不建议这样做,因为很难管理共享OSD上的空间利用率。)

  2. upmap. 从Luminous开始,OSDMap可以存储单个OSD的显式映射,作为常规CRUSH放置计算的例外。 这些upmap条目提供了对PG映射的细粒度控制。 此CRUSH模式将优化各个PG的位置,以实现均衡分布。 在大多数情况下,这种分布是“完美的”,每个OSD上的PG数量相等(+/- 1 PG,因为它们可能不会平均分配)。

    请注意,使用upmap要求所有客户端均为Luminous或更高版本。

    默认模式为“crush-compat”。 可以使用以下方式调整模式:

    ceph balancer mode upmap
    

    ceph balancer mode crush-compat
    

监督优化

balancer操作分为几个不同的阶段:

  1. 制定计划
  2. 评估数据分布的质量,无论是针对当前PG分布,还是针对执行计划后将产生的PG分布
  3. 执行计划

要对当前分布进行评估和评分,请执行以下操作:

ceph balancer eval

您还可以使用以下方法评估单个池的分布:

ceph balancer eval <pool-name>

评估的更多细节可以通过以下方式看到:

ceph balancer eval-verbose ...

balancer可以使用当前配置的模式通过以下方式生成计划:

ceph balancer optimize <plan-name>

该名称由用户提供,可以是任何有用的标识字符串。 可以通过以下方式查看计划的内容:

ceph balancer show <plan-name>

所有计划均可通过以下方式显示:

ceph balancer ls

旧计划可以通过以下方式丢弃:

ceph balancer rm <plan-name>

当前记录的计划显示为status命令的一部分:

ceph balancer status

执行计划后产生的分布质量可以通过以下公式计算:

ceph balancer eval <plan-name>

假设该计划有望改善分布(即其得分低于当前集群状态),则用户可以执行以下计划:

ceph balancer execute <plan-name>
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值