CN113805788A - 一种分布式存储系统及其异常处理方法和相关装置 - Google Patents

一种分布式存储系统及其异常处理方法和相关装置 Download PDF

Info

Publication number
CN113805788A
CN113805788A CN202010538198.4A CN202010538198A CN113805788A CN 113805788 A CN113805788 A CN 113805788A CN 202010538198 A CN202010538198 A CN 202010538198A CN 113805788 A CN113805788 A CN 113805788A
Authority
CN
China
Prior art keywords
node
access device
notification message
identifier
attribute
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010538198.4A
Other languages
English (en)
Other versions
CN113805788B (zh
Inventor
冀智刚
刘宁
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202010538198.4A priority Critical patent/CN113805788B/zh
Priority to PCT/CN2021/095586 priority patent/WO2021249173A1/zh
Priority to EP21822660.3A priority patent/EP4148549A4/en
Publication of CN113805788A publication Critical patent/CN113805788A/zh
Priority to US18/064,752 priority patent/US20230106077A1/en
Application granted granted Critical
Publication of CN113805788B publication Critical patent/CN113805788B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/328Computer systems status display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/0614Improving the reliability of storage systems
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/076Error or fault detection not based on redundancy by exceeding limits by exceeding a count or rate limit, e.g. word- or bit count limit
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/2053Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
    • G06F11/2089Redundant storage control functionality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3034Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a storage system, e.g. DASD based or network based
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0629Configuration or reconfiguration of storage systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/067Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本申请公开了一种分布式存储系统,应用于存储技术领域。该分布式存储系统包括第一接入设备和多个节点,所述多个节点包括第一节点和第二节点;所述第一节点接入所述第一接入设备;所述第一节点为存储节点、计算节点或控制节点。所述第一接入设备用于:检测所述第一节点的状态,当所述第一节点的状态满足预设条件时,向所述第二节点发送第一通知消息,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。所述第二节点用于:接收所述第一通知消息,根据所述第一通知消息执行处理操作。通过本申请可以提高分布式存储系统的异常检测效率,进而提高分布式存储系统的可靠性。

Description

一种分布式存储系统及其异常处理方法和相关装置
技术领域
本申请涉及存储技术领域,尤其涉及一种分布式存储系统、应用在该分布式存储系统中的异常处理方法和相关装置。
背景技术
分布式存储是一种将数据分散地存储在不同位置上的存储节点的数据存储技术。这些不同位置的存储节点通过网络设备互联,以传输数据和交换信息。访问并使用存储节点中的数据的节点被称为计算节点。存储节点、网络设备和计算节点组成了分布式存储系统。分布式存储系统中还可以包括控制节点,以管理存储节点和计算节点。
分布式存储系统对分布式存储系统的可靠性有较高要求,拥塞,链路故障,丢包等异常事件都会影响分布式存储系统的可靠性。如何使节点快速发现并处理分布式存储系统中的异常成为本领域需要解决的问题。
发明内容
本申请提供了一种分布式存储系统、应用在该分布式存储系统中的异常处理方法和相关装置,以使分布式存储系统中的节点能够快速发现并处理网络异常,提高分布式存储系统的异常检测效率,进而提高分布式存储系统的可靠性。
本申请第一方面提供了分布式存储系统,该分布式存储系统包括第一接入设备和多个节点,所述多个节点包括第一节点和第二节点;所述第一节点接入所述第一接入设备;所述第一节点为存储节点、计算节点或控制节点。所述第一接入设备用于:检测所述第一节点的状态,当所述第一节点的状态满足预设条件时,向所述第二节点发送第一通知消息,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。所述第二节点用于:接收所述第一通知消息,根据所述第一通知消息执行处理操作。其中,所述第一节点和第二节点是根据功能区分的。第一节点可以有一个或多个,第二节点可以有一个或多个。
本申请中,由第一接入设备检测该第一接入设备连接的节点的状态,并在第一节点的状态满足预设条件时,通过第一通知消息将第一节点的状态发送给第二节点,可以避免第一节点和第二节点互相发送保活消息,进而可以减少网络中保活消息的数量,节约网络带宽,减少第二节点获知第一节点的状态的时间,增强分布式存储系统的可靠性。
可选地,所述第一节点的状态满足预设条件包括所述第一节点的运行参数的值等于或大于设定的阈值,所述第一节点的状态信息包括所述第一节点的运行参数的值;或所述第一节点的状态满足预设条件包括所述第一节点本地不可达,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识。
本申请中,第一接入设备不仅检测第一节点是否本地不可达,还可以检测第一节点的运行参数。这样,第一接入设备就可以根据第二节点的需要将第一节点的不同状态发送给第二节点,使得第二节点的处理更加及时,可以减少第一节点的状态变化产生的影响,避免业务中断。
可选地,所述第一节点本地不可达包括:所述第一接入设备在设定时间内没有接收到来自所述第一节点的保活消息;或所述第一接入设备连接所述第一节点的端口失效。
本申请中,第一接入设备可以通过多种方式,全方位检测第一节点的状态,保证检测出的第一节点的状态及时准确,提高了分布式存储系统的可靠性。
可选地,当向所述第二节点发送第一通知消息时,所述第一接入设备用于:根据所述第二节点发送的查询消息向所述第二节点发送所述第一通知消息;或根据设定的条件,主动向所述第二节点发送所述第一通知消息。该第二节点可以是订阅了第一节点的状态信息的节点,或者是网络中的所有节点。
本申请中,第一接入设备采用多种方式向第二节点发送第一通知消息,提高了分布式存储系统的灵活性。
可选地,所述分布式存储系统还包括第二接入设备和连接所述第二接入设备的第三节点;所述第一接入设备还用于在所述第三节点的路由信息被删除或置为无效时,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第三节点远端不可达。
本申请中,第一接入设备还检测第二接入设备连接的第三节点是否可达,并在第三节点不可达的时候,向第一接入设备的第四节点发送通知消息,以使第四节点执行相应的处理,可以避免第四节点在第三节点不可达的时候与第三节点通信,提高了分布式存储系统的可靠性。
可选地,所述分布式存储系统还包括第二接入设备;所述第一接入设备还用于在与所述第二接入设备的通信中断后,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第二接入设备的通信中断或所述第二接入设备连接的所有第三节点远端不可达。
本申请中,第二接入设备还检测与第二接入设备之间的通信是否中断,并在第一接入设备与第二接入设备之间的通信中断时,向第四节点第二通知消息,以使第四节点在第一接入设备与第二接入设备间的通信中断时,避免与第二接入设备连接的第三节点通信,提高了分布式存储系统的可靠性。
本申请第二方面提供了一种异常处理方法,由第一方面的分布式存储系统中的第一接入设备执行。所述第一接入设备检测第一节点的状态,所述第一接入设备为所述第一节点的接入设备,所述第一节点为存储节点、计算节点或控制节点。当所述第一节点的状态满足预设条件时,所述第一接入设备向第二节点发送第一通知消息,所述第二节点为所述分布式存储系统中除所述第一节点之外的节点,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。
可选地,所述第一节点的状态满足预设条件包括所述第一节点的运行参数的值等于或大于设定的阈值,所述第一节点的状态信息包括所述第一节点的运行参数的值;或,所述第一节点的状态满足预设条件包括所述第一节点本地不可达,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识。
可选地,所述第一节点本地不可达包括:所述第一接入设备在设定时间内没有接收到来自所述第一节点的保活消息;或,所述第一接入设备连接所述第一节点的端口失效。可选地,所述向第二节点发送第一通知消息包括:根据所述第二节点发送的查询消息向所述第二节点发送所述第一通知消息;或,所述第一接入设备根据设定的条件,主动向所述第二节点发送所述第一通知消息。
可选地,所述分布式存储系统还包括第二接入设备和连接所述第二接入设备的第三节点,在所述第三节点的路由信息被删除或置为无效时,所述第一接入设备向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第三节点远端不可达。
可选地,所述分布式存储系统还包括第二接入设备,在所述第一接入设备与所述第二接入设备的通信中断后,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第二接入设备连接的第三节点远端不可达。
本申请第三方面提供了一种异常处理方法,所述方法应用于第一方面的分布式存储系统的第二节点中,所述分布式存储系统还包括第一节点,所述第一节点接入第一接入设备,所述第一节点为存储节点、计算节点或控制节点。所述第二节点接收来自所述第一接入设备的第一通知消息,所述第一通知消息是在所述第一接入设备确定所述第一节点的状态满足预设条件时生成的,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。所述第二节点根据所述第一通知消息执行处理操作。
可选地,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识,所述第二节点根据所述第一通知消息执行处理操作包括:所述第二节点从所述第一通知消息中获取所述第一节点的标识;所述第二节点根据所述第一节点的状态信息确定所述第一节点本地不可达;所述第二节点根据所述第一节点的标识确定所述第一节点的类型和属性;所述第二节点根据所述第一节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
可选地,所述第一节点的状态信息包括所述第一节点的运行参数的值,所述第二节点根据所述第一通知消息执行处理操作包括:所述第二节点从所述第一通知消息中获取所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于等于所述运行参数的告警阈值且小于所述运行参数的故障阈值时,所述第二节点发送告警消息,所述告警消息包括所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于所述运行参数的故障阈值时,所述第二节点根据所述第一节点的标识确定所述第一节点的类型和属性;所述第二节点根据所述第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。
可选地,所述分布式存储系统还包括第二接入设备,所述第二节点还接收第二通知消息,所述第二通知消息用于通知所述第二节点所述第二接入设备的通信中断或所述第二接入设备连接的所有第三节点远端不可达;所述第二节点根据所述第二通知消息执行处理操作。
可选地,所述第二通知消息包括所述第三节点的标识以及指示所述第三节点远端不可达的标识,所述第二节点根据所述第二通知消息执行处理操作包括:所述第二节点从所述第二通知消息中获取所述第三节点的标识;所述第二节点根据所述第三节点的状态信息确定所述第一节点远端不可达;所述第二节点根据所述第三节点的标识确定所述第三节点的类型和属性;所述第二节点根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
本申请中,第二节点可以根据第二通知消息中的第三节点的标识直接确定不可达的第三节点,并避免与第三节点通信,可以提高分布式存储系统的可靠性。
可选地,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述第二节点根据所述第二通知消息执行处理操作包括:所述第二节点从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;所述第二节点确定匹配所述第二接入设备的标识或子网前缀的第三节点的标识;所述第二节点根据所述第三节点的标识确定所述第三节点的类型和属性;所述第二节点根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
本申请中,第一接入设备只需要向第二节点发送一条包括第二接入设备的标识或子网前缀的第二通知消息,第二节点就可以执行操作,避免与第二接入设备的所有第三节点通信,提高了处理效率,节约了网络带宽,提高了网络可靠性。
可选地,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述第二节点根据所述第二通知消息执行处理操作包括:所述第二节点从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;所述第二节点存储所述第二接入设备的标识或子网前缀;当所述第二节点需要访问新的节点前,所述第二节点比较所述新的节点的标识与所述第二接入设备的标识或子网前缀;当所述新的节点的标识与所述第二接入设备的标识或子网前缀匹配时,所述第二节点根据所述新的节点的标识确定所述新的节点的类型和属性;所述第二节点根据所述新的节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
本实施方式中,第二节点不需要在接收到第二接入设备的标识或子网前缀时就执行相应的处理,而只需要在访问新的节点时才判断该新的节点是否为需要避免通信的第三节点,提高了实现的灵活性,节约了第二节点的处理资源。
本申请第四方面提供了一种接入设备。该接入设备包括执行第二方面或第二方面的任意可能设计提供的异常处理方法的功能模块;本申请对功能模块的划分不做限定,可以按照第一方面的异常处理方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
本申请第五方面提供了一种节点。该节点包括执行第三方面或第三方面的任意可能设计提供的异常处理方法的功能模块;本申请对功能模块的划分不做限定,可以按照第三方面的异常处理的方法的流程步骤对应划分功能模块,也可以按照具体实现需要划分功能模块。
本申请第六方面提供了一种主机。该主机上运行节点,包括存储器、处理器和通信接口,该存储器用于存储计算机程序代码和数据,该处理器用于调用该计算机程序代码,并结合该数据使所述节点实现本申请第三方面及其任意可能的设计中的异常处理方法。
本申请第七方面提供了一种芯片,该芯片运行时,能够实现本申请第二方面及其任意可能的设计中的异常处理方法,以及实现本申请第三方面及其任意可能的涉及中的异常处理方法。
本申请第八方面提供了一种存储介质,该存储介质中存储有程序代码,该程序代码运行时,能够使运行该程序代码的设备(交换机,服务器,终端设备等)实现本申请第二方面及其任意可能的设计中的异常处理方法,以及实现本申请第三方面及其任意可能的涉及中的异常处理的方法。
本申请第二方面至第八方面的有益效果可以参考对第一方面及其各可能的设计的有益效果的描述,在此不再赘述。
附图说明
图1为本申请实施例提供的一种分布式存储系统的结构示意图;
图2为本申请实施例提供的分布式存储系统的故障位置示意图;
图3为本申请实施例提供的异常处理方法的流程示意图;
图4为本申请实施例提供的订阅表的示意图;
图5为本申请实施例提供的一种接入设备500的结构示意图;
图6为本申请实施例提供的一种终端设备600的结构示意图。
具体实施方式
在本申请实施例中,“示例性的”或者“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。
在本申请实施例中,除非另有说明,“多个”的含义是指两个或两个以上。例如,多个节点是指两个或两个以上的节点。“至少一个”是指任意的数量,例如,一个,两个或两个以上。“A和/或B”可以是只有A,只有B,或包括A和B。“A、B和C中的至少一个”,可以是只有A,只有B,只有C,或包括A和B,包括B和C,包括A和C,或者包括A,B和C。本申请中的“第一”、“第二”等用语仅用于区分不同的对象,而不用于对象的指示优先级或重要性。
本申请各实施例用于使分布式存储系统中的节点快速感知并处理分布式存储系统中的异常,该异常包括拥塞,丢包,CPU占用率过高,时延过大等网络运行异常,以及端口失效,业务中断等网络故障。为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
图1为本申请实施例提供的分布式存储系统的结构示意图。本申请的分布式存储系统包括接入设备20,计算节点50和存储节点40。存储节点40和计算节点50可以分布在一个或多个主机10上。多个分布式存储系统可以组成一个更大的系统。例如,分布式存储系统100a包括部署在主机10a上的计算节点50a、部署在主机10b上的存储节点40a-40c,以及连接主机10a和10b的接入设备20a。分布式存储系统还可以包括控制节点60,用于管理存储节点40和计算节点50。例如,分布式存储系统100b除了包括部署在主机10c和10d上的计算节点和存储节点,以及接入设备20b外,还包括部署在主机10d上的控制节点60a。分布式存储系统100a、100b和100c通过骨干设备30a和30b通信连接,组成更大的分布式存储系统1000。
在本申请的分布式存储系统中,存储节点40、计算节点50和控制节点60可统称为节点,主机10是节点的载体,一台主机可以承载一个或多个节点。一台主机可以承载的多个节点可以包括计算节点50、存储节点40或控制节点60中的一种或多种。主机10可以是物理服务器、虚拟服务器、工作站、移动台、通用计算机等可以承载节点的设备。存储节点50用于存储数据,数据可以是任何数字化的信息,例如,用户使用网络应用时产生的信息,用户存储的文件,网络配置等。计算节点50用于从存储节点40获取数据,并基于获取的数据处理业务。接入设备20用于连接不同的主机,并转发主机上的节点间发送的数据。骨干设备30用于连接不同的接入设备,以扩展分布式存储系统的规模。其中,接入设备20可以是二层交换机或者三层交换机,骨干设备30可以是三层交换机或者路由器。为了提高系统的可靠性,可以为一个节点部署备用节点。例如,计算节点50a和50b都可以提供计算功能A,可以将计算节点50a作为计算功能A的主用计算节点,将计算节点50b作为计算功能A的备用计算节点。再比如,存储节点40a和存储节点40g都存储了数据B,则可以将计算节点40a作为数据B的主用存储节点,将计算节点40g作为数据B的备用存储节点。再比如,控制节点60a为主用控制节点,控制节点60b为备用控制节点。分布式存储系统中也可以不包括控制节点,当分布式存储系统中不包括控制节点时,可以由网络管理系统管理存储节点40和计算节点50。
分布式存储系统在运行过程中可能会发生故障,以计算节点50a向存储节点40g读取数据的过程为例,图1所示的分布式存储系统可能发生故障的位置(以X表示)如图2所示。即,任意两个设备之间都可能发生故障,故障可能是该两个设备中某个设备的端口故障,也可能是链路故障。通常,分布式存储系统中的节点之间通过互相发送保活报文来检测故障,以避免向失去连接的节点发送请求。然而,从图2可以看出,两个节点之间的路径可能很长,采用节点之间发送保活报文来检测故障的方式会导致网络中存在大量的保活报文,浪费了网络和系统资源。并且,为了防止由于主机繁忙等原因造成心跳报文不能及时回复,通常会设置较长的心跳等待时间,导致故障收敛时间长,进而导致业务中断。进一步地,分布式存储系统中的任何节点或设备在运行的过程中都可能发生丢包,时延增大,CPU利用率过高,误码率增加等影响网络性能的事件。这些事件如果不能及时通知相关节点,该相关节点仍然会与被该异常影响的节点通信,将会导致业务迟延或中断。本申请中将网络故障和影响网络性能的事件统称为异常。
为了避免网络异常导致的网络性能下降或者业务中断,在图1所示的分布式存储系统的基础上,本申请实施例提供了一种异常处理方法,由节点的接入设备进行异常检测,以提高在分布式存储系统中异常发现和异常处理的效率,节约网络资源。在后续的实施例中,为了便于描述,图1所示的分布式存储系统被抽象为:包括第一接入设备和多个节点,该多个节点包括第一类节点和第二类节点,该第一类节点接入该接入设备(即该第一接入设备为该第一类节点的接入设备)。进一步地,该分布式存储系统还包括第二接入设备、第三类节点和第四类节点,第三类节点接入第二接入设备,第四类节点接入第一接入设备。本申请中的第一类节点,第二类节点,第三类节点和第四类节点是根据功能区分的,而不指某个具体的节点,例如,在一个场景的第一类节点可以是另一个场景中的第二类节点。任何一类节点可以包括一个或多个节点。本申请为了方便描述,将第一类节点,第二类节点,第三类节点和第四类节点分别简称为第一节点,第二节点,第三节点和第四节点。以下将结合图3,描述第一接入设备,第二接入设备和骨干以及各节点的功能。如图3所示,本申请实施例提供的异常处理方法包括步骤S300-S355。步骤S300-S355均可以根据场景需要进行删减。即,本申请实施例提供的故障实施方法并不要求执行步骤S300-S355中的全部过程。
在步骤S300中,建立节点与对应的接入设备的连接。每个节点接入网络的时候,都需要和对应的接入设备建立连接,图3以第一节点连接第一接入设备,第三节点接入第二接入设备为例进行说明。其中,第一节点可以为存储节点,计算节点或控制节点,第二节点可以是订阅了第一节点的状态信息的存储节点,计算节点或控制节点,也可以是除第一节点外的任意节点,后续将结合具体场景说明。第一接入设备可以是图1中的接入设备20a、20b和20c中的任意一个,第二接入设备是除第一接入设备之外的任意一个接入设备。
在步骤S310中,第一接入设备确定第一节点的状态是否满足预设的条件。当第一节点的状态不满足预设的条件时,第一接入设备可以在等待一段时间后继续执行步骤S310,第一接入设备也可以立即继续执行步骤S310,当第一节点的状态满足预设的条件时,第一接入设备执行步骤S320。
该预设的条件可以是该第一节点的运行参数的值等于或大于设定的阈值或第一节点本地不可达。当第一节点的状态满足预设的条件时,可以认为第一节点为异常节点。
当第一接入设备与第一节点之间持续通信时,第一接入设备可以获取第一节点的运行参数。第一节点的运行参数,例如可以包括丢包率、时延、误码率、CPU利用率、网卡状态中的一种或多种,该运行参数的值指示第一节点的运行状态,例如,是正常运行(运行参数的值小于设定的阈值),还是异常运行(运行参数的值等于或大于设定的阈值)。第一接入设备可以监测或收集第一节点的运行参数的值,确定第一节点的运行参数的值是否等于或大于设定的阈值,并在第一节点的运行参数的值等于或大于设定的阈值时,向第二节点发送第一通知消息。
当第一接入设备与第一节点间的通信中断时,或第一接入设备上存储的到达第一节点的路由失效时,第一接入设备确定存在使所述第一节点本地不可达的故障。本申请中,某个节点“本地不可达”是指数据不能通过该节点的接入设备被转发到该节点。例如,计算节点50a与接入设备20a之间的链路故障,导致其他节点不能通过接入设备20a向计算节点50a发送消息,则计算节点50a相对于接入设备20a本地不可达。第一接入设备与第一节点间的通信中断,例如可以是第一接入设备连接所述第一节点的端口失效,或者所述第一接入设备在设定时间(例如,每隔5分钟,或者每隔N个设定的保活消息周期,或在设定的时间点)内没有接收到来自所述第一节点的保活消息。第一接入设备连接所述第一节点的端口失效,即该第一接入设备用于连接所述第一节点的端口处于故障(例如,down)的状态。多种情况可以导致第一接入设备连接所述第一节点的端口失效,例如,第一接入设备连接第一节点的端口故障,第一节点连接第一接入设备的端口故障,第一接入设备与第一节点间的线缆故障,第一节点掉电,第一节点复位,第一接入设备的光模块故障等。
在步骤S320中,第一接入设备向第二节点发送第一通知消息,该第一通知消息包括该第一节点的标识以及该第一节点的状态信息。
本申请中,第一通知消息指第一接入设备在发现接入第一接入设备的第一节点的状态满足预设条件时发送的一类消息,该第一通知消息可以有一条或多条。该第一通知消息可以包括第一节点的标识。在一个实施方式中,第一节点的状态信息包括指示给第一节点本地不可达的标识,该标识具体可以是一个字段或者一个标记位。该第一通知消息还可以包括故障位置,故障时间等。第一通知消息中的故障位置具体可以是第一节点的标识或连接第一节点的端口的标识。第一节点的标识可以是第一节点的IP地址,MAC地址,设备名称,设备标识(identifier,ID)等能够唯一识别该节点的信息。当该第一通知消息是运行参数通知消息时,该第一通知消息还包括运行参数以及该运行参数的值。
在一个实现方式中,步骤S320可以是第一接入设备根据设定的条件,主动向该第二节点发送该第一通知消息。该第二节点可以是订阅了该第一节点的异常信息的节点,也可以是第一接入设备根据一定的规则确定的节点。该规则可以是根据节点的类型的确定的,例如,该规则可以是当异常节点为主用计算节点时,向该主用计算节点的所有备用计算节点发送通知消息。该第二节点还可以是除第一节点之外的所有其他节点。
当第二节点是订阅了该第一节点的异常信息的节点的场景下,第一接入设备(例如,接入设备20a)可以存储有图4所示的订阅表。该订阅表记录了接入设备20a所连接的每个节点及其订阅的节点的信息,该订阅表只是一个示例,可以根据需要删除或增加订阅表中的内容。第一接入设备可以根据该订阅表主动向第二节点发送该第一通知消息,例如,计算节点50a订阅了存储节点40a的信息,则接入设备20a在检测到存储节点40a本地不可达或存储节点40a的运行参数的值满足预设的条件之后,向计算节点50a发送第一通知消息。
在另一个实现方式中,步骤S320可以是第一接入设备接收该第二节点发送的查询消息,根据该查询消息向该第二节点发送该第一通知消息。在这种场景下,步骤S320之前还可以包括S315,该第二节点向该第一接入设备发送查询消息。该查询消息用于从第一接入设备获取第一节点的状态信息。
可选地,第二节点上存储有第二节点的目标节点(例如,第一节点)以及该目标节点的接入设备(例如第一接入设备)的信息,第二节点可以根据需要或根据设定条件向该目标节点的接入设备发送查询消息,该查询消息包括该目标节点的标识,用于从该目标节点的接入设备获取该目标节点的状态信息。
在步骤S325中,该第二节点根据该第一通知消息执行处理操作。
在一个实施方式中,该第二节点根据该第一通知消息获取该第一节点的状态信息,并根据该第一节点的状态信息执行处理操作。如前所述,第一节点的状态信息包括该第一节点的运行参数的值,或所述指示第一节点本地不可达的标识。
在一个可选的实现方式中,当第一节点的状态信息包括指示第一节点本地不可达的标识时,该第二节点获取该第一节点的标识,根据该第一节点的状态信息确定该第一节点本地不可达,并根据第一节点的标识确定该第一节点的类型和属性,然后根据第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。由于第一节点本地不可达,第二可以认为网络发生了故障,因此需要执行故障处理操作。
本申请实施例中,节点的类型指该节点是控制节点,计算节点还是存储节点,节点的属性指示该节点为主用节点或备用节点。
例如,该第一通知消息可以包括该第一节点的标识,该第二节点可以根据该第一节点的标识查找节点映射表,确定该第一节点的类型和属性,然后根据该第一节点的类型和属性、该第二节点的类型和属性执行处理操作。可选地,该第二节点存储有节点映射表,该节点映射表的每个表项包括节点标识、节点类型和节点属性的对应关系。一个节点的标识可以是该节点的IP地址,MAC地址,该节点的设备名称,设备标识等能够唯一识别该节点的信息。
当第一节点为计算节点时,步骤S325有以下可能的实现方式:
(1)、若该第一节点为计算功能A(本申请中用计算功能A指示任意一个计算功能)的主用计算节点(例如,计算节点50a),且该第二节点为该计算功能A的备用计算节点(例如,计算节点50b),则该第二节点切换该第二节点的属性为计算功能A的主用计算节点;
(2)、若该第一节点为计算功能A的主用计算节点(例如,计算节点50a),且该第二节点为控制节点(例如,控制节点60a),则该控制节点根据该第一通知消息将计算功能A的备用计算节点(例如,计算节点50b)的属性从备用修改为主用,并通知该备用计算节点,以使该备用计算节点进行主备切换(即使该备用计算节点将该备用计算节点的属性从备用修改为主用);
(3)若该第一节点为计算功能A的备用计算节点(例如,计算节点50b),且该第二节点为控制节点(例如,控制节点60a),则该控制节点根据该第一通知消息更新网络拓扑(修改备用计算节点的属性为不可用或删除备用计算节点)。
上述的实现方式(1)通常发生在没有控制节点存在的场景下,而实现方式(2)通常发生在有控制节点存在的场景下,当然,有控制节点存在的场景下也可以执行(1)和(2),在这样的情况下,计算功能A的备用计算节点可以根据第一接入设备发送的第一通知消息切换为计算功能A的主用计算节点,也可以根据控制节点的通知切换为计算功能A的主用计算节点,优选地,根据先收到的消息执行切换操作。
当第一节点为计算功能A的备用计算节点时,第一接入设备可以既不向计算功能A的主用计算节点发送通知消息,也不向存储有计算功能A需要访问的数据B的存储节点发送通知消息,以避免分布式存储系统中消息过多。
当第一节点为存储节点时,步骤S325有以下可能的实现方式:
(4)、若第一节点为数据B的主用存储节点(例如,存储节点40a),且该第二节点为访问数据B的计算功能A的主用计算节点(例如,计算节点50a),则该第二节点将该第二节点的读写接口切换到该数据B的备用存储节点(例如,存储节点40f),以从该备用存储节点获取数据B。每个计算节点上存储有每个计算功能对应的存储节点,以及每个存储节点的属性。其中,一个计算功能可以对应多个存储节点。存储节点的属性包括主用或备用。
(5)、若第一节点为数据B的主用存储节点(例如,存储节点40a),且该第二节点为控制节点(例如,控制节点60a),该控制节点根据该第一通知消息确定新的主用存储节点(例如,存储节点40g),删除数据B的主用存储节点或修改该主用存储节点的属性,为数据B确定新的主用存储节点,并将该新的主用存储节点的信息通知使用数据B的计算功能A的主用计算节点和备用计算节点。
(6)、若第一节点为数据B的备用存储节点(例如,存储节点40f),且该第二节点为控制节点(例如,控制节点60a),则该控制节点根据该第一通知消息删除该备用存储节点或修改该备用存储节点的属性为不可用,然后,该控制节点为数据B选择新的备用存储节点(例如,存储节点40e),并将新的备用存储节点通知主用存储节点,以使该主用存储节点向该新的备用存储节点发送数据B。
(7)、若第一节点为数据B的备用存储节点(例如,存储节点40f),且该第二节点为数据B的主用存储节点(例如,存储节点40a),该主用存储节点根据该第一通知消息停止向该存储节点发送数据B。
在实现中,为了避免分布式存储系统中的数据包过多,主用存储节点故障的时候,该主用存储节点的接入设备可以不向需要访问该主用存储节点上存储的数据的计算功能的备用计算节点发送第一通知消息,在备用存储节点故障的时候,该备用存储节点的接入设备可以不向需要访问该备用存储节点上存储的数据的计算功能的计算节点(无论主用计算节点或备用计算节点)发送第一通知消息。
当第一节点为控制节点时,步骤S325有以下可能的实现方式:
(8)、若第一节点为主用控制节点,且该第二节点为该主用控制节点管理的计算节点或存储节点,则第二节点根据该第一通知消息停止向该主用控制节点发送信息,在接收到新的主用控制节点发送的消息后,向该新的主用控制节点注册。
(9)、若第一节点为主用控制节点,且该第二节点为该主用控制节点的备用控制节点,则该第二节点在收到该第一通知消息后,将该第二节点切换为主用控制节点,然后向其管理的节点(包括计算节点和存储节点)发送通知消息,以使被管理的节点向该第二节点注册。
当第一节点为备用控制节点时,第一接入设备可以不向计算节点或存储节点发送通知消息,而仅向管理设备或管理员发送通知消息,以使管理设备或管理员重新指定或部署备用控制节点。
图1所示的分布式存储系统可以不包括控制节点,在不包括控制节点的时候,上述与控制节点相关的各过程可以不执行。
在另一个可选的实现方式中,当第一节点的状态信息包括该第一节点的运行参数的值时,该第二节点获取该第一节点的标识和该第一节点的运行参数的值,当该运行参数的值大于等于该运行参数的告警阈值并小于该运行参数的故障阈值时,该第二节点发送告警消息,该告警消息包括该第一节点的标识和该第一节点的运行参数的值。其中,第二节点可以向网络管理系统或者控制器发送该告警消息。
在再一个可选的实现方式中,当第一节点的状态信息包括该第一节点的运行参数的值时,该第二节点获取该第一节点的标识和该第一节点的运行参数的值,当该运行参数的值大于该运行参数的故障阈值时,该第二节点根据第一节点的标识确定该第一节点的类型和属性,然后根据第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。在这种场景下,第二节点执行的故障处理操作可以参考第一节点的状态信息包括指示第一节点本地不可达的标识时,第二节点的故障处理操作。
进一步地,在步骤S330中,第一接入设备与第二接入设备之间互相发送保活消息,以使第一接入设备确定与第二接入设备的连接是否中断。
其中,步骤S330可以在步骤S310之前执行,也可以在步骤S310之后执行,也可以不执行。
在步骤S340中,第一接入设备确定是否存在使第三节点远端不可达的故障。当不存在使第三节点远端不可达的故障时,第一接入设备可以在等待一段时间后继续执行步骤S340,当存在使第三节点远端不可达的故障时,执行步骤S350。其中,第三节点是指除第一接入设备外的第二接入设备的本地节点,即部署在第二接入设备直接相连的主机上的节点。本申请中,某个节点“远端不可达”是指一个接入设备不能通过该节点的接入设备访问该节点。例如,接入设备20a和接入设备20c之间的链路存在故障,导致接入设备20a不能向接入节点20c本地的计算节点50d和50e,存储节点40f和40g,控制节点60b发送消息,则计算节点50d和50e,存储节点40f和40g,控制节点60b相对于接入设备20a远端不可达。
在步骤S340的第一种实施方式中,第一接入设备可以根据步骤S330中是否接收到第二接入设备发送的保活消息来判断第二接入设备所连接的节点是否远端不可达,如果在设定的时间或设定的周期内没有接收到第二接入设备发送的保活消息,则第一接入设备确定与第二接入设备之间的通信中断,即确定第二接入设备所连接的第三节点远端不可达。
在步骤S340的第二种实施方式中,第一接入设备可以监测路由表,如果原来路由可达的第二接入设备变为路由不可达(例如,第二接入设备对应的子网的路由信息被删除或被置为无效),则第一接入设备确定与第二接入设备之间的通信中断。
在上述第一种和第二种实施方式中,第一接入设备与第二接入设备之间的通信中断,意味着第二接入设备所连接的第三节点远端不可达。这种情况下,第三节点是指第二接入设备连接的所有节点。假设第一接入设备为20a,第二接入设备为20c,第一接入设备与第二接入设备之间的通信中断,是指接入设备20a既不能通过骨干设备30a与接入设备20c通信,也不能通过骨干设备30b与接入设备通信,那么,接入设备20a连接的节点不能访问接入设备20c的任何节点。
在一个实施方式中,每个接入设备上的接入映射表存储了整个分布式存储系统中的节点与其接入设备之间的对应关系。因此,第一接入设备可以在于第二接入设备之间的通信中断后,根据该接入映射表确定远端不可达的第三节点。
在步骤S340的第三种实施方式中,第一接入设备可以监测路由表,如果原来路由可达的第三节点变为路由不可达(即第三节点对应的路由表项被删除或置为无效时),则第一接入设备确定第三节点远端不可达。在这种情况下,第三节点可以是一个节点,多个节点或者一个子网对应的所有节点。
在步骤S350中,第一接入设备向第四节点发送第二通知消息,该第二通知消息用于通知该第四节点该第二接入设备的通信中断或该第二接入设备连接的第三节点远端不可达。
本申请中,第二通知消息是指接入设备发现节点远端不可达时发送的消息,该第二通知消息可以有一条或多条。可选地,第二通知消息中可以包括故障位置,故障时间等。
当第二通知消息用于通知第二接入设备的通信中断时,故障位置可以是第二接入设备的标识(例如,IP地址,MAC地址,所在的路径标识)、第二接入设备的子网前缀等。相应地,第二通知消息可以包括第二接入设备的标识或子网前缀,该第二通知消息还可以包括指示该第二接入设备通信中断的标识。
当第二通知消息用于通知第二接入设备接入的第三节点远端不可达时,该故障位置可以是一个或多个第三节点的标识,该一个或多个第三节点的标识可以是第三节点的IP地址,MAC地址,设备名称,设备标识等能够唯一识别该第三节点的信息。相应地,第二通知消息可以包括第三节点的标识以及指示第三节点远端不可达的标识。
当第一接入设备与第二接入设备之间的通信中断时,将第二接入设备的标识或子网前缀作为故障位置并广播或组播发送第二通知消息可以减少第一接入设备发送第二通知消息的数量,节约网络带宽,这种情况下,第四节点可以是第一接入设备的所有本地节点。
第一接入设备也可以根据每个第三节点的类型和属性,生成不同的第二通知消息,发送给不同的第四节点。这种情况下,第四节点可以是第一接入设备的本地节点,也可以是其他接入设备的本地节点,第四节点可以是一个节点,也可以是多个节点。第四节点可以包括第一节点。可选地,第一接入设备可以根据存储的接入映射表找到全部第三节点,然后根据节点映射表确定每个第三节点的类型和属性,并根据每个第三节点的类型和属性生成不同的第二通知消息。
在一个实施方式中,图1中的接入设备20a为第一接入设备,接入设备20c为第二接入设备,接入设备20a检测到在设定时间内没有接收到接入设备20c发送的保活消息,确定与接入设备20c的通信中断,还可以确定接入设备20c的本地节点,即计算节点50d和50e,存储节点40f和40g以及控制节点60b,相对接入设备20a远端不可达。接入设备20a可以生成一个第二通知消息,该第二通知消息包括接入设备20c的标识(例如IP地址)或子网前缀以及指示接入设备20a与接入设备20c之间的通信中断的标识,然后将该第二通知消息单播、广播或组播发送给所有的本地节点,即计算节点50a和存储节点40a-40c。接入设备20a还可以根据接入设备20存储的接入设备20c的本地节点的信息,以及接入设备20a存储的订阅表,生成不同的第二通知消息。例如,当接入设备20a确定计算节点50d和50e,存储节点40f和40g以及控制节点60b远端不可达时,接入设备20a可以根据该订阅表向计算节点50a和存储节点40b发送控制节点60b远端不可达的第二通知消息,也可以根据该订阅表向计算节点50a发送计算节点50d远端不可达的第二通知消息。
在步骤S355中,第四节点接收该第二通知消息,根据该第二通知消息执行处理操作。
第四节点可以是一个或多个,当存在多个第四节点时,每个第四节点接收到第二通知消息后,根据该第二通知消息执行处理操作。
当第二通知消息为广播或组播消息时,该广播或组播消息可以包括第二接入设备的标识或子网前缀,或者包括一个第三节点的标识,或者包括多个第三节点的标识。当第四节点接收到该第二通知消息后,可以获取该第二接入设备的标识或子网前缀,根据该第二接入设备的标识或子网前缀确定第三节点的标识,并根据第三节点的标识执行相应的处理操作。例如,第四节点上记录了第四节点的关联节点的信息。该关联节点可以是第四节点需要访问的节点。第四节点比较所述关联节点的标识与该第二接入设备的标识或子网前缀,将匹配的关联节点的标识作为第三节点的标识,根据该第三节点的标识确定该第三节点的类型和属性,根据该第三节点的类型和属性,该第四节点的类型和属性执行故障处理操作。可选地,该第四节点的关联节点记录在第四节点的关联表中,该关联表记录第四节点的关联节点的标识,类型和属性。在另一个实施方式中,第四节点还可以存储该第二接入设备的标识或子网前缀,并在需要访问一个新的节点时,比较该存储的第二接入设备的标识或子网前缀与该新的节点的标识,确定是否需要对该新的节点是否执行故障处理操作。当所述新的节点的标识与所述第二接入设备的标识或子网前缀匹配时,第四节点确定需要对该新的节点执行故障处理操作。然后,第四节点根据所述新的节点的标识确定所述新的节点的类型和属性,并根据该新的节点的类型和属性以及该第四节点的类型和属性执行故障处理操作。当第二通知消息为单播消息时,该第二通知消息包括第三节点的标识,该第四节点根据第三节点的标识执行故障处理操作。即,该第四节点从该第二通知消息中获取该第三节点的标识,根据该第三节点的状态信息确定该第一节点远端不可达。该第四节点根据该第三节点的标识确定该第三节点的类型和属性;该第四节点根据该第三节点的类型和属性以及该第四节点的类型和属性执行故障处理操作。
第四节点执行的故障处理操作可以参考第二节点的故障处理过程。
本申请中,第一阶段(包括步骤S310,S315,S320和S325)与第二阶段(包括步骤330,S340,S350和S355)是两个独立的过程,因此,第二阶段可以在第一阶段之前或之后执行,也可以与第一阶段同时执行。
本申请中的第一节点,第二节点,第三节点和第四节点仅用于在不同场景下区分节点不同的功能,而不用于区分不同的节点。同一个节点,例如计算节点50a,可以因为在时刻T1发生故障,作为接入设备20a本地不可达的第一节点,也可以在故障恢复后的T2时刻,作为接收接入设备20a发送的通知存储节点40a本地不可达的通知的第二节点,也可以在T3时刻,因为接入设备20a与接入设备20b之间的通信中断,被接入设备20b作为远端不可达的第三节点,还可以在T4时刻,因为接入设备20a与接入设备20c之间的通信中断,作为接收接入设备20a发送的通知计算节点50d远端不可达的第四节点。基于以上原因,本申请图3中的步骤S325和步骤S355可以由同一个节点执行,也可以由不同的节点执行。
本申请各实施例中,分布式存储系统中的接入设备主动检测网络中是否存在异常,并在检测到异常后向节点(可以是订阅了故障通知的节点或全部本地节点)发送通知消息,接收到该通知消息的节点可以执行相应的处理操作。本申请不需要节点之间互相发送保活消息,不仅可以减少分布式存储系统中的保活消息的数量,节约网络带宽,还可以提高数据存储和读取的准确性和可靠性。
上述本申请提供的实施例中,分别从节点和接入设备的角度对本申请实施例提供的异常处理方法进行了介绍。可以理解的是,本申请实施例中的节点和接入设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,本申请中所公开的实施例描述的各示例的功能和步骤,能够以硬件或硬件和计算机软件的结合等形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。以下从不同角度对本申请节点和的结构予以说明。
为了实现本申请图3所示的方法,本申请实施例提供了一种接入设备500。该接入设备500可以是图3中的第一接入设备。该接入设备500除了图5所示的组成部分外,还可以包括其他组成部分以实现更多功能。
如图5所示,该接入设备500包括检测单元5031和处理单元5032。本申请实施例中,检测单元5031用于执行步骤S310和/或S340,处理单元5032用于执行步骤S320和/或S340。进一步地,处理单元5032还可以实现步骤S330。以下对检测单元5031和处理单元5032的功能进行详细描述。
检测单元5031用于检测第一节点的状态,接入设备500为第一节点的接入设备,第一节点为存储节点、计算节点或控制节点;
处理单元5032用于当该第一节点的状态满足预设条件时,向第二节点发送第一通知消息,该第二节点为该分布式存储系统中除该第一节点之外的节点,该第一通知消息包括该第一节点的标识以及该第一节点的状态信息。
在一个实施方式中,该第一节点的状态满足预设条件包括该第一节点的运行参数的值等于或大于设定的阈值,该第一节点的状态信息包括该第一节点的运行参数的值
在另一个实施方式中,该第一节点的状态满足预设条件包括该第一节点本地不可达,该第一节点的状态信息包括指示该第一节点本地不可达的标识。
可选地,该第一节点本地不可达包括:该接入设备500在设定时间内没有接收到来自该第一节点的保活消息;或接入设备500连接该第一节点的端口失效。
可选地,当向该第二节点发送该第一通知消息时,该处理单元5032用于:根据该第二节点发送的查询消息向该第二节点发送该第一通知消息;或根据设定的条件,主动向该第二节点发送该第一通知消息。
在一个实施方式中,该分布式存储系统还包括第二接入设备和连接该第二接入设备的第三节点,该处理单元5032还用于:在该第三节点的路由信息被删除或置为无效时,向第四节点发送第二通知消息,该第四节点接入该接入设备500,该第二通知消息用于通知该第四节点该第三节点远端不可达。
在另一个实施方式中,该分布式存储系统还包括第二接入设备,该处理单元5032还用于:在该接入设备500与该第二接入设备的通信中断后,向第四节点发送第二通知消息,该第四节点接入该接入设备500,该第二通知消息用于通知该第四节点该第二接入设备连接的第三节点远端不可达。
进一步地,该接入设备500还可以包括存储单元5033,用于存储实现图3所示的方法时需要的数据,数据5033例如可以包括订阅表,路由表等。
检测单元5031和处理单元5032可以由硬件实现,也可以由软件实现,当由软件实现时,如图5所示,该接入设备500还可以包括处理器501,通信接口502,存储器503。处理器501,通信接口502和存储器503通过总线系统504相连。存储器503用于存储程序代码,该程序代码包括可以实现检测单元5031和处理单元5032的功能的指令。该处理器501可以调用存储器503中的程序代码,以实现检测单元5031和处理单元5032的功能。进一步地,接入设备500还可以包括编程接口505,用于向存储器503写入该程序代码。
本申请实施例中,该处理器501可以是中央处理单元(central processing unit,CPU),该处理器501还可以是其他通用处理器、数字信号处理器(digital signalprocessor,DSP)、专用集成电路(application-specific integrated circuit,ASIC)、现场可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者任何常规的处理器。该处理器501可以包括一个或多个处理核心。
通信接口502用于与外部设备通信,例如,配合存储器503中的程序代码实现接收和/或发送功能。图5中的通信接口502只是示例,实际中,接入设备500可以包括多个通信接口,以连接多个不同的外部设备,并与这些外部设备通信。
该存储器503可以包括只读存储器(read-only memory,ROM)或者随机存取存储器(random access memory,RAM)。任何其他适宜类型的存储设备也可以用作存储器503。存储器503可以包括一个或多个存储设备。存储器503还可以进一步存储操作系统5034,该操作系统用于支持接入设备500的运行。
该总线系统504除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统504。
为了实现本申请图3所示的方法,本申请实施例还提供了一种终端设备600。该终端设备600可以是节点(这种情况下节点为物理设备),也可以是节点所在的主机(这种情况下节点为运行在物理设备上的虚拟设备)。该终端设备600可以具有图3中的第二节点和/或第四节点的功能。该终端设备600除了图6所示的组成部分外,还可以包括其他组成部分以实现更多功能。
如图6所示,该终端设备600包括接收单元6031和处理单元6032。本申请实施例中,接收单元6031用于执行步骤S320和/或S350,处理单元6032用于执行步骤S325和/或S355。进一步地,处理单元6032还可以实现步骤S315。以下对接收单元6031和处理单元6032的功能进行详细描述。
接收单元6031,用于接收来自第一接入设备的第一通知消息,该第一通知消息是在该第一接入设备确定该第一节点的状态满足预设条件时生成的,该第一通知消息包括该第一节点的标识以及该第一节点的状态信息;
处理单元6032,用于根据该第一通知消息执行处理操作。
在一个实施方式中,该第一节点的状态信息包括指示该第一节点本地不可达的标识,该处理单元6032用于:获取该第一节点的标识;根据该第一节点的状态信息确定该第一节点本地不可达;根据该第一节点的标识确定该第一节点的类型和属性;根据该第一节点的类型和属性,该第二节点的类型和属性执行故障处理操作。
在另一个实施方式中,该第一节点的状态信息包括该第一节点的运行参数的值,处理单元6032用于:获取该第一节点的标识和该第一节点的运行参数的值;当该运行参数的值大于等于该运行参数的告警阈值且小于该运行参数的故障阈值时,发送告警消息,该告警消息包括该第一节点的标识和该第一节点的运行参数的值;当该运行参数的值大于该运行参数的故障阈值时,根据该第一节点的标识确定该第一节点的类型和属性;根据该第一节点的类型和属性,该第二节点的类型和属性执行故障处理操作。
在一个实施方式中,该接收单元6031还用于接收第二通知消息,该第二通知消息用于通知该第二节点分布式存储系统中的第二接入设备的通信中断或该第二接入设备连接的第三节点远端不可达;该处理单元6032还用于根据该第二通知消息执行处理操作。
可选地,该第二通知消息包括该第三节点的标识以及指示该第三节点远端不可达的标识,该处理单元6032用于:从该第二通知消息中获取该第三节点的标识;根据该第三节点的状态信息确定该第一节点远端不可达;根据该第三节点的标识确定该第三节点的类型和属性;根据该第三节点的类型和属性以及该第二节点的类型和属性执行故障处理操作。
可选地,该第二通知消息包括该第二接入设备的标识或子网前缀,该处理单元6032用于:从该第二通知消息中获取该第二接入设备的标识或子网前缀;确定匹配该第二接入设备的标识或子网前缀的第三节点的标识;根据该第三节点的标识确定该第三节点的类型和属性;根据该第三节点的类型和属性以及该第二节点的类型和属性执行故障处理操作。
该第二通知消息包括该第二接入设备的标识或子网前缀,该处理单元6032用于:从该第二通知消息中获取该第二接入设备的标识或子网前缀;将该第二接入设备的标识或子网前缀发送给存储单元,以使该存储单元存储该第二接入设备的标识或子网前缀;当该第二接入设备需要访问新的节点前,比较该新的节点的标识与该第二接入设备的标识或子网前缀;当该新的节点的标识与该第二接入设备的标识或子网前缀匹配时,根据该第二节点根据该新的节点的标识确定该新的节点的类型和属性;根据该新的节点的类型和属性以及该第二节点的类型和属性执行故障处理操作。
进一步地,该终端设备600还可以包括存储单元6033,用于存储实现图3所示的方法时需要的数据,数据例如可以包括关联表,第二接入设备的标识或子网前缀,节点映射表等。
接收单元6031和处理单元6032可以由硬件实现,也可以由软件实现,当由软件实现时,如图6所示,终端设备600还可以包括处理器601,通信接口602,存储器603。处理器601,通信接口602和存储器603通过总线系统604相连。存储器603用于存储程序代码,该程序代码包括可以实现接收单元6031和处理单元6032的功能的指令。该处理器601可以调用存储器603中的程序代码,以实现接收单元6031和处理单元6032的功能。进一步地,终端设备600还可以包括编程接口605,用于向存储器603写入该程序代码。
本申请实施例中,该处理器601可以是CPU,该处理器601还可以是其他通用处理器、,DSP、ASIC、FPGA或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者任何常规的处理器。该处理器601可以包括一个或多个处理核心。
通信接口602用于与外部设备通信,例如,配合存储器603中的程序代码实现接收和/或发送功能。图6中的通信接口602只是示例,实际中,终端设备600可以包括多个通信接口,以连接多个不同的外部设备,并与这些外部设备通信。
该存储器603可以包括ROM或者RAM。任何其他适宜类型的存储设备也可以用作存储器603。存储器603可以包括一个或多个存储设备。存储器603还可以进一步存储操作系统6034,该操作系统6034用于支持终端设备的600的运行。
该总线系统604除包括数据总线之外,还可以包括电源总线、控制总线和状态信号总线等。但是为了清楚说明起见,在图中将各种总线都标为总线系统604。
本申请实施例提供的接入设备500或终端设备600的各个组成部分仅仅是示例性的,本领域技术人员可以根据需要增加或减少组件,也可以把一个组件的功能分割由多个组件来实现。本申请接入设备500或终端设备600的各功能的实现方式可参考对图3各步骤的描述。
通过以上实施方式的描述,本领域的技术人员可以清楚地了解到本申请接入设备500或终端设备600可以通过硬件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,本申请的技术方案可以以硬件产品或软件产品的形式体现出来。该硬件产品可以是专用芯片或处理器。该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中,该软件产品包括若干指令。该软件产品被执行时,可以使得一台计算机设备执行本申请各个实施例所述的方法。
以上所述仅是本申请的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。

Claims (34)

1.一种分布式存储系统,其特征在于,包括第一接入设备和多个节点,所述多个节点包括第一节点和第二节点;所述第一节点接入所述第一接入设备;所述第一节点为存储节点、计算节点或控制节点;
所述第一接入设备用于:检测所述第一节点的状态,当所述第一节点的状态满足预设条件时,向所述第二节点发送第一通知消息,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息;
所述第二节点用于:接收所述第一通知消息,根据所述第一通知消息执行处理操作。
2.根据权利要求1所述的分布式存储系统,其特征在于,
所述第一节点的状态满足预设条件包括所述第一节点的运行参数的值等于或大于设定的阈值,所述第一节点的状态信息包括所述第一节点的运行参数的值;
所述第一节点的状态满足预设条件包括所述第一节点本地不可达,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识。
3.根据权利要求2所述的分布式存储系统,其特征在于,所述第一节点本地不可达包括:
所述第一接入设备在设定时间内没有接收到来自所述第一节点的保活消息;
所述第一接入设备连接所述第一节点的端口失效。
4.根据权利要求1-3中任意一项所述的分布式存储系统,其特征在于,当向所述第二节点发送第一通知消息时,所述第一接入设备用于:
根据所述第二节点发送的查询消息向所述第二节点发送所述第一通知消息;
根据设定的条件,主动向所述第二节点发送所述第一通知消息。
5.根据权利要求1-4中任意一项所述的分布式存储系统,其特征在于,所述分布式存储系统还包括第二接入设备和连接所述第二接入设备的第三节点;
所述第一接入设备还用于在所述第三节点的路由信息被删除或置为无效时,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第三节点远端不可达。
6.根据权利要求1-4中任意一项所述的分布式存储系统,其特征在于,所述分布式存储系统还包括第二接入设备;
所述第一接入设备还用于在与所述第二接入设备的通信中断后,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第二接入设备的通信中断或所述第二接入设备连接的所有第三节点远端不可达。
7.一种异常处理方法,其特征在于,所述方法应用于分布式存储系统的第一接入设备中,所述方法包括:
所述第一接入设备检测第一节点的状态,所述第一接入设备为所述第一节点的接入设备,所述第一节点为存储节点、计算节点或控制节点;
当所述第一节点的状态满足预设条件时,所述第一接入设备向第二节点发送第一通知消息,所述第二节点为所述分布式存储系统中除所述第一节点之外的节点,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。
8.根据权利要求7所述的异常处理方法,其特征在于,
所述第一节点的状态满足预设条件包括所述第一节点的运行参数的值等于或大于设定的阈值,所述第一节点的状态信息包括所述第一节点的运行参数的值;
所述第一节点的状态满足预设条件包括所述第一节点本地不可达,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识。
9.根据权利要求8所述的异常处理方法,其特征在于,所述第一节点本地不可达包括:
所述第一接入设备在设定时间内没有接收到来自所述第一节点的保活消息;
所述第一接入设备连接所述第一节点的端口失效。
10.根据权利要求7-9中任意一项所述的异常处理方法,其特征在于,所述向第二节点发送第一通知消息包括:
根据所述第二节点发送的查询消息向所述第二节点发送所述第一通知消息;
所述第一接入设备根据设定的条件,主动向所述第二节点发送所述第一通知消息。
11.根据权利要求7-10中任意一项所述的异常处理方法,其特征在于,所述分布式存储系统还包括第二接入设备和连接所述第二接入设备的第三节点,所述方法还包括;
在所述第三节点的路由信息被删除或置为无效时,所述第一接入设备向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第三节点远端不可达。
12.根据权利要求7-10中任意一项所述的异常处理方法,其特征在于,所述分布式存储系统还包括第二接入设备,所述方法还包括;
在所述第一接入设备与所述第二接入设备的通信中断后,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第二接入设备连接的第三节点远端不可达。
13.一种异常处理方法,其特征在于,所述方法应用于分布式存储系统的第二节点中,所述分布式存储系统还包括第一节点,所述第一节点接入第一接入设备,所述第一节点为存储节点、计算节点或控制节点,所述方法包括:
所述第二节点接收来自所述第一接入设备的第一通知消息,所述第一通知消息是在所述第一接入设备确定所述第一节点的状态满足预设条件时生成的,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息;
所述第二节点根据所述第一通知消息执行处理操作。
14.根据权利要求13所述的异常处理方法,其特征在于,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识,所述第二节点根据所述第一通知消息执行处理操作包括:
所述第二节点从所述第一通知消息中获取所述第一节点的标识;
所述第二节点根据所述第一节点的状态信息确定所述第一节点本地不可达;
所述第二节点根据所述第一节点的标识确定所述第一节点的类型和属性;
所述第二节点根据所述第一节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
15.根据权利要求13所述的异常处理方法,其特征在于,所述第一节点的状态信息包括所述第一节点的运行参数的值,所述第二节点根据所述第一通知消息执行处理操作包括:
所述第二节点从所述第一通知消息中获取所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于等于所述运行参数的告警阈值且小于所述运行参数的故障阈值时,所述第二节点发送告警消息,所述告警消息包括所述第一节点的标识和所述第一节点的运行参数的值;
所述第二节点从所述第一通知消息中获取所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于所述运行参数的故障阈值时,所述第二节点根据所述第一节点的标识确定所述第一节点的类型和属性;所述第二节点根据所述第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。
16.根据权利要求13-15中任意一项所述的方法,其特征在于,所述分布式存储系统还包括第二接入设备,所述方法还包括:
所述第二节点接收第二通知消息,所述第二通知消息用于通知所述第二节点所述第二接入设备的通信中断或所述第二接入设备连接的所有第三节点远端不可达;
所述第二节点根据所述第二通知消息执行处理操作。
17.根据权利要求16所述的方法,其特征在于,所述第二通知消息包括所述第三节点的标识以及指示所述第三节点远端不可达的标识,所述第二节点根据所述第二通知消息执行处理操作包括:
所述第二节点从所述第二通知消息中获取所述第三节点的标识;
所述第二节点根据所述第三节点的状态信息确定所述第一节点远端不可达;
所述第二节点根据所述第三节点的标识确定所述第三节点的类型和属性;
所述第二节点根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
18.根据权利要求16所述的方法,其特征在于,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述第二节点根据所述第二通知消息执行处理操作包括:
所述第二节点从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;
所述第二节点确定匹配所述第二接入设备的标识或子网前缀的第三节点的标识;
所述第二节点根据所述第三节点的标识确定所述第三节点的类型和属性;
所述第二节点根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
19.根据权利要求16所述的方法,其特征在于,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述第二节点根据所述第二通知消息执行处理操作包括:
所述第二节点从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;
所述第二节点存储所述第二接入设备的标识或子网前缀;
当所述第二节点需要访问新的节点前,所述第二节点比较所述新的节点的标识与所述第二接入设备的标识或子网前缀;
当所述新的节点的标识与所述第二接入设备的标识或子网前缀匹配时,所述第二节点根据所述新的节点的标识确定所述新的节点的类型和属性;
所述第二节点根据所述新的节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
20.一种接入设备,所述接入设备为分布式存储系统中的第一接入设备,所述第一接入设备包括:
检测单元,用于检测第一节点的状态,所述第一接入设备为所述第一节点的接入设备,所述第一节点为存储节点、计算节点或控制节点;
处理单元,用于当所述第一节点的状态满足预设条件时,向第二节点发送第一通知消息,所述第二节点为所述分布式存储系统中除所述第一节点之外的节点,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息。
21.根据权利要求20所述的接入设备,其特征在于,
所述第一节点的状态满足预设条件包括所述第一节点的运行参数的值等于或大于设定的阈值,所述第一节点的状态信息包括所述第一节点的运行参数的值;
所述第一节点的状态满足预设条件包括所述第一节点本地不可达,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识。
22.根据权利要求21所述的接入设备,其特征在于,所述第一节点本地不可达包括:
所述第一接入设备在设定时间内没有接收到来自所述第一节点的保活消息;或
所述第一接入设备连接所述第一节点的端口失效。
23.根据权利要求20-22中任意一项所述的接入设备,其特征在于,当向所述第二节点发送所述第一通知消息时,所述处理单元用于:
根据所述第二节点发送的查询消息向所述第二节点发送所述第一通知消息;或
根据设定的条件,主动向所述第二节点发送所述第一通知消息。
24.根据权利要求20-23中任意一项所述的接入设备,其特征在于,所述分布式存储系统还包括第二接入设备和连接所述第二接入设备的第三节点,所述处理单元还用于:
在所述第三节点的路由信息被删除或置为无效时,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第三节点远端不可达。
25.根据权利要求20-23中任意一项所述的接入设备,其特征在于,所述分布式存储系统还包括第二接入设备,所述处理单元还用于:
在所述第一接入设备与所述第二接入设备的通信中断后,向第四节点发送第二通知消息,所述第四节点接入所述第一接入设备,所述第二通知消息用于通知所述第四节点所述第二接入设备连接的第三节点远端不可达。
26.一种节点,其特征在于,所述节点为部署在分布式存储系统的第二节点,所述分布式存储系统还包括第一节点,所述第一节点连接第一接入设备,所述第一节点为存储节点、计算节点或控制节点,所述第二节点包括:
接收单元,用于接收来自所述第一接入设备的第一通知消息,所述第一通知消息是在所述第一接入设备确定所述第一节点的状态满足预设条件时生成的,所述第一通知消息包括所述第一节点的标识以及所述第一节点的状态信息;
处理单元,用于根据所述第一通知消息执行处理操作。
27.根据权利要求26所述的节点,其特征在于,所述第一节点的状态信息包括指示所述第一节点本地不可达的标识,所述处理单元用于:
获取所述第一节点的标识;
根据所述第一节点的状态信息确定所述第一节点本地不可达;
根据所述第一节点的标识确定所述第一节点的类型和属性;
根据所述第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。
28.根据权利要求26所述的节点,其特征在于,所述第一节点的状态信息包括所述第一节点的运行参数的值,处理单元用于:
获取所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于等于所述运行参数的告警阈值且小于所述运行参数的故障阈值时,发送告警消息,所述告警消息包括所述第一节点的标识和所述第一节点的运行参数的值;
获取所述第一节点的标识和所述第一节点的运行参数的值;当所述运行参数的值大于所述运行参数的故障阈值时,根据所述第一节点的标识确定所述第一节点的类型和属性;根据所述第一节点的类型和属性,所述第二节点的类型和属性执行故障处理操作。
29.根据权利要求26-28中任意一项所述的节点,其特征在于,所述分布式存储系统还包括第二接入设备,
所述接收单元还用于接收第二通知消息,所述第二通知消息用于通知所述第二节点所述第二接入设备的通信中断或所述第二接入设备连接的第三节点远端不可达;
所述处理单元还用于根据所述第二通知消息执行处理操作。
30.根据权利要求29所述的节点,其特征在于,所述第二通知消息包括所述第三节点的标识以及指示所述第三节点远端不可达的标识,所述处理单元用于:
从所述第二通知消息中获取所述第三节点的标识;
根据所述第三节点的状态信息确定所述第一节点远端不可达;
根据所述第三节点的标识确定所述第三节点的类型和属性;
根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
31.根据权利要求29所述的节点,其特征在于,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述处理单元用于:
从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;
确定匹配所述第二接入设备的标识或子网前缀的第三节点的标识;
根据所述第三节点的标识确定所述第三节点的类型和属性;
根据所述第三节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
32.根据权利要求29所述的节点,其特征在于,所述第二通知消息包括所述第二接入设备的标识或子网前缀,所述节点还包括存储单元,所述处理单元用于:
从所述第二通知消息中获取所述第二接入设备的标识或子网前缀;
将所述第二接入设备的标识或子网前缀发送给所述存储单元,以使所述存储单元存储所述第二接入设备的标识或子网前缀;
当所述第二接入设备需要访问新的节点前,比较所述新的节点的标识与所述第二接入设备的标识或子网前缀;
当所述新的节点的标识与所述第二接入设备的标识或子网前缀匹配时,根据所述第二节点根据所述新的节点的标识确定所述新的节点的类型和属性;
根据所述新的节点的类型和属性以及所述第二节点的类型和属性执行故障处理操作。
33.一种接入设备,其特征在于,所述接入设备部署在分布式存储系统中,所述接入设备包括存储器和处理器,所述存储器用于存储计算机程序代码,所述处理器用于调用所述计算机程序代码,以使所述接入设备执行权利要求7-12中任意一项所述的异常处理方法。
34.一种主机,其特征在于,所述主机部署在分布式存储系统中,所述主机上运行节点,所述主机包括存储器、处理器和通信接口,所述存储器用于存储计算机程序代码,所述处理器用于调用所述计算机程序代码,以在所述通信接口的配合下使所述节点实现权利要求13-19中任意一项所述的异常处理方法。
CN202010538198.4A 2020-06-12 2020-06-12 一种分布式存储系统及其异常处理方法和相关装置 Active CN113805788B (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202010538198.4A CN113805788B (zh) 2020-06-12 2020-06-12 一种分布式存储系统及其异常处理方法和相关装置
PCT/CN2021/095586 WO2021249173A1 (zh) 2020-06-12 2021-05-24 一种分布式存储系统及其异常处理方法和相关装置
EP21822660.3A EP4148549A4 (en) 2020-06-12 2021-05-24 DISTRIBUTED STORAGE SYSTEM, ANOMALY PROCESSING METHOD THEREFOR AND ASSOCIATED APPARATUS
US18/064,752 US20230106077A1 (en) 2020-06-12 2022-12-12 Distributed Storage System, Exception Handling Method Thereof, and Related Apparatus

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010538198.4A CN113805788B (zh) 2020-06-12 2020-06-12 一种分布式存储系统及其异常处理方法和相关装置

Publications (2)

Publication Number Publication Date
CN113805788A true CN113805788A (zh) 2021-12-17
CN113805788B CN113805788B (zh) 2024-04-09

Family

ID=78845183

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010538198.4A Active CN113805788B (zh) 2020-06-12 2020-06-12 一种分布式存储系统及其异常处理方法和相关装置

Country Status (4)

Country Link
US (1) US20230106077A1 (zh)
EP (1) EP4148549A4 (zh)
CN (1) CN113805788B (zh)
WO (1) WO2021249173A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113832A1 (zh) * 2022-11-29 2024-06-06 华为技术有限公司 节点异常事件的处理方法、网卡及存储集群

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756241A (zh) * 2004-10-01 2006-04-05 中兴通讯股份有限公司 一种分布式环境中消息交换的实现方法及其装置
WO2013143065A1 (en) * 2012-03-27 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Shared keep-alive and failure detection mechanisms in distributed network
CN106936662A (zh) * 2015-12-31 2017-07-07 杭州华为数字技术有限公司 一种实现心跳机制的方法、装置及系统
CN107924343A (zh) * 2015-09-26 2018-04-17 英特尔公司 低等待时间节点间通信
CN109088794A (zh) * 2018-08-20 2018-12-25 郑州云海信息技术有限公司 一种节点的故障监测方法和装置
WO2019011018A1 (zh) * 2017-07-12 2019-01-17 华为技术有限公司 集群中节点的故障处理方法及设备
CN110740072A (zh) * 2018-07-20 2020-01-31 华为技术有限公司 一种故障检测方法、装置和相关设备
CN110830283A (zh) * 2018-08-10 2020-02-21 华为技术有限公司 故障检测方法、装置、设备和系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10275326B1 (en) * 2014-10-31 2019-04-30 Amazon Technologies, Inc. Distributed computing system failure detection
CN110535692B (zh) * 2019-08-12 2020-12-18 华为技术有限公司 故障处理方法、装置、计算机设备、存储介质及存储系统

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1756241A (zh) * 2004-10-01 2006-04-05 中兴通讯股份有限公司 一种分布式环境中消息交换的实现方法及其装置
WO2013143065A1 (en) * 2012-03-27 2013-10-03 Telefonaktiebolaget L M Ericsson (Publ) Shared keep-alive and failure detection mechanisms in distributed network
CN107924343A (zh) * 2015-09-26 2018-04-17 英特尔公司 低等待时间节点间通信
CN106936662A (zh) * 2015-12-31 2017-07-07 杭州华为数字技术有限公司 一种实现心跳机制的方法、装置及系统
WO2019011018A1 (zh) * 2017-07-12 2019-01-17 华为技术有限公司 集群中节点的故障处理方法及设备
CN109257195A (zh) * 2017-07-12 2019-01-22 华为技术有限公司 集群中节点的故障处理方法及设备
CN110740072A (zh) * 2018-07-20 2020-01-31 华为技术有限公司 一种故障检测方法、装置和相关设备
CN110830283A (zh) * 2018-08-10 2020-02-21 华为技术有限公司 故障检测方法、装置、设备和系统
CN109088794A (zh) * 2018-08-20 2018-12-25 郑州云海信息技术有限公司 一种节点的故障监测方法和装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2024113832A1 (zh) * 2022-11-29 2024-06-06 华为技术有限公司 节点异常事件的处理方法、网卡及存储集群

Also Published As

Publication number Publication date
EP4148549A1 (en) 2023-03-15
EP4148549A4 (en) 2023-10-25
WO2021249173A1 (zh) 2021-12-16
US20230106077A1 (en) 2023-04-06
CN113805788B (zh) 2024-04-09

Similar Documents

Publication Publication Date Title
EP1391079B1 (en) Method and system for implementing a fast recovery process in a local area network
US9237092B2 (en) Method, apparatus, and system for updating ring network topology information
EP2243255B1 (en) Method and system for dynamic link failover management
US6760859B1 (en) Fault tolerant local area network connectivity
JP3649580B2 (ja) 分散コンピュータ・システムのエラーを報告するシステム
CN109344014B (zh) 一种主备切换方法、装置及通信设备
US20140254347A1 (en) Ethernet Ring Protection Switching Method, Node, and System
CN112787960B (zh) 一种堆叠分裂的处理方法、装置、设备及存储介质
US20230111966A1 (en) Ethernet storage system, and information notification method and related apparatus thereof
CN107612772B (zh) 支付系统的节点状态探测方法及装置
JP3101604B2 (ja) 分散コンピュータ・システムのエラーを報告する方法
CN113949649B (zh) 故障检测协议的部署方法、装置、电子设备及存储介质
US20230106077A1 (en) Distributed Storage System, Exception Handling Method Thereof, and Related Apparatus
CN110661836B (zh) 消息路由方法、装置及系统、存储介质
GB2362230A (en) Delegated fault detection in a network by mutual node status checking
US6498779B1 (en) Multiple endpoint paths
CN113824595A (zh) 链路切换控制方法、装置和网关设备
CN109818870B (zh) 一种组播选路方法、装置、业务板及机器可读存储介质
US8463940B2 (en) Method of indicating a path in a computer network
CN112636999A (zh) 一种端口的探测方法和网络监控系统
CN114079584A (zh) 用户端保活的方法及装置
CN112328375B (zh) 一种用于跟踪分布式系统的数据片段的关联方法和装置
CN116248581B (zh) 一种基于sdn的云场景网关集群主备切换方法及系统
WO2022044546A1 (ja) 通信システムおよびその障害復旧方法
CN115550245A (zh) 路径切换方法、控制器、节点以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant