Ceph部署的时候修改默认权重

前言

部署集群的时候权重是默认生成的,这个是根据磁盘大小分配的,我们有的时候需要去修改一下这个默认权重

修改

如果统一的初始值,那么直接添加参数即可

1
osd_crush_initial_weight

如果想自己添加算法,那么就根据下面的去做就可以了

centos+jewel

修改:
/usr/lib/ceph/ceph-osd-prestart.sh

1
defaultweight=`df -P -k $data/ | tail -1 | awk '{ d= $2/107374182 ; r = sprintf("%.4f", d); print r }'`

修改这个地方的值就可以了

1
defaultweight=`echo 2`

centos+hammer

修改 /etc/init.d/ceph

1
defaultweight="$(df -P -k $osd_data/. | tail -1 | awk '{ print sprintf("%.2f",$2/1073741824) }')"

修改成

1
defaultweight="$(echo 5)"

ubuntu+hammer

由于ubuntu用initctl控制服务,不是用的/etc/init.d/ceph/,所以要修改另外的一个路径
修改/usr/libexec/ceph/ceph-osd-prestart.sh

1
defaultweight=`df -P -k /var/lib/ceph/osd/${cluster:-ceph}-$id/ | tail -1 | awk '{ d= $2/1073741824 ; r = sprintf("%.2f", d); print r }'`

修改为:

1
defaultweight=`echo 8`

总结

这个比较简单,通过修改取值就可以改变默认配置了,上面的可以根据自己的需求加入算法即可

变更记录

Why Who When
创建 武汉-运维-磨渣 2016-11-02