问题描述:用ceph osd tree 查看有osd out出来,权重为0
解决方法:
1、做好监控观察,查看osd利用率和ceph -s
watch "ceph osd df | grep 432 | sort -unr -k7 " 通常osd利用率达到90%,停止数据同步
watch "ceph -s "
2、添加osd,分配权限前设置好标志位
ceph osd set nodeep-scrub
ceph osd set noscrub
ceph osd set nobackfill
ceph osd set norebalance
3、添加osd到集群中,以下例子是指一个节点的osd都出来,如何进行批量添加,主要就是要有osd的拓扑图,方便查找信息
添加物理拓扑
for i in `ceph osd dump | grep "1\.1\.1\.1:" | awk '{print $1}'` ; do ceph osd crush add ${i} 0 host=server-10 rack=F3-T2
root=default ; done
添加逻辑拓扑
for i in `ceph osd dump | grep "1\.1\.1\.1:" | awk '{print $1}'` ; do ceph osd crush add ${i} 0 osd-domain=osd-group-0-F3-T2
replica-domain=replica-0 failure-domain=apple ; done
添加权重
for i in `ceph osd dump | grep "1\.1\.1\.1:" | awk '{print $1}'` ; do ceph osd crush reweight $i 0.4 ; done
4、放开标志位,等待数据同步
ceph osd unset nobackfill
ceph osd unset norebalance
5、同步的过程中如果某个osd利用率操作90%,先设置标志位,调整osd权重
ceph osd crush reweight 456 0.39
6、同步完成后,将扫描的标志位也放开
ceph osd unset nodeep-scrub
ceph osd unset noscrub