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



一、前言

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

二、修改

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

osd_crush_initial_weight

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

2.1 centos+jewel

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

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

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

defaultweight=`echo 2`

2.2 centos+hammer

修改 /etc/init.d/ceph

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

修改成

defaultweight="$(echo 5)"

2.3 ubuntu+hammer

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

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

修改为:

defaultweight=`echo 8`

三、总结

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

四、变更记录

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