ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Ceph PG数量分析

2020-12-22 19:01:07  阅读:307  来源: 互联网

标签:pgp 数量 Ceph num PG 放置 OSD pool pg


Placement Group

PG_NUM

创建新池时,

ceph osd pool create {pool-name} pg_num

必须选择 的值,因为它不能(当前)自动计算。下面是一些常用的值:pg_num

  • 少于 5 个 OSD 设置为 128pg_num
  • 5 到 10 个 OSD 设置为 512pg_num
  • 10 到 50 个 OSD 设置为 1024pg_num
  • 如果您有 50 多个 OSD,您需要了解权衡以及如何自己计算值pg_num
  • 要自己计算值,请使用pgcalc 工具的帮助pg_num

随着 OSD 数量的增加,为 pg_num 选择正确的值变得更加重要,因为它对群集的行为以及出错时数据的持久性(即灾难性事件导致数据丢失的概率)有重要影响。

选择放置组的数量

如果您拥有超过 50 个 OSD,我们建议每个 OSD 大约 50-100 个放置组,以平衡资源使用情况、数据持久性和分布。如果您拥有少于 50 个 OSD,则最好选择上述预选。对于单个对象池,可以使用以下公式获取基线:

             (OSDs * 100)
Total PGs =  ------------
              pool size

其中大小是复制池的副本数或擦除编码池的 K+M 总和(由 ceph osd 擦除代码配置文件获取返回)。

然后,您应该检查结果是否有意义的方式,你设计你的Ceph集群,以最大限度地提高数据持久性,对象分布和尽量减少资源使用

结果应始终四舍五入到最接近的功率为 2

只有两个电源才能均匀地平衡放置组中的对象数。其他值将导致数据在 OSD 中的分布不均匀。它们的使用应限于逐步从一个两个权力到另一个权力。

例如,对于具有 200 个 OSD 和池大小为 3 个副本的群集,您将估计您的 PG 数量,如下所示:

(200 * 100)
----------- = 6667. Nearest power of 2: 8192
     3

使用多个数据池存储对象时,您需要确保平衡每个池的放置组数与每个 OSD 的放置组数,以便得出合理的放置组总数,这些放置组提供合理的每个 OSD 方差,而不会对系统资源征税,或使对等过程过于慢。

例如,一个 10 个池的群集,每个池在 10 个 OSD 上具有 512 个放置组,共有 5,120 个放置组分布在 10 个 OSD 上,即每个 OSD 有 512 个放置组。这不会使用太多的资源。但是,如果创建 1,000 个池,每个池有 512 个放置组,则 OSD 将处理每个放置组 50,000 个,并且需要大量资源和时间进行对等。

您可能会发现PGCalc 工具很有帮助。

设置放置组数

若要设置池中放置组的数量,必须指定创建池时放置组的数量。有关详细信息,请参阅创建池。即使在创建池后,您也可以更改放置组的数量:

ceph osd pool set {pool-name} pg_num {pg_num}

增加放置组数后,还必须增加放置组数 (),然后群集才能重新平衡。这将是将考虑由 CRUSH 算法放置的放置组数。增加拆分放置组,但数据不会迁移到较新的放置组,直到放置组放置,即。 增加。应等于 。要增加放置组的数量,请执行以下操作:pgp_num``pgp_num``pg_num``pgp_num``pgp_num``pg_num

ceph osd pool set {pool-name} pgp_num {pgp_num}

减少 PG 数量时,会自动进行调整。pgp_num

标签:pgp,数量,Ceph,num,PG,放置,OSD,pool,pg
来源: https://blog.51cto.com/liujingyu/2569874

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有