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异常事件数量,包括:
检测被处理的用户业务是否出现异常;
当所述用户业务出现异常时,确定所述异常的类型;
当所述异常的类型为亚健康类型时,统计所述n个节点中每个节点上记录的IO异常事件数量。
7.一种故障检测装置,其特征在于,所述装置包括:
统计模块,用于统计分布式存储系统的n个节点中每个节点上记录的输入输出IO异常事件数量,所述n为大于1的整数,所述IO异常事件为IO操作超时所产生的事件;
投票模块,用于根据统计的每个节点上记录的IO异常事件数量,为所述每个节点所属的收发对中的节点投票,所述收发对包括:发起数据请求的请求节点和响应所述数据请求的响应节点;
筛选模块,用于根据每个节点获得的投票数量从所述n个节点中筛选出至少一个节点作为故障节点。
8.根据权利要求7所述的装置,其特征在于,所述筛选模块,用于:
根据每个节点获得的投票数量将所述n个节点降序排列;
将排名前m位的节点确定为所述故障节点,所述m为大于等于1的整数。
9.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
第一获取模块,用于获取第一节点与其余节点的交互时延,得到多个交互时延,所述第一节点为所述n个节点中的任一节点;
第一确定模块,用于确定目标交互时延的数量p,所述目标交互时延为与所述多个交互时延中的最小交互时延的差值大于预设差值的交互时延;
第一记录模块,用于在所述第一节点上记录p个IO异常事件。
10.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
第二获取模块,用于获取第一节点与其余节点的交互时延,得到多个交互时延,所述第一节点为所述n个节点中的任一节点;
第二确定模块,用于确定所述多个交互时延中大于预设时延阈值的交互时延的数量p;
第二记录模块,用于在所述第一节点上记录p个IO异常事件。
11.根据权利要求7所述的装置,其特征在于,所述投票模块,用于:
根据统计的第一节点上记录的IO异常事件数量p,为所述第一节点所属的p个收发对中每个收发对包括的第一节点和响应节点分别投票,所述第一节点为所述n个节点中的任一节点,所述第一节点用于发起数据请求,所述响应节点用于响应所述数据请求。
12.根据权利要求7所述的装置,其特征在于,所述统计模块,用于:
检测被处理的用户业务是否出现异常;
当所述用户业务出现异常时,确定所述异常的类型;
当所述异常的类型为亚健康类型时,统计所述n个节点中每个节点上记录的IO异常事件数量。