故障检测方法及装置制造方法及图纸

技术编号:15450511 阅读:117 留言:0更新日期:2017-05-31 12:15
本发明专利技术公开了一种故障检测方法及装置,属于数据库技术领域。所述方法包括:统计分布式存储系统的n个节点中每个节点上记录的IO异常事件数量,n为大于1的整数;再根据统计的每个节点上记录的IO异常事件数量,为每个节点所属的收发对中的节点投票,该收发对包括:发起数据请求的请求节点和响应数据请求的响应节点;之后,根据每个节点获得的投票数量从n个节点中筛选出至少一个节点作为故障节点。本发明专利技术解决了检测故障的过程较繁琐,检测效率较低的问题,实现了简化检测故障的过程,提高检测效率的效果,用于故障检测。

Fault detection method and device

The invention discloses a method and a device for detecting faults, belonging to the technical field of database. The method includes: the number of abnormal IO events recorded on each node statistics distributed storage system n nodes, n is an integer greater than 1; according to the number of abnormal IO events recorded on the statistics of each node, the node for each node in the transceiver to vote, the receiving of response include: node request node data request and response data request; then, according to the number of votes each node obtained from n nodes selected at least one node as the fault node. The invention solves the problem that the process of detecting faults is complicated and the detection efficiency is low, and simplifies the process of detecting faults and improves the detection efficiency, and is used for fault detection.

【技术实现步骤摘要】
故障检测方法及装置
本专利技术涉及数据库
,特别涉及一种故障检测方法及装置。
技术介绍
分布式存储系统包括三种类型的节点(节点指的是一台运行有用户业务进程的物理服务器或虚拟服务器):元数据节点、计算节点和存储节点。其中,元数据节点用于保存用户业务的管理数据,存储节点用于保存用户业务的业务数据,计算节点用于向用户提供接口以访问存储节点中保存的业务数据。这三种类型的节点作为一个整体来处理用户业务。当某一节点出现故障时,可能会导致被处理的用户业务受损,但并不会导致该用户业务中断(即用户业务处于亚健康状态),在这种情况下,也需要及时进行故障检测,确定故障节点(即出现故障的节点),并采取相应的措施以便继续处理该用户业务。现有技术中,当被处理的用户业务受损时,通常是先确定该用户业务对应的接口,再确定该接口对应的计算节点,然后检测该计算节点是否出现故障,当该计算节点出现故障时,进行故障恢复,当该计算节点未出现故障时,检测保存业务数据的存储主节点(为了防止业务数据丢失,同一业务数据被同时保存在存储主节点和存储备节点上)是否出现故障,当该存储主节点出现故障时,进行故障恢复,当该存储主节点未出现故障时,检测保存该业务数据的存储备节点是否出现故障,当该存储备节点出现故障时,进行故障恢复。此外,还可能需要对保存管理数据的元数据节点进行故障检测。由于需要对较多节点进行故障检测,所以检测故障的过程较繁琐,检测效率较低。
技术实现思路
为了解决现有技术检测故障的过程较繁琐,检测效率较低的问题,本专利技术提供了一种故障检测方法及装置。所述技术方案如下:第一方面,提供了一种故障检测方法,用于故障分析节点,该故障分析节点可以为分布式存储系统中的元数据节点、计算节点或存储节点,也可以为除元数据节点、计算节点和存储节点之外的运行有用户业务进程的物理服务器或虚拟服务器,即为一个独立的节点,该方法包括:故障分析节点统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,n为大于1的整数,IO异常事件为IO操作超时所产生的事件。故障分析节点再根据统计的每个节点上记录的IO异常事件数量,为每个节点所属的收发对中的节点投票,该收发对包括:发起数据请求的请求节点和响应数据请求的响应节点。之后,故障分析节点根据每个节点获得的投票数量从n个节点中筛选出至少一个节点作为故障节点。该故障检测方法采用投票机制对记录有IO异常事件的节点所属的收发对中的节点投票,根据所有节点获得的投票数量筛选出故障节点,快速缩小了故障检测范围,加速了定位故障节点的过程,简化了检测过程,提高了检测效率。可选的,根据每个节点获得的投票数量从n个节点中筛选出至少一个节点作为故障节点,包括:根据每个节点获得的投票数量将n个节点降序排列;将排名前m位的节点确定为故障节点,m为大于等于1的整数。该故障检测方法采用投票机制对记录有IO异常事件的节点所属的收发对中的节点投票,投票数量越多的节点,出现故障的概率就越大,需要优先对该节点进行故障排查。因此,该故障检测方法按照所有节点获得的投票数量的排序,筛选出投票数量排名靠前的节点作为故障节点。可选的,在统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量之前,该方法还包括:获取第一节点与其余节点的交互时延,得到多个交互时延,该第一节点为n个节点中的任一节点;接着,确定目标交互时延的数量p,该目标交互时延为与多个交互时延中的最小交互时延的差值大于预设差值的交互时延;之后,在第一节点上记录p个IO异常事件。预设差值的大小可以根据实际应用来确定。假设节点LL为其余节点中的某一节点,在确定第一节点与节点LL的交互时延时,可以确定第一节点与节点LL的平均时延,也即确定第一节点与节点LL在一段时间内的所有交互时延的平均值。记录的IO异常事件可以包括进行交互的两个节点的信息,如两个节点请求的业务数据和系统拓扑等中两个节点的连接关系等。该记录过程可以由故障分析节点完成,也可以由第一节点完成。当某一节点出现故障时,所有向该节点发起数据请求的请求节点与该节点的交互时延都会比较大,所以该故障检测方法通过确定每个节点的目标交互时延的数量,在每个节点上记录相应数量的IO异常事件,进而使得故障分析节点能够统计每个节点上记录的IO异常事件数量,并为节点投票。可选的,在统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量之前,该方法还包括:获取第一节点与其余节点的交互时延,得到多个交互时延,第一节点为n个节点中的任一节点;再确定多个交互时延中大于预设时延阈值的交互时延的数量p;之后,在第一节点上记录p个IO异常事件。该故障检测方法通过确定多个交互时延中大于预设时延阈值的交互时延的数量,在每个节点上记录相应数量的IO异常事件,进而使得故障分析节点能够统计每个节点上记录的IO异常事件数量,并为节点投票。可选的,根据统计的每个节点上记录的IO异常事件数量,为每个节点所属的收发对中的节点投票,包括:根据统计的第一节点上记录的IO异常事件数量p,为第一节点所属的p个收发对中每个收发对包括的第一节点和响应节点分别投票,该第一节点为n个节点中的任一节点,该第一节点用于发起数据请求,响应节点用于响应数据请求。该故障检测方法能够为每个节点所属的收发对中的节点投票,得到所有节点的投票数量,以便于故障分析节点根据每个节点获得的投票数量从n个节点中筛选出至少一个节点作为故障节点。可选的,统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,包括:检测被处理的用户业务是否出现异常;当用户业务出现异常时,确定该异常的类型;当该异常的类型为亚健康类型时,统计n个节点中每个节点上记录的IO异常事件数量。可选的,该用户业务可以为文件系统业务或数据库业务等。在统计每个节点上记录的IO异常事件数量时,故障分析节点可以先检测被处理的用户业务是否出现异常,当用户业务出现异常时,故障分析节点判断该异常的类型是否为亚健康类型。当该异常的类型为亚健康类型时,表明用户业务因故障节点已受损,但并未中断。此时,故障分析节点便可以统计n个节点中每个节点上记录的IO异常事件数量,进而为节点投票。第二方面,提供了一种故障检测装置,用于故障分析节点,该故障分析节点可以为分布式存储系统中的元数据节点、计算节点或存储节点,也可以为除元数据节点、计算节点和存储节点之外的运行有用户业务进程的物理服务器或虚拟服务器,该故障检测装置包括:至少一个模块,该至少一个模块用于实现上述第一方面所提供的故障检测方法。第三方面,提供了一种故障检测装置,用于故障分析节点,该故障分析节点可以为分布式存储系统中的元数据节点、计算节点或存储节点,也可以为除元数据节点、计算节点和存储节点之外的运行有用户业务进程的物理服务器或虚拟服务器,该故障检测装置包括:处理器、存储器、网络接口和总线。其中,总线用于连接处理器、存储器和网络接口。网络接口用于实现节点之间的通信连接。处理器用于执行存储器中存储的程序来实现第一方面所述的故障检测方法。上述本专利技术第二至第三方面所获得的技术效果与第一方面中对应的技术手段所获得的技术效果近似,在这里不再赘述。综上所述,本专利技术提供的技术方案带来的有益效果是:由于能够根据统计的每本文档来自技高网...
故障检测方法及装置

【技术保护点】
一种故障检测方法,其特征在于,所述方法包括:统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,所述n为大于1的整数,所述IO异常事件为IO操作超时所产生的事件;根据统计的每个节点上记录的IO异常事件数量,为所述每个节点所属的收发对中的节点投票,所述收发对包括:发起数据请求的请求节点和响应所述数据请求的响应节点;根据每个节点获得的投票数量从所述n个节点中筛选出至少一个节点作为故障节点。

【技术特征摘要】
1.一种故障检测方法,其特征在于,所述方法包括:统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,所述n为大于1的整数,所述IO异常事件为IO操作超时所产生的事件;根据统计的每个节点上记录的IO异常事件数量,为所述每个节点所属的收发对中的节点投票,所述收发对包括:发起数据请求的请求节点和响应所述数据请求的响应节点;根据每个节点获得的投票数量从所述n个节点中筛选出至少一个节点作为故障节点。2.根据权利要求1所述的方法,其特征在于,所述根据每个节点获得的投票数量从所述n个节点中筛选出至少一个节点作为故障节点,包括:根据每个节点获得的投票数量将所述n个节点降序排列;将排名前m位的节点确定为所述故障节点,所述m为大于等于1的整数。3.根据权利要求1或2所述的方法,其特征在于,在所述统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量之前,所述方法还包括:获取第一节点与其余节点的交互时延,得到多个交互时延,所述第一节点为所述n个节点中的任一节点;确定目标交互时延的数量p,所述目标交互时延为与所述多个交互时延中的最小交互时延的差值大于预设差值的交互时延;在所述第一节点上记录p个IO异常事件。4.根据权利要求1或2所述的方法,其特征在于,在所述统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量之前,所述方法还包括:获取第一节点与其余节点的交互时延,得到多个交互时延,所述第一节点为所述n个节点中的任一节点;确定所述多个交互时延中大于预设时延阈值的交互时延的数量p;在所述第一节点上记录p个IO异常事件。5.根据权利要求1所述的方法,其特征在于,所述根据统计的每个节点上记录的IO异常事件数量,为所述每个节点所属的收发对中的节点投票,包括:根据统计的第一节点上记录的IO异常事件数量p,为所述第一节点所属的p个收发对中每个收发对包括的第一节点和响应节点分别投票,所述第一节点为所述n个节点中的任一节点,所述第一节点用于发起数据请求,所述响应节点用于响应所述数据请求。6.根据权利要求1所述的方法,其特征在于,所述统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,包括:检测被处理的用户业务是否出现异常;当所述用户业务出现异常时,...

【专利技术属性】
技术研发人员:廖东方黄世准
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东,44

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

1