1.通过命令ceph -s 或者ceph health检查ceph 状态,有osd near full
cluster bef6d01c-631b-4355-94fe-77d4eb1a6322
health HEALTH_WARN
4 near full osd(s)
2.ceph health detail 查看具体near full 的osd
osd.137 is near full at 86%
osd.169 is near full at 85%
osd.183 is near full at 86%
osd.199 is near full at 85%
3.通过ceph osd tree |grep osd.137查看具体的osd的weight值
137 1.63539 osd.137 up 1.00000 1.00000
169 1.63538 osd.169 up 0.89999 1.00000
4.调整osd的权重ceph osd crush reweight osd.134 1.5
单盘1.8TB,系统容量为1.635,权重为1.63539
1.635*0.86=1.406TB 那么从1.63539假设调到1.5那么1.406*1.5/1.63539=1.29TB,1.29/1.635=0.789,那么即调整后的使用率会降为0.79
但实际结果为:82.4%(因此感觉也不一定按照比列来调整,具体什么原因,有大神知道的,麻烦解答)
137 1.50000 1.00000 1674G 1379G 294G 82.40 1.13 258
而且在你调整完一个osd的weight后有可能新增其他的osd near full,而之前near full的osd也可能消失,因此感觉这个还是取决于crush map的pg分配,不是按照比列来的
5.ceph osd df|grep osd.x 查看reweight后的osd使用率
6.ceph -s 确认near full 的osd warning 消除