CN112187919A - 一种存储节点管理方法及相关装置 - Google Patents
一种存储节点管理方法及相关装置 Download PDFInfo
- Publication number
- CN112187919A CN112187919A CN202011040444.XA CN202011040444A CN112187919A CN 112187919 A CN112187919 A CN 112187919A CN 202011040444 A CN202011040444 A CN 202011040444A CN 112187919 A CN112187919 A CN 112187919A
- Authority
- CN
- China
- Prior art keywords
- storage
- node
- storage node
- indication information
- network
- 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
Links
- 238000007726 management method Methods 0.000 title claims abstract description 171
- 238000000034 method Methods 0.000 claims abstract description 463
- 230000008569 process Effects 0.000 claims abstract description 418
- 230000002159 abnormal effect Effects 0.000 claims abstract description 81
- 238000001514 detection method Methods 0.000 claims abstract description 27
- 230000008030 elimination Effects 0.000 claims abstract description 4
- 238000003379 elimination reaction Methods 0.000 claims abstract description 4
- 238000012360 testing method Methods 0.000 claims description 39
- 230000005856 abnormality Effects 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 20
- 238000004891 communication Methods 0.000 claims description 15
- 230000004044 response Effects 0.000 claims description 12
- 230000000694 effects Effects 0.000 abstract description 7
- 238000012544 monitoring process Methods 0.000 abstract 1
- 230000015654 memory Effects 0.000 description 12
- 239000000523 sample Substances 0.000 description 11
- 238000004590 computer program Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 3
- 238000013500 data storage Methods 0.000 description 3
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1097—Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/06—Management of faults, events, alarms or notifications
- H04L41/0631—Management of faults, events, alarms or notifications using root cause analysis; using analysis of correlation between notifications, alarms or events based on decision criteria, e.g. hierarchy, tree or time analysis
Abstract
本申请实施例公开了一种存储节点管理方法及相关装置,该方法包括:第一存储节点的代理组件确定第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据工作异常的存储进程生成进程故障指示信息,确定至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据网络异常的存储节点生成节点故障指示信息,以及向管理节点发送进程故障指示信息和节点故障指示信息,以使得管理节点分别根据进程故障指示信息和节点故障指示信息待剔除的存储进程与待剔除的存储节点,通过将代理组件作为云硬盘的管理工具部署在各个节点上,可以实现对节点以及节点进程及时、准确的监控,缩短探测以及剔除时间,优化节点的管理过程与效果。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种存储节点管理方法及相关装置。
背景技术
区别于集中式存储系统,分布式存储系统可以有效解决数据的存储和管理难题。将固定于某个地点的某个文件系统,扩展到任意多个地点/多个文件系统,众多的节点组成一个存储系统。每个节点可以分布在不同的地点,通过网络进行节点间的通信和数据传输。人们在使用分布式文件系统时,无需关心数据是存储在哪个节点上、或者是从哪个节点从获取的,只需要像使用本地文件系统一样管理和存储文件系统中的数据。因此,节点性能的稳定性会影响到数据存储的安全性等。
在具有管理节点的分布式存储系统中,对节点的探测通常被称为心跳。节点需要周期性的上报自己的状态使得管理节点能够明确感知节点死活。但为了避免由于网络延迟或者其他因素,对节点的状态进行误判,以及平衡心跳报文带来的负载与故障检测时间,因此一般将检测周期设置的较长,导致节点管理效率较低。
发明内容
本申请实施例提供了一种存储节点管理方法及相关装置。通过本方法,可以缩短对节点以及节点上运行的存储进程的探测以及剔除时间,优化对文件存储中的节点的管理过程与管理效果。
一方面,本申请实施例提供一种存储节点管理方法,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
所述代理组件向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
一方面,本申请实施例提供一种存储节点管理方法,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
所述管理节点接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除;
所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
一方面,本申请实施例提供一种存储节点管理装置,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述装置包括:
处理单元,用于确定第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述处理单元,还用于确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
通信单元,用于向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
一方面,本申请实施例提供一种存储节点管理装置,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述装置包括:
通信单元,用于接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
处理单元,用于根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除;
所述处理单元,还用于根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
一方面,本申请实施例提供一种电子设备,包括处理器、存储器、通信接口以及一个或多个程序,其中,上述一个或多个程序被存储在上述存储器中,并且被配置由上述处理器执行,上述程序包括用于执行上述方法中的步骤的指令。
相应的,本申请实施例提供了一种芯片,该芯片包括处理器与数据接口,该处理器通过该数据接口读取存储器上存储的指令,执行如上述方法示例以及任一种可能的示例的实现方式的方法。
相应的,本申请实施例提供了一种计算机可读存储介质,其中,上述计算机可读存储介质存储用于电子数据交换的计算机程序,其中,上述计算机程序使得计算机执行上述方法中所描述的部分或全部步骤。
相应地,本申请实施例还提供了一种计算机程序产品或计算机程序,所述计算机程序产品或计算机程序包括计算机指令,所述计算机指令存储在计算机可读存储介质中。计算机设备的处理器从所述计算机可读存储介质读取所述计算机指令,处理器执行所述计算机指令,使得所述计算机设备执行上述方法。
可以看出,本申请实施例中,第一存储节点的代理组件确定该第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据该工作异常的存储进程生成进程故障指示信息。缩短对本端存储进程的探测时间,并且降低外部网络环境对存储进程探测的干扰,提高工作异常的存储进程确定的准确程度。另外,由代理组件确定多个存储节点中网络异常的存储节点,并根据该网络异常的存储节点生成节点故障指示信息。能有效提高网络异常的存储节点确定的效率和准确程度。进一步的,代理组件向管理节点发送该进程故障指示信息和该节点故障指示信息,便于管理节点根据上述信息确定待剔除的存储进程,以及待剔除的存储节点,以此提高对存储节点管理的效率和效果。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种分布式存储系统的结构示意图;
图2是本申请实施例提供的一种存储节点管理方法的流程示意图;
图3是本申请实施例提供的另一种存储节点管理方法的流程示意图;
图4是本申请实施例提供的另一种存储节点管理方法的流程示意图;
图5是本申请实施例提供的一种存储节点管理装置的功能单元示意图;
图6是本申请实施例提供的一种存储节点管理装置的功能单元示意图;
图7是本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其他步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
云存储(cloud storage)是在云计算概念上延伸和发展出来的一个新的概念,分布式云存储系统(以下简称存储系统)是指通过集群应用、网格技术以及分布存储文件系统等功能,将网络中大量各种不同类型的存储设备(存储设备也称之为存储节点)通过应用软件或应用接口集合起来协同工作,共同对外提供数据存储和业务访问功能的一个存储系统。目前,存储系统的存储方法为:创建逻辑卷,在创建逻辑卷时,就为每个逻辑卷分配物理存储空间,该物理存储空间可能是某个存储设备或者某几个存储设备的磁盘组成。客户端在某一逻辑卷上存储数据,也就是将数据存储在文件系统上,文件系统将数据分成许多部分,每一部分是一个对象,对象不仅包含数据而且还包含数据标识(ID,ID entity)等额外的信息,文件系统将每个对象分别写入该逻辑卷的物理存储空间,且文件系统会记录每个对象的存储位置信息,从而当客户端请求访问数据时,文件系统能够根据每个对象的存储位置信息让客户端对数据进行访问。存储系统为逻辑卷分配物理存储空间的过程,具体为:按照对存储于逻辑卷的对象的容量估量(该估量往往相对于实际要存储的对象的容量有很大余量)和独立冗余磁盘阵列(RAID,Redundant Array of Independent Disk)的组别,预先将物理存储空间划分成分条,一个逻辑卷可以理解为一个分条,从而为逻辑卷分配了物理存储空间。
目前,在具有管理节点的分布式存储系统中,对节点的探测通常被称为心跳。节点需要周期性的上报自己的状态使得管理节点能够明确感知节点死活。但为了避免由于网络延迟或者其他因素,对节点的状态进行误判,以及平衡心跳报文带来的负载与故障检测时间,因此一般将检测周期设置的较长,例如检测周期设为5S,而且无法检测无法检查节点之间的网络状态。
针对上述问题,本申请实施例提供一种节点管理方法,应用于分布式存储系统。下面结合附图进行详细介绍。
首先,请参看图1所示的分布式存储系统100的结构示意图,包括管理节点110至少一个存储节点集合(或者存储节点族群)120,图1中示意性的展示了4个存储节点集合120;每个存储节点集合120包括多个存储节点121;每个存储节点121上运行有代理组件1211以及多个存储进程1212。
在进行本地探测时,由每个存储节点121上运行的代理组件1211确定本存储节点上运行的多个存储进程中工作异常的存储进程,并根据工作异常的存储进程生成进程故障指示信息。
另外,在进行网络探测时,可以通过运行于存储节点121上的代理组件1211确定多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息。
进一步的,代理组件1211向所述管理节点110发送进程故障指示信息和节点故障指示信息,以使得管理节点根据所述进程故障指示信息确定待剔除的存储进程,以及根据节点故障指示信息确定待剔除的存储节点。
上述管理节点以及存储节点,例如可以包括分布式存储服务器、传统服务器、大型存储系统、台式电脑等。
上述代理组件1211,可以是安装于上述存储节点121的软件系统架构,也可以是与上述服务器通信连接的硬件设备。
本申请实施例的技术方案可以基于图1举例所示架构的存储系统或其形变架构来具体实施。
参见图2,图2是本申请实施例提供的一种存储节点管理方法,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;这种方法可包括但不限于如下步骤:
201、第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
具体的,分布式存储系统包括多个存储节点,针对分布式存储系统中的任意一个存储节点,比如第一存储节点。该存储节点上运行有代理组件以及多个存储进程(cell)。可以理解为,可以由代理组件探测多个存储进程的运行状态,根据其运行状态确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据工作异常的存储进程生成进程故障指示信息。该进程故障指示信息中包括了进程标识,进程标识用于唯一确定对应的工作异常的存储进程。比如第几存储节点的第几存储进程。因此,分布式存储系统中的每一个存储节点都可以利用运行于本端(存储节点)的代理组件确定本端多个存储进程中工作异常的存储进程。
202、所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息。
具体的,分布式存储系统包括的每个存储节点上都可以运行有代理组件,代理组件相互之间通信连接,可以探测其他存储节点的网络状态。比如第一存储节点的代理组件可以向其他存储节点的代理组件发送网络测试数据包,再根据其他存储节点的代理组件发送的回显数据包的情况来判断其他存储节点的网络状态,以此确定多个存储节点中网络异常的存储节点。并进一步,根据网络异常的存储节点生成节点故障指示信息。该节点故障指示信息包括网络异常的存储节点的节点标识,以唯一确定对应的网络异常的存储节点。比如为第二存储节点集合中的第三存储节点等。比如如图1所示的,一共有12台存储节点。其中的任意一台存储节点的代理组件都可以上报其他11台中网络异常的存储节点。
203、所述代理组件向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
具体的,代理组件在生成进程故障指示信息和节点故障指示信息后,便可以向上述管理节点发送该进程故障指示信息和该节点故障指示信息,以使得该管理节点根据该进程故障指示信息确定该第一存储节点上运行的多个存储进程中待剔除的存储进程。比如进程故障指示信息中包含第一存储节点的第一存储进程的进程标识,则管理节点可以将第一存储进程作为待剔除的存储进程。另外,若节点故障指示信息中包含某一或者某些存储节点的标识,该管理节点便可以将该某一或者某些存储节点集确定为待剔除的存储节点。
可见,本申请实施例中,第一存储节点的代理组件确定该第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据该工作异常的存储进程生成进程故障指示信息。缩短对本端存储进程的探测时间,并且降低外部网络环境对存储进程探测的干扰,提高工作异常的存储进程确定的准确程度。另外,由代理组件确定多个存储节点中网络异常的存储节点,并根据该网络异常的存储节点生成节点故障指示信息。能有效提高网络异常的存储节点确定的效率和准确程度。进一步的,代理组件向管理节点发送该进程故障指示信息和该节点故障指示信息,便于管理节点根据上述信息确定待剔除的存储进程,以及待剔除的存储节点。以此提高对存储节点管理的效率和效果。
在一个可能的示例中,所述第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,包括:所述代理组件向所述第一存储节点上运行的多个存储进程中的每个存储进程发送探测消息,所述探测消息用于探测所述每个存储进程的运行状态;所述代理组件获取预设第一时长内所述每个存储进程针对所述探测消息的响应结果;所述代理组件根据所述每个存储进程的响应结果确定所述每个存储进程的运行状态,并根据所述每个存储进程的运行状态从所述多个存储进程中确定所述第一存储节点上工作异常的存储进程。
具体的,代理组件在确定第一存储节点上运行的多个存储进程中工作异常的存储进程时,可以采用如下方式进行确定。该代理组件向该第一存储节点上运行的多个存储进程中的每个存储进程发送探测消息,可以将200毫秒(ms)或者150毫秒(ms)作为单次发送周期,每个周期向本端(存储节点)的多测存储进程发送一次探测消息(pb协议)。该探测消息用于探测该每个存储进程的运行状态。该代理组件获取预设第一时长内该每个存储进程针对该探测消息的响应结果。以200毫秒(ms)作为单次发送周期,可以将3次作为一个检测周期,则预设第一时长为600毫秒(ms)。如果某一存储进程连续三次未响应该探测消息,则代理组件根据该存储进程的响应结果便能确定该存储进程运行状态异常。进一步的,该代理组件根据该存储进程的运行状态确定该存储进程为第一存储节点上工作异常的存储进程。如果在预设第一时长内存储进程有一次或者两次响应,则为避免误判,则可以不将该存储进程确定为第一存储节点上工作异常的存储进程。
可见,存储节点的代理组件向本存储节点的存储进程发送探测消息时,可以采用本地回环地址,不经过交换机,因此不会增加存储节点与外部节点通信的网络信道,减少网络负载。并且,还可以缩短发送探测信息的周期,提高存储进程检测效率。
在一个可能的示例中,所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,包括:所述代理组件向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,所述网络测试数据包用于探测所述每个存储节点的网络状态;所述代理组件获取预设第二时长内所述每个存储节点针对所述网络测试数据包发送的回显数据包;所述代理组件根据所述每个存储节点的回显数据包确定所述每个存储节点的网络状态,并根据所述每个存储节点的网络状态从所述至少一个存储节点集合包括的多个存储节点中确定网络异常的存储节点。
具体的,代理组件确定至少一个存储节点集合包括的多个存储节点中网络异常的存储节点时,可以由代理组件向每个存储节点上运行的代理组件发送网络测试数据包,网络测试数据包可以是ICMP协议(Packet Internet Grope,ping包),用于探测每个存储节点的网络状态。可以将200毫秒(ms)或者150毫秒(ms)等作为单次发送周期,每个周期任意一个代理组件向其他代理组件发送一次ping包。ping包大小可以为16KB,比起4K小包可以更好的覆盖网络丢包场景。任意一个代理组件获取预设第二时长内其他代理组件针对该网络测试数据包发送的回显数据包。以200毫秒(ms)作为单次发送周期,可以将3次或者4次、5次等作为一个检测周期,则预设第二时长为600ms、800ms、1s等。
另外,每个存储节点的回显数据包都可以通过本端的代理组件发送。任意一个代理组件根据其他代理组件发送的回显数据包确定每个存储节点的网络状态。可以以发送3次网络测试数据包为例,保留最近3个单次周期的ping结果,预设第二时长600ms内其他代理组件是否发送的回显数据包,丢包率为多少,以此来确定每个存储节点的网络状态。并根据每个存储节点的网络状态从至少一个存储节点集合包括的多个存储节点中确定网络异常的存储节点,比如其他代理组件连续三次没有响应回显数据包,或者只响应一次,或者回显数据包丢包率大于预设阈值等,则可以将其他代理组件对应的存储节点确定为网络异常的存储节点。
可见,由存储节点的代理组件向其他存储节点的代理组件发送网络测试数据包,并且根据预设第二时长内,其他代理组件针对所述网络测试数据包发送的回显数据包,来确定每个存储节点的网络状态。进一步的,根据每个存储节点的网络状态从多个存储节点中确定网络异常的存储节点。避免了存储节点互相发送网络测试数据包造成的网络资源消耗过大,提高确定网络异常的存储节点的效率。
在一个可能的示例中,所述代理组件向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,包括:所述代理组件向所述管理节点发送网络拓扑结构表获取请求,所述网络拓扑结构表获取请求用于指示所述管理节点查询更新后的网络拓扑结构表;所述代理组件接收所述管理节点发送的所述更新后的网络拓扑结构表,并根据所述更新后的网络拓扑结构表获取所述至少一个存储节点集合包括的每个存储节点的网络地址;所述代理组件根据所述每个存储节点的网络地址向所述每个存储节点上运行的代理组件发送网络测试数据包。
具体的,代理组件向上述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包时,可以按照一定的周期,比如每10分钟,或者5分钟、30分钟等,向管理节点发送网络拓扑结构表获取请求,所述网络拓扑结构表获取请求用于指示所述管理节点查询更新后的网络拓扑结构表。管理节点查询更新后的网络拓扑结构表后,便向所述代理组件发送更新后的网络拓扑结构表。代理组件接收该管理节点发送的更新后的网络拓扑结构表,并根据更新后的网络拓扑结构表获取上述至少一个存储节点集合包括的每个存储节点的网络地址。可以理解为,更新后的网络拓扑结构表中包括最新的存储节点的网络地址,甚至在管理节点进行更改时,也能及时获取已更新或者即将更新的管理节点的网络地址。网络地址可以是网际互连协议(Internet Protocol,IP)地址,Mac(物理)地址等。更进一步的,代理组件根据每个存储节点的网络地址向每个存储节点上运行的代理组件发送网络测试数据包。
可见,由于分布式存储系统中的存储节点存储动态变化,比如新加入一些存储节点,或者剔除一些网络异常的存储节点。因此代理组件在向每个存储节点上运行的代理组件发送网络测试数据包时,查询更新后的网络拓扑结构表,便于准确的获取其他存储节点以及管理节点的网络地址,避免错发或者误发导致的网络资源浪费。进一步,减少确定网络异常的存储节点的过程的无效时间。
与上述图2所示的实施例一致,请参阅图3,图3是本申请实施例提供的另一种存储节点管理方法,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
301、所述管理节点接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
具体的,管理节点接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息。由于上述第一存储节点为任意一个存储节点集合包括的任意一个存储节点,所以,可以理解为每个存储节点的代理组件都可以向管理节点发送的进程故障指示信息和节点故障指示信息。
另外,前述进程故障指示信息包括第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识。同理,管理节点接收的其他存储节点的代理组件发送的进程故障指示信息也包括对应存储节点中工作异常的存储进程的进程标识。以及,任意一个代理组件发送的节点故障指示信息也可以包括其他网络异常的存储节点的节点标识。进程标识用于唯一确定对应的存储进程,比如第二存储节点集合中的第三存储节点的第六存储进程。节点标识用于唯一确定对应的存储节点,比如第一存储节点集合中的第二存储节点等。
302、所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除。
具体的,由于进程故障指示信息中包括工作异常的存储进程的进程标识。管理节点在接收存储节点的代理组件发送的进程故障指示信息后,便能获取工作异常的存储进程的进程标识。进一步的,根据进程标识确定待剔除的存储进程,比如第二存储节点集合中的第三存储节点的第六存储进程。并将第二存储节点集合中的第三存储节点的第六存储进程从所述分布式存储系统中剔除。
303、所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
具体的,由于分布式存储系统中的每个存储节点的代理组件都会向管理节点发送节点故障指示信息。管理节点接收的节点故障指示信息可以为多个。每个节点故障指示信息中都包括网络异常的存储节点的节点标识。管理节点可以综合多个节点故障指示信息,可以根据节点标识确定同一个网络异常的存储节点被上报的次数,比如收集到的一共有12次,其中同一个网络异常的存储节点被上报的次数超过4次,则将该存储节点确定为待剔除的存储进程,并将该待剔除的存储进程从所述分布式存储系统中剔除。
可见,管理节点在接收每个存储节点的代理组件发送的进程故障指示信息和节点故障指示信息后,进一步的,根据进程故障指示信息包括的工作异常的存储进程的进程标识,以及节点故障指示信息包括的网络异常的存储节点的节点标识,分别确定待剔除的存储进程,以及确定待剔除的存储节点。并将所述待剔除的存储进程与待剔除的存储节点从所述分布式存储系统中剔除。提高节点管理效率,缩短管理周期,提升对存储节点的存储进程以及节点自身的管理效果。
在一个可能的示例中,所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,包括:所述管理节点获取预设第三时长内所述至少一个存储节点集合包括的多个存储节点的代理组件发送的多个节点故障指示信息;所述管理节点针对第二存储节点,获取包括所述第二存储节点的节点标识的节点故障指示信息在所述多个节点故障指示信息中的数量占比;所述管理节点在所述数量占比达到预设比例阈值的情况下,将所述第二存储节点作为待剔除的存储节点,所述第二存储节点为所述至少一个存储节点集合包括的多个存储节点中的任意一个。
具体的,管理节点在确定待剔除的存储节点时,可以获取预设第三时长内至少一个存储节点集合包括的多个存储节点的代理组件发送的多个节点故障指示信息。预设第三时长内对应于代理组件发送故障指示信息的周期,可以为600ms、800ms、1s等。
针对多个存储节点的代理组件发送的多个节点故障指示信息,管理节点可以综合多个节点故障指示信息,根据故障指示信息中包括的节点标识确定同一个网络异常的存储节点被上报的次数。为提高存储节点的性能,存储节点可以包括双网卡。针对其中的任意一个存储节点,比如第二存储节点。其他存储节点的代理组件在于该存储节点的代理组件通信时,双网卡的流量可能是按照一定的比例进行分部。比如3:7或者2:8等。其中一个网卡坏了或者该网卡网络故障,若其占据的流量分部为30%,则大概有30%的代理组件发送的Ping包得不到回显数据包。以此类推,如果两个网卡坏了或者该网卡网络故障,或占据的流量分部为70%的网卡坏了或者该网卡网络故障,则有超过30%的代理组件发送的Ping包得不到回显数据包。因此这些超过30%左右的代理组件会上报该存储节点网络故障。比如除第二存储节点外,还有11台存储节点,其中有超过4台存储节点发送的节点故障指示信息中包括该第二存储节点的节点标识,则包括第二存储节点的节点标识的节点故障指示信息在多个节点故障指示信息中的数量占比为30%,预设比例阈值可以为30%。则数量占比达到预设比例阈值,则将该第二存储节点确定为待剔除的存储节点,并将该待剔除的存储节点从所述分布式存储系统中剔除。
可见,针对任意一存储节点,管理节点并非根据单一节点故障指示信息确定待剔除的存储节点。而是根据多个存储节点的代理组件发送的多个节点故障指示信息,获取包括任意一存储节点的节点标识的节点故障指示信息在所述多个节点故障指示信息中的数量占比;管理节点在所述数量占比达到预设比例阈值的情况下,才将所述第二存储节点作为待剔除的存储节点。可以充分考虑存储节点双网卡的情况,合理设置预设比例阈值,提高待剔除的存储节点确定的准确程度。减少误判,误剔操作。
在一个可能的示例中,所述将所述待剔除的存储节点从所述分布式存储系统中剔除之后,所述方法还包括:所述管理节点更新网络拓扑结构表,得到更新后的网络拓扑结构表,所述更新后的网络拓扑结构表包括所述管理节点以及所述至少一个存储节点集合包括的多个存储节点的网络地址;所述管理节点接收所述第一存储节点的代理组件发送的网络拓扑结构表获取请求,并响应所述网络拓扑结构表获取请求查询所述更新后的网络拓扑结构表;所述管理节点向所述第一存储节点的代理组件发送所述更新后的网络拓扑结构表,以使得所述第一存储节点的代理组件根据所述更新后的网络拓扑结构表向所述至少一个存储节点集合包括的每个存储节点发送网络测试数据包。
具体的,可以理解为,管理节点在将待剔除的存储节点或者存储进程从分布式存储系统中剔除之后,可以更新网络拓扑结构表。更新后的网络拓扑结构表包括管理节点以及至少一个存储节点集合包括的多个存储节点的网络地址。并且将剔除的存储节点的网络地址从该表中删除。如果有新的存储节点加入该分布式存储系统,便可以将新加入的存储节点的网络地址加入该网络拓扑结构表。
另外,更新前后的网络拓扑结构表还可以包括更新后的存储节点与其上运行的存储进程的映射关系。比如存储节点A上运行有存储进程a、b、c等。存储节点B上运行有存储进程e、f、g等。另外,更新前后的网络拓扑结构表还可以包括至少一个存储节点集合的组成关系,比如第一存储节点集合包括存储节点A、存储节点B以及存储节点C。其中,存储节点A的存储进程a、存储节点B的存储进程b、以及存储节点C的存储进程c分别存储第一副本,第二副本,第三副本。其中,第一副本,第二副本,第三副本为同一数据的不同副本。
进一步的,管理节点接收第一存储节点的代理组件发送的网络拓扑结构表获取请求,并响应网络拓扑结构表获取请求查询更新后的网络拓扑结构表;管理节点向第一存储节点的代理组件发送更新后的网络拓扑结构表,以使得第一存储节点的代理组件根据更新后的网络拓扑结构表,获取每个存储节点的网络地址,并根据每个存储节点的网络地址发送网络测试数据包。
可见,管理节点在剔除待剔除的存储节点后,会实时或者按照一定的周期更新网络拓扑结构表,得到更新后的网络拓扑结构表。便于管理节点在接收第一存储节点的代理组件发送的网络拓扑结构表获取请求后,能响应网络拓扑结构表获取请求查询更新后的网络拓扑结构表,并向代理组件发送更新后的网络拓扑结构表,以使得第一存储节点的代理组件根据更新后的网络拓扑结构表向至少一个存储节点集合包括的每个存储节点发送网络测试数据包。强化对网络拓扑结构表的动态管理,便于代理组件及时获取更新后的网络拓扑结构表,获取每个存储节点准确的网络地址。避免由于地址错误带来的网络测试数据包的误发,错发,以此提高探测效率以及准确程度。
在一个可能的示例中,所述分布式存储系统包括第一存储进程、第二存储进程与第三存储进程,所述第一存储进程、所述第二存储进程与所述第三存储进程用于存储相同的数据,且所述第一存储进程、所述第二存储进程与所述第三存储进程分别运行在不同的存储节点上,所述将所述待剔除的存储进程从所述分布式存储系统中剔除之后,所述方法还包括:若所述待剔除的存储进程为所述第一存储进程,则所述管理节点当确定所述第二存储进程为待剔除的存储进程时,获取所述第二存储进程的心跳数据包;若预设第四时长内未获取到所述第二存储进程的心跳数据包,则所述管理节点将所述第二存储进程从所述分布式存储系统中剔除,并将所述第三存储进程的编辑属性设置为禁止剔除。
具体的,可以将分别分部在三个不同的存储节点上的存储有相同数据的三个存储进程作为结对的存储进程。三个存储进程分别是第一存储进程、第二存储进程与第三存储进程。如果待剔除的存储进程为上述第一存储进程,并且已经将该第一存储进程从所述分布式存储系统中剔除。则管理节点当确定所述第二存储进程为待剔除的存储进程时,不会直接将第二存储进程从所述分布式存储系统中剔除,而是获取上述第二存储进程的心跳数据包。管理节点可以向第二存储节点发送心跳指令,心跳指令用于指示所述第二存储进程发送心跳数据包。若预设第四时长内,管理节点未获取到第二存储进程的心跳数据包,也即预设第四时长内,第二存储进程未向管理节点发送心跳数据包,则管理节点可以将所述第二存储进程从所述分布式存储系统中剔除。为避免因为阶段性的网络故障或者网络延迟而误判,可以将预设第四时长设定为2-5s,或者3-7s、8s等。但此时,存储同一数据的两个副本的存储进程都被剔除,只剩下第三副本对应的第三存储进程,便不能将第三存储进程剔除,因此,将所述第三存储进程的编辑属性设置为禁止剔除,便不能在未更改该属性之前,将第三存储进程从所述分布式存储系统中剔除。
可见,针对存储同一数据的三个不同副本的三个或者其他多个存储进程,以三个为例,如果其中一个存储进程,比如第一存储进程已经被剔除,另外一个存储进程,比如第二存储进程也被代理组件上报为工作异常的存储进程。管理节点可以不将第二存储进程直接剔除,而且采用心跳机制,检测第二存储进程的心跳数据包,并且在预设第四时长内未获取到所述第二存储进程的心跳数据包,则所述管理节点将所述第二存储进程从所述分布式存储系统中剔除,提升存储进程检测的准确程度。并将所述第三存储进程的编辑属性设置为禁止剔除,提升数据存储的安全性,避免因剔除存储同一数据不同副本的所有存储进程,导致数据丢失。
与上述图2、图3所示的实施例一致,请参阅图4,图4是本申请实施例提供的另一种存储节点管理方法,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
401、第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
402、所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息。
403、所述代理组件向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息。所述管理节点接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
404、所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除;
405、所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
步骤401-405参看上述步骤201-203以及上述步骤301-303,在此不再赘述。
再请参见图5,是本发明实施例的一种存储节点管理装置500的功能单元示意图,本申请实施例的存储节点管理装置500可以为节点的内置装置或者也可以为节点的外接设备。应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;
本发明实施例的所述装置的一个实现方式中,所述存储节点管理装置包括:
处理单元510,用于确定第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述处理单元510,还用于确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
通信单元520,用于向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
在一个可能的示例中,在所述第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程方面,所述处理单元510,具体用于:向所述第一存储节点上运行的多个存储进程中的每个存储进程发送探测消息,所述探测消息用于探测所述每个存储进程的运行状态;获取预设第一时长内所述每个存储进程针对所述探测消息的响应结果;根据所述每个存储进程的响应结果确定所述每个存储进程的运行状态,并根据所述每个存储进程的运行状态从所述多个存储进程中确定所述第一存储节点上工作异常的存储进程。
在一个可能的示例中,在所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点方面,所述处理单元510,具体用于:向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,所述网络测试数据包用于探测所述每个存储节点的网络状态;获取预设第二时长内所述每个存储节点针对所述网络测试数据包发送的回显数据包;根据所述每个存储节点的回显数据包确定所述每个存储节点的网络状态,并根据所述每个存储节点的网络状态从所述至少一个存储节点集合包括的多个存储节点中确定网络异常的存储节点。
在一个可能的示例中,在所述代理组件向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包方面,所述通信单元520,具体用于:向所述管理节点发送网络拓扑结构表获取请求,所述网络拓扑结构表获取请求用于指示所述管理节点查询更新后的网络拓扑结构表;接收所述管理节点发送的所述更新后的网络拓扑结构表,并根据所述更新后的网络拓扑结构表获取所述至少一个存储节点集合包括的每个存储节点的网络地址;根据所述每个存储节点的网络地址向所述每个存储节点上运行的代理组件发送网络测试数据包。
再请参见图6,是本发明实施例的另一种存储节点管理装置600的功能单元示意图,本申请实施例的存储节点管理装置600可以为节点的内置装置或者也可以为节点的外接设备。应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程。
本发明实施例的所述装置的一个实现方式中,所述存储节点管理装置包括:
通信单元610,用于接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
处理单元620,用于根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除。
所述处理单元620,还用于根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
在一个可能的示例中,在根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点方面,所述处理单元620,具体用于:获取预设第三时长内所述至少一个存储节点集合包括的多个存储节点的代理组件发送的多个节点故障指示信息;针对第二存储节点,获取包括所述第二存储节点的节点标识的节点故障指示信息在所述多个节点故障指示信息中的数量占比;在所述数量占比达到预设比例阈值的情况下,将所述第二存储节点作为待剔除的存储节点,所述第二存储节点为所述至少一个存储节点集合包括的多个存储节点中的任意一个。
在一个可能的示例中,所述将所述待剔除的存储节点从所述分布式存储系统中剔除之后,所述处理单元620,还用于:更新网络拓扑结构表,得到更新后的网络拓扑结构表,所述更新后的网络拓扑结构表包括所述管理节点以及所述至少一个存储节点集合包括的多个存储节点的网络地址;接收所述第一存储节点的代理组件发送的网络拓扑结构表获取请求,并响应所述网络拓扑结构表获取请求查询所述更新后的网络拓扑结构表;向所述第一存储节点的代理组件发送所述更新后的网络拓扑结构表,以使得所述第一存储节点的代理组件根据所述更新后的网络拓扑结构表向所述至少一个存储节点集合包括的每个存储节点发送网络测试数据包。
在一个可能的示例中,所述分布式存储系统包括第一存储进程、第二存储进程与第三存储进程,所述第一存储进程、所述第二存储进程与所述第三存储进程用于存储相同的数据,且所述第一存储进程、所述第二存储进程与所述第三存储进程分别运行在不同的存储节点上,所述将所述待剔除的存储进程从所述分布式存储系统中剔除之后,所述处理单元620,还用于:若所述待剔除的存储进程为所述第一存储进程,则当确定所述第二存储进程为待剔除的存储进程时,获取所述第二存储进程的心跳数据包;若预设第四时长内未获取到所述第二存储进程的心跳数据包,则将所述第二存储进程从所述分布式存储系统中剔除,并将所述第三存储进程的编辑属性设置为禁止剔除。
本申请实施例可以根据上述方法示例对存储节点管理装置进行功能单元的划分,例如,可以对应各个功能划分各个功能单元,也可以将两个或两个以上的功能集成在一个处理单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。需要说明的是,本申请实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
再请参见图7,是本发明实施例的一种电子设备的结构示意图,所述电子设备包括供电模块等结构,并包括处理器701、存储设备702以及通信接口703。所述处理器701、存储设备702以及通信接口703之间可以交互数据。
所述存储设备702可以包括易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM);存储设备702也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flash memory),固态硬盘(solid-state drive,SSD)等;所述存储设备702还可以包括上述种类的存储器的组合。所述通信接口703为电子设备的内部设备之间进行数据交互的接口,如:存储设备702与处理器701之间。
所述处理器701可以是中央处理器701(central processing unit,CPU)。在一个实施例中,所述处理器701还可以是图形处理器701(Graphics Processing Unit,GPU)。所述处理器701也可以是由CPU和GPU的组合。在一个实施例中,所述存储设备702用于存储程序指令。
在一个实施例中,当电子设备作为前文所述的存储节点时,所述处理器701可以调用所述程序指令,执行如下步骤:
确定第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
在一个可能的示例中,在确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程方面,所述处理器701,具体用于:向所述第一存储节点上运行的多个存储进程中的每个存储进程发送探测消息,所述探测消息用于探测所述每个存储进程的运行状态;获取预设第一时长内所述每个存储进程针对所述探测消息的响应结果;根据所述每个存储进程的响应结果确定所述每个存储进程的运行状态,并根据所述每个存储进程的运行状态从所述多个存储进程中确定所述第一存储节点上工作异常的存储进程。
在一个可能的示例中,在确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点方面,所述处理器701,具体用于:向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,所述网络测试数据包用于探测所述每个存储节点的网络状态;获取预设第二时长内所述每个存储节点针对所述网络测试数据包发送的回显数据包;根据所述每个存储节点的回显数据包确定所述每个存储节点的网络状态,并根据所述每个存储节点的网络状态从所述至少一个存储节点集合包括的多个存储节点中确定网络异常的存储节点。
在一个可能的示例中,在向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包方面,所述处理器701,具体用于:向所述管理节点发送网络拓扑结构表获取请求,所述网络拓扑结构表获取请求用于指示所述管理节点查询更新后的网络拓扑结构表;接收所述管理节点发送的所述更新后的网络拓扑结构表,并根据所述更新后的网络拓扑结构表获取所述至少一个存储节点集合包括的每个存储节点的网络地址;根据所述每个存储节点的网络地址向所述每个存储节点上运行的代理组件发送网络测试数据包。
具体实现中,本发明实施例中所描述的处理器701、存储设备702以及通信接口703可执行本发明实施例图2或图4提供的存储节点管理方法的相关实施例中所描述的实现方式,也可执行本发明实施例图5提供的存储节点管理方法相关实施例中所描述的实现方式,在此不再赘述。
在一个实施例中,当电子设备作为前文所述的管理节点时,所述处理器701可以调用所述程序指令,执行如下步骤:
接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点。
根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除。
根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
在一个可能的示例中,在根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点方面,所述处理器701,具体用于:获取预设第三时长内所述至少一个存储节点集合包括的多个存储节点的代理组件发送的多个节点故障指示信息;针对第二存储节点,获取包括所述第二存储节点的节点标识的节点故障指示信息在所述多个节点故障指示信息中的数量占比;在所述数量占比达到预设比例阈值的情况下,将所述第二存储节点作为待剔除的存储节点,所述第二存储节点为所述至少一个存储节点集合包括的多个存储节点中的任意一个。
在一个可能的示例中,所述将所述待剔除的存储节点从所述分布式存储系统中剔除之后,所述处理器701,还用于:更新网络拓扑结构表,得到更新后的网络拓扑结构表,所述更新后的网络拓扑结构表包括所述管理节点以及所述至少一个存储节点集合包括的多个存储节点的网络地址;接收所述第一存储节点的代理组件发送的网络拓扑结构表获取请求,并响应所述网络拓扑结构表获取请求查询所述更新后的网络拓扑结构表;向所述第一存储节点的代理组件发送所述更新后的网络拓扑结构表,以使得所述第一存储节点的代理组件根据所述更新后的网络拓扑结构表向所述至少一个存储节点集合包括的每个存储节点发送网络测试数据包。
在一个可能的示例中,所述分布式存储系统包括第一存储进程、第二存储进程与第三存储进程,所述第一存储进程、所述第二存储进程与所述第三存储进程用于存储相同的数据,且所述第一存储进程、所述第二存储进程与所述第三存储进程分别运行在不同的存储节点上,所述将所述待剔除的存储进程从所述分布式存储系统中剔除之后,所述处理器701,还用于:若所述待剔除的存储进程为所述第一存储进程,则当确定所述第二存储进程为待剔除的存储进程时,获取所述第二存储进程的心跳数据包;若预设第四时长内未获取到所述第二存储进程的心跳数据包,则将所述第二存储进程从所述分布式存储系统中剔除,并将所述第三存储进程的编辑属性设置为禁止剔除。
具体实现中,本发明实施例中所描述的处理器701、存储设备702以及通信接口703可执行本发明实施例图3或图4提供的存储节点管理方法的相关实施例中所描述的实现方式,也可执行本发明实施例图6提供的存储节点管理方法相关实施例中所描述的实现方式,在此不再赘述。
本申请实施例还提供一种计算机存储介质,其中,该计算机存储介质存储用于电子数据交换的计算机程序,该计算机程序使得计算机执行如上述方法实施例中记载的任一方法的部分或全部步骤。
本申请实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行如上述方法实施例中记载的任一方法的部分或全部步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。
Claims (10)
1.一种存储节点管理方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
所述代理组件向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
2.根据权利要求1所述的方法,其特征在于,所述第一存储节点的代理组件确定所述第一存储节点上运行的多个存储进程中工作异常的存储进程,包括:
所述代理组件向所述第一存储节点上运行的多个存储进程中的每个存储进程发送探测消息,所述探测消息用于探测所述每个存储进程的运行状态;
所述代理组件获取预设第一时长内所述每个存储进程针对所述探测消息的响应结果;
所述代理组件根据所述每个存储进程的响应结果确定所述每个存储进程的运行状态,并根据所述每个存储进程的运行状态从所述多个存储进程中确定所述第一存储节点上工作异常的存储进程。
3.根据权利要求1或2所述的方法,其特征在于,所述代理组件确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,包括:
所述代理组件向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,所述网络测试数据包用于探测所述每个存储节点的网络状态;
所述代理组件获取预设第二时长内所述每个存储节点针对所述网络测试数据包发送的回显数据包;
所述代理组件根据所述每个存储节点的回显数据包确定所述每个存储节点的网络状态,并根据所述每个存储节点的网络状态从所述至少一个存储节点集合包括的多个存储节点中确定网络异常的存储节点。
4.根据权利要求3所述的方法,其特征在于,所述代理组件向所述至少一个存储节点集合包括的每个存储节点上运行的代理组件发送网络测试数据包,包括:
所述代理组件向所述管理节点发送网络拓扑结构表获取请求,所述网络拓扑结构表获取请求用于指示所述管理节点查询更新后的网络拓扑结构表;
所述代理组件接收所述管理节点发送的所述更新后的网络拓扑结构表,并根据所述更新后的网络拓扑结构表获取所述至少一个存储节点集合包括的每个存储节点的网络地址;
所述代理组件根据所述每个存储节点的网络地址向所述每个存储节点上运行的代理组件发送网络测试数据包。
5.一种存储节点管理方法,其特征在于,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述方法包括:
所述管理节点接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除;
所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
6.根据权利要求5所述的方法,其特征在于,所述管理节点根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,包括:
所述管理节点获取预设第三时长内所述至少一个存储节点集合包括的多个存储节点的代理组件发送的多个节点故障指示信息;
所述管理节点针对第二存储节点,获取包括所述第二存储节点的节点标识的节点故障指示信息在所述多个节点故障指示信息中的数量占比;
所述管理节点在所述数量占比达到预设比例阈值的情况下,将所述第二存储节点作为待剔除的存储节点,所述第二存储节点为所述至少一个存储节点集合包括的多个存储节点中的任意一个。
7.根据权利要求5或6所述的方法,其特征在于,所述将所述待剔除的存储节点从所述分布式存储系统中剔除之后,所述方法还包括:
所述管理节点更新网络拓扑结构表,得到更新后的网络拓扑结构表,所述更新后的网络拓扑结构表包括所述管理节点以及所述至少一个存储节点集合包括的多个存储节点的网络地址;
所述管理节点接收所述第一存储节点的代理组件发送的网络拓扑结构表获取请求,并响应所述网络拓扑结构表获取请求查询所述更新后的网络拓扑结构表;
所述管理节点向所述第一存储节点的代理组件发送所述更新后的网络拓扑结构表,以使得所述第一存储节点的代理组件根据所述更新后的网络拓扑结构表向所述至少一个存储节点集合包括的每个存储节点发送网络测试数据包。
8.根据权利要求5所述的方法,其特征在于,所述分布式存储系统包括第一存储进程、第二存储进程与第三存储进程,所述第一存储进程、所述第二存储进程与所述第三存储进程用于存储相同的数据,且所述第一存储进程、所述第二存储进程与所述第三存储进程分别运行在不同的存储节点上,所述将所述待剔除的存储进程从所述分布式存储系统中剔除之后,所述方法还包括:
若所述待剔除的存储进程为所述第一存储进程,则所述管理节点当确定所述第二存储进程为待剔除的存储进程时,获取所述第二存储进程的心跳数据包;
若预设第四时长内未获取到所述第二存储进程的心跳数据包,则所述管理节点将所述第二存储进程从所述分布式存储系统中剔除,并将所述第三存储进程的编辑属性设置为禁止剔除。
9.一种存储节点管理装置,其特征在于,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述装置包括:
处理单元,用于确定第一存储节点上运行的多个存储进程中工作异常的存储进程,并根据所述工作异常的存储进程生成进程故障指示信息,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
所述处理单元,还用于确定所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点,并根据所述网络异常的存储节点生成节点故障指示信息;
通信单元,用于向所述管理节点发送所述进程故障指示信息和所述节点故障指示信息,以使得所述管理节点根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,以及根据所述每个存储节点的代理组件发送的节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点。
10.一种存储节点管理装置,其特征在于,应用于分布式存储系统,所述分布式存储系统包括管理节点以及至少一个存储节点集合,每个存储节点集合包括多个存储节点;每个存储节点上运行有代理组件以及多个存储进程;所述装置包括:
通信单元,用于接收第一存储节点的代理组件发送的进程故障指示信息和节点故障指示信息,所述进程故障指示信息包括所述第一存储节点上运行的多个存储进程中工作异常的存储进程的进程标识,所述节点故障指示信息包括所述至少一个存储节点集合包括的多个存储节点中网络异常的存储节点的节点标识,所述第一存储节点为任意一个存储节点集合包括的任意一个存储节点;
处理单元,用于根据所述进程故障指示信息确定所述第一存储节点上运行的多个存储进程中待剔除的存储进程,并将所述待剔除的存储进程从所述分布式存储系统中剔除;
所述处理单元,还用于根据所述节点故障指示信息从所述至少一个存储节点集合包括的多个存储节点中确定待剔除的存储节点,并将所述待剔除的存储节点从所述分布式存储系统中剔除。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011040444.XA CN112187919B (zh) | 2020-09-28 | 2020-09-28 | 一种存储节点管理方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011040444.XA CN112187919B (zh) | 2020-09-28 | 2020-09-28 | 一种存储节点管理方法及相关装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112187919A true CN112187919A (zh) | 2021-01-05 |
CN112187919B CN112187919B (zh) | 2024-01-23 |
Family
ID=73943774
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011040444.XA Active CN112187919B (zh) | 2020-09-28 | 2020-09-28 | 一种存储节点管理方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112187919B (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499294A (zh) * | 2022-09-21 | 2022-12-20 | 上海天玑科技股份有限公司 | 一种分布式存储环境网络亚健康检测及故障自动处理方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109614289A (zh) * | 2018-12-10 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种存储节点监控方法、系统、设备及计算机存储介质 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的故障处理方法、设备以及存储介质 |
CN110535692A (zh) * | 2019-08-12 | 2019-12-03 | 华为技术有限公司 | 故障处理方法、装置、计算机设备、存储介质及存储系统 |
US20200225855A1 (en) * | 2017-09-28 | 2020-07-16 | Huawei Technologies Co., Ltd. | Process monitoring method and apparatus |
-
2020
- 2020-09-28 CN CN202011040444.XA patent/CN112187919B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200225855A1 (en) * | 2017-09-28 | 2020-07-16 | Huawei Technologies Co., Ltd. | Process monitoring method and apparatus |
CN109614289A (zh) * | 2018-12-10 | 2019-04-12 | 浪潮(北京)电子信息产业有限公司 | 一种存储节点监控方法、系统、设备及计算机存储介质 |
CN110442306A (zh) * | 2019-06-28 | 2019-11-12 | 苏州浪潮智能科技有限公司 | 一种分布式存储系统的故障处理方法、设备以及存储介质 |
CN110535692A (zh) * | 2019-08-12 | 2019-12-03 | 华为技术有限公司 | 故障处理方法、装置、计算机设备、存储介质及存储系统 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115499294A (zh) * | 2022-09-21 | 2022-12-20 | 上海天玑科技股份有限公司 | 一种分布式存储环境网络亚健康检测及故障自动处理方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112187919B (zh) | 2024-01-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11886731B2 (en) | Hot data migration method, apparatus, and system | |
US9430308B2 (en) | Operational status of network nodes | |
US20180375726A1 (en) | Resource Configuration Method, Virtualized Network Function Manager, and Element Management System | |
CN110535692B (zh) | 故障处理方法、装置、计算机设备、存储介质及存储系统 | |
US20140201356A1 (en) | Monitoring system of managing cloud-based hosts and monitoring method using for the same | |
JP2002229806A (ja) | 計算機システム | |
CN113067875B (zh) | 基于微服务网关动态流控的访问方法和装置以及设备 | |
CN110971480B (zh) | 计算机网络状况监控方法、装置、计算机设备及存储介质 | |
CN111258851A (zh) | 一种集群的告警方法、装置、设置及存储介质 | |
CN108429656A (zh) | 一种监控物理机网卡连接状态的方法 | |
CN109542627A (zh) | 节点切换方法、装置、管理机、节点设备和分布式系统 | |
CN112565327B (zh) | 访问流量转发方法、集群管理方法及相关装置 | |
CN113965576B (zh) | 基于容器的大数据采集方法、装置、存储介质和设备 | |
CN103618634A (zh) | 集群中自动发现节点的方法 | |
CN115858221A (zh) | 存储设备的管理方法、装置、存储介质及电子设备 | |
CN113505027B (zh) | 业务系统备份方法、装置、设备及存储介质 | |
CN112187919B (zh) | 一种存储节点管理方法及相关装置 | |
CN112910743B (zh) | 一种区块链性能检测系统 | |
CN105323271A (zh) | 一种云计算系统以及云计算系统的处理方法和装置 | |
CN111756870A (zh) | 一种IPv6地址配置方法、装置、设备及可读存储介质 | |
CN115314361B (zh) | 一种服务器集群管理方法及其相关组件 | |
CN114978871B (zh) | 业务系统的节点切换方法及节点切换装置、电子设备 | |
CN111885159B (zh) | 数据采集方法、装置、电子设备及存储介质 | |
CN114860432A (zh) | 一种内存故障的信息确定方法及装置 | |
CN114422396A (zh) | 一种dns服务器管理方法、装置、电子设备及存储介质 |
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 |