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

技术编号:18240417 阅读:91 留言:0更新日期:2018-06-17 05:07
本申请提供了一种检测故障的方法和装置,该方法包括:集群监测器接收至少一个客户端中每个客户端发送的状态信息,所述状态信息用于指示与所述每个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述每个客户端发送的状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述至少一个客户端通信的服务器的存储单元的故障状态,在与所述至少一个客户端通信的服务器中确定故障服务器,能够降低检测故障的复杂度。 1

Methods and devices for detecting faults

The present application provides a method and device for detecting failures. The method includes: the cluster monitor receives state information sent by each client in at least one client, and the state information is used to indicate the failure state of the storage unit of the server communicating with each client; the cluster monitor is based on the description. The state information sent by each client determines the failure state of the storage unit of the server that is communicated with at least one client; the cluster monitor determines a fault in a server that is communicated with at least one client according to the failure state of the storage unit of the at least one client communication server. The server can reduce the complexity of detecting faults. One

【技术实现步骤摘要】
检测故障的方法和装置
本申请涉及计算机领域,并且,更具体地,涉及计算机领域中检测故障的方法和装置。
技术介绍
分布式文件系统在客户端(client)将数据写到各个服务器或者从服务器读取数据,当服务器(server)的磁盘出现故障时,需要及时检测到故障并将故障隔离,否则客户端无法感知磁盘状态,一直给故障的磁盘发送请求消息,最终导致出现操作错误。现有的检测故障的方法服务器检测磁盘的故障,不同的故障类型对应不同的检测机制,每种检测机制在不同的场景下需要配置不同的参数,并且每新增一种故障都需要增加新的检测机制,这样,会增加检测故障的复杂度。
技术实现思路
本申请提供一种检测故障的方法和装置,能够降低检测故障的复杂度。第一方面,提供了一种检测故障的方法,包括:集群监测器接收至少一个客户端中每个客户端发送的状态信息,所述状态信息用于指示与所述每个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述每个客户端发送的状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述至少一个客户端通信的服务器的存储单元的故障状态,在与所述至少一个客户端通信的服务器中确定故障服务器;所述集群监测器向所述至少一个客户端中的第一客户端发送所述故障服务器的存储单元的故障状态。因此,本申请实施例中,集群监测器根据状态信息,能够确定故障服务器,集群检测器可以屏蔽底层存储单元的故障,能够减少维护的成本,降低检测故障的复杂性。可选地,存储单元也可以是硬盘或磁盘等。可选地,存储单元的故障状态可以是存储单元存在故障、存储单元正常、存储单元的故障状态未知。在某些实现方式中,所述每个客户端发送的状态信息包括多个状态信息,所述多个状态信息中每个状态信息为所述每个客户端的每个周期的状态信息;所述集群监测器根据所述每个客户端发送的状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:所述集群监测器根据所述每个客户端发送的多个状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态。具体来说,可以根据每个客户端的多个状态信息确定存储单元的故障状态,多个状态信息可以是多个发送周期的状态信息,这样可以提高确定存储单元故障状态的准确性。在某些实现方式中,若与所述每个客户端通信的服务器的存储单元中第一存储单元的故障状态为无故障,则用第一数值表示正常的存储单元,若所述第一存储单元故障状态为存在故障,则用第二数值表示故障的存储单元,若所述第一存储单元的故障状态未知,则用第三数值表示未知的存储单元。在某些实现方式中,所述集群监测器根据所述每个客户端发送的多个状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息指示的存储单元的故障状态对应的数值进行加权,确定与所述至少一个客户端通信的服务器的存储单元的得分;所述集群监测器根据与所述至少一个客户端通信的服务器的存储单元的得分,确定与所述至少一个客户端通信的服务器的存储单元的故障状态。在本申请实施例中,存储单元的故障状态可以用数值表示,不同的数值表示不同的故障状态,例如,第一数值可以为1,第二数值可以是-1,第三数值可以为0。可以将每个存储单元的多个故障状态对应的数值进行加权,得到每个存储单元的得分,然后根据每个存储单元的得分确定每个存储单元的故障状态。应理解,可以用存储单元的得分来确定存储单元的故障状态,当然,本申请实施例对此不作限定,也可以用存储单元的故障级别确定存储单元的故障状态,例如,存储单元的故障程度可以分为一级故障(较严重的故障)、二级故障(一般的故障)、三级故障(轻微的故障)等。在某些实现方式中,所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息对应的数值进行加权,确定与所述至少一个客户端通信的服务器的存储单元的得分,包括:所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息指示的第一存储单元的故障状态对应数值进行加权,确定所述第一存储单元的得分;其中,所述集群监测器根据与所述至少一个客户端通信的服务器的存储单元的得分,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:若所述第一存储单元的得分小于第一阈值,则所述集群监测器将所述第一存储单元确定故障的存储单元;若所述第一存储单元的得分大于所述第一阈值,则所述集群监测器将所述第一存储单元确定为正常的存储单元;若所述第一存储单元的得分等于所述第一阈值,则所述集群监测器将所述第一存储单元确定为未知的存储单元。可选地,第一阈值可以是预设的阈值或者是根据历史数据得到的值,本申请实施例对此不作限定。在某些实现方式中,在将所述第一存储单元确定为故障的存储单元之后,若所述第一存储单元的得分大于所述第一阈值,则所述集群监测器将所述第一存储单元确定为正常的存储单元。换句话说,将第一存储单元确定为故障单元之后,集群监测器还在根据每个客户端发送的状态信息确定每个存储单元的状态,当第一存储单元的得分再次大于第一阈值时,可以将第一存储单元的状态确定为正常的存储单元。这样,避免存储单元确定为故障存储单元时不再变化而造成检测故障不够灵活的缺点。在某些实现方式中,与所述至少一个客户端通信的服务器的存储单元的故障状态为与所述至少一个客户端通信的服务器的存储单元的得分,所述集群监测器根据所述至少一个客户端通信的服务器的存储单元的故障状态,在与所述至少一个客户端通信的服务器中确定故障服务器,包括:所述集群监测器将与所述至少一个客户端通信的服务器中存储单元得分总和小于第二阈值的服务器确定为所述故障服务器。在某些实现方式中,在所述集群监测器将与所述至少一个客户端通信的服务器中存储单元得分总和小于第二阈值的服务器确定为所述故障服务器之后,所述方法还包括:若所述故障服务器的磁盘得分总和大于或等于所述第二阈值,所述集群监测器将所述故障服务器恢复为正常服务器。换句话说,将服务器确定为故障服务器之后,集群监测器还在根据每个客户端发送的状态信息指示的每个存储单元的得分,当故障服务器的存储单元的得分总和再次大于第二阈值时,可以将原来确定的故障服务器回复为正常服务器,这样,可以提高确定故障服务器的灵活性。可选地,第二阈值可以是预设的阈值或者是根据历史数据得到的值,本申请实施例对此不作限定。在某些实现方式中,所述集群监测器维护与所述至少一个客户端中每个客户端通信的服务器的存储单元的故障状态,所述方法还包括:所述集群监测器在预设时间段内未收到所述至少一个客户端中第二客户端发送的状态信息,所述集群监测器将与所述第二客户端通信的服务器的存储单元的故障状态删除。换句话说,当集群监测器在预设的时间段内没有收到第二客户端发送的状态信息时,有可能该第二客户端所在的网络节点被长时间隔离、掉电或冻结等,为了避免资源的浪费,该集群监测器可以将与第二客户端通信的服务器的存储单元的故障状态删除。可选地,当有新的客户端与集群监测器进行通信时,集群监测器添加新的客户端通信的服务器的存储单元的故障状态。在某些实现方式中,所述状态信息还用于指示所述每个客户端的标识信息以及与所述每个客户端通信的服务器的标识信息。在某些实现方式中,所述集群监测器接收所述第一客户端本文档来自技高网...
检测故障的方法和装置

【技术保护点】
1.一种检测故障的方法,其特征在于,包括:

【技术特征摘要】
1.一种检测故障的方法,其特征在于,包括:集群监测器接收至少一个客户端中每个客户端发送的状态信息,所述状态信息用于指示与所述每个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述每个客户端发送的状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态;所述集群监测器根据所述至少一个客户端通信的服务器的存储单元的故障状态,在与所述至少一个客户端通信的服务器中确定故障服务器。2.根据权利要求1所述的方法,其特征在于,所述每个客户端发送的状态信息包括多个状态信息,所述多个状态信息中每个状态信息为所述每个客户端的每个周期的状态信息;所述集群监测器根据所述每个客户端发送的状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:所述集群监测器根据所述每个客户端发送的多个状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态。3.根据权利要求2所述的方法,其特征在于,所述集群监测器根据所述每个客户端发送的多个状态信息,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息指示的存储单元的故障状态对应的数值进行加权,确定与所述至少一个客户端通信的服务器的存储单元的得分;所述集群监测器根据与所述至少一个客户端通信的服务器的存储单元的得分,确定与所述至少一个客户端通信的服务器的存储单元的故障状态。4.根据权利要求3所述的方法,其特征在于,所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息对应的数值进行加权,确定与所述至少一个客户端通信的服务器的存储单元的得分,包括:所述集群监测器对所述每个客户端发送的多个状态信息中每个状态信息指示的第一存储单元的故障状态对应数值进行加权,确定所述第一存储单元的得分;其中,所述集群监测器根据与所述至少一个客户端通信的服务器的存储单元的得分,确定与所述至少一个客户端通信的服务器的存储单元的故障状态,包括:若所述第一存储单元的得分小于第一阈值,则所述集群监测器将所述第一存储单元确定故障的存储单元;若所述第一存储单元的得分大于所述第一阈值,则所述集群监测器将所述第一存储单元确定为正常的存储单元;若所述第一存储单元的得分等于所述第一阈值,则所述集群监测器将所述第一存储单元确定为未知的存储单元。5.根据权利要求4所述的方法,其特征在于,在将所述第一存储单元确定为故障的存储单元之后,若所述第一存储单元的得分大于所述第一阈值,则所述集群监测器将所述第一存储单元确定为正常的存储单元。6.根据权利要求1至5中任一项所述的方法,其特征在于,与所述至少一个客户端通信的服务器的存储单元的故障状态为与所述至少一个客户端通信的服务器的存储单元的得分,所述集群监测器根据所述至少一个客户端通信的服务器的存储单元的故障状态,在与所述至少一个客户端通信的服务器中确定故障服务器,包括:所述集群监测器将与所述至少一个客户端通信的服务器中存储单元得分总和小于第二阈值的服务器确定为所述故障服务器。7.根据权利要求6所述的方法,其特征在于,在所述集群监测器将与所述至少一个客户端通信的服务器中存储单元得分总和小于第二阈值的服务器确定为所述故障服务器之后,所述方法还包括:若所述故障服务器的磁盘得分总和大于或等于所述第二阈值,所述集群监测器将所述故障服务器恢复为正常服务器。8.根据权利要求1至7中任一项所述的方法,其特征在于,所述集群监测器维护与所述至少一个客户端中每个客户端通信的服务器的存储单元的故障状态,所述方法还包括:所述集群监测器在预设时间段内未收到所述至少一个客户端中第二客户端发送的状态信息,所述集群监测器将与所述第二客户端...

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

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

1