无法快速识别osd down的处理方法说明

无法快速识别osd down的处理方法说明

无法快速识别osd down的处理方法说明

 

 

 

问题描述

环境在做rack故障测试的时候,osd无法快速识别出down,需要经过240s左右才能正常识 别,造成无法写入

 

环境复测

在一台机器上面通过关闭单机网络来快速模拟主机down的识别

 

 

关闭以后还是需要大概120s才能识别,通过修改

 

这个地方是由于环境特殊,副本为2,并且是只有两个rack,而ceph内部考虑了一种情况就是 子树里面网络情况不好的时候会产生误报,所以需要多个子树来报告这个down的事情,而本 环境只有一个rack内的osd异常的时候,另外一个机器的子树内的报告不足以去判断down,  所以出现了需要6  reporter都报异常的时候才会定义为down,也就出现了上面的超长超时的情况,所以解决办法如下

增加

 

 

避免mon去自动调整osd的down的时间,这个测试环境的时候为false,生产保持默认的true

 

另外参数的调整,下面方法二选一即可(两个都设置的话就是检测会比较敏感,没有特殊需 求,用一个方法即可)

方法一:

 

调整参数(默认为host)

 

 

调整为osd的时候,那么就会以osd为单位去统计,这个是可以方法二:

调整参数(默认为2)

 

 

调整完了后再去做down机测试,就会按照设置的识别

这两个参数建议是grace是比interval大的,如果还希望加快就调低grace的值即可

 

 

以下为我复测的结果,可以看到可以在24s内得到了状态的变化

 

 

下图为设置2 reporter的时候的测试值