ceph df中pool对应的max avail计算方式

16 篇文章 4 订阅

目录

 

计算公式

举例

结论

源码跟踪

取值打印max avail处

计算osd除于权重占比值

osd的权重占总权重的占比计算函数

源码打印测试


计算公式

 

参数说明:

max_avail:最大可用空间

min():取括号范围内的最小值

osd_avail:表示某个编号osd对应的可用空间

weight:表示对应某个编号osd对应的权重值

:表示一个ruleset中对应osd的权重累加和

pool_size:表示pool对应的副本数

 

举例

 

 

ssd pool对应的ruleset规则为root=ssd树下的。ssd树下的权重和为29.52968。

取编号为50,56,33,36套入公式分别计算对应的值

编号50:4022/(0.90999/29.52968)=130516

编号56:156/(0.90999/29.52968)=5062

编号33:558/(0.5/29.52968)=32955

编号36:136/(0.90999/29.52968)=4413

所以经过min()操作, 得到结果为4413GB,而ssd的副本数为2,因此得到max_avail=4413GB/2=2206GB。由于中间的计算过程中存在误差,所以没有完全等价于ceph df中的2220GB。

结论

       ceph df中pool的可用空间max avail取决于使用ruleset中osd使用最多的那一块osd对应的剩余可用空间以及对应的权重值。因此需要合理规划好每个osd的权重值,以及每个OSD上对应的PG(PG越多,数据量相对越多)

 

源码跟踪

取值打印max avail处

 

 

计算osd除于权重占比值

 

osd的权重占总权重的占比计算函数

 

源码打印测试

其中kb_avail为当前osd剩余的可用空间kb数,osd id为osd对应的编号,osd_weight为当前osd占总权重的占比,proj为计算出来的值。

当三个osd的权重都为1的时候

 

当其中一个osd权重为2的时候

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值