某局点X100001232P05版本osd断言导致业务中断
(1)查看集群告警,集群中多个OSD异常,提示osd断言,后台pg状态也异常,导致业务中断
(2)当前集群数据池采用4+2冗余策略,即最多同时异常2个非同节点OSD,从handy告警来看,多个OSD震荡,所以集群不可用原因是多个OSD异常。
(3)查看OSD日志,OSD异常原因是断言,日志如下:
(4)该断言为集群老版本bug,在cache pool的场景,如果有类似如下操作,则会产生断言:
4.1 业务写入一个大小为600KB的文件(假设大小为600KB),并且成功下刷到数据池
4.2 业务将该文件truncate到0KB,但是还没有同步到数据池
4.3 业务对此文件写入1-2MB,0-1M没有任何数据
4.4将该文件再次truncate到1M
4.5将该文件下刷到数据池,由于0-1M没有任何数据,数据池该文件大小不会有任何修改(600KB)
4.6此时读取超过600KB大小的请求就会断言
(5)多个OSD异常原因是,该断言会导致主OSD断言,当前主OSD断言后,pg所在的主OSD变化,新的主OSD继续断言,从而导致多个OSD异常,业务中断。
(1)临时恢复方案是重启异常节点的主机;
(2)离线升级到最新版本,并安装最新补丁。
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作