一种OSD故障处理方法及装置制造方法及图纸

技术编号:27934777 阅读:11 留言:0更新日期:2021-04-02 14:14
本申请涉及数据存储技术领域,特别涉及一种OSD故障处理方法及装置。该方法包括:在检测到目标OSD故障时,将所述目标OSD设置为下线状态;确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;若所述目标隔离模式为第一隔离模式,则在将所述目标OSD设置为上线状态之前,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态。

【技术实现步骤摘要】
一种OSD故障处理方法及装置
本申请涉及数据存储
,特别涉及一种OSD故障处理方法及装置。
技术介绍
OSD是ceph集群的基本存储单元,每个OSD皆可提供完整和具有强一致性语义的本地对象存储服务。OSD震荡是指OSD在故障场景下,状态在up与down之间频繁切换。OSD只有在up状态下,才能承担客户端下发的IO。如果OSD状态长期在up与down之间反复切换将会导致PG状态不健康,从而导致业务归零。通过分析大量现网以及实验室问题,上述故障场景主要包括但不限于以下几种:软件断言、OSD间心跳报down等。其中OSD心跳报down往往是由于网络异常导致OSD间心跳不通。由此可见,如何避免ceph集群OSD震荡是保证用户业务连续性的关键。目前,当检测到OSD故障时,OSD进程将直接退出,即OSD会被设置为down状态,后续会基于预设规则将OSD拉起,即将OSD设置为up状态,如果此时故障未解除,就会出现OSD进程频繁退出和拉起的操作,从而导致OSD震荡,进而造成用户业务的中断
技术实现思路
本申请提供了一种OSD故障处理方法及装置,用以解决现有技术中存在的OSD震荡而导致用户业务中断的问题。第一方面,本申请提供了一种OSD故障处理方法,所述方法包括:在检测到目标OSD故障时,将所述目标OSD设置为下线状态;确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;若所述目标隔离模式为第一隔离模式,则在将所述目标OSD设置为上线状态之前,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态。可选地,所述方法还包括:若所述目标隔离模式为第二隔离模式,则在所述目标OSD被设置为下线状态后,基于预设规则将所述目标OSD设置为上线状态;统计所述目标OSD在预设时长内被设置为下线状态的次数,若所述次数大于等于设定阈值,则采用第三隔离模式隔离所述目标OSD,其中,在所述第三隔离模式下,所述目标OSD被设置为下线状态,且不再基于所述预设规则将所述目标OSD设置为上线状态。可选地,基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式的步骤包括:若由于检测到心跳连接断开而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第一隔离模式;若由于检测到软件断言而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第二隔离模式。可选地,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态的步骤包括:指示所述目标OSD基于预设频率向其他OSD发送若干心跳报文;若确定所述目标OSD在发送一个心跳报文后的预设时长内均接收到该一个心跳报文对应的响应报文,则确定故障解除;将所述目标OSD设置为上线状态。可选地,所述方法还包括:在所述第三隔离模式下,若接收到用户触发的将所述目标OSD设置为上线状态的指令,则将所述OSD设置为上线状态。第二方面,本申请提供了一种OSD故障处理装置,所述装置包括:设置单元,用于在检测到目标OSD故障时,将所述目标OSD设置为下线状态;确定单元,用于确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;检测单元,若所述目标隔离模式为第一隔离模式,则在所述设置单元将所述目标OSD设置为上线状态之前,所述检测单元对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,所述设置单元将所述目标OSD设置为上线状态。可选地,所述装置还包括统计单元和隔离单元:若所述目标隔离模式为第二隔离模式,则在所述目标OSD被所述设置单元设置为下线状态后,所述设置单元基于预设规则将所述目标OSD设置为上线状态;所述统计单元统计所述目标OSD在预设时长内被设置为下线状态的次数,若所述次数大于等于设定阈值,则所述隔离单元采用第三隔离模式隔离所述目标OSD,其中,在所述第三隔离模式下,所述目标OSD被所述设置单元设置为下线状态,且不再基于所述预设规则将所述目标OSD设置为上线状态。可选地,基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式时,所述确定单元具体用于:若由于检测到心跳连接断开而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第一隔离模式;若由于检测到软件断言而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第二隔离模式。可选地,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态时,所述检测单元具体用于:指示所述目标OSD基于预设频率向其他OSD发送若干心跳报文;若确定所述目标OSD在发送一个心跳报文后的预设时长内均接收到该一个心跳报文对应的响应报文,则确定故障解除;所述设置单元将所述目标OSD设置为上线状态。可选地,所述装置还包括接收单元:在所述第三隔离模式下,若所述接收单元接收到用户触发的将所述目标OSD设置为上线状态的指令,则所述设置单元将所述OSD设置为上线状态。第三方面,本申请实施例提供一种OSD故障处理装置,该OSD故障处理装置包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行如上述第一方面中任一项所述的方法的步骤。第四方面,本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行如上述第一方面中任一项所述方法的步骤。综上可知,本申请实施例提供的OSD故障处理方法,在检测到目标OSD故障时,将所述目标OSD设置为下线状态;确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;若所述目标隔离模式为第一隔离模式,则在将所述目标OSD设置为上线状态之前,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态。采用本申请实施例提供的OSD故障处理方法,在检测到OSD故障时,根据OSD故障类型确定对应的隔离模式,从而有效避免由于OSD故障导致的OSD震荡,避免用户业务的中断。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1为本申请实施例提供的一种OSD故障处理方法的详细流程图;图2为本申请实施例提供的一种OSD故障处理装置的结构示意图;图3为本申请实施例提供的另一种OSD本文档来自技高网...

【技术保护点】
1.一种OSD故障处理方法,其特征在于,所述方法包括:/n在检测到目标OSD故障时,将所述目标OSD设置为下线状态;/n确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;/n若所述目标隔离模式为第一隔离模式,则在将所述目标OSD设置为上线状态之前,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态。/n

【技术特征摘要】
1.一种OSD故障处理方法,其特征在于,所述方法包括:
在检测到目标OSD故障时,将所述目标OSD设置为下线状态;
确定所述目标OSD故障类型,并基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式;
若所述目标隔离模式为第一隔离模式,则在将所述目标OSD设置为上线状态之前,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态。


2.如权利要求1所述的方法,其特征在于,所述方法还包括:
若所述目标隔离模式为第二隔离模式,则在所述目标OSD被设置为下线状态后,基于预设规则将所述目标OSD设置为上线状态;
统计所述目标OSD在预设时长内被设置为下线状态的次数,若所述次数大于等于设定阈值,则采用第三隔离模式隔离所述目标OSD,其中,在所述第三隔离模式下,所述目标OSD被设置为下线状态,且不再基于所述预设规则将所述目标OSD设置为上线状态。


3.如权利要求2所述的方法,其特征在于,基于所述目标OSD的故障类型,确定所述目标OSD的目标隔离模式的步骤包括:
若由于检测到心跳连接断开而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第一隔离模式;
若由于检测到软件断言而导致所述目标OSD故障,则确定所述目标OSD的目标隔离模式为第二隔离模式。


4.如权利要求1-3任一项所述的方法,其特征在于,对所述目标OSD故障进行故障是否解除的检测,在通过检测确定故障解除时,将所述目标OSD设置为上线状态的步骤包括:
指示所述目标OSD基于预设频率向其他OSD发送若干心跳报文;
若确定所述目标OSD在发送一个心跳报文后的预设时长内均接收到该一个心跳报文对应的响应报文,则确定故障解除;
将所述目标OSD设置为上线状态。


5.如权利要求2或3所述的方法,其特征在于,所述方法还包括:
在所述第三隔离模式下,若接收到用户触发的将所述目标OSD设置为上线状态的指令,则将所述OSD设置为上线状态。


6.一种OSD故障处理装置,其特征在于,所述装置包括:
设置单元,用于在检测到目标OSD故障时...

【专利技术属性】
技术研发人员:闵顺新
申请(专利权)人:新华三大数据技术有限公司
类型:发明
国别省市:河南;41

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1