CN103064765A - 数据恢复方法、装置及集群存储*** - Google Patents

数据恢复方法、装置及集群存储*** Download PDF

Info

Publication number
CN103064765A
CN103064765A CN2012105873715A CN201210587371A CN103064765A CN 103064765 A CN103064765 A CN 103064765A CN 2012105873715 A CN2012105873715 A CN 2012105873715A CN 201210587371 A CN201210587371 A CN 201210587371A CN 103064765 A CN103064765 A CN 103064765A
Authority
CN
China
Prior art keywords
storage
file
virtual volume
memory
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.)
Granted
Application number
CN2012105873715A
Other languages
English (en)
Other versions
CN103064765B (zh
Inventor
李立
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201210587371.5A priority Critical patent/CN103064765B/zh
Publication of CN103064765A publication Critical patent/CN103064765A/zh
Application granted granted Critical
Publication of CN103064765B publication Critical patent/CN103064765B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据恢复方法、装置及集群存储***,涉及存储技术领域。该方法包括:当集群存储***中出现故障存储装置时,查询故障存储装置所在存储节点的反向映射表,获取故障存储装置中存储的文件的信息;查询以故障存储装置所在存储节点为主节点的元数据虚拟卷,获取文件中未存储在故障存储装置的数据片;根据所获取的数据片恢复文件存储在故障存储装置上的数据片。本发明实施例的方法、装置及***在保持较为精细的粒度,实现块级的数据恢复和数据迁移,有效的控制负载均衡的同时,大大减少了数据扫描的量,且恢复性能非常高。

Description

数据恢复方法、装置及集群存储***
技术领域
本发明涉及存储技术领域,尤其涉及一种数据恢复方法、装置及集群存储***。
背景技术
随着计算技术以及网络技术的迅猛发展,数据存储的容量需求越来越大,同时也面临着不断增加的成本。为了满足容量的需求,存储***经历了从将多块存储器组合为独立存储服务器,到将多个独立存储服务器组合为集群存储的不断扩展。
大规模的集群存储***通常通过同轴电缆、网线、光纤等方式将大量的存储节点(存储服务器)连接起来,存储节点上通常拥有磁盘、固态硬盘(Solid State Device/Solid State Drive,SSD)等本地存储装置,用于存储数据,集群存储***通过标准的或者私有的接口和协议,为计算机主机提供存储服务。在提高了容量的同时,为了拥有较高的可靠性、性能和较低的成本,集群存储***通常会使用冗余磁盘阵列(Redundant Arraysof Inexpensive Disks,RAID)技术或者纠删码(Erasure Code,EC)技术对数据进行处理后才存入存储装置。即按照RAID/EC算法对文件数据进行分片,将每片数据存储到不同的存储服务器上的不同的存储装置中,这样可以保证部分存储节点或者部分存储装置出现故障时,数据不会丢失。同时当有存储节点或者存储装置出现不可修复的故障时,存储***会启动“数据恢复”的过程,利用剩余的存储节点和存储装置将丢失的部分数据恢复来重新存储。
为了达到数据恢复目标,存储***通常使用以下方法来组织数据:
存储***是以文件为组织单位,每个文件具有一个表示数据保护模式的属性,在文件存储时,根据其数据保护模式,对文件进行分片,然后存储到不同的存储节点的存储装置中,每个数据片的位置以及该文件的属性记录在文件的元数据中。在一个存储装置故障时,这类存储***通常会发起文件***的扫描,通过对文件***元数据的扫描,发现有失效的数据地址,然后根据元数据的记录,用RAID或EC算法将失效的数据块计算出来,并重写到一个新的有效位置,同时修改元数据中的数据块记录。
然而在确定对哪些文件进行数据恢复时,就需要扫描所有的文件元数据。这不仅带来了巨大的开销影响了整个***的性能,而且如果扫描的时间过久,这其中还会发生设备的再次故障,增加了数据丢失的风险。
发明内容
有鉴于此,本发明所要解决的问题是提供一种数据恢复方法、装置及集群存储***,能够保持以较精细的粒度实现块级的数据恢复和数据迁移,有效的控制负载均衡的同时,减小数据恢复时扫描开销小。
为了解决上述问题,第一方面,本发明实施例提供了一种数据恢复方法,所述方法应用在集群存储***中,所述集群存储***包含至少两个存储节点,所述方法包括:
当所述集群存储***中出现故障存储装置时,查询所述故障存储装置所在的存储节点中保存的反向映射表,通过所述反向映射表获取所述故障存储装置中存储的文件的信息,其中,所述文件被划分为至少两个数据片;
查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;
根据所述获取的数据片恢复所述文件存储在所述故障存储装置上的数据片。
结合第一方面,在第一种实现方式中,所述反向映射表存储于所述集群存储***中的每个存储节点中,用于记录特定的元数据虚拟卷所对应的存储装置和文件的对应关系,所述特定的元数据虚拟卷为以所述反向映射表所在的存储节点为主节点的元数据虚拟卷。
结合第一方面的第一种实现方式,在第二种实现方式中,所述反向映射表还包括多个反向映射子表,分别存储于对应的存储节点的各存储装置上,所述反向映射子表记录了其所在存储节点上存储的反向映射表中的部分内容。
结合第一方面的第二种实现方式,在第三种实现方式中,,还包括:
根据以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,恢复所述故障存储装置上的反向映射子表。
第二方面,本发明实施例提供了一种数据恢复装置,所述装置应用在集群存储***中,所述集群存储***包含至少两个存储节点,所述装置包括:
反向映射表查询单元,用于当所述集群存储***中出现故障存储装置时,查询所述故障存储装置所在存储节点的反向映射表,获取所述故障存储装置中存储的文件的信息,其中,所述文件被划分为至少两个数据片;
元数据虚拟卷查询单元,用于查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;
数据恢复单元,根据所获取的数据片恢复所述文件存储在所述故障存储装置上的数据片。
结合第二方面,在第一种实现方式中,所述反向映射表存储于每个存储节点中,用于记录特定的元数据虚拟卷所对应的存储装置和文件的对应关系,所述特定的元数据虚拟卷为以所述反向映射表所在的存储节点为主节点的元数据虚拟卷。
结合第二方面的第一种实现方式,在第二种实现方式中,所述反向映射表还包括多个反向映射子表,分别存储于对应的存储节点的各存储装置上,所述反向映射子表记录了其所在存储节点上存储的反向映射表中的部分内容。
结合第二方面的第二种实现方式,在第三种实现方式中,还包括:
维护单元,用于根据以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,恢复所述故障存储装置上的反向映射子表。
结合第二方面或第二方面的上述任一种实现方式,在第四种实现方式中,每个所述元数据虚拟卷对应至少一个存储装置,且其中一个存储装置所在存储节点为所述元数据虚拟卷的主节点,每个文件的元数据在元数据虚拟卷上具有预设数量的镜像,且每路镜像分别映射到不同的存储装置上;所述集群存储***中的每个存储节点分别为某个元数据虚拟卷的主节点。
第三方面,本发明实施例提供了一种集群存储***,所述集群存储***包含至少两个存储节点,所述集群存储***还包括第二方面或第二方面的上述任一种实现方式中的数据恢复装置。
本发明实施例的方法、装置及***在进行数据恢复时只需要查询反向映射表,即可以得到需要恢复的文件;通过分析少量的文件元数据,就能够迅速定位需要恢复的数据片,恢复性能较高。此外,由于每个存储节点都有一张反向映射表,各个存储节点可以开展并发的恢复,互不影响,这使得恢复性能非常高。
根据下面参考附图对示例性实施例的详细说明,本发明的其它特征及方面将变得清楚。
附图说明
包含在说明书中并且构成说明书的一部分的说明书附图与说明书一起示出了本发明的示例性实施例、特征和方面,并且用于解释本发明的原理。
图1应用本发明实施例提供的数据恢复方法的集群存储***的***架构示意图;
图2为本发明实施例的数据恢复方法流程图;
图3为本发明实施例的数据恢复方法的原理示意图;
图4为本发明实施例的数据恢复方法中的反向映射表示意图;
图5为本发明实施例的数据恢复方法中的元数据虚拟卷示意图;
图6为本发明实施例的数据恢复方法中根据元数据虚拟卷更新反向映射表的原理示意图;
图7为本发明实施例的数据恢复方法的另一种流程图;
图8为本发明实施例的数据恢复方法中的反向映射表结构示意图;
图9为本发明实施例的一种数据恢复装置的结构框图;
图10为本发明实施例的另一种数据恢复装置的结构框图;
图11为本发明实施例的再一种数据恢复装置的结构框图。
具体实施方式
以下将参考附图详细说明本发明的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本发明,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有这些具体细节,本发明同样可以实施。在另外一些实例中,对于大家熟知的方法、手段、元件和电路未作详细描述,以便于凸显本发明的主旨。
为了更好的理解本发明,先对文件的数据保护模式进行说明:数据的保护模式用于表示文件的数据是经过何种技术(RAID或EC)处理后才存储的。
例如,RAID0技术可以将文件的数据分摊存储到多个存储器上,从而达到容量的扩展,但是任一存储器的损坏会导致数据的部分丢失。RAID01技术可以在将数据存储到多个存储器上的同时保持每块数据存有两份,从而保证任一存储器坏掉都不会导致数据丢失,但是这样的存储利用率只有50%。RAID5技术将数据分片,每N片数据产生一片校验数据,将N+1片数据存储到多个存储器上,这样可以保证在任一存储器失效时数据不丢失的同时,存储利用率达到N/(N+1)。RAID6技术与RAID5类似,每N片数据产生2片校验数据,可以抵抗两个存储器的失效,存储利用率为N/(N+2)。EC算法是更为灵活的一种数据保护算法,可以从N片数据中产生(N+M)片数据,保证M片数据损坏后数据不会丢失,存储利用率为N/(N+M)。
此外,本发明实施例提供的数据恢复方法可以在集群存储***上实现,图1为应用本发明实施例提供的数据恢复方法的集群存储***的***架构示意图,如图1所示,该存储***包括三个服务器(每个服务器可以理解为一个存储节点):服务器1、服务器2和服务器3,需要说明的是,本发明实施例只是以三个服务器为例,并不限于三个服务器。
服务器可以包括当前技术已知的存储服务器,在服务器内部,安装有操作***以及其他应用程序。另外,在每个服务器中还包含三个存储装置,需要说明的是,本发明实施例只是以三个存储装置为例,并不限于三个存储装置。另外,在每个服务器内部还可以包括处理器、内存、I/O、缓存网络适配器等。
存储装置可以包括当前技术已知的存储装置,如磁盘、RAID、磁盘簇(Just a Bunch Of Disks,JB OD)、直接存取存储器(Direct Access Storage Device,DASD)的一个或多个互连的磁盘驱动器,诸如磁带库、一个或多个存储单元的磁带存储装置,还可以包括固态硬盘(Solid State Drive,SSD)等。
需要说明的是,对于大多数存储***而言,并不直接对操作***呈现存储装置所包含的物理磁盘本身,而是将各物理磁盘提供的存储空间映射为一段逻辑区域,即虚拟卷,供用户使用。
例如,如图1所示,虚拟卷1分别由服务器1、服务器2、服务器3所包含的物理磁盘映射而成。具体的,虚拟卷1包含3个分量,第一个分量来自服务器1中的物理磁盘,第二个分量来自服务器2中的物理磁盘,第三个分量来自服务器3中的物理磁盘,由于第一个分量是虚拟卷1的主分量,因此服务器1是虚拟卷1对应的主节点。
再如,虚拟卷2分别由服务器1、服务器2、服务器3所包含的物理磁盘映射而成。具体的,虚拟卷2包含3个分量,第一个分量来自服务器1中的物理磁盘,第二个分量来自服务器2中的物理磁盘,第三个分量来自服务器3中的物理磁盘,由于第二个分量是虚拟卷2的主分量,因此服务器2是虚拟卷2对应的主节点。
请参考图2,图2是本发明实施例的数据恢复方法,该方法包括:
S1.当集群存储***中出现故障存储装置时,查询所述故障存储装置所在存储节点的反向映射表,获取所述故障存储装置中存储的文件的信息,所述反向映射表中包括所述故障存储装置中存储的文件的信息,所述文件被划分为至少两个数据片;
S2.查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;由于文件的元数据中记录着文件的数据保护模式(文件存储时,根据其数据保护模式,对数据块进行分片)以及该文件的各数据片所存储的位置。因此,根据文件的元数据可以查询到文件的所有数据片所存储的位置,进而获取到该文件未存储在故障存储装置的数据片;
S3.根据所获取的数据片恢复所述各文件存储在所述故障存储装置上的数据片。
在现有技术中,在确定对哪些文件进行数据恢复时,需要扫描所有的文件元数据,带来巨大的开销,而本发明实施例的方法在存储装置故障的时候,通过查询故障存储装置所在的存储节点中保存的反向映射表,即可通过该反向映射表获取所述故障存储装置中存储的文件的信息,无需扫描所有的文件元数据,在查询到所述故障存储装置中存储的文件的信息之后,可以通过查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,通过这些数据片即可得到需要进行数据恢复的文件。因此,本发明实施例只需要查询反向映射表,即可以得到需要恢复的文件;通过分析少量的文件元数据,就能够迅速定位需要恢复的数据块,提高了恢复性能。
请参考图3,通过扫描以该存储节点为主节点的元数据虚拟卷的元数据,可以获取文件中未存储在故障存储装置的数据片,最终根据文件的数据保护模式进行数据恢复。假设集群存储***的存储节点数为n,全部文件的元数据将分散到该n个存储节点上,与传统的扫描所有文件的元数据相比,需要扫描的元数据量大概只占总文件的元数据的1/n。
具言之,所述反向映射表存储在所述集群存储***中的每个存储节点中,用于记录特定的以其所在的存储节点为主节点的元数据虚拟卷所对应的存储装置和该存储装置上所存储的文件的对应关系,该特定的元数虚拟卷即为以所述反向映射表所在的存储节点为主节点的元数据虚拟卷。在本发明实施例的方法中,反向映射表中所记录的表项内容可以为是多个(存储装置,文件)的二元关系对,即每个表项用于记录一个存储装置和在其上存储的一个文件一对一的对应关系;也可以是(存储装置,文件列表)的一对多关系组,即每个表项用于记录一个存储装置和在其上存储的全部文件的对应关系;或可以是(文件,存储装置列表)的一对多关系组,即每个表项用于记录一个文件和其所全部数据片所存储的全部存储装置的对应关系。反向映射表可以如图4所示。图中,Node代表存储节点,Disk代表存储节点上的磁盘,也即存储装置。所述元数据虚拟卷用于存储文件的元数据,在本发明实施例的方法中,文件的数据以RAID或EC的数据保护模式进行分片,各个数据片通过负载均衡的算法分散存放到不同的存储服务器的不同的存储装置上,并且将数据片所在的地址记录在文件的元数据中,而元数据则存放到元数据虚拟卷中,这样可以保持较为精细的粒度,使得本发明实施例的方法能够实现块级的数据恢复和数据迁移,有效的控制负载均衡。
并且,每个所述元数据虚拟卷对应至少一个存储装置(也即该元数据虚拟卷将其上存储的元数据映射到至少一个存储装置),且每个元数据虚拟卷所对应的存储装置中的一个所在的存储节点为所述元数据虚拟卷的主节点,主节点负责该元数据虚拟卷的操作,如读写、恢复、以及迁移等等。
需要说明的是,元数据虚拟卷并没有固定的保护模式的属性,可以采用多路镜像的方式存储元数据,如3路镜像、5路镜像等,每个文件的元数据在元数据虚拟卷上具有预设数量的镜像,且每路镜像分别映射到不同的存储装置上,以提高数据存储的安全性,保障在某个存储装置故障时,还存在用于恢复数据的参照。例如,若文件的数据保护模式为N+M的EC模式,或N+M的RAID模式,且该文件的预设数量的镜像为M+1。如图5所示,元数据虚拟卷-1对应5个存储装置成员,且成员0所在存储服务器为该元数据虚拟卷的主节点,该元数据虚拟卷-1存储了文件A、B、C的元数据,文件A包括三路镜像,且分别映射到成员0、成员1以及成员2上;文件B包括五路镜像,且分别映射到五个成员行;文件C包括四路镜像,且分别映射到除成员4的其它四个成员上。
需要说明的是,集群存储***中的每个存储节点分别为某个元数据虚拟卷的主节点。每个文件的元数据在存入到一个元数据虚拟卷后,此元数据虚拟卷的主节点负责将此文件添加到该存储节点上存储的反向映射表中,并根据文件的元数据中记录的数据片所处的存储装置,将其添加到反向映射表中,如图6所示,文件的元数据虚拟卷中记录了文件的ID(1112),文件的数据保护模式(3+1),文件数据的大小以及所划分的数据片的位置,在反向映射表中,以第一个表项为例,Disk0-0表示的是第0号存储节点的第0个磁盘(存储装置),以第三个表项为例,Disk-2-3表示的是第2号存储节点的第3个磁盘,其存储了文件1112的数据片,其它表项以此类推。
综上,本发明实施例的方法在保持较为精细的粒度,由于将文件划分为多个数据片存储,从而能够实现块(片)级的数据恢复和数据迁移,有效的控制负载均衡的同时,大大减少了数据扫描的量,只需要查询反向映射表,即可以得到需要恢复的文件;通过分析少量的文件元数据,就能够迅速定位需要恢复的数据块。由于每个存储节点都有一张反向映射表,并且由元数据虚拟卷的主节点保存,各个存储节点可以开展并发的恢复,互不影响,这使得恢复性能比较高。
如图7所示,本发明实施例的方法,在图2所示的各步骤的基础上还包括:
S4.按照负载均衡的原则为文件存储在所述故障存储装置上的数据片分配目标存储装置;
S5.将所述文件存储在所述故障存储装置上的数据片存储到所述目标存储装置;
S6.更新对应的元数据虚拟卷及反向映射表:更新文件的元数据,删除反向映射表中旧的映射关系,加入新的映射关系。
此外,在对文件进行访问时,可通过遍历该文件对应的元数据虚拟卷所在主节点上存储的反向映射表来找到目标文件对应的全部存储装置,为了提高访问性能,可将每个反向映射表划分为多个反向映射子表,完整的反向映射表存储在存储节点上,而每个反向映射子表则分别存储于对应存储节点的各存储装置上,如图8所示,用于记录其所在存储节点上存储的反向映射表中的部分内容,这样,在对文件进行访问时,可仅通过遍历反向映射子表来获取目标文件所对应的全部存储装置,相对于遍历整个反向映射表来讲缩短了时间,进而提高了访问性能。若存储装置的故障引起该存储装置上反向映射子表的丢失,则在根据完整的反向映射表进行数据恢复的同时,可根据以该故障存储装置所在存储节点为主节点的元数据虚拟卷,恢复该故障存储装置上的反向映射子表。
如图9所示,本发明实施例的数据恢复装置900包括:
反向映射表查询单元910,用于当集群存储***中出现故障存储装置时,查询所述故障存储装置所在存储节点的反向映射表,获取所述故障存储装置中存储的文件的信息,其中,所述文件被划分为至少两个数据片;
元数据虚拟卷查询单元920,用于查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;
数据恢复单元930,根据所获取的数据片恢复所述各文件存储在所述故障存储装置上的数据片。
本发明实施例的装置在保持较为精细的粒度,在进行数据恢复时只需要查询反向映射表,即可以得到需要恢复的文件;通过分析少量的文件元数据,就能够迅速定位需要恢复的数据块,恢复性能较高。此外,由于每个节点都有一张反向映射表,并且由元数据虚拟卷的主节点保存,各个存储节点可以开展并发的恢复,互不影响,这使得恢复性能非常高。
如图10所示,本发明实施例的装置1000在包括图9所示的各部分外还可包括:
重分配单元1040,用于按照负载均衡的原则为所述文件存储在所述故障存储装置上的数据片分配目标存储装置;
存储单元1050,用于将所述文件存储在所述故障存储装置上的数据片存储到所述目标存储装置;
维护单元1060,用于更新对应的元数据虚拟卷以及反向映射表。
如图11为本发明实施例提供的又一种数据恢复装置1100的结构示意图,本发明具体实施例并不对数据恢复装置的具体实现做限定。如图11所示,该数据恢复装置1100可以包括:
处理器(processor)1110、通信接口(CommunicationsInterface)1120、存储器(memory)1130、以及通信总线1140。其中:
处理器1110、通信接口1120、以及存储器1130通过通信总线1240完成相互间的通信。
通信接口1120,用于与比如客户端等的网元通信。
处理器1110,用于执行程序1132,具体可以执行上述图2至图8所示的方法实施例中的相关步骤。
具体地,程序1032可以包括程序代码,所述程序代码包括计算机操作指令。
处理器1110可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。
存储器1130,用于存放程序1132。存储器1130可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。程序1132具体可以包括:
反向映射表查询单元,用于当集群存储***中出现故障存储装置时,查询所述故障存储装置所在存储节点的反向映射表,获取所述故障存储装置中存储的文件的信息;
元数据虚拟卷查询单元,用于查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片;
数据恢复单元,根据所获取的数据片恢复所述各文件存储在所述故障存储装置上的数据片。
程序1132中各单元的具体实现可以参见图9至图10所示实施例中的相应单元,在此不赘述。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的设备和模块的具体工作过程,可以参考前述方法实施例中的对应过程描述,在此不再赘述。
此外,本发明还提供了一种如图1所示的集群存储***,该存储***中包括至少两个存储服务器(图1中所示为三个,但不限于此),还包括图9至图11中所示的数据恢复装置。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及方法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (10)

1.一种数据恢复方法,其特征在于,所述方法应用在集群存储***中,所述集群存储***包含至少两个存储节点,所述方法包括:
当所述集群存储***中出现故障存储装置时,查询所述故障存储装置所在的存储节点中保存的反向映射表,通过所述反向映射表获取所述故障存储装置中存储的文件的信息,其中,所述文件被划分为至少两个数据片;
查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;
根据所述获取的数据片恢复所述文件存储在所述故障存储装置上的数据片。
2.根据权利要求1所述的方法,其特征在于,所述反向映射表存储于所述集群存储***中的每个存储节点中,用于记录特定的元数据虚拟卷所对应的存储装置和文件的对应关系,所述特定的元数据虚拟卷为以所述反向映射表所在的存储节点为主节点的元数据虚拟卷。
3.根据权利要求2所述的方法,其特征在于,所述反向映射表还包括多个反向映射子表,分别存储于对应的存储节点的各存储装置上,所述反向映射子表记录了其所在存储节点上存储的反向映射表中的部分内容。
4.根据权利要求3所述的方法,其特征在于,还包括:
根据以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,恢复所述故障存储装置上的反向映射子表。
5.一种数据恢复装置,其特征在于,所述装置应用在集群存储***中,所述集群存储***包含至少两个存储节点,所述装置包括:
反向映射表查询单元,用于当所述集群存储***中出现故障存储装置时,查询所述故障存储装置所在存储节点的反向映射表,获取所述故障存储装置中存储的文件的信息,其中,所述文件被划分为至少两个数据片;
元数据虚拟卷查询单元,用于查询以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,获取所述文件中未存储在所述故障存储装置的数据片,所述元数据虚拟卷是用于存储文件的元数据的虚拟卷;
数据恢复单元,根据所获取的数据片恢复所述文件存储在所述故障存储装置上的数据片。
6.根据权利要求5所述的装置,其特征在于,所述反向映射表存储于每个存储节点中,用于记录特定的元数据虚拟卷所对应的存储装置和文件的对应关系,所述特定的元数据虚拟卷为以所述反向映射表所在的存储节点为主节点的元数据虚拟卷。
7.根据权利要求6所述的装置,其特征在于,所述反向映射表还包括多个反向映射子表,分别存储于对应的存储节点的各存储装置上,所述反向映射子表记录了其所在存储节点上存储的反向映射表中的部分内容。
8.根据权利要求7所述的装置,其特征在于,还包括:
维护单元,用于根据以所述故障存储装置所在存储节点为主节点的元数据虚拟卷,恢复所述故障存储装置上的反向映射子表。
9.根据权利要求5至8中任一项所述的装置,其特征在于,每个所述元数据虚拟卷对应至少一个存储装置,且其中一个存储装置所在存储节点为所述元数据虚拟卷的主节点,每个文件的元数据在元数据虚拟卷上具有预设数量的镜像,且每路镜像分别映射到不同的存储装置上;所述集群存储***中的每个存储节点分别为某个元数据虚拟卷的主节点。
10.一种集群存储***,所述集群存储***包含至少两个存储节点,其特征在于,所述集群存储***还包括权利要求5至9中任一项所述的数据恢复装置。
CN201210587371.5A 2012-12-28 2012-12-28 数据恢复方法、装置及集群存储*** Active CN103064765B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210587371.5A CN103064765B (zh) 2012-12-28 2012-12-28 数据恢复方法、装置及集群存储***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210587371.5A CN103064765B (zh) 2012-12-28 2012-12-28 数据恢复方法、装置及集群存储***

Publications (2)

Publication Number Publication Date
CN103064765A true CN103064765A (zh) 2013-04-24
CN103064765B CN103064765B (zh) 2015-12-02

Family

ID=48107398

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210587371.5A Active CN103064765B (zh) 2012-12-28 2012-12-28 数据恢复方法、装置及集群存储***

Country Status (1)

Country Link
CN (1) CN103064765B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324553A (zh) * 2013-06-21 2013-09-25 华为技术有限公司 数据恢复方法、***及装置
CN104484130A (zh) * 2014-12-04 2015-04-01 北京同有飞骥科技股份有限公司 一种横向扩展存储***的构建方法
CN104898542A (zh) * 2015-04-29 2015-09-09 河南职业技术学院 定位装置以及plc
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件***的数据恢复方法及装置
CN106575247A (zh) * 2014-08-13 2017-04-19 微软技术许可有限责任公司 计算集群的容错联盟
CN106686095A (zh) * 2016-12-30 2017-05-17 郑州云海信息技术有限公司 一种基于纠删码技术的数据存储方法及装置
CN107301133A (zh) * 2017-07-20 2017-10-27 郑州云海信息技术有限公司 一种构建丢失的FTL table的方法及装置
CN107391391A (zh) * 2017-07-19 2017-11-24 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘
CN109086010A (zh) * 2018-08-29 2018-12-25 郑州云海信息技术有限公司 一种在全闪存存储阵列上提升元数据可靠性的方法
CN109117317A (zh) * 2018-11-01 2019-01-01 郑州云海信息技术有限公司 一种集群故障恢复方法和相关装置
WO2019080370A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 一种数据读写方法、装置和存储服务器
CN110502184A (zh) * 2018-05-17 2019-11-26 杭州海康威视***技术有限公司 一种存储数据的方法、读取数据的方法、装置及***
CN110609797A (zh) * 2014-03-11 2019-12-24 亚马逊科技公司 基于块的存储的页面高速缓存存录
CN111625390A (zh) * 2020-05-28 2020-09-04 深圳市晶讯软件通讯技术有限公司 嵌入式设备故障恢复方法、装置、嵌入式设备及存储介质
CN111698330A (zh) * 2020-06-12 2020-09-22 北京金山云网络技术有限公司 存储集群的数据恢复方法、装置及服务器
CN112799882A (zh) * 2021-02-08 2021-05-14 上海交通大学 一种基于图算法的文件感知恢复方法及装置
CN113316770A (zh) * 2019-01-25 2021-08-27 华为技术有限公司 数据修复方法和装置
CN113821176A (zh) * 2021-09-29 2021-12-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质
US11290524B2 (en) 2014-08-13 2022-03-29 Microsoft Technology Licensing, Llc Scalable fault resilient communications within distributed clusters
CN114936188A (zh) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112286A (en) * 1997-09-19 2000-08-29 Silicon Graphics, Inc. Reverse mapping page frame data structures to page table entries
CN1542624A (zh) * 2003-04-29 2004-11-03 大唐移动通信设备有限公司 一种在Flash文件***中加快逻辑块映射速度的方法
CN101840364A (zh) * 2010-01-29 2010-09-22 成都市华为赛门铁克科技有限公司 一种恢复数据的方法及存储装置
CN101986276A (zh) * 2010-10-21 2011-03-16 成都市华为赛门铁克科技有限公司 文件存储方法、文件恢复方法、***及服务器
CN102024016A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种分布式文件***快速数据恢复的方法
CN102622185A (zh) * 2011-01-27 2012-08-01 北京东方广视科技股份有限公司 在多个存储单元中存储文件的方法以及存储分配方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6112286A (en) * 1997-09-19 2000-08-29 Silicon Graphics, Inc. Reverse mapping page frame data structures to page table entries
CN1542624A (zh) * 2003-04-29 2004-11-03 大唐移动通信设备有限公司 一种在Flash文件***中加快逻辑块映射速度的方法
CN101840364A (zh) * 2010-01-29 2010-09-22 成都市华为赛门铁克科技有限公司 一种恢复数据的方法及存储装置
CN101986276A (zh) * 2010-10-21 2011-03-16 成都市华为赛门铁克科技有限公司 文件存储方法、文件恢复方法、***及服务器
CN102024016A (zh) * 2010-11-04 2011-04-20 天津曙光计算机产业有限公司 一种分布式文件***快速数据恢复的方法
CN102622185A (zh) * 2011-01-27 2012-08-01 北京东方广视科技股份有限公司 在多个存储单元中存储文件的方法以及存储分配方法

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103324553A (zh) * 2013-06-21 2013-09-25 华为技术有限公司 数据恢复方法、***及装置
CN103324553B (zh) * 2013-06-21 2016-08-24 华为技术有限公司 数据恢复方法、***及装置
CN110609797B (zh) * 2014-03-11 2024-01-23 亚马逊科技公司 基于块的存储的页面高速缓存存录
CN110609797A (zh) * 2014-03-11 2019-12-24 亚马逊科技公司 基于块的存储的页面高速缓存存录
CN105335250A (zh) * 2014-07-28 2016-02-17 浙江大华技术股份有限公司 一种基于分布式文件***的数据恢复方法及装置
CN105335250B (zh) * 2014-07-28 2018-09-28 浙江大华技术股份有限公司 一种基于分布式文件***的数据恢复方法及装置
CN106575247A (zh) * 2014-08-13 2017-04-19 微软技术许可有限责任公司 计算集群的容错联盟
US11290524B2 (en) 2014-08-13 2022-03-29 Microsoft Technology Licensing, Llc Scalable fault resilient communications within distributed clusters
CN106575247B (zh) * 2014-08-13 2020-05-15 微软技术许可有限责任公司 计算集群的容错联盟
CN104484130A (zh) * 2014-12-04 2015-04-01 北京同有飞骥科技股份有限公司 一种横向扩展存储***的构建方法
CN104898542A (zh) * 2015-04-29 2015-09-09 河南职业技术学院 定位装置以及plc
CN106686095A (zh) * 2016-12-30 2017-05-17 郑州云海信息技术有限公司 一种基于纠删码技术的数据存储方法及装置
CN107391391A (zh) * 2017-07-19 2017-11-24 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘
CN107391391B (zh) * 2017-07-19 2019-05-14 深圳大普微电子科技有限公司 在固态硬盘的ftl实现数据拷贝的方法、***及固态硬盘
CN107301133B (zh) * 2017-07-20 2021-01-12 苏州浪潮智能科技有限公司 一种构建丢失的FTL table的方法及装置
CN107301133A (zh) * 2017-07-20 2017-10-27 郑州云海信息技术有限公司 一种构建丢失的FTL table的方法及装置
WO2019080370A1 (zh) * 2017-10-25 2019-05-02 华为技术有限公司 一种数据读写方法、装置和存储服务器
US11397668B2 (en) 2017-10-25 2022-07-26 Huawei Technologies Co., Ltd. Data read/write method and apparatus, and storage server
CN110502184A (zh) * 2018-05-17 2019-11-26 杭州海康威视***技术有限公司 一种存储数据的方法、读取数据的方法、装置及***
CN110502184B (zh) * 2018-05-17 2021-01-05 杭州海康威视***技术有限公司 一种存储数据的方法、读取数据的方法、装置及***
CN109086010B (zh) * 2018-08-29 2021-12-17 郑州云海信息技术有限公司 一种在全闪存存储阵列上提升元数据可靠性的方法
CN109086010A (zh) * 2018-08-29 2018-12-25 郑州云海信息技术有限公司 一种在全闪存存储阵列上提升元数据可靠性的方法
CN109117317A (zh) * 2018-11-01 2019-01-01 郑州云海信息技术有限公司 一种集群故障恢复方法和相关装置
CN113316770A (zh) * 2019-01-25 2021-08-27 华为技术有限公司 数据修复方法和装置
CN113316770B (zh) * 2019-01-25 2023-08-22 华为技术有限公司 数据修复方法和装置
CN111625390A (zh) * 2020-05-28 2020-09-04 深圳市晶讯软件通讯技术有限公司 嵌入式设备故障恢复方法、装置、嵌入式设备及存储介质
CN111625390B (zh) * 2020-05-28 2024-03-26 深圳市晶讯技术股份有限公司 嵌入式设备故障恢复方法、装置、嵌入式设备及存储介质
CN111698330A (zh) * 2020-06-12 2020-09-22 北京金山云网络技术有限公司 存储集群的数据恢复方法、装置及服务器
CN112799882A (zh) * 2021-02-08 2021-05-14 上海交通大学 一种基于图算法的文件感知恢复方法及装置
CN113821176A (zh) * 2021-09-29 2021-12-21 重庆紫光华山智安科技有限公司 一种数据迁移的处理方法、装置及存储介质
CN114936188A (zh) * 2022-05-30 2022-08-23 重庆紫光华山智安科技有限公司 数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN103064765B (zh) 2015-12-02

Similar Documents

Publication Publication Date Title
CN103064765B (zh) 数据恢复方法、装置及集群存储***
US11960777B2 (en) Utilizing multiple redundancy schemes within a unified storage element
US10789020B2 (en) Recovering data within a unified storage element
US10977124B2 (en) Distributed storage system, data storage method, and software program
US10365983B1 (en) Repairing raid systems at per-stripe granularity
EP3617867B1 (en) Fragment management method and fragment management apparatus
US10353787B2 (en) Data stripping, allocation and reconstruction
CN105573681B (zh) 一种ssd盘片内部raid组建方法及***
CN103534688B (zh) 数据恢复方法、存储设备和存储***
US8843704B2 (en) Stride based free space management on compressed volumes
CN104461390A (zh) 将数据写入叠瓦状磁记录smr硬盘的方法及装置
US10365845B1 (en) Mapped raid restripe for improved drive utilization
CN101916173A (zh) 一种基于raid的数据读写方法及其***
CN108733326B (zh) 一种磁盘处理方法及装置
CN101976181A (zh) 一种存储资源的管理方法及管理装置
US20080091916A1 (en) Methods for data capacity expansion and data storage systems
CN102135862B (zh) 一种磁盘存储***及其数据访问方法
US7996447B2 (en) Method and system for optimal file system performance
US11347414B2 (en) Using telemetry data from different storage systems to predict response time
CN101997919B (zh) 一种存储资源的管理方法及管理装置
US20210216403A1 (en) Dynamically adjusting redundancy levels of storage stripes
US20230229363A1 (en) Tiering Valid Data after a Disaster Recovery Operation
US11137915B2 (en) Dynamic logical storage capacity adjustment for storage drives
US11256428B2 (en) Scaling raid-based storage by redistributing splits
US11544005B2 (en) Storage system and processing method

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant