CN113590024B - 一种分布式存储系统的健康巡检方法、装置及终端 - Google Patents
一种分布式存储系统的健康巡检方法、装置及终端 Download PDFInfo
- Publication number
- CN113590024B CN113590024B CN202110678718.6A CN202110678718A CN113590024B CN 113590024 B CN113590024 B CN 113590024B CN 202110678718 A CN202110678718 A CN 202110678718A CN 113590024 B CN113590024 B CN 113590024B
- Authority
- CN
- China
- Prior art keywords
- health
- inspector
- node
- inspection
- matched
- 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.)
- Active
Links
- 230000036541 health Effects 0.000 title claims abstract description 397
- 238000007689 inspection Methods 0.000 title claims abstract description 129
- 238000000034 method Methods 0.000 title claims abstract description 80
- 230000003862 health status Effects 0.000 claims description 47
- 238000013507 mapping Methods 0.000 claims description 9
- 230000002159 abnormal effect Effects 0.000 claims description 8
- 238000010586 diagram Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0604—Improving or facilitating administration, e.g. storage management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0653—Monitoring storage devices or systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0668—Interfaces specially adapted for storage systems adopting a particular infrastructure
- G06F3/067—Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- Computing Systems (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Medical Treatment And Welfare Office Work (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种分布式存储系统的健康巡检方法、装置及终端,该方法包括:利用多个健康检查器建立健康检查组;采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;任一健康检查器对其所匹配节点的健康状况进行定时巡检;采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器;主检查器汇总每个健康检查器的巡检结果,形成分布式存储系统的健康检查报告。该装置包括:健康检查组建立模块、分配模块、定时巡检模块、主检查器选取模块和健康检查报告生成模块。通过本申请,能够有效提高分布式存储系统健康巡检结果的准确性和可靠性。
Description
技术领域
本申请涉及分布式存储故障处理技术领域,特别是涉及一种分布式存储系统的健康巡检方法、装置及终端。
背景技术
随着存储技术的发展,分布式存储系统的应用越来越广泛。对于大型多节点的分布式存储系统,每个节点的性能都很重要,单个节点的故障可能成为影响整个集群可靠性的因素,因此,对分布式存储系统进行健康巡检,从而确保整个存储系统性能的稳定性,是个重要的技术问题。
目前对分布式存储系统进行健康巡检的方法,通常是每个节点逐一进行健康检查,然后汇总检查结果。具体地,每个存储节点固定采用一个检查器进行健康检查,然后将所有检查结果汇总到唯一且固定的汇总检查器上,最终得到整个分布式存储系统的健康检查结果。
然而,目前对分布式存储系统进行健康巡检的方法中,由于每个节点采用固定检查器,且最终的汇总检查器为唯一且固定的,当固定检查某一节点的检查器出现故障时,就会导致当前节点的检查失败或者检查结果的不准确,从而导致整个分布式存储系统的健康检查结果不够准确。当汇总检查器出现故障时,整个分布式存储系统的健康检查结果也会导致不准确。因此,目前对分布式存储系统进行健康巡检的方法使得检查结果的准确性和可靠性较差。
发明内容
本申请提供了一种分布式存储系统的健康巡检方法、装置及终端,以解决现有技术中的健康巡检方法使得检查结果准确性和可靠性较差的问题。
为了解决上述技术问题,本申请实施例公开了如下技术方案:
一种分布式存储系统的健康巡检方法,所述方法包括:
利用多个健康检查器建立健康检查组,任一所述健康检查器用于对分布式存储系统中的节点进行性能健康状态检查;
采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;
任一健康检查器对其所匹配节点的健康状况进行定时巡检;
采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器;
所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告。
可选地,所述健康检查组为可扩展健康检查组。
可选地,所述健康检查器的数量和节点数量之间的关系为:
健康检查器的数量=(节点数量*每个节点需要被分配的健康检查器数量)/任一健康检查器最多可检查的节点数量。
可选地,所述采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器,包括:
确定所需要的健康检查器的数量;
随机为每个健康检查器分配最多可检查数量的节点;
获取节点与健康检查器之间的映射关系;
确定所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点;
将所述第一节点的一个健康检查器分配给第二节点;
返回重新确定当前所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点,直到每个节点至少匹配两个健康检查器。
可选地,所述任一健康检查器对其所匹配节点的健康状况进行定时巡检,包括:
任一健康检查器对其所匹配节点的健康状态进行定时巡检,获取所匹配节点的健康状况数据,所述健康状况数据包括:所述任一健康检查器的ID、所匹配节点的名称、所匹配节点当前的健康状态以及更新时间;
将所述健康状况数据写入健康状态表,所述健康状态表用于存储所有节点的健康状况数据。
可选地,所述采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器,具体为:
采用分布式锁的领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器。
可选地,所述采用分布式锁的领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器,包括:
根据所获取的命令,健康检查组中的任一健康检查器执行争夺锁操作;
持续获取所述任一健康检查器的心跳信息;
判断所述心跳信息是否正常;
如果心跳信息正常,所述任一健康检查器继续执行争夺锁操作,直到争夺锁成功;
选取所述任一健康检查器为主检查器;
如果心跳信息异常,判断所述任一健康检查器当前是否持有锁;
如果所述任一健康检查器当前持有锁,则释放当前所持有的锁;
如果所述任一健康检查器当前没有持有锁,则停止执行争夺锁操作。
可选地,所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告,包括:
所述主检查器读取所述健康状态表,获取分布式存储系统中所有节点的健康状况数据;
汇总所有节点的健康状况数据,形成分布式存储系统的健康检查报告。
一种分布式存储系统的健康巡检装置,所述装置包括:
健康检查组建立模块,用于利用多个健康检查器建立健康检查组,任一所述健康检查器用于对分布式存储系统中的节点进行性能健康状态检查;
分配模块,用于采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;
定时巡检模块,用于控制任一健康检查器对其所匹配节点的健康状况进行定时巡检;
主检查器选取模块,用于采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器;
健康检查报告生成模块,用于所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告。
一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够如上任意一项所述的分布式存储系统的健康巡检方法。
本申请的实施例提供的技术方案可以包括以下有益效果:
本申请提供一种分布式存储系统的健康巡检方法,该方法首先利用多个健康检查器建立一健康检查组,用于对分布式存储系统中的节点进行性能健康状态检查,其次采用随机分配的方法对所有健康检查器和节点进行分配,确保每个节点至少被两个健康检查器所覆盖,最后采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器,利用主检查器汇总所有健康检查器的巡检结果,形成最终的健康检查报告。
本实施例采用随机分配的方法使每个节点至少匹配两个健康检查器,也就是针对每个节点,同时至少有两个健康检查器对其健康状况进行定时巡检,相比于现有技术中每个节点固定采用一个健康检查器进行巡检的方法,本实施例能够确保对于同一个节点,当一个健康检查器出现故障时,另一个健康检查器可以继续进行定时巡检,两个健康检查器互为冗余,不会导致整个分布式存储系统的健康检查结果,从而大大提高检查结果的准确性和可靠性。而且,本实施例中对每个节点分配健康检查器时是随机分配,不是固定某一个健康检查器,这种随机分配,能够进一步避免健康检查器本身对检查结果的干扰和影响,有利于提高检查结果的准确性。
本实施例采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器,利用主检查器汇总所有健康检查器的巡检结果,形成最终的健康检查报告。可见本实施例中的主检查器不是唯一固定的,当前主检查器出现故障时,通过领导选举法能够随时选取另外一个健康检查器作为主检查器,从而大大降低了主检查器故障对整个检查结果的影响,有利于提高分布式存储系统健康巡检结果的准确性和可靠性。
本申请还提供一种分布式存储系统的健康巡检装置,该装置主要包括:健康检查组建立模块、分配模块、定时巡检模块、主检查器选取模块和健康检查报告生成模块。分配模块的设置,能够采用随机分配的方法对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器,从而避免一个固定健康检查器出现故障时,无法进行巡检,从而影响整个分布式存储系统的健康检查结果,两个健康检查器互为冗余,有利于提高检查结果的可靠性和准确性。主检查器选取模块的设置,采用领导选举的方法在健康检查组中选取一个健康检查器作为主检查器,这种结构设计,使得主检查器不是固定唯一的,当前主检查器出现故障时,及时选取其他健康检查器作为主检查器进行巡检结果的汇总,从而能够确保健康巡检的顺序进行,有利于大大提高巡检结果的可靠性。
本申请还提供一种终端,该终端也具有如上分布式存储系统的健康巡检方法和系统相应的技术效果,在此不再赘述。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例所提供的一种分布式存储系统的健康巡检方法的流程示意图;
图2为本申请实施例中健康巡检机制示意图;
图3为本申请实施例所提供的一种分布式存储系统的健康巡检装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了更好地理解本申请,下面结合附图来详细解释本申请的实施方式。
实施例一
参见图1,图1为本申请实施例所提供的一种分布式存储系统的健康巡检方法的流程示意图。
由图1可知,本实施例中分布式存储系统的健康巡检方法主要包括如下过程:
S1:利用多个健康检查器建立健康检查组,任一健康检查器用于对分布式存储系统中的节点进行性能健康状态检查。
本实施例针对一个包含多个节点的分布式存储系统,建立一健康检查组,该健康检查组中包括多个健康检查器,每个健康检查器用于对节点进行健康状态检查,从而确保整个分布式存储系统的正常运转。
本实施例中的健康检查组为可扩展健康检查组,当对分布式存储系统扩展时,也就是新增节点时,健康检查器能够进行动态扩展,从而确保健康巡检的可靠性和可扩展性。
S2:采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器。
本实施例中健康检查器的数量和节点数量之间的关系为:
健康检查器的数量=(节点数量*每个节点需要被分配的健康检查器数量)/任一健康检查器最多可检查的节点数量。
以100个节点的分布式存储系统为例,对于100个节点的集群,每个节点至少需要被两个健康检查器覆盖,一个健康检查器最多可以检查10个节点,根据上述公式计算可知,需要20个健康检查器对该集群进行健康巡检。通过这种方式,在确保每个节点至少匹配两个健康检查器的前提下,能够采用较少的健康检查器实现整个分布式存储系统的健康巡检,既能够提高健康巡检结果的准确性和可靠性,又有利于节省资源。
具体地,步骤S2包括如下过程:
S21:确定所需要的健康检查器的数量。
S22:随机为每个健康检查器分配最多可检查数量的节点。
也就是不考虑重复情况和其他限制条件,以健康检查器最多可检查的节点数量为准,进行随机分配。
S23:获取节点与健康检查器之间的映射关系。
也就是获取每个节点被几个健康巡检器覆盖的映射关系,或者说,每个节点与几个健康检查器相匹配的映射关系。
S24:确定所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点。
S25:将第一节点的一个健康检查器分配给第二节点。
返回步骤S24,重新确定当前所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点,并执行步骤S25,直到每个节点至少匹配两个健康检查器。
本实施例针对每个节点至少匹配两个不同的健康检查器,保证每个节点至少被两个健康检查器所覆盖。针对同一个节点,当一个健康检查器出现故障时,另外一个或几个健康检查器继续工作,从而能够确保当前节点的健康状况及时被监测到,同一个节点的不同健康检查器之间互为冗余关系,有利于提高健康巡检的可靠性。
本实施例采用随机分配的方法对节点分配健康检查器,这种随机分配的方式,能够进一步避免健康检查器本身对检查结果的干扰和影响,有利于提高检查结果的准确性。
随机分配的方法可以参见图2所示的健康巡检机制示意图。图2中以3个节点和3个健康检查器为例。
继续参见图1可知,采用随机分配的方法,对所有健康检查器和节点进行分配之后,执行步骤S3:任一健康检查器对其所匹配节点的健康状况进行定时巡检。
具体地,步骤S3包括如下过程:
S31:任一健康检查器对其所匹配节点的健康状态进行定时巡检,获取所匹配节点的健康状况数据。
定时巡检的时间可以根据用户需求和具体应用场景进行灵活设置。
其中,健康状况数据包括:任一健康检查器的ID、所匹配节点的名称、所匹配节点当前的健康状态以及更新时间。健康检查器的ID即checker_ip;所匹配节点的名称即check_node;所匹配节点当前的健康状态即health_status,也就是健康检查器所匹配节点当前的健康状态;更新时间即updated_time,也就是最新更新时刻与当前状态的时刻的时间间隔,利用更新时间可以判断健康检查组中某一个健康检查器是否正常运行,或者判断整个健康检查组是否正常运行。例如:设定定时巡检时间为5秒,也就是每隔5秒定时巡检一次,当发现某一个健康检查器的最新更新时刻与当前时刻的间隔远远大于设定的巡检时间5秒时,可以考虑排查健康巡检是否出现状况。
S32:将健康状况数据写入健康状态表。其中,健康状态表用于存储所有节点的健康状况数据。
健康状态表即health_status_table。根据健康状况数据,本实施例中的健康状态表包括四个字段:任一健康检查器的ID、所匹配节点的名称、所匹配节点当前的健康状态以及更新时间。表1为一个健康状态表的组成部及其功能介绍。
字段名 | 类型 | 描述 |
checker id | varchar | 健康检查器ID |
check node | varchar | 检查节点 |
health status | varchar | 检查节点当前的健康状态 |
update time | int | 更新时间 |
表1健康状态表
S4:采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器。
本实施例中领导选举方法具体采用分布式锁的领导选举方法。具体地,采用分布式锁的领导选举方法,在健康检查组中选取一个健康检查器作为主检查器的方法,包括如下过程:
S41:根据所获取的命令,健康检查组中的任一健康检查器执行争夺锁操作。
S42:持续获取任一健康检查器的心跳信息。
S43:判断心跳信息是否正常。
如果心跳信息正常,执行步骤S44:任一健康检查器继续执行争夺锁操作,直到争夺锁成功。
S45:选取任一健康检查器为主检查器。
也就是心跳信息正常的任一健康检查器继续执行争夺锁操作,当有一个健康检查器争夺锁成功时,选取该健康检查器作为主检查器。
如果心跳信息异常,执行步骤S46:判断任一健康检查器当前是否持有锁。
S47:如果任一健康检查器当前持有锁,则释放当前所持有的锁。
S48:如果任一健康检查器当前没有持有锁,则停止执行争夺锁操作。
由以上步骤S41-S48可知,在健康检查组中的每个健康检查器都会去争夺锁,同时每个健康检查器都会发送心跳,只有心跳正常的健康检查器才能参与争夺锁,才有机会获得锁,如果检查器心跳不正常,则不能进行锁的争夺,或者当其已经拥有锁时,需要将锁释放,让其他心跳正常的健康检查器执行争夺锁操作。心跳正常的健康检查器进行锁的争夺,争夺到锁的健康检查器成为“领导”,作为主检查器。
由以上步骤可知,本实施例中持续获取每个健康检查器的心跳信息,只有心跳信息正常的健康检查器才有可能成为主检查器,从而能够确保主检查处于正常运行状态,有利于提高巡检结果的准确性和可靠性。当心跳信息正常的健康检查器最终争夺到锁之后才正式成为主检查器。而且,由于持续获取每个健康检查器的心跳信息,当上一次被选定的主检查器出现故障而引起心跳异常时,经由步骤S46-S48,会更换其他健康检查器成为新的主检查器。因此,本实施例中的主检查器并不是唯一固定的某一个健康检查器,但是每个主检查器都是心跳正常且争夺锁成功的健康检查器,这种分布式锁的领导选举方法,能够确保正常运行的健康检查器作为主检查器,从而大大提高巡检结果的可靠性和准确性。
继续参见图1可知,通过步骤S4确定主检查器之后,执行步骤S5:主检查器汇总每个健康检查器的巡检结果,形成分布式存储系统的健康检查报告。
具体地,步骤S5包括如下过程:
S51:主检查器读取健康状态表,获取分布式存储系统中所有节点的健康状况数据。
S52:汇总所有节点的健康状况数据,形成分布式存储系统的健康检查报告。
本实施例通过主检查器来汇总所有节点的健康状况数据,能够保证巡检结果的一致性和可靠性。
需要注意的是,本实施例中的主检查器除了完成本身的作为健康检查器对被分配的节点进行定时健康巡检外,同时从健康状态表(health_status_table)中读取表中各健康检查写入的数据并汇总结果。这种方式,能够确保健康巡检过程的正常运行,有利于提高健康巡检的可靠性和稳定性。
实施例二
在图1和图2所示实施例的基础上参见图3,图3为本申请实施例所提供的一种分布式存储系统的健康巡检装置的结构示意图。由图3可知,本实施例中分布式存储系统的健康巡检装置,主要包括:健康检查组建立模块、分配模块、定时巡检模块、主检查器选取模块和健康检查报告生成模块。
其中,健康检查组建立模块,用于利用多个健康检查器建立健康检查组,任一健康检查器用于对分布式存储系统中的节点进行性能健康状态检查,本实施例中的健康检查组为可扩展健康检查组;分配模块,用于采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;定时巡检模块,用于控制任一健康检查器对其所匹配节点的健康状况进行定时巡检;主检查器选取模块,用于采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器;健康检查报告生成模块,用于主检查器汇总每个健康检查器的巡检结果,形成分布式存储系统的健康检查报告。
本实施例中的分配模块包括:第一确定单元、随机分配单元、映射关系获取单元、节点确定单元、调整配置单元和循环单元。其中,第一确定单元,用于确定所需要的健康检查器的数量;随机分配单元,用于随机为每个健康检查器分配最多可检查数量的节点;映射关系获取单元,用于获取节点与健康检查器之间的映射关系;节点确定单元,用于确定所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点;调整配置单元,用于将第一节点的一个健康检查器分配给第二节点;循环单元,用于重新启动节点确定单元和调整配置单元,重新确定当前所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点,直到每个节点至少匹配两个健康检查器。
定时巡检模块包括:健康状况数据获取单元和写入单元。其中,健康状况数据获取单元,用于控制任一健康检查器对其所匹配节点的健康状态进行定时巡检,获取所匹配节点的健康状况数据,健康状况数据包括:任一健康检查器的ID、所匹配节点的名称、所匹配节点当前的健康状态以及更新时间;写入单元,用于将健康状况数据写入健康状态表,健康状态表用于存储所有节点的健康状况数据。
本实施例中的主检查器选取模块采用分布式锁的领导选举方法,在健康检查组中选取一个健康检查器作为主检查器。
具体地,主检查器选取模块包括:争夺锁操作单元、心跳信息获取单元、第一判断单元、控制单元、选取单元和第二判断单元。其中,争夺锁操作单元,用于根据所获取的命令,控制健康检查组中的任一健康检查器执行争夺锁操作;心跳信息获取单元,用于持续获取任一健康检查器的心跳信息;第一判断单元,用于判断心跳信息是否正常;直到争夺锁成功,当心跳信息异常时,启动第二判断单元;选取单元,用于任一健康检查器争夺锁成功时,选取任一健康检查器为主检查器;第二判断单元,用于当心跳信息异常时,判断任一健康检查器当前是否持有锁;控制单元,还用于当任一健康检查器心跳信息异常且当前持有锁时,控制任一健康检查器释放当前所持有的锁,以及,当任一健康检查器心跳信息异常且当前没有持有锁时,控制任一健康检查器停止执行争夺锁操作。
该实施例中分布式存储系统的健康巡检装置的工作原理和工作方法,在图1和图2所示的实施例中已经详细阐述,两个实施例之间可以互相参照,在此不再赘述。
实施例三
本申请还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上分布式存储系统的健康巡检方法。
处理器所执行的分布式存储系统的健康巡检方法如下:
S1:利用多个健康检查器建立健康检查组,任一健康检查器用于对分布式存储系统中的节点进行性能健康状态检查;
S2:采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;
S3:任一健康检查器对其所匹配节点的健康状况进行定时巡检;
S4:采用领导选举方法,在健康检查组中选取一个健康检查器作为主检查器;
S5:主检查器汇总每个健康检查器的巡检结果,形成分布式存储系统的健康检查报告。
以上方法的具体执行步骤和原理,可以参见图1所示的实施例一和图2所示的实施例二,在此不再赘述。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种分布式存储系统的健康巡检方法,其特征在于,所述方法包括:
利用多个健康检查器建立健康检查组,任一所述健康检查器用于对分布式存储系统中的节点进行性能健康状态检查;
采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;
任一健康检查器对其所匹配节点的健康状况进行定时巡检;
采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器;
所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告;
所述健康检查器的数量和节点数量之间的关系为:
健康检查器的数量=(节点数量 * 每个节点需要被分配的健康检查器数量)/任一健康检查器最多可检查的节点数量;
所述采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器,包括:
确定所需要的健康检查器的数量;
随机为每个健康检查器分配最多可检查数量的节点;
获取节点与健康检查器之间的映射关系;
确定所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点;
将所述第一节点的一个健康检查器分配给第二节点;
返回重新确定当前所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点,直到每个节点至少匹配两个健康检查器。
2.根据权利要求1所述的一种分布式存储系统的健康巡检方法,其特征在于,所述健康检查组为可扩展健康检查组。
3.根据权利要求1所述的一种分布式存储系统的健康巡检方法,其特征在于,所述任一健康检查器对其所匹配节点的健康状况进行定时巡检,包括:
任一健康检查器对其所匹配节点的健康状态进行定时巡检,获取所匹配节点的健康状况数据,所述健康状况数据包括:所述任一健康检查器的ID、所匹配节点的名称、所匹配节点当前的健康状态以及更新时间;
将所述健康状况数据写入健康状态表,所述健康状态表用于存储所有节点的健康状况数据。
4.根据权利要求1所述的一种分布式存储系统的健康巡检方法,其特征在于,所述采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器,具体为:
采用分布式锁的领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器。
5.根据权利要求4所述的一种分布式存储系统的健康巡检方法,其特征在于,所述采用分布式锁的领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器,包括:
根据所获取的命令,健康检查组中的任一健康检查器执行争夺锁操作;
持续获取所述任一健康检查器的心跳信息;
判断所述心跳信息是否正常;
如果心跳信息正常,所述任一健康检查器继续执行争夺锁操作,直到争夺锁成功;
选取所述任一健康检查器为主检查器;
如果心跳信息异常,判断所述任一健康检查器当前是否持有锁;
如果所述任一健康检查器当前持有锁,则释放当前所持有的锁;
如果所述任一健康检查器当前没有持有锁,则停止执行争夺锁操作。
6.根据权利要求3所述的一种分布式存储系统的健康巡检方法,其特征在于,所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告,包括:
所述主检查器读取所述健康状态表,获取分布式存储系统中所有节点的健康状况数据;
汇总所有节点的健康状况数据,形成分布式存储系统的健康检查报告。
7.一种分布式存储系统的健康巡检装置,其特征在于,所述装置包括:
健康检查组建立模块,用于利用多个健康检查器建立健康检查组,任一所述健康检查器用于对分布式存储系统中的节点进行性能健康状态检查;
分配模块,用于采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器;
定时巡检模块,用于控制任一健康检查器对其所匹配节点的健康状况进行定时巡检;
主检查器选取模块,用于采用领导选举方法,在所述健康检查组中选取一个健康检查器作为主检查器;
健康检查报告生成模块,用于所述主检查器汇总每个健康检查器的巡检结果,形成所述分布式存储系统的健康检查报告;
所述健康检查器的数量和节点数量之间的关系为:
健康检查器的数量=(节点数量 * 每个节点需要被分配的健康检查器数量)/任一健康检查器最多可检查的节点数量;
所述采用随机分配的方法,对所有健康检查器和节点进行分配,使每个节点至少匹配两个健康检查器,包括:
确定所需要的健康检查器的数量;
随机为每个健康检查器分配最多可检查数量的节点;
获取节点与健康检查器之间的映射关系;
确定所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点;
将所述第一节点的一个健康检查器分配给第二节点;
返回重新确定当前所匹配的健康检查器最多的第一节点和所匹配的健康检查器最少的第二节点,直到每个节点至少匹配两个健康检查器。
8.一种终端,其特征在于,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,
所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行权利要求1至6中任意一项所述的分布式存储系统的健康巡检方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678718.6A CN113590024B (zh) | 2021-06-18 | 2021-06-18 | 一种分布式存储系统的健康巡检方法、装置及终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110678718.6A CN113590024B (zh) | 2021-06-18 | 2021-06-18 | 一种分布式存储系统的健康巡检方法、装置及终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113590024A CN113590024A (zh) | 2021-11-02 |
CN113590024B true CN113590024B (zh) | 2023-12-22 |
Family
ID=78244015
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110678718.6A Active CN113590024B (zh) | 2021-06-18 | 2021-06-18 | 一种分布式存储系统的健康巡检方法、装置及终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113590024B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006302006A (ja) * | 2005-04-21 | 2006-11-02 | Hitachi High-Tech Science Systems Corp | 待順番管理システム、人間ドック管理システム及び方法 |
CN105653423A (zh) * | 2015-12-24 | 2016-06-08 | 中国银联股份有限公司 | 分布式信息系统健康状态的自动化采集分析方法及其系统 |
CN107533348A (zh) * | 2015-05-11 | 2018-01-02 | 慧与发展有限责任合伙企业 | 针对弹性和冷却管理高性能计算系统中的功率 |
CN109189644A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 整机柜rmc、自动配置整机柜新增节点数量的方法及系统 |
WO2019114970A1 (en) * | 2017-12-14 | 2019-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Failure handling in a cloud environment |
CN110177028A (zh) * | 2019-05-30 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 分布式健康检查方法及装置 |
CN110674034A (zh) * | 2019-09-12 | 2020-01-10 | 北京浪潮数据技术有限公司 | 一种健康检查方法、装置及电子设备和存储介质 |
CN110825544A (zh) * | 2018-08-14 | 2020-02-21 | 财团法人工业技术研究院 | 计算节点及其失效检测方法与云端数据处理系统 |
CN110912780A (zh) * | 2019-12-13 | 2020-03-24 | 无锡华云数据技术服务有限公司 | 一种高可用集群检测方法、系统及受控终端 |
CN111813625A (zh) * | 2020-06-30 | 2020-10-23 | 中国工商银行股份有限公司 | 分布式服务器集群的健康检查方法及装置 |
CN112311896A (zh) * | 2020-11-16 | 2021-02-02 | 杭州迪普科技股份有限公司 | 健康检查方法、装置、设备及计算机可读存储介质 |
-
2021
- 2021-06-18 CN CN202110678718.6A patent/CN113590024B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006302006A (ja) * | 2005-04-21 | 2006-11-02 | Hitachi High-Tech Science Systems Corp | 待順番管理システム、人間ドック管理システム及び方法 |
CN107533348A (zh) * | 2015-05-11 | 2018-01-02 | 慧与发展有限责任合伙企业 | 针对弹性和冷却管理高性能计算系统中的功率 |
CN105653423A (zh) * | 2015-12-24 | 2016-06-08 | 中国银联股份有限公司 | 分布式信息系统健康状态的自动化采集分析方法及其系统 |
WO2019114970A1 (en) * | 2017-12-14 | 2019-06-20 | Telefonaktiebolaget Lm Ericsson (Publ) | Failure handling in a cloud environment |
CN110825544A (zh) * | 2018-08-14 | 2020-02-21 | 财团法人工业技术研究院 | 计算节点及其失效检测方法与云端数据处理系统 |
CN109189644A (zh) * | 2018-09-17 | 2019-01-11 | 郑州云海信息技术有限公司 | 整机柜rmc、自动配置整机柜新增节点数量的方法及系统 |
CN110177028A (zh) * | 2019-05-30 | 2019-08-27 | 北京字节跳动网络技术有限公司 | 分布式健康检查方法及装置 |
CN110674034A (zh) * | 2019-09-12 | 2020-01-10 | 北京浪潮数据技术有限公司 | 一种健康检查方法、装置及电子设备和存储介质 |
CN110912780A (zh) * | 2019-12-13 | 2020-03-24 | 无锡华云数据技术服务有限公司 | 一种高可用集群检测方法、系统及受控终端 |
CN111813625A (zh) * | 2020-06-30 | 2020-10-23 | 中国工商银行股份有限公司 | 分布式服务器集群的健康检查方法及装置 |
CN112311896A (zh) * | 2020-11-16 | 2021-02-02 | 杭州迪普科技股份有限公司 | 健康检查方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
分布式关系数据库Ocean Base的高可靠性;阳振坤;;金融电子化(第02期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN113590024A (zh) | 2021-11-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106775959B (zh) | 分布式事务处理方法和系统 | |
EP1550036B1 (en) | Method of solving a split-brain condition in a cluster computer system | |
CN103455368B (zh) | 一种死锁检测方法、节点及系统 | |
CN104767794B (zh) | 一种分布式系统中的节点选举方法及节点 | |
US5301311A (en) | Control method for preventing incorrect reset of common resource and multicomputer system executing the method | |
CN111880934A (zh) | 一种资源管理方法、装置、设备及可读存储介质 | |
CN111880956A (zh) | 一种数据同步方法和装置 | |
CN113590024B (zh) | 一种分布式存储系统的健康巡检方法、装置及终端 | |
CN106230622A (zh) | 一种集群实现方法及装置 | |
CN114286366A (zh) | 无线网格网络升级方法、装置、主节点及存储介质 | |
CN104158843A (zh) | 分布式文件存储系统的存储单元失效检测方法及装置 | |
CN109039781B (zh) | 一种网络设备故障诊断方法、执行节点、服务器和系统 | |
CN112187919B (zh) | 一种存储节点管理方法及相关装置 | |
CN112905322B (zh) | 资源加锁的方法、计算设备及计算机存储介质 | |
CN106453656B (zh) | 一种集群主机选取方法及装置 | |
CN109218464B (zh) | 模块并联的地址冲突上报方法、系统、设备及存储介质 | |
CN112433968B (zh) | 一种控制器共享同步方法和装置 | |
CN113032188B (zh) | 确定主服务器的方法、装置、服务器及存储介质 | |
CN108989144B (zh) | 一种Linux下NAS集群重置的测试方法和系统 | |
CN116016140A (zh) | 通信异常处理方法、主节点、室内分布系统及存储介质 | |
CN117082145B (zh) | 报税服务管理方法及系统、计算机程序产品、电子设备 | |
CN111367202B (zh) | 监控实例的方法、监控节点和监控集群 | |
WO2024119777A1 (zh) | 框式设备通信链路异常处理方法、框式设备及介质 | |
CN115905270B (zh) | 数据库中主用数据节点的确定方法、装置及存储介质 | |
CN114461280B (zh) | 一种bmc双镜像刷写方法及相关装置 |
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 |