CN114415970B - 分布式存储系统的磁盘故障处理方法、装置及服务器 - Google Patents

分布式存储系统的磁盘故障处理方法、装置及服务器 Download PDF

Info

Publication number
CN114415970B
CN114415970B CN202210298450.8A CN202210298450A CN114415970B CN 114415970 B CN114415970 B CN 114415970B CN 202210298450 A CN202210298450 A CN 202210298450A CN 114415970 B CN114415970 B CN 114415970B
Authority
CN
China
Prior art keywords
data block
disk
fault
management node
data
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
Application number
CN202210298450.8A
Other languages
English (en)
Other versions
CN114415970A (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.)
Beijing Kingsoft Cloud Network Technology Co Ltd
Original Assignee
Beijing Kingsoft Cloud Network Technology 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 Beijing Kingsoft Cloud Network Technology Co Ltd filed Critical Beijing Kingsoft Cloud Network Technology Co Ltd
Priority to CN202210298450.8A priority Critical patent/CN114415970B/zh
Publication of CN114415970A publication Critical patent/CN114415970A/zh
Application granted granted Critical
Publication of CN114415970B publication Critical patent/CN114415970B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/0671In-line storage system
    • G06F3/0673Single storage device
    • G06F3/0674Disk device
    • G06F3/0676Magnetic disk device
    • 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
    • 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
    • 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/0638Organizing or formatting or addressing of data
    • G06F3/064Management of blocks
    • 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/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/0652Erasing, e.g. deleting, data cleaning, moving of data to a wastebasket
    • 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]

Abstract

本发明提供了一种分布式存储系统的磁盘故障处理方法、装置及服务器,涉及计算机的技术领域,包括:当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,以移除管理节点内存储的故障数据块对应的数据块信息;接收管理节点发送的第二移除命令;移除数据节点内存储的故障数据块对应的数据块信息,并基于故障数据块对应的存储副本屏蔽故障数据块。本发明可以显著降低数据块故障的影响范围,降低了磁盘故障的处理力度,而且有效降低了数据恢复操作和数据均衡操作的频率。

Description

分布式存储系统的磁盘故障处理方法、装置及服务器
技术领域
本发明涉及计算机技术领域,尤其是涉及一种分布式存储系统的磁盘故障处理方法、装置及服务器。
背景技术
分布式存储系统是一种通过将数据分散存储在多台独立的设备上,从而缓冲本地数据,进而降低网络压力的系统。目前,相关技术提出,可以通过部署运维工具检测分布式存储系统中的磁盘异常信息(诸如,磁盘存在坏块等),当捕捉到磁盘异常信息时,运维工具将对磁盘进行下盘处理,对于因坏块引发的下盘处理将导致整个磁盘存储的数据失效,从而引发大量数据恢复操作,而且下盘处理后的磁盘相当于空磁盘,若分布式存储系统内其他磁盘内存有数据,将对分布式存储系统的均衡性造成不利影响。
发明内容
有鉴于此,本发明的目的在于提供一种分布式存储系统的磁盘故障处理方法、装置及服务器,可以显著降低数据块故障的影响范围,降低了磁盘故障的处理力度,而且有效降低了数据恢复操作和数据均衡操作的频率。
第一方面,本发明实施例提供了一种分布式存储系统的磁盘故障处理方法,方法应用于分布式存储系统的数据节点,数据节点配置有至少一个磁盘,每个磁盘均包括至少一个数据块,分布式存储系统还包括管理节点,方法包括:当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,以移除管理节点内存储的故障数据块对应的数据块信息;其中,第一移除命令携带有故障数据块的数据块标识;接收管理节点发送的第二移除命令;移除数据节点内存储的故障数据块对应的数据块信息,并基于故障数据块对应的存储副本屏蔽故障数据块;其中,存储副本存储在故障数据块所属磁盘中。
在一种实施方式中,基于故障数据块对应的存储副本屏蔽故障数据块的步骤,包括:对故障数据块的存储副本执行重命名操作得到重命名副本,并将重命名副本存储至指定路径;其中,指定路径设置于故障数据块所属磁盘。
在一种实施方式中,在将重命名副本存储至指定路径的步骤之后,方法包括:统计指定路径中存储的重命名副本的副本数量;判断副本数量是否大于预设数量阈值;如果是,将故障数据块所属磁盘确定为故障磁盘,并屏蔽故障磁盘。
在一种实施方式中,屏蔽故障磁盘的步骤,包括:向管理节点发送磁盘异常事件对应的第三移除命令,以移除管理节点内存储的故障磁盘对应的磁盘信息;其中,第三移除命令携带有故障磁盘的磁盘标识;接收管理节点发送的第四移除命令;移除数据节点内存储的故障磁盘对应的磁盘信息。
在一种实施方式中,在当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令的步骤之前,方法还包括:如果监听到针对于数据块的指定操作,生成第一校验码;判断第一校验码与数据块对应的第二校验码是否一致;如果否,将数据块确定为故障数据块,并触发数据块异常事件。
在一种实施方式中,在基于故障数据块对应的存储副本屏蔽故障数据块的步骤之后,方法还包括:生成故障数据块对应的第一屏蔽结果,并将第一屏蔽结果发送至管理节点,以使管理节点针对故障数据块执行恢复操作。
在一种实施方式中,在移除数据节点内存储的故障磁盘对应的磁盘信息的步骤之后,方法包括:生成故障磁盘对应的第二屏蔽结果,并将第二屏蔽结果发送至管理节点,以使管理节点针对故障磁盘执行恢复操作。
第二方面,本发明实施例还提供一种分布式存储系统的磁盘故障处理装置,装置应用于分布式存储系统的数据节点,数据节点配置有至少一个磁盘,每个磁盘均包括至少一个数据块,分布式存储系统还包括管理节点,装置包括:命令发送模块,当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,以移除管理节点内存储的故障数据块对应的数据块信息;其中,第一移除命令携带有故障数据块的数据块标识;命令接收模块,接收管理节点发送的第二移除命令;故障屏蔽模块,移除数据节点内存储的故障数据块对应的数据块信息,并基于故障数据块对应的存储副本屏蔽故障数据块;其中,存储副本存储在故障数据块所属磁盘中。
第三方面,本发明实施例还提供一种服务器,包括处理器和存储器,存储器存储有能够被处理器执行的计算机可执行指令,处理器执行计算机可执行指令以实现第一方面提供的任一项的方法。
第四方面,本发明实施例还提供一种计算机可读存储介质,计算机可读存储介质存储有计算机可执行指令,计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现第一方面提供的任一项的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的一种分布式存储系统的磁盘故障处理方法、装置及服务器,其中,分布式存储系统包括管理节点(存储有数据块信息)以及数据节点(存储有数据块信息),数据节点包括多个磁盘,每个磁盘又包括多个数据块以及数据块对应的存储副本,该方法在检测到触发数据块异常事件时,通过移除管理节点以及数据节点中存储的故障数据块对应的数据块信息,并基于故障数据块所属磁盘中存储的存储副本对故障数据块进行屏蔽。上述方法在检测到数据块异常事件时,由于故障数据块只影响单个存储副本,因此将针对故障数据块进行屏蔽处理,相较于相关技术中针对整个磁盘进行下盘处理,本发明实施例可以显著降低磁盘故障的处理力度,显著降低数据块故障的影响范围,而且无需对整个磁盘进行数据恢复操作和数据均衡操作,从而有效降低了数据恢复操作和数据均衡操作的频率。
本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种存储集群的结构示意图;
图2为本发明实施例提供的一种分布式存储系统的磁盘故障处理方法的流程示意图;
图3为本发明实施例提供的另一种分布式存储系统的磁盘故障处理方法的流程示意图;
图4为本发明实施例提供的另一种分布式存储系统的磁盘故障处理方法的流程示意图;
图5为本发明实施例提供的一种分布式存储系统的磁盘故障处理装置的结构示意图;
图6为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合实施例对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,通过对象存储为用户提供海量、低成本、强安全、高可靠的分布式云存储服务,并为客户解决存储扩容、数据可靠安全以及分布式访问等相关复杂问题;利用底层存储系统(Storage System)存储用户的真实数据,并为对象存储前端提供并发、高可靠、强安全的数据读写功能。针对数据存储在磁盘上的存储系统,当磁盘产生坏块时,通过系统格式化将坏块屏蔽,从而选择正常的数据块进行存储,在处理存在数据的坏块时会导致数据的损坏,对象存储系统通过对数据生成校验码并存储检测到的坏块的数据异常,并且,通过内核检测磁盘的异常以及打印相应的日志,现有技术通过底层存储系统对内核错误日志进行捕捉,并将故障的磁盘信息捕捉后录入到运维的系统,通过运维的系统和流程保证故障磁盘的下线以及后续的流程。
现有的分布式存储系统通过部署工具检测内核对应的错误日志,并将感知到的磁盘故障录入数据库中,利用运维工具对异常磁盘进行下盘处理,将下盘信号发送到存储系统的管理节点,从而剔除磁盘故障,针对检测到异常的磁盘进行修复,将坏块屏蔽掉,在将磁盘格式化后加入到系统中,在这种分布式存储系统的磁盘故障处理方法中,坏块的影响范围较大,从而引发大量的数据恢复操作,进而增加集群带宽以及磁盘读写压力,并且,屏蔽的磁盘在移除信息后以空磁盘的形式重新加入系统中,从而使机器以及集群均产生不均衡的问题。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种分布式存储系统进行详细介绍,该方法应用于分布式存储系统的数据节点,用于对分布式存储系统中出现的磁盘故障进行故障处理,为便于对分布式存储系统进行理解,本发明实施例提供了一种分布式存储系统的结构示意图,如图1所示,分布式存储系统的包括管理节点和多个数据节点,数据节点配置有至少一个磁盘,每个磁盘均包括至少一个数据块(Block),数据块为分布式存储系统中的一种存储单位,管理节点包含数据块的数据块信息,数据块信息可以包括数据块标识(诸如,名称信息)、数据块所属磁盘、磁盘所属数据节点等元数据,响应针对分布式存储系统的磁盘故障发出的移除命令在管理节点与数据节点之间传递。
基于图1所示的分布式存储系统的结构示意图,本发明实施例对分布式存储系统的磁盘故障处理方法进行详细介绍,参见图2所示的一种分布式存储系统的磁盘故障处理方法的流程示意图,该方法主要包括以下步骤S202至步骤S206:
步骤S202,当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,以移除管理节点内存储的故障数据块对应的数据块信息。其中,第一移除命令携带有故障数据块的数据块标识,数据块标识可以为数据块ID(IdentityDocument,身份标识)等,数据块异常事件用于表征磁盘存在故障数据块(可简称为,坏块)。
在一种实施方式中,在用户读/写数据、周期性数据自检以及系统读/写数据(如EC,Compaction)等能够发现坏块的场景下,当检测到触发异常事件时,判断异常事件的类型为磁盘整体异常事件或数据块异常事件,当确定检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,通过数据块异常事件对应的第一移除命令指明异常事件由坏块导致,并移除管理节点内存储的故障数据块对应的数据块信息,从而进行后续对故障数据块的存储副本执行重命名操作,其中,管理节点内存储的故障数据块对应的数据块信息包括数据块的名称信息等信息。
步骤S204,接收管理节点发送的第二移除命令。其中,第二移除命令也可携带有故障数据块的数据块标识,也即第二移除命令与第一移除命令可以为同一命令。在一种实施方式中,当管理节点移除自身存储的数据块信息后,会将第二移除命令反馈至数据节点,以使数据节点移除故障数据块对应的数据块信息。
步骤S206,移除数据节点内存储的故障数据块对应的数据块信息,并基于故障数据块对应的存储副本屏蔽故障数据块。其中,存储副本存储在故障数据块所属磁盘中,存储副本(Replica)可以理解为数据块的逻辑组织形式,在实际应用中,分布式存储系统可以配置多副本结构,例如,当为三副本结构时,每个数据块将包含三个Replica。在一种实施方式中,数据节点接收到上述第二移除命令时,将移除自身存储的故障数据块对应的数据块信息,通过重命名故障数据块对应的存储副本并将重命名后的存储副本放置至指定路径,以达到屏蔽该故障数据块的效果。
本发明实施例还提供了一种触发数据块异常事件的实施方式,具体的参见如下(1)至(3):
(1)如果监听到针对于数据块的指定操作,生成第一校验码。其中,指定操作可以包括用户读写数据操作、周期性数据自检操作、系统读写数据操作,在EC(Erasure Code,纠删码)或 Compaction等场景下可能发生系统读写数据操作。在一种实施方式中,当监听到上述任一操作时,数据节点将生成该数据块对应的第一校验码。
(2)判断第一校验码与数据块对应的第二校验码是否一致。为提高数据存储安全性,数据节点存储有每个数据块对应的第二校验码,在实际应用中,可以将上述第一校验码与该数据块对应的第二校验码进行比对,如果第一校验码与第二校验码一致,即可正常读写该数据块内存储的数据,并确定该数据块不存在故障,反之确定数据块存在故障。
(3)如果否,将数据块确定为故障数据块,并触发数据块异常事件。示例性的,当该数据块对应的第一校验码和第二校验码不一致时,数据节点将确定该数据块存在异常,调度Replica异常事件(也即,前述数据块异常事件),数据节点将向管理节点发送DropReplica命令(也即,上述第一移除命令)。
对于前述步骤S206,本发明实施例还提供了一种基于故障数据块对应的存储副本屏蔽故障数据块的实施方式,可以对故障数据块的存储副本执行重命名操作得到重命名副本,并将重命名副本存储至指定路径。其中,指定路径设置于故障数据块所属磁盘。在一种实施方式中,当数据节点接收到管理节点下发的DropReplica命令时,将执行DropReplica操作,DropReplica操作包括重命名(Rename)操作和移动操作,Rename操作用于重命名Replica,移动操作用于将重命名后的Replica移至指定路径。对于少量的磁盘错误,本发明实施例采用比较巧妙的Rename操作将其屏蔽,而不是将整个磁盘(Disk)置为不可用,降低了磁盘故障处理力度,由于坏块只影响单个Replica,因此本发明实施例可以将坏块的影响范围从T降低到G级别,降低了几个数量级。
在一种实施方式中,本发明实施例在执行上述步骤S206时,还可以生成故障数据块对应的第一屏蔽结果,并将第一屏蔽结果发送至管理节点,以使管理节点针对故障数据块执行恢复操作。其中,第一屏蔽结果也即数据节点针对故障数据块的处理结果,用于表征数据节点已屏蔽故障数据块。在一种实施方式中,管理节点接收到第一屏蔽结果后,将触发恢复操作,恢复操作用于在集群内针对故障数据块再次恢复一个新Replica,以保证集群稳定性。
考虑到当磁盘中存在较多故障数据块时,将影响该磁盘的使用,因此,可以通过统计指定路径中存储的重命名副本的副本数量,并判断副本数量是否大于预设数量阈值,当判断结果为是时将故障数据块所属磁盘确定为故障磁盘,并屏蔽故障磁盘。在一种实施方式中,可以在启动加载数据节点时,对数据节点中每个磁盘各自的指定存储路径存储的Replica数量进行统计,以确定每个磁盘被屏蔽掉的Replica数量。另外,还可以预先配置数量阈值max_bad_replica_count,当某磁盘的指定存储路径存储的Replica数量超过数量阈值时,将触发屏蔽该磁盘的操作。
实际应用中,通过统计指定路径中存储的重命名副本的副本数量,在判断重命名副本数量小于等于阈值时,对坏块影响的单个数据块进行故障处理,在判断重命名副本数量大于阈值时,对磁盘整体进行故障处理,移除数据节点内存储的故障磁盘对应的磁盘信息,从而降低磁盘故障的处理力度,对于少量的磁盘错误,将坏块的影响控制在单个数据块内,从而将坏块的影响范围从T级别到G级别降低了几个数量级。
为便于对上述实施例提供的分布式存储系统的磁盘故障处理方法进行理解,本发明实施例提供了一种分布式存储系统的磁盘故障处理方法的应用示例,参见图3所示的另一种分布式存储系统的磁盘故障处理方法的流程示意图,该方法主要包括以下步骤S302至步骤S314:
步骤S302,检测到数据校验码不一致,底层存储系统触发一个Replica异常事件。其中,底层存储系统即为上述分布式存储系统,是云对象存储的底层存储系统,Replica异常事件即为上述数据块异常事件,具体检测过程可见前述实施例,本发明实施例在此不再赘述。
步骤S304,调度Replica异常事件,并向管理节点发送DropReplica命令。其中,DropReplica命令即为上述第一移除命令,在一种实施方式中,可通过DropReplica命令移除管理节点内存储的故障数据块对应的数据块数据块名称等信息。
步骤S306,管理节点向数据节点下发DropReplica命令。在一种实施方式中,DropReplica命令携带有故障数据块的数据块标识,可通过DropReplica命令移除数据节点内存储的故障数据块对应的数据块信息。
步骤S308,数据节点执行DropReplica命令,移除Block相关信息,将坏块的Replica通过Rename放置于指定路径。其中,Block即为上述数据块,为分布式存储系统的最小存储单元,坏块的Replica在管理节点移除了名称信息,并在数据节点重命名后放置于指定路径。
步骤S310,将处理结果返回给管理节点使管理节点恢复触发,在集群内对Block再次恢复一个新的Replica。在一种实施方式中,通过在集群内对Block再次恢复一个新的Replica,从而使系统的稳定性得到提升。
步骤S312,统计指定路径重命名的副本数量。其中,指定路径设置于故障数据块所属磁盘。
步骤S314,当副本数量大于预设数量阈值时,将坏块所属磁盘屏蔽。其中,具体的对磁盘整体屏蔽过程可见前述实施例,本发明实施例在此不再赘述。
在前述实施例的基础上,本发明实施例还提供了一种屏蔽故障磁盘的实施方式,参见如下步骤1至步骤2:
步骤1,向管理节点发送磁盘异常事件对应的第三移除命令,以移除管理节点内存储的故障磁盘对应的磁盘信息。其中,第三移除命令携带有故障磁盘的磁盘标识,磁盘标识可以为磁盘ID,磁盘信息可以包括磁盘ID、磁盘所属数据节点等元数据。在一种实施方式中,当Replica数量超过数量阈值时,将触发磁盘异常事件(也可称之为,Disk异常事件),数据节点将向管理节点发送第四移除命令(也可称之为,DropDisk命令),以使管理节点移除内存中故障磁盘的磁盘信息。另外,管理节点移除磁盘信息结束后,将DropDisk命令再次下发至数据节点。其中,第四移除命令也可携带有故障磁盘的磁盘标识,也即第四移除命令与第三移除命令可以为同一命令。
步骤2,通过接收管理节点发送的第四移除命令,移除数据节点内存储的故障磁盘对应的磁盘信息,从而对故障磁盘进行屏蔽。在一种实施方式中,数据节点在接收到DropDisk命令时,将执行DropDisk操作,将内存中存储的磁盘信息移除,即可屏蔽该故障磁盘。
进一步的,在屏蔽故障磁盘之后,还可以生成故障磁盘对应的第二屏蔽结果,并将第二屏蔽结果发送至管理节点,以使管理节点针对故障磁盘执行恢复操作,在集群内对磁盘包含的Block再次恢复所有的数据,从而使集群稳定性大幅提升。
为便于对上述实施例提供的分布式存储系统的磁盘故障处理方法进行理解,本发明实施例提供了另一种分布式存储系统的磁盘故障处理方法,参见图4所示的另一种分布式存储系统的磁盘故障处理方法的流程示意图,该方法主要包括以下步骤S402至步骤S410:
步骤S402,检测到磁盘整体故障,底层存储系统触发一个Disk异常事件。其中,底层存储系统即为上述分布式存储系统,是云对象存储的底层存储系统,Disk异常事件即为上述磁盘异常事件,具体检测过程可见前述实施例,本发明实施例在此不再赘述。
步骤S404,调度Disk异常事件,并向管理节点发送DropDisk命令。其中,DropDisk命令即为上述第三移除命令,在一种实施方式中,可通过DropDisk命令移除管理节点内存储的故障磁盘对应的磁盘信息并携带有故障磁盘的磁盘标识。
步骤S406,管理节点向数据节点下发DropDisk命令。在一种实施方式中,可通过DropDisk命令移除数据节点内存储的故障磁盘对应的磁盘信息并携带有故障磁盘的磁盘标识。
步骤S408,数据节点执行DropDisk命令,移除内存中Disk相关信息。在一种实施方式中,数据节点执行DropDisk操作,将故障磁盘格式化后再加入到系统中。
步骤S410,将处理结果返回给管理节点使管理节点恢复触发,在集群内对Block再次恢复所有的数据。其中,Block即为上述数据块,为分布式存储系统的最小存储单元。
综上所述,本发明实施例提供的上述磁盘故障处理方法,至少具备以下特点:
(1)降低了磁盘故障的处理力度,坏块只影响单个Replica,将坏块的影响范围从T降低到G级别,降低了几个数量级;
(2)避免了频繁的数据恢复和数据均衡的操作,大幅度的降低了系统的带宽和网络压力;
(3)将磁盘的错误处理内置到系统中,避免了对外部系统的依赖,实时性和可靠性都有比较大的提升,运维复杂度大幅度降低。
对于前述实施例提供的分布式存储系统的磁盘故障处理方法,本发明实施例提供了一种分布式存储系统的磁盘故障处理装置,该方法应用于分布式存储系统的数据节点,数据节点配置有至少一个磁盘,每个磁盘均包括至少一个数据块,分布式存储系统还包括管理节点,参见图5所示的一种分布式存储系统的磁盘故障处理装置的结构示意图,该装置包括以下部分:
命令发送模块502,当检测到触发数据块异常事件时,向管理节点发送数据块异常事件对应的第一移除命令,以移除管理节点内存储的故障数据块对应的数据块信息;其中,第一移除命令携带有故障数据块的数据块标识;
命令接收模块504,接收管理节点发送的第二移除命令;
故障屏蔽模块506,移除数据节点内存储的故障数据块对应的数据块信息,并基于故障数据块对应的存储副本屏蔽故障数据块;其中,存储副本存储在故障数据块所属磁盘中。
本发明实施例提供的上述分布式存储系统的磁盘故障处理装置,在检测到触发数据块异常事件时,通过移除管理节点以及数据节点中存储的故障数据块对应的数据块信息,并基于故障数据块所属磁盘中对应的存储副本,将故障数据块通过重命名的方式屏蔽,并将重命名副本存储至指定路径,此外,通过统计指定路径中存储的重命名副本的副本数量,在判断重命名副本数量小于等于阈值时,对坏块影响的单个数据块进行故障处理,在判断重命名副本数量大于阈值时,对磁盘整体进行故障处理,移除数据节点内存储的故障磁盘对应的磁盘信息,从而降低磁盘故障的处理力度,对于少量的磁盘错误,将坏块的影响控制在单个数据块内,从而将坏块的影响范围从T级别到G级别降低了几个数量级。
在一种实施方式中,故障屏蔽模块506还用于:对故障数据块的存储副本执行重命名操作得到重命名副本,并将重命名副本存储至指定路径;其中,指定路径设置于故障数据块所属磁盘。
在一种实施方式中,故障屏蔽模块506还用于:统计指定路径中存储的重命名副本的副本数量;判断副本数量是否大于预设数量阈值;如果是,将故障数据块所属磁盘确定为故障磁盘,并屏蔽故障磁盘。
在一种实施方式中,故障屏蔽模块506还用于:向管理节点发送磁盘异常事件对应的第三移除命令,以移除管理节点内存储的故障磁盘对应的磁盘信息;其中,第三移除命令携带有故障磁盘的磁盘标识;接收管理节点发送的第四移除命令;移除数据节点内存储的故障磁盘对应的磁盘信息。
在一种实施方式中,上述装置还包括事件触发模块,用于:如果监听到针对于数据块的指定操作,生成第一校验码;判断第一校验码与数据块对应的第二校验码是否一致;如果否,将数据块确定为故障数据块,并触发数据块异常事件。
在一种实施方式中,上述装置还包括恢复模块,用于:生成故障数据块对应的第一屏蔽结果,并将第一屏蔽结果发送至管理节点,以使管理节点针对故障数据块执行恢复操作。
在一种实施方式中,恢复模块还用于:生成故障磁盘对应的第二屏蔽结果,并将第二屏蔽结果发送至管理节点,以使管理节点针对故障磁盘执行恢复操作。
本发明实施例所提供的装置,其实现原理及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供了一种服务器,具体的,该服务器包括处理器和存储器;存储器上存储有计算机程序,计算机程序在被所述处理器运行时执行如上所述实施方式的任一项所述的方法 。
图6为本发明实施例提供的一种服务器的结构示意图,该服务器100包括:处理器60,存储器61,总线62和通信接口63,所述处理器60、通信接口63和存储器61通过总线62连接;处理器60用于执行存储器61中存储的可执行模块,例如计算机程序。
其中,存储器61可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口63(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。
总线62可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
其中,存储器61用于存储程序,所述处理器60在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的装置所执行的方法可以应用于处理器60中,或者由处理器60实现。
处理器60可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器60中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器60可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital SignalProcessing,简称DSP)、专用集成电路(Application Specific Integrated Circuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器61,处理器60读取存储器61中的信息,结合其硬件完成上述方法的步骤。
本发明实施例所提供的可读存储介质的计算机程序产品,包括存储了程序代码的计算机可读存储介质,所述程序代码包括的指令可用于执行前面方法实施例中所述的方法,具体实现可参见前述方法实施例,在此不再赘述。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (9)

1.一种分布式存储系统的磁盘故障处理方法,其特征在于,所述方法应用于分布式存储系统的数据节点,所述数据节点配置有至少一个磁盘,每个所述磁盘均包括至少一个数据块,所述分布式存储系统还包括管理节点,所述方法包括:
当检测到触发数据块异常事件时,向所述管理节点发送所述数据块异常事件对应的第一移除命令,以移除所述管理节点内存储的故障数据块对应的数据块信息;其中,所述第一移除命令携带有所述故障数据块的数据块标识;
接收所述管理节点发送的第二移除命令;
移除所述数据节点内存储的所述故障数据块对应的数据块信息,并基于所述故障数据块对应的存储副本屏蔽所述故障数据块;其中,所述存储副本存储在所述故障数据块所属磁盘中;
所述基于所述故障数据块对应的存储副本屏蔽所述故障数据块的步骤,包括:对所述故障数据块的存储副本执行重命名操作得到重命名副本,并将所述重命名副本存储至指定路径;其中,所述指定路径设置于所述故障数据块所属磁盘。
2.根据权利要求1所述的方法,其特征在于,在所述将所述重命名副本存储至指定路径的步骤之后,所述方法包括:
统计所述指定路径中存储的所述重命名副本的副本数量;
判断所述副本数量是否大于预设数量阈值;
如果是,将所述故障数据块所属磁盘确定为故障磁盘,并屏蔽所述故障磁盘。
3.根据权利要求2所述的方法,其特征在于,所述屏蔽所述故障磁盘的步骤,包括:
向所述管理节点发送磁盘异常事件对应的第三移除命令,以移除所述管理节点内存储的所述故障磁盘对应的磁盘信息;其中,所述第三移除命令携带有所述故障磁盘的磁盘标识;
接收所述管理节点发送的第四移除命令;
移除所述数据节点内存储的所述故障磁盘对应的磁盘信息。
4.根据权利要求1所述的方法,其特征在于,在所述当检测到触发数据块异常事件时,向所述管理节点发送所述数据块异常事件对应的第一移除命令的步骤之前,所述方法还包括:
如果监听到针对于所述数据块的指定操作,生成第一校验码;
判断所述第一校验码与所述数据块对应的第二校验码是否一致;
如果否,将所述数据块确定为故障数据块,并触发数据块异常事件。
5.根据权利要求1所述的方法,其特征在于,在所述基于所述故障数据块对应的存储副本屏蔽所述故障数据块的步骤之后,所述方法还包括:
生成所述故障数据块对应的第一屏蔽结果,并将所述第一屏蔽结果发送至所述管理节点,以使所述管理节点针对所述故障数据块执行恢复操作。
6.根据权利要求3所述的方法,其特征在于,在所述移除所述数据节点内存储的所述故障磁盘对应的磁盘信息的步骤之后,所述方法包括:
生成所述故障磁盘对应的第二屏蔽结果,并将所述第二屏蔽结果发送至所述管理节点,以使所述管理节点针对所述故障磁盘执行恢复操作。
7.一种分布式存储系统的磁盘故障处理装置,其特征在于,所述装置应用于分布式存储系统的数据节点,所述数据节点配置有至少一个磁盘,每个所述磁盘均包括至少一个数据块,所述分布式存储系统还包括管理节点,所述装置包括:
命令发送模块,当检测到触发数据块异常事件时,向所述管理节点发送所述数据块异常事件对应的第一移除命令,以移除所述管理节点内存储的故障数据块对应的数据块信息;其中,所述第一移除命令携带有所述故障数据块的数据块标识;
命令接收模块,接收所述管理节点发送的第二移除命令;
故障屏蔽模块,移除所述数据节点内存储的所述故障数据块对应的数据块信息,并基于所述故障数据块对应的存储副本屏蔽所述故障数据块;其中,所述存储副本存储在所述故障数据块所属磁盘中;
所述故障屏蔽模块还用于:对所述故障数据块的存储副本执行重命名操作得到重命名副本,并将所述重命名副本存储至指定路径;其中,所述指定路径设置于所述故障数据块所属磁盘。
8.一种服务器,其特征在于,包括处理器和存储器,所述存储器存储有能够被所述处理器执行的计算机可执行指令,所述处理器执行所述计算机可执行指令以实现权利要求1至6任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令在被处理器调用和执行时,计算机可执行指令促使处理器实现权利要求1至6任一项所述的方法。
CN202210298450.8A 2022-03-25 2022-03-25 分布式存储系统的磁盘故障处理方法、装置及服务器 Active CN114415970B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210298450.8A CN114415970B (zh) 2022-03-25 2022-03-25 分布式存储系统的磁盘故障处理方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210298450.8A CN114415970B (zh) 2022-03-25 2022-03-25 分布式存储系统的磁盘故障处理方法、装置及服务器

Publications (2)

Publication Number Publication Date
CN114415970A CN114415970A (zh) 2022-04-29
CN114415970B true CN114415970B (zh) 2022-06-17

Family

ID=81264211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210298450.8A Active CN114415970B (zh) 2022-03-25 2022-03-25 分布式存储系统的磁盘故障处理方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN114415970B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116662081B (zh) * 2023-08-01 2024-02-27 苏州浪潮智能科技有限公司 一种分布式存储冗余方法、装置、电子设备和存储介质

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101944065B (zh) * 2010-08-24 2012-07-04 苏州国芯科技有限公司 一种基于扇区的闪存坏块屏蔽方法
CN103207867B (zh) * 2012-01-16 2019-04-26 联想(北京)有限公司 处理数据块的方法、发起恢复操作的方法和节点
CN107544862B (zh) * 2016-06-29 2022-03-25 中兴通讯股份有限公司 一种基于纠删码的存储数据重构方法和装置、存储节点
CN106407033A (zh) * 2016-09-30 2017-02-15 郑州云海信息技术有限公司 一种磁盘故障处理方法及装置
CN108572883B (zh) * 2017-04-19 2021-06-18 北京金山云网络技术有限公司 一种数据正确性校验方法及装置
CN109582213B (zh) * 2017-09-29 2020-10-30 杭州海康威视系统技术有限公司 数据重构方法及装置、数据存储系统
CN111078121A (zh) * 2018-10-18 2020-04-28 深信服科技股份有限公司 一种分布式存储系统数据迁移方法、系统、及相关组件
CN111124264B (zh) * 2018-10-31 2023-10-27 伊姆西Ip控股有限责任公司 用于重建数据的方法、设备和计算机程序产品
CN112181299B (zh) * 2020-09-25 2022-02-25 杭州宏杉科技股份有限公司 数据修复方法及分布式存储集群
CN113051104B (zh) * 2021-03-11 2022-10-11 重庆紫光华山智安科技有限公司 基于纠删码的磁盘间数据恢复方法及相关装置
CN113282564B (zh) * 2021-07-24 2022-01-04 阿里云计算有限公司 数据存储方法、系统、节点和存储介质

Also Published As

Publication number Publication date
CN114415970A (zh) 2022-04-29

Similar Documents

Publication Publication Date Title
CN109328340B (zh) 内存故障的检测方法、装置和服务器
CN102135925B (zh) 用于检测错误检查和纠正内存的方法和装置
JP5965076B2 (ja) 訂正不能メモリエラー処理方法及びその可読媒体
WO2012119410A1 (zh) 一种检测数据可靠性的方法和装置
CN114415970B (zh) 分布式存储系统的磁盘故障处理方法、装置及服务器
CN110989938A (zh) 一种故障盘识别方法、装置、设备及计算机可读存储介质
CN112381649A (zh) 基于区块链的交易共识方法、装置及设备
CN108958965B (zh) 一种bmc监控可恢复ecc错误的方法、装置及设备
CN115016973A (zh) 一种程序崩溃事件复现方法、装置、设备和介质
CN107368330B (zh) 客户端补丁修复方法、装置和系统
CN115421984A (zh) 一种内存故障处理的方法、装置、电子设备及介质
CN112579327A (zh) 一种故障检测方法、装置及设备
CN111045858B (zh) 一种坏道处理方法及系统
CN109284331B (zh) 基于业务数据资源的制证信息获取方法、终端设备及介质
CN114860487A (zh) 一种内存故障识别方法及一种内存故障隔离方法
CN112650613B (zh) 一种错误信息处理方法、装置、电子设备及存储介质
CN112988442B (zh) 一种服务器运行阶段传送故障信息的方法和设备
CN115421960A (zh) 一种ue内存故障恢复方法、装置、电子设备及介质
CN112416891B (zh) 数据检测方法、装置、电子设备及可读存储介质
CN115470040A (zh) 基于快照的重删指纹阈值的测试方法、装置、设备、介质
CN113485872A (zh) 故障处理方法、装置及分布式存储系统
CN114416140A (zh) 一种基于ecu的升级方法及装置
CN112162909A (zh) 一种硬盘故障处理方法、装置、设备及机器可读存储介质
CN111124729A (zh) 一种故障盘判定方法、装置、设备及计算机可读存储介质
CN112306747B (zh) 一种raid卡故障处理方法及装置

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