CN116400853B - 分布式块存储系统及面向制造业的缩短故障恢复时间方法 - Google Patents
分布式块存储系统及面向制造业的缩短故障恢复时间方法 Download PDFInfo
- Publication number
- CN116400853B CN116400853B CN202310144025.8A CN202310144025A CN116400853B CN 116400853 B CN116400853 B CN 116400853B CN 202310144025 A CN202310144025 A CN 202310144025A CN 116400853 B CN116400853 B CN 116400853B
- Authority
- CN
- China
- Prior art keywords
- zookeeper
- leader
- server
- service module
- metadata service
- 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
- 238000003860 storage Methods 0.000 title claims abstract description 123
- 238000011084 recovery Methods 0.000 title claims abstract description 33
- 238000000034 method Methods 0.000 title claims abstract description 15
- 238000004904 shortening Methods 0.000 title claims abstract description 15
- 238000012544 monitoring process Methods 0.000 claims description 7
- 230000000694 effects Effects 0.000 abstract description 3
- 238000012360 testing method Methods 0.000 description 12
- 238000004519 manufacturing process Methods 0.000 description 6
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000002159 abnormal effect Effects 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000007726 management method Methods 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/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/181—Eliminating the failing redundant component
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/18—Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
- G06F11/187—Voting techniques
-
- 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/0638—Organizing or formatting or addressing of data
- G06F3/064—Management of blocks
-
- 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]
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Quality & Reliability (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种分布式块存储系统及面向制造业的缩短故障恢复时间方法,初始工作时,在Zookeeper服务器集群中选取Zookeeper服务器领导者,控制存储服务模块与Zookeeper服务领器导者建立Zookeeper会话,控制存储服务模块与所述元数据服务模块在Zookeeper服务器中建立租约,并选举元数据服务领导者;通过元数据服务领导者进行提供数据服务;在Zookeeper领导者所在节点宕机故障发生时,重新选举Zookeeper服务器领导者,并选举出新的元数据服务领导者,删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约,并控制新的元数据服务领导者提供数据服务,达到缩短故障恢复总时间的技术效果。
Description
技术领域
本发明涉及分布式块存储系统故障恢复领域,尤其涉及一种分布式块存储系统及面向制造业的缩短故障恢复时间方法。
背景技术
分布式块存储系统将分布在集群中多个物理节点的存储资源聚合为一个统一的资源池,对外提供虚拟块设备服务。系统通常会划分为多个层级,层级中包含不同功能模块,且各个模块会在每个节点上有自己的实例,实例之间通过共识算法等方式组成服务集群,以实现高可用和负载均衡。同时,不同层级的模块之间通常在启动顺序上有较强依赖关系。
对于一个复杂的分布式块存储系统而言,出于节省资源的考虑,通常单个物理服务器上会部署多个不同服务。此时单物理服务器故障意味着部署在该服务器上的集群中多个不同层级上的模块需要进行故障恢复,模块之间很有可能需要串行地等待恢复完成,例如基于分布式共识模块会出现集群管理模块,他要恢复完成之后才可以通知存储系统的数据管理模块和数据接入模块恢复服务使得总恢复时长的累加。整个集群的故障恢复过程会消耗数十秒至数分钟的时间。
分布式块存储系统中,缩短故障恢复时间的最常见方式是缩短超时等待时间,让异常后存活的模块更早点触发重新选举以恢复服务。例如,对于Zookeeper服务集群,减少其选举超时时间即可有效地加快选举过程,减少Zookeeper的异常恢复时间。
通常来说,一个模块的超时时间设定值会有一个取值下界,取值下界一般代表着模块内部实现上约束。例如Zookeeper会话超时时间,其取值被官方定义为不能小于两倍心跳间隙时间。
同时,超时时间设定值也不建议设置得过于小,值越小会使模块越难以承受短时间的网络波动,因为偶尔出现的几次高网络延迟的心跳包将很容易越过设定较短的超时时间,触发了预期之外的故障恢复,进而加重集群的整体负担。例如:Zookeeper选举超时时间,通常推荐设置2秒以上,对于现代数据中心,这个超时时间是足够的。
总而言之,“降低超时时间”的方法有一定局限性,仅靠“降低超时时间”的方法无法将集群的故障恢复时间降低到足够低的水平。
发明内容
本发明的目的在于提供面向制造业的缩短故障恢复时间方法,解决了现有技术中指出的上述技术问题。
本发明提供了一种分布式块存储系统,包括多个服务器节点;
所述服务器节点包括Zookeeper服务器、元数据服务模块、存储服务模块;
其中,所述Zookeeper服务器,用于与所述存储服务模块建立Zookeeper会话,并在Zookeeper服务器集群中相互投票获取Zookeeper服务器领导者对元数据服务模块和存储服务模块进行服务;
所述存储服务模块,用于与Zookeeper服务器建立Zookeeper会话,并与所述元数据服务模块在Zookeeper服务器中建立租约;
所述元数据服务模块,用于与所述存储服务模块建立租约,并在所述Zookeeper服务器中进行注册,并获取所述元数据服务模块在Zookeeper服务器中的注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者,由元数据服务领导者提供数据服务,并检查所述Zookeeper会话是否存在,在所述Zookeeper会话不存在时删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约。
较佳的,作为一种可实施方式,所述分布式块存储系统,用于基于Zookeeper服务器之间相互投票的方式,从中选择一个作为整个分布式块存储系统的Zookeeper领导者;
所述Zookeeper服务器领导者,用于分别与所有存储服务模块建立会话;控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;
所述元数据服务模块在上述租约建立完成后,在Zookeeper服务器集群中随机选取Zookeeper服务器进行注册,并分别记录元数据服务模块注册成功的时间;所述分布式块存储系统确定注册成功时间最早的元数据服务模块为元数据服务领导者;
所述分布式块存储系统,还用于实时监控当前服务器节点的运行状态及客户端及所有存储服务模块与当前元数据服务领导者之间的网络状况、元数据服务领导者与Zookeeper服务器领导者之间的网络状况,判断当前时刻的当前的元数据服务领导者与所有的存储服务模块之间建立的租约是否过期;若租约过期,则控制所述租约过期对应的存储服务模块停止接收客户端的访问请求,并删除所述租约过期对应的存储服务模块上的旧租约;
所述元数据服务领导者,还用于检查所有Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的Zookeeper服务器上存储服务模块与元数据服务模块的租约。
相应地,本发明提供了一种面向制造业的缩短故障恢复时间方法,其基于分布式块存储系统实现缩短故障恢复时间的处理操作,具体包括:
在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的Zookeeper服务器领导者;所述Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举元数据服务领导者;并控制元数据服务领导者提供数据服务;
实时监控Zookeeper领导者所在的服务器节点运行状态,若Zookeeper领导者所在的服务器节点故障宕机,则在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的新的Zookeeper服务器领导者;
所述新的Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举新的元数据服务领导者;
所述新的元数据服务领导者获取所述Zookeeper会话,实时检测Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的存储服务模块的旧租约,并控制新的元数据服务领导者开始提供数据服务。
与现有技术相比,本发明实施例至少存在如下方面的技术优势:
分析本发明提供的上述面向制造业的缩短故障恢复时间方法可知,本发明实例提出的面向制造业的缩短故障恢复时间方法,在分布式块存储系统初始化工作时,通过Zookeeper服务器在Zookeeper服务器集群中相互投票选举出Zookeeper服务器领导者,控制存储服务模块与所述Zookeeper服务领器导者建立Zookeeper会话后,控制存储服务模块与所述元数据服务模块在Zookeeper服务器中建立租约后,控制元数据服务模块在Zookeeper服务器中进行注册并记录注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者;通过元数据服务领导者进行提供数据服务;在Zookeeper领导者所在节点宕机故障发生时,重新选举Zookeeper服务器领导者,并选举出新的元数据服务领导者,元数据服务领导者检查Zookeeper会话,若所述Zookeeper会话不存在,则证明出现网络中断等故障发生(网络中断等故障发生时,当前租约过期),删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约,并控制新的元数据服务领导者提供数据服务;以上述操作达到缩短故障恢复总时间的技术效果;本发明实施例采用的技术方案,能够根据Zookeeper服务器领导者与存储服务模块建立会话,在网络终端等故障发生时,使元数据服务领导者与存储服务模块的租约在第一时间失效,同时建立新的租约向客户端的访问提供服务,进而缩短故障总恢复时间;选举出元数据服务领导者后,检查所有运行正常的Zookeeper服务器,删除残留的租约,减少了故障恢复流程中需要等待旧租约过期的耗时,使得故障恢复时间能进一步地降低。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例一提供的一种分布式块存储系统系统架构示意图;
图2为本发明实施例二提供的一种面向制造业的缩短故障恢复时间方法的步骤流程示意图。
标号:服务器节点10;Zookeeper服务器11;元数据服务模块12;存储服务模块13;元数据服务模块的实例121。
具体实施方式
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面通过具体的实施例并结合附图对本发明做进一步的详细描述。
实施例一
如图1所示,本发明提出了一种分布式块存储系统,包括多个服务器节点10;
所述服务器节点包括Zookeeper服务器11、元数据服务模块12、存储服务模块13;
其中,所述Zookeeper服务器,用于与所述存储服务模块建立Zookeeper会话,并在Zookeeper服务器集群中相互投票获取Zookeeper服务器领导者对元数据服务模块和存储服务模块进行服务;
所述存储服务模块,用于与Zookeeper服务器建立Zookeeper会话,并与所述元数据服务模块在Zookeeper服务器中建立租约;
所述元数据服务模块,用于与所述存储服务模块建立租约,并在所述Zookeeper服务器中进行注册,并获取所述元数据服务模块在Zookeeper服务器中的注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者,由元数据服务领导者提供数据服务,并检查所述Zookeeper会话是否存在,在所述Zookeeper会话不存在时,删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约。
优选的,作为一种可实施方式,所述分布式块存储系统,用于基于Zookeeper服务器之间相互投票的方式,从中选择一个作为整个分布式块存储系统的Zookeeper领导者;
所述Zookeeper服务器领导者,用于分别与所有存储服务模块建立会话;控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;
所述所述元数据服务模块在上述租约建立完成后,在Zookeeper服务器集群中随机选取Zookeeper服务器进行注册,并分别记录元数据服务模块注册成功的时间;所述分布式块存储系统确定注册成功时间最早的元数据服务模块为元数据服务领导者;
所述分布式块存储系统,还用于实时监控Zookeeper领导者所在的服务器节点运行状态,若Zookeeper领导者所在的服务器节点故障宕机,则在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的新的Zookeeper服务器领导者;
所述新的Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举新的元数据服务领导者,并提供数据服务;
所述元数据服务领导者,还用于检查所有Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的Zookeeper服务器上存储服务模块与元数据服务模块的租约。
综上,本发明提供的上述一种分布式块存储系统,通过在Zookeeper服务器集群中选取Zookeeper服务领器导者,控制存储服务模块与所述Zookeeper服务领器导者建立Zookeeper会话后,控制存储服务模块与所述元数据服务模块在Zookeeper服务器中建立租约后,控制元数据服务模块在Zookeeper服务器中进行注册并记录注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者;通过元数据服务领导者进行提供数据服务;实时监控Zookeeper领导者所在的服务器节点运行状态,若Zookeeper领导者所在的服务器节点故障宕机,则在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的新的Zookeeper服务器领导者;所述新的Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举新的元数据服务领导者;所述新的元数据服务领导者检查所述Zookeeper会话是否存在,在Zookeeper会话不存在时,删除旧的租约,并提供数据服务,进而缩短故障恢复总时间。
实施例二
如图2所示,相应地,本发明还提出了一种面向制造业的缩短故障恢复时间方法,包括如下操作步骤:
步骤S10:在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的Zookeeper服务器领导者;所述Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举元数据服务领导者;并控制元数据服务领导者提供数据服务;
需要说明的是,所述Zookeeper领导者的选举方式是基于Zookeeper服务器之间相互投票的选举方式;例如,在Zookeeper服务器集群中有3个Zookeeper服务器,分别表示为Zookeeper服务器1、Zookeeper服务器2、Zookeeper服务器3,他们之间互相投票,Zookeeper服务器1投票给Zookeeper服务器2,Zookeeper服务器2投票给Zookeeper服务器1,Zookeeper服务器3投票给Zookeeper服务器1,则此时,Zookeeper服务器1为整个分布式存储系统的Zookeeper领导者。;
需要说明的是,在存储服务模块与Zookeeper服务器建立Zookeeper会话,并且存储服务模块与对应的元数据服务模块建立租约后,所述元数据服务模块在Zookeeper服务器集群中随机选取Zookeeper服务器进行注册,并分别记录元数据服务模块注册成功的时间;所述分布式块存储系统确定注册成功时间最早的元数据服务模块为元数据服务领导者;需要说明的是,在存储服务模块启动后,存储服务模块与Zookeeper服务器尝试建立Zookeeper会话;如果失败则会等待一段时间后重试,直至成功;当存储服务模块建立了Zookeeper会话后,尝试与元数据模块建立租约。如果失败则会等待一段时间后重试,直至成功;在出现宕机或者网络中断情况时,通常来说系统中Zookeeper会话超时过期时间参数会比租约超时过期时间参数要更短,因此Zookeeper会话会先过期,使得租约可以比原来更快地失效;站在整个故障恢复的角度上看,发生单节点网络故障时,旧租约一旦更快地失效,新的租约则可以更快地分配出去,加快了故障恢复的流程。
需要说明的是,在存储服务模块启动后,存储服务模块与Zookeeper服务器尝试建立Zookeeper会话;如果失败则会等待一段时间后重试,直至成功;当存储服务模块建立了Zookeeper会话后,尝试与元数据模块建立租约。如果失败则会等待一段时间后重试,直至成功;
步骤S20:实时监控Zookeeper领导者所在的服务器节点运行状态,若Zookeeper领导者所在的服务器节点故障宕机,则在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的新的Zookeeper服务器领导者;
所述新的Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举新的元数据服务领导者;
需要说明的是,在出现宕机或者网络中断情况时,通常来说系统中Zookeeper会话超时过期时间参数会比租约超时过期时间参数要更短,因此Zookeeper会话会先过期,使得租约可以比原来更快地失效;站在整个故障恢复的角度上看,发生单节点网络故障时,旧租约一旦更快地失效,新的租约则可以更快地分配出去,加快了故障恢复的流程,在Zookeeper服务器领导者发生故障时,便需要在第一时间重新选举新的Zookeeper服务器领导者,并选举新的元数据服务领导者,由新的元数据服务领导者删除旧的租约并提供数据服务。
步骤S30:所述新的元数据服务领导者获取所述Zookeeper会话,实时检测Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的存储服务模块的旧租约,并控制新的元数据服务领导者开始提供数据服务。
需要说明的是,元数据服务领导者选举后,新的领导者需要等待所有旧租约过期或者续约成功后,开始提供服务。这避免因为网络故障而出现数据访问的正确性问题,即同一时间对同一数据块出现多个租约;新的元数据服务领导者在选举成功后,会获取所有的Zookeeper会话并提供数据服务,实时检测Zookeeper会话是否存在,若Zookeeper会话存在,则元数据服务领导者与存储服务模块之间的租约正常,进一步地说明当前分布式块存储系统运行正常;若Zookeeper会话不存在,则说明出现网络终端或节点宕机状况,元数据服务领导者与存储服务模块之间的租约无法延续(或称无法对租约进行续租),则需要将旧的租约进行删除,并控制新的元数据服务领导者提供数据服务。
故障存储节点的租约因为网络故障而无法续约,此处元数据服务领导者等待租约过期的耗时较长,而其他节点的租约都能被成功地续上,因此需要重新建立租约,保障存储服务正常运行。
综上所述,本发明实例提出的面向制造业的缩短故障恢复时间方法,在分布式块存储系统初始化工作时,通过Zookeeper服务器在Zookeeper服务器集群中相互投票选举出Zookeeper服务器领导者,控制存储服务模块与所述Zookeeper服务领器导者建立Zookeeper会话后,控制存储服务模块与所述元数据服务模块在Zookeeper服务器中建立租约后,控制元数据服务模块在Zookeeper服务器中进行注册并记录注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者;通过元数据服务领导者进行提供数据服务;
实时识别各个组件之间的网络状况,在确定Zookeeper领导者所在节点宕机故障发生时,重新选举Zookeeper服务器领导者,并选举出新的元数据服务领导者,元数据服务领导者检查Zookeeper会话,若所述Zookeeper会话不存在,则删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约,并控制新的元数据服务领导者提供数据服务;以上述操作达到缩短故障恢复总时间的技术效果。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;本领域的普通技术人员可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (3)
1.一种分布式块存储系统,其特征在于,包括多个服务器节点;
所述服务器节点包括Zookeeper服务器、元数据服务模块、存储服务模块;
其中,所述Zookeeper服务器,用于与所述存储服务模块建立Zookeeper会话,并在Zookeeper服务器集群中相互投票获取Zookeeper服务器领导者对元数据服务模块和存储服务模块进行服务;
所述存储服务模块,用于与Zookeeper服务器建立Zookeeper会话,并与所述元数据服务模块在Zookeeper服务器中建立租约;
所述元数据服务模块,用于与所述存储服务模块建立租约,并在所述Zookeeper服务器中进行注册,并获取所述元数据服务模块在Zookeeper服务器中的注册时间,确定注册时间最早的元数据服务模块为元数据服务领导者,由元数据服务领导者提供数据服务,并检查所述Zookeeper会话是否存在,在所述Zookeeper会话不存在时删除Zookeeper服务器上存储服务模块与元数据服务模块的旧租约。
2.根据权利要求1所述的一种分布式块存储系统,其特征在于,所述分布式块存储系统,用于基于Zookeeper服务器之间相互投票的方式,从中选择一个作为整个分布式块存储系统的Zookeeper领导者;
所述Zookeeper服务器领导者,用于分别与所有存储服务模块建立会话;控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;
所述元数据服务模块在上述租约建立完成后,在Zookeeper服务器集群中随机选取Zookeeper服务器进行注册,并分别记录元数据服务模块注册成功的时间;所述分布式块存储系统确定注册成功时间最早的元数据服务模块为元数据服务领导者;
所述分布式块存储系统,还用于实时监控当前服务器节点的运行状态及客户端及所有存储服务模块与当前元数据服务领导者之间的网络状况、元数据服务领导者与Zookeeper服务器领导者之间的网络状况,判断当前时刻的当前的元数据服务领导者与所有的存储服务模块之间建立的租约是否过期;若租约过期,则控制所述租约过期对应的存储服务模块停止接收客户端的访问请求,并删除所述租约过期对应的存储服务模块上的旧租约;
所述元数据服务领导者,还用于检查所有Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的Zookeeper服务器上存储服务模块与元数据服务模块的租约。
3.一种面向制造业的缩短故障恢复时间方法,其基于权利要求1-2任一项所述的分布式块存储系统实现缩短故障恢复时间的处理操作,具体包括:
在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的Zookeeper服务器领导者;所述Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举元数据服务领导者;并控制元数据服务领导者提供数据服务;
实时监控Zookeeper领导者所在的服务器节点运行状态,若Zookeeper领导者所在的服务器节点故障宕机,则在Zookeeper服务器集群选择一个Zookeeper服务器作为整个分布式块存储系统的新的Zookeeper服务器领导者;
所述新的Zookeeper服务器领导者分别与所有存储服务模块建立Zookeeper会话,控制所述存储服务模块与对应的元数据服务模块建立租约,并将所述租约保存至对应的Zookeeper服务器中;在元数据服务模块集群中选举新的元数据服务领导者;
所述新的元数据服务领导者获取所述Zookeeper会话,实时检测Zookeeper会话是否存在,若所述Zookeeper会话不存在,则删除对应的存储服务模块的旧租约,并控制新的元数据服务领导者开始提供数据服务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144025.8A CN116400853B (zh) | 2023-02-21 | 2023-02-21 | 分布式块存储系统及面向制造业的缩短故障恢复时间方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310144025.8A CN116400853B (zh) | 2023-02-21 | 2023-02-21 | 分布式块存储系统及面向制造业的缩短故障恢复时间方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116400853A CN116400853A (zh) | 2023-07-07 |
CN116400853B true CN116400853B (zh) | 2023-11-07 |
Family
ID=87014933
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310144025.8A Active CN116400853B (zh) | 2023-02-21 | 2023-02-21 | 分布式块存储系统及面向制造业的缩短故障恢复时间方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116400853B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383689A (zh) * | 2012-05-03 | 2013-11-06 | 阿里巴巴集团控股有限公司 | 一种服务进程故障检测方法、装置及服务节点 |
CN103905537A (zh) * | 2014-03-20 | 2014-07-02 | 冶金自动化研究设计院 | 分布式环境下管理工业实时数据存储的系统 |
US9146790B1 (en) * | 2012-11-02 | 2015-09-29 | Symantec Corporation | Performing fencing operations in multi-node distributed storage systems |
CN106453471A (zh) * | 2016-07-08 | 2017-02-22 | 合网络技术(北京)有限公司 | 一种基于分布式应用的租约数据的发送及获取方法、装置 |
CN107357681A (zh) * | 2017-06-26 | 2017-11-17 | 杭州铭师堂教育科技发展有限公司 | 基于salt的Zookeeper备份管理系统及方法 |
CN109766324A (zh) * | 2018-12-14 | 2019-05-17 | 东软集团股份有限公司 | 分布式锁的控制方法、装置、可读存储介质及电子设备 |
CN111581020A (zh) * | 2020-04-22 | 2020-08-25 | 上海天玑科技股份有限公司 | 一种分布式块存储系统中数据恢复的方法和装置 |
CN111858097A (zh) * | 2020-07-22 | 2020-10-30 | 安徽华典大数据科技有限公司 | 分布式数据库系统、数据库访问方法 |
WO2021050875A1 (en) * | 2019-09-13 | 2021-03-18 | Pure Storage, Inc. | Configurable data replication |
CN114363350A (zh) * | 2021-12-14 | 2022-04-15 | 中科曙光南京研究院有限公司 | 一种服务治理系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11593210B2 (en) * | 2020-12-29 | 2023-02-28 | Hewlett Packard Enterprise Development Lp | Leader election in a distributed system based on node weight and leadership priority based on network performance |
-
2023
- 2023-02-21 CN CN202310144025.8A patent/CN116400853B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383689A (zh) * | 2012-05-03 | 2013-11-06 | 阿里巴巴集团控股有限公司 | 一种服务进程故障检测方法、装置及服务节点 |
US9146790B1 (en) * | 2012-11-02 | 2015-09-29 | Symantec Corporation | Performing fencing operations in multi-node distributed storage systems |
CN103905537A (zh) * | 2014-03-20 | 2014-07-02 | 冶金自动化研究设计院 | 分布式环境下管理工业实时数据存储的系统 |
CN106453471A (zh) * | 2016-07-08 | 2017-02-22 | 合网络技术(北京)有限公司 | 一种基于分布式应用的租约数据的发送及获取方法、装置 |
CN107357681A (zh) * | 2017-06-26 | 2017-11-17 | 杭州铭师堂教育科技发展有限公司 | 基于salt的Zookeeper备份管理系统及方法 |
CN109766324A (zh) * | 2018-12-14 | 2019-05-17 | 东软集团股份有限公司 | 分布式锁的控制方法、装置、可读存储介质及电子设备 |
WO2021050875A1 (en) * | 2019-09-13 | 2021-03-18 | Pure Storage, Inc. | Configurable data replication |
CN111581020A (zh) * | 2020-04-22 | 2020-08-25 | 上海天玑科技股份有限公司 | 一种分布式块存储系统中数据恢复的方法和装置 |
CN111858097A (zh) * | 2020-07-22 | 2020-10-30 | 安徽华典大数据科技有限公司 | 分布式数据库系统、数据库访问方法 |
CN114363350A (zh) * | 2021-12-14 | 2022-04-15 | 中科曙光南京研究院有限公司 | 一种服务治理系统及方法 |
Non-Patent Citations (3)
Title |
---|
RT-ZooKeeper: Taming the Recovery Latency of a Coordination Service;Li, Haoran等;《ACM TRANSACTIONS ON EMBEDDED COMPUTING SYSTEMS》;全文 * |
ZooKeeper的开发和应用;陈冬梅;常广炎;;电脑编程技巧与维护(21);全文 * |
基于Zookeeper的GIS集群实现;苟丽美;张锋叶;林国华;;计算机工程与设计(09);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116400853A (zh) | 2023-07-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7478114B2 (en) | Failure tolerant transaction processing system | |
CN105933407B (zh) | 一种实现Redis集群高可用的方法及系统 | |
US20050132154A1 (en) | Reliable leader election in storage area network | |
US7787388B2 (en) | Method of and a system for autonomously identifying which node in a two-node system has failed | |
CN108429629A (zh) | 设备故障恢复方法和装置 | |
US20080288812A1 (en) | Cluster system and an error recovery method thereof | |
EP1550036A2 (en) | Method of solving a split-brain condition | |
CN109391691B (zh) | 一种单节点故障下nas服务的恢复方法及相关装置 | |
CN111796959B (zh) | 宿主机容器自愈方法、装置及系统 | |
CN107197012A (zh) | 一种基于元数据管理系统的服务发布及监管系统及方法 | |
CN114268532A (zh) | 一种基于Raft协议的竞选方法、分布式系统及存储介质 | |
CN112104727B (zh) | 一种精简高可用Zookeeper集群部署方法及系统 | |
US7499987B2 (en) | Deterministically electing an active node | |
CN112948128A (zh) | Target端的选择方法、系统及计算机可读介质 | |
CN110275793B (zh) | 一种用于MongoDB数据分片集群的检测方法及设备 | |
CN116055563A (zh) | 基于Raft协议的任务调度方法、系统、电子设备和介质 | |
CN116400853B (zh) | 分布式块存储系统及面向制造业的缩短故障恢复时间方法 | |
CN104158843B (zh) | 分布式文件存储系统的存储单元失效检测方法及装置 | |
JP2023547782A (ja) | 車両におけるecuの管理方法、ecuおよび可読記憶媒体 | |
CN111880947B (zh) | 一种数据传输方法及装置 | |
CN100463411C (zh) | 用在群集计算机装置的节点处的控制器及其操作方法 | |
CN116260707B (zh) | 基于共识的区块链节点灾备方法、装置、设备及存储介质 | |
CN110351122B (zh) | 容灾方法、装置、系统与电子设备 | |
CN104866380B (zh) | 一种集群管理系统的状态转换的处理方法和装置 | |
CN114745413B (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 |