CN111124264B - 用于重建数据的方法、设备和计算机程序产品 - Google Patents
用于重建数据的方法、设备和计算机程序产品 Download PDFInfo
- Publication number
- CN111124264B CN111124264B CN201811289051.5A CN201811289051A CN111124264B CN 111124264 B CN111124264 B CN 111124264B CN 201811289051 A CN201811289051 A CN 201811289051A CN 111124264 B CN111124264 B CN 111124264B
- Authority
- CN
- China
- Prior art keywords
- disk
- data
- storage system
- unit
- data block
- 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
- 238000000034 method Methods 0.000 title claims abstract description 35
- 238000004590 computer program Methods 0.000 title abstract description 9
- 230000036541 health Effects 0.000 claims abstract description 37
- 238000013507 mapping Methods 0.000 claims abstract description 22
- 239000007787 solid Substances 0.000 claims description 8
- 230000009471 action Effects 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 35
- 230000008569 process Effects 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 4
- 238000013500 data storage Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013075 data extraction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- 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/20—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
- G06F11/2053—Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where persistent mass storage functionality or persistent mass storage control functionality is redundant
- G06F11/2094—Redundant storage or storage space
-
- 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/062—Securing 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/0703—Error 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/079—Root cause analysis, i.e. error or fault diagnosis
-
- 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/0671—In-line storage system
- G06F3/0673—Single storage device
- G06F3/0674—Disk device
- G06F3/0676—Magnetic disk device
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2201/00—Indexing scheme relating to error detection, to error correction, and to monitoring
- G06F2201/82—Solving problems relating to consistency
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本公开的实施例提供了用于重建数据的方法、设备和计算机程序产品。一种重建数据的方法包括获取与存储***的第一盘相关的健康状况信息,第一盘被划分为多个盘单元,健康状况信息指示多个盘单元中的第一盘单元的故障;基于针对存储***的数据块与存储位置之间的映射,确定被存储在第一盘单元中的数据块;以及将数据块重建到存储***的第二盘,同时维持被存储在第一盘中除第一盘单元之外的其他盘单元中的其他数据块的可访问性。通过这个方案,可以提高在盘部分故障时的数据重建效率,并且可以持续利用盘中未故障部分的存储空间而无需使盘暂时下线。
Description
技术领域
本公开的实施例涉及存储技术,并且更具体地,涉及用于重建数据的方法、电子设备和计算机程序产品。
背景技术
存储领域中的一个趋势是盘容量变得越来越大。例如,当前固态硬盘(SDD)设备提供6TB或更高的存储空间,并且硬盘驱动器(HDD)甚至可以达到大约60TB的存储。随着技术发展,盘容量还将继续扩大。数据重建是存储***中的一种重要的数据保护机制,涉及读取其它相关联数据用以重新生成故障盘中被破坏的数据,并且将经重新生成的数据存储到其他健康的盘中。随着盘容量的增大,数据重建将耗费更多的计算和内存资源,并且会耗费较长时间。在不同盘被分布在不同物理节点的存储***中,数据重建还涉及不同物理节点之间的数据传输,因而还需占用一定的网络资源。
发明内容
本公开的实施例提供了一种用于改进的重建数据的方案。
在本公开的第一方面,提供了一种重建数据的方法。该方法包括:获取与存储***的第一盘相关的健康状况信息,第一盘被划分为多个盘单元,健康状况信息指示多个盘单元中的第一盘单元的故障;基于针对存储***的数据块与存储位置之间的映射,确定被存储在第一盘单元中的数据块;以及将数据块重建到存储***的第二盘,同时维持被存储在第一盘中除第一盘单元之外的其他盘单元中的其他数据块的可访问性。
在本公开的第二方面,提供了一种电子设备。该电子设备包括处理器以及与处理器耦合的存储器,存储器具有存储于其中的指令,指令在被处理器执行时使设备执行动作,动作包括:获取与存储***的第一盘相关的健康状况信息,第一盘被划分为多个盘单元,健康状况信息指示多个盘单元中的第一盘单元的故障;基于针对存储***的数据块与存储位置之间的映射,确定被存储在第一盘单元中的数据块;以及将数据块重建到存储***的第二盘,同时维持被存储在第一盘中除第一盘单元之外的其他盘单元中的其他数据块的可访问性。
在本公开的第三方面,提供了一种计算机程序产品,计算机程序产品被有形地存储在计算机可读介质上并且包括计算机可执行指令,计算机可执行指令在被执行时使设备获取与存储***的第一盘相关的健康状况信息,第一盘被划分为多个盘单元,健康状况信息指示多个盘单元中的第一盘单元的故障;基于针对存储***的数据块与存储位置之间的映射,确定被存储在第一盘单元中的数据块;以及将数据块重建到存储***的第二盘,同时维持被存储在第一盘中除第一盘单元之外的其他盘单元中的其他数据块的可访问性。
提供发明内容部分是为了简化的形式来介绍对概念的选择,它们在下文的具体实施方式中将被进一步描述。发明内容部分无意标识本公开的关键特征或主要特征,也无意限制本公开的范围。
附图说明
通过结合附图对本公开示例性实施例进行更详细的描述,本公开的上述以及其它目的、特征和优势将变得更加明显,其中,在本公开示例性实施例中,相同的参考标号通常代表相同部件。
图1示出了能够在其中实现本公开的一些实施例的存储***的示意框图;
图2示出了根据本公开的一些实施例的重建数据的过程的流程图;
图3A和图3B示出了根据本公开的一些实施例的在存储***中采用的数据保护机制的示意图;
图4A示出了根据本公开的一些实施例的在存储***中的数据重建的示意图;
图4B示出了根据本公开的一些实施例的在存储***中标识故障盘单元的不可访问性的示意图;以及
图5示出了可以用来实施本公开的实施例的示例设备的框图。
具体实施方式
下面将参考附图中示出的若干示例实施例来描述本公开的原理。虽然附图中显示了本公开的优选实施例,但应当理解,描述这些实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开,而并非以任何方式限制本公开的范围。
在本文中使用的术语“包括”及其变形表示开放性包括,即“包括但不限于”。除非特别申明,术语“或”表示“和/或”。术语“基于”表示“至少部分地基于”。术语“一个示例实施例”和“一个实施例”表示“至少一个示例实施例”。术语“另一实施例”表示“至少一个另外的实施例”。术语“第一”、“第二”等等可以指代不同的或相同的对象。下文还可能包括其他明确的和隐含的定义。
图1示出了能够在其中实现本公开的一些实施例的存储***100的示意框图。存储***100包括***管理模块102和硬件存储部分110。硬件存储部分110包括多个物理节点112-1、112-2、112-3、112-4(为便于描述,下文统称或单独称为物理节点112)。每个物理节点112配备有一个或多个盘120,用于提供相应的存储空间。不同物理节点112可以分布在一个或多个不同地理位置,并且可以与***管理模块120或与其他物理节点通过网络通信。具有这样的节点分布的存储***100可以被称为分布式存储***。
***管理模块102用于管理整个存储***的操作,包括但不限于对盘120的存储空间的分配、盘120的输入/输出(I/O)访问、盘故障处理、数据保护等等。***管理模块102可以被实现在计算设备或服务器处,或者被分散在多个计算设备或服务器处。在一些实现中,***管理模块102可以根据客户需要将硬件存储部分110中的存储空间分配为相应客户或者回收已分配的存储空间。客户可以使用已分配的存储空间而无需知道物理存储盘的实际位置。这种存储***有时候可以被称为弹性云存储(ECS)。
存储***100中的盘120可以是任何类型的能够提供数据存储空间的盘。盘120的一些示例包括但不限于固态硬盘(SSD)、硬盘驱动器(HDD)、串行高级技术附件(SATA)盘、串行连接(SA)小型计算机***接口(SCSI)盘SAS盘等等。盘120的盘容量可以是任意大小。在一些实现中,特别是在盘120具有大容量的实现中,为便于管理,一个盘120可以被划分为多个盘单元122,如图1所示。多个盘单元122可以具有相同尺寸。根据盘的类型不同,不同盘单元可以占据不同的盘大小。例如,HDD盘可以按HDD头划分盘单元,这样的盘单元也可以被称为盘片。SSD盘可以按盘通道进行划分,不同的盘通道对应于不同的盘单元。其他类型的盘也可以按其他方式来划分盘单元。
应当理解,虽然图1示出特定数目物理节点和特定数目的盘单元,存储***110还可以包括更多或更少数目的物理节点,每个节点上可以提供不同数目的盘,并且每个盘可以被划分为不同数目的盘单元。本公开的范围在此方面不受限制。
在存储***中,节点或盘的故障时有发生。有时盘可能是部分故障,例如其中的一个盘单元或一些盘单元发生故障。当前一些规范已经支持对盘单元级别的故障指示,因此一些盘能够上报这类故障指示。对于故障盘或盘单元,需要通过数据重建来恢复其中的数据,以到达数据保护的目的。传统存储空间中通常需要以盘为单位进行数据重建,然后用新盘来替换故障盘。在盘仅是部分故障的情况下,这种方法将造成不必要的浪费。特别是对于大容量的盘而言,除了故障盘单元之外的其他盘单元仍然能正常工作,但却要被替换。
为了提高硬件使用率,还提出了一种离线数据取出的方案。根据这个方案,如果存储***中的一个盘部分故障(例如其中一个或一些盘单元故障),可以将该盘从相应物理节点拔出,使该盘暂时下线。部分故障盘中存储的数据(包括故障盘单元和非故障盘单元中存储的数据)被重建到存储***中的另一健康盘。离线数据取出技术将部分故障盘的数据完全擦除,并将部分故障盘创建为一个全新的盘。盘的故障部分不再被使用,因而具有更少的存储容量。所创建的盘将被重新指派到存储***。作为一个新盘,存储***可以继续使用该盘中未故障的存储容量。这个方案通过重新利用部分故障盘中的可用存储空间,从而实现了成本降低。
然而,这个离线数据取出的方案的效率仍然很低,特别是对于大容量和/或分布式存储***而言。原因在于部分故障盘中的全部数据仍然需要被重建。例如,仅是一个盘的故障部分占据10%的存储容量,整个盘中存储的数据、包括未故障部分的数据仍然需要被重建。重建整个盘的所有数据将消耗大量网络/盘的计算资源、内存资源以及可能还涉及网络资源,这将使存储***响应速度降低,并且可能引起前台流量延迟的不稳定性。
已经想到的一种改进方案是仅重建一个盘中故障部分的数据,盘的其余部分可以直接继续使用而无需擦除其中的数据。然而,盘的故障单元与受故障单元影响的数据之间的映射非常复杂,尤其是在分布式存储***中。这种复杂的映射需要较大存储空间来存储,因此无法在单个节点的操作***(OS)级别上实现,因为节点的内核没有足够空间来记录复杂的映射。此外,如果不格式化盘中的故障部分,存储管理层可能难以意识到特定盘上的故障部分,因此可能仍然继续将故障部分的存储空间进行分配。
根据本公开的实施例,提出了一种用于重建数据的方案。在该方案中,在***管理级别上实现数据重建。如果确定存储***的盘中的一个或多个盘单元的故障,基于数据块与存储位置之间的映射来确定被存储在故障的盘单元中的数据块。所确定的数据块被重建到其他盘,并且具有故障盘单元的盘中其他未故障的盘单元继续可访问。通过这个方案,可以提高在盘部分故障时的数据重建效率,并且可以持续利用盘中未故障部分的存储空间而无需使盘暂时下线。
下面将结合附图来详细描述本公开的实施例。
图2示出了根据本公开的一些实施例的重建数据的过程200的流程图。过程200可以由图1的***管理模块102实现。为便于说明,参考图1来描述过程200。
在框210,***管理模块102获取与存储***100的第一盘120相关的健康状况信息。如图1所示,存储***100中的每个盘,包括第一盘120,被划分为多个盘单元122。***管理模块102获取的健康状况信息在盘单元级别指示多个盘单元122的故障情况。具体地,所获取的健康状况信息可以指示第一盘120中的第一盘单元的故障。健康状况信息可以指示第一盘120中多个第一盘单元的故障。健康状况信息还可以指示第一盘120中的其他盘单元处于健康状况。
存储管理模块102或者盘120本身可以包括盘检查器,用于检查盘120本身的健康状况。如果某个盘120中的一个或多个盘单元122已经故障或者将要故障,盘检查器可以确定或预测这些盘单元122的故障,并且向***管理模块102报告相应的健康状况信息。当前一些盘具有这样的故障报告能力,例如一些盘能够以盘单元级别,诸如逻辑单元号(LUN)级别来报告健康状况信息。这种盘单元级别的健康状况信息报告已由诸如存储网络行业协会(SNIA)委员会发布的小型计算机***接口(SCSI)协议中规定。
在一些实施例中,健康状况信息可以由与第一盘120相关联的盘固件报告。在一些示例中,可以在检测到第一盘120中盘单元级别的故障/健康状况发生改变才提供健康状况信息。在另外一些示例中,可以按预定周期向***管理模块102提供健康状况信息。在另外一些实施例中,还可以通过对***100中的每个盘120执行周期性的全盘扫描来确定哪个盘单元122即将或已经发生故障。
由于所获取的健康状况信息指示第一盘120中的一个或多个第一盘单元的故障,在框220,***管理模块120基于针对存储***100的数据块与存储位置之间的映射,确定被存储在第一盘单元122中的数据块。数据块指的是被存储在盘单元中的一个数据单元,这样的数据单元是执行数据重建的一个基本单元。为了便于理解数据块以及数据块和存储地址之间的映射,下文首先简单介绍在存储***中经常使用的一些数据保护机制。
图3A示出了基于纠删码的数据保护机制。数据组块302是存储***100执行数据读写的基本单元。***管理模块102将数据组块302划分为多个数据块312。在图3A的示例中,数据组块302被划分为16个区段312,包括12个数据区段和4个码区段。如图3A所示,16个区段跨物理节点112分布在不同盘120上。如果某个盘120上的盘单元发生故障,被存储在该盘上的区段312将丢失或被破坏。***管理模块102可以基于其他数据区段312或码区段312来重建丢失或破坏的区段。这种纠删码的方案可以承受数据组块302中任意四个区段的丢失或破坏,仍然能够从其他区段中进行数据重建。除了12个数据区段和4个码区段这种划分方式之外,还可以将执行数据读写基础的数据组块划分为其他数目的数据区段和码区段,例如10个数据区段加2个码区段,等等。
图3B示出了基于数据副本的数据保护机制。在该方案中,***管理模块102创建数据组块302的多个副本,并且将这些副本存储到不同物理节点112上的盘120中。在图3B的示例中,存储***100支持三镜像副本模式,因此***管理模块102将数据组块302的三个副本分别存储到物理节点112-1、112-2和112-3中的盘120。当数据组块302的一个副本所在的物理节点或盘120发生故障时,***管理模块102可以基于其余两个副本中的任何一个来重建一个新的副本。
图3A和图3B分别示出了两种不同的数据保护机制。在一些情况中,这两种数据保护机制可以结合起来使用。例如,在基于数据副本的数据保护机制中,数据组块302的每个副本可以被划分为不同的区段,并且这些区段可以被存储到一个物理节点112的不同盘120中。除了图3A和图3B所示的数据保护机制之外,存储***100还可以利用其他的数据保护机制。
在本文中,作为用于执行数据重建的一个基本单元,术语“数据块”可以指的是图3A中的数据区段或码区段,或者可以指的是图3B中的数据组块(或它的副本)。如以上提及的,为了执行对故障盘单元中的数据块的重建,***管理模块102要利用数据块与存储位置之间的映射。***管理模块102可以维护整个***级别的这种映射。存储位置指示数据块在存储***100中的位置,例如可以由每个数据块所在的物理节点、盘、文件、数据块的偏移和数据块的长度来指示。基于存储位置,可以在存储***100的硬件存储部分102中定位出该数据块。在一个示例中,***管理模块102可以维护一个映射表,指示各个数据块与它们的存储地址之间的映射。以下表1给出了一个示例映射表。
表1:数据块与存储位置之间的映射
数据块ID | 存储位置 |
C1 | 节点1:盘1:文件1:偏移1:长度 |
C2 | 节点1:盘1:文件2:偏移2:长度 |
C3 | 节点1:盘2:文件1:偏移3:长度 |
在一些示例中,如果数据块是一个数据组块中的一个区段(如图3A中的示例),存储地址可以指示每个数据组块中的各个区段的相应存储位置。
在数据块与存储位置之间的映射基础上,***管理模块102可以确定哪些数据块被存储在第一盘120中故障的第一盘单元112中。取决于数据存储分布情况,故障的第一盘单元112中可能存储一个或多个数据块。
继续参考图2,在框230,***管理模块102将所确定的数据块重建到存储***100的第二盘120,同时维持被存储在第一盘120中除第一盘单元112之外的其他盘单元112中的其他数据块在第一盘120中的可访问性。
第二盘120可以是存储***100中具有一个或多个健康盘单元112的盘。所确定的数据块可以被重建到第二盘120中的健康盘单元112中。在一些实施例中,为了避免物理节点的故障造成的影响,第二盘120可以是位于与第一盘120不同的物理节点上的盘。
根据存储***100所采用的数据保护机制,***管理模块102可以采用不同的数据重建方式。在基于纠删码的数据保护机制中,数据块与其他数据块(即区段)属于同一数据组块,并且这些数据块被存储在存储***100的不同的盘120中,如图3A中的示例所示。***管理模块102可以利用其他数据块来将位于故障盘单元上的数据块重建到第二盘120。数据重建过程可以恢复当前数据块的具体数据。
在基于数据副本的数据保护机制中,数据块(在这种情况下是数据组块)具有被存储在其他物理节点112上的另一盘120(也称为第三盘)中的副本。***管理模块102可以利用副本来将数据块重建到第二盘120,例如可以创建另一个副本用于存储到第二盘120。
图4A示出了从第一盘的故障单元到第二盘的数据重建。为便于图示,在图4A中,存储***100的硬件存储部分110中仅示出两个盘120,分别表示为盘120-1和120-2。仍是为了图示,假设盘120-1包括五个盘单元122-1至122-5,盘120-2包括五个盘单元122-1’至122-5’。基于与盘120-1相关的健康状况信息,***管理模块102确定盘单元122-5存在故障。基于数据块与存储位置之间的映射,***管理模块102确定盘单元122-5中存储的数据块,并且将所确定的数据块重建到盘120-2,例如盘120-2的盘单元122-1’中。
在这个过程中,盘120-1仍然是存储***100中的活跃盘。盘120-1中的其他健康盘单元122-1至122-4仍然继续存储先前的数据块,并且这些数据块不需要被重建,而是仍然在盘120-1中可访问。
根据本公开的实施例,仅对存储在故障盘单元上的数据执行重建,同时保持健康盘单元中的数据继续可访问。由于不是对整个盘120而是对故障部分执行数据重建,重建过程所耗费的时间、I/O访问量、计算资源、内存资源和网络资源等都能被降低。这种时间和资源的节约在大容量、分布式数据存储***中更显著。由于在***级别执行数据块重建,可以避免对单个物理节点上的OS核的映射存储和数据重建方面的存储和计算资源的要求。进一步地,仅部分故障的盘能够被持续利用,在盘硬件成本方面也是有利的。
在一些实施例中,***管理模块102还可以将第一盘120中已故障的第一盘单元122标记为不可访问(例如,标记为坏盘单元),以使第一盘单元122不被重新分配用于存储数据。如图4B所示,在盘120-1的盘单元122-5所存储的数据被重建到盘120-2的盘单元120-1’之后,盘单元122-5被标记为不可访问。如果多个第一盘单元是故障的,这些故障盘单元均不再可访问。由此,后续***管理模块102将不再对第一盘120中的这个或这些盘单元122进行任何读写访问。
由此,实现了对于第一盘120的在线数据取出。在存储***100中,第一盘120仍然保持在线,但部分故障盘单元将不再被使用。在后续操作中,第一盘120表现为具有较少的存储容量的盘。
应当理解,以上描述了对单个盘120中存储一个或多个故障单元时的数据重建。如果***管理模块102中获得的健康状况信息指示存储***100中的多个盘120都存在故障盘单元,***管理模块102也可以对各个盘中的故障盘单元进行类似的数据重建。
图5示出了可以用来实施本公开的实施例的示例设备500的示意性框图。设备500可以被实现为图1的***管理模块102。设备500可以用于实现图2的过程200。
如图所示,设备500包括中央处理单元(CPU)501,其可以根据存储在只读存储器(ROM)502中的计算机程序指令或者从存储单元508加载到随机访问存储器(RAM)503中的计算机程序指令,来执行各种适当的动作和处理。在RAM 503中,还可存储设备500操作所需的各种程序和数据。CPU 501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
设备500中的多个部件连接至I/O接口505,包括:输入单元506,例如键盘、鼠标等;输出单元507,例如各种类型的显示器、扬声器等;存储单元508,例如磁盘、光盘等;以及通信单元509,例如网卡、调制解调器、无线通信收发机等。通信单元509允许设备500通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
处理单元501执行上文所描述的各个方法和处理,例如过程300和/或过程400。例如,在一些实施例中,过程300和/或过程400可被实现为计算机软件程序或计算机程序产品,其被有形地包含于机器可读介质,诸如非瞬态计算机可读介质,诸如存储单元508。在一些实施例中,计算机程序的部分或者全部可以经由ROM 502和/或通信单元509而被载入和/或安装到设备500上。当计算机程序加载到RAM503并由CPU 501执行时,可以执行上文描述的过程200的一个或多个步骤。备选地,在其他实施例中,CPU 501可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行过程200。
本领域的技术人员应当理解,上述本公开的方法的各个步骤可以通过通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。
应当理解,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的可选实施例,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的保护范围之内。
Claims (23)
1.一种重建数据的方法,包括:
获取与存储***的第一盘相关的健康状况信息,其中所述第一盘包括具有多个通道的固态硬盘,所述第一盘被划分为多个盘单元,其中多个盘单元中的每个盘单元对应于所述固态硬盘的所述多个通道中的不同通道,所述健康状况信息指示所述多个盘单元中的第一盘单元的故障;
基于针对所述存储***的数据块与存储位置之间的映射,确定被存储在所述第一盘单元中的数据块;以及
将所述数据块重建到所述存储***的第二盘,同时维持被存储在所述第一盘中除所述第一盘单元之外的其他盘单元中的其他数据块的可访问性。
2.根据权利要求1所述的方法,进一步包括:
将所述第一盘单元标记为不可访问,以使所述第一盘单元不被重分配用于存储数据。
3.根据权利要求1所述的方法,其中所述存储***包括分布式存储***。
4.根据权利要求3所述的方法,其中所述第一盘和所述第二盘位于所述分布式存储***的不同物理节点中。
5.根据权利要求1所述的方法,其中所述数据块具有被存储在所述多个盘中的第三盘中的副本,所述第一盘和所述第三盘被分布在不同的物理节点,将所述数据块重建到所述第二盘包括:
利用所述副本来将所述数据块重建到所述第二盘。
6.根据权利要求1所述的方法,其中所述数据块与多个其他数据块被包括在数据组块中,所述多个其他数据块被存储在所述存储***中与所述第一盘不同的其他盘中,将所述数据块重建到所述第二盘包括:
利用所述多个其他数据块来将所述数据块重建到所述第二盘。
7.根据权利要求1所述的方法,其中获取所述健康状况信息包括:
从与所述第一盘相关联的盘固件接收所述健康状况信息。
8.根据权利要求1所述的方法,其中在将所述数据块重建到所述存储***的所述第二盘的同时,所述第一盘的所述其他盘单元的所述其他数据块的所述可访问性被维持,而无需使所述第一盘下线。
9.根据权利要求1所述的方法,其中所述健康状况信息还指示除所述第一盘单元之外的所述第一盘的其他盘单元是健康的。
10.一种电子设备,包括:
处理器;以及
与所述处理器耦合的存储器,所述存储器具有存储于其中的指令,所述指令在被处理器执行时使所述设备执行动作,所述动作包括:
获取与存储***的第一盘相关的健康状况信息,其中所述第一盘包括具有多个通道的固态硬盘,所述第一盘被划分为多个盘单元,其中多个盘单元中的每个盘单元对应于所述固态硬盘的所述多个通道中的不同通道,所述健康状况信息指示所述多个盘单元中的第一盘单元的故障;
基于针对所述存储***的数据块与存储位置之间的映射,确定被存储在所述第一盘单元中的数据块;以及
将所述数据块重建到所述存储***的第二盘,同时维持被存储在所述第一盘中除所述第一盘单元之外的其他盘单元中的其他数据块的可访问性。
11.根据权利要求10所述的设备,进一步包括:
将所述第一盘单元标记为不可访问,以使所述第一盘单元不被重分配用于存储数据。
12.根据权利要求10所述的设备,其中所述存储***包括分布式存储***。
13.根据权利要求12所述的设备,其中所述第一盘和所述第二盘位于所述分布式存储***的不同物理节点中。
14.根据权利要求10所述的设备,其中所述数据块具有被存储在所述多个盘中的第三盘中的副本,所述第一盘和所述第三盘被分布在不同的物理节点,将所述数据块重建到所述第二盘包括:
利用所述副本来将所述数据块重建到所述第二盘。
15.根据权利要求10所述的设备,其中所述数据块与多个其他数据块被包括在数据组块中,所述多个其他数据块被存储在所述存储***中与所述第一盘不同的其他盘中,将所述数据块重建到所述第二盘包括:
利用所述多个其他数据块来将所述数据块重建到所述第二盘。
16.根据权利要求10所述的设备,其中获取所述健康状况信息包括:
从与所述第一盘相关联的盘固件接收所述健康状况信息。
17.一种包括计算机可执行指令的计算机可读介质,所述计算机可执行指令在被执行时使设备:
获取与存储***的第一盘相关的健康状况信息,其中所述第一盘包括具有多个通道的固态硬盘,所述第一盘被划分为多个盘单元,其中多个盘单元中的每个盘单元对应于所述固态硬盘的所述多个通道中的不同通道,所述健康状况信息指示所述多个盘单元中的第一盘单元的故障;
基于针对所述存储***的数据块与存储位置之间的映射,确定被存储在所述第一盘单元中的数据块;以及
将所述数据块重建到所述存储***的第二盘,同时维持被存储在所述第一盘中除所述第一盘单元之外的其他盘单元中的其他数据块的可访问性。
18.根据权利要求17所述的计算机可读介质,其中所述计算机可执行指令在被执行时进一步使所述设备:
将所述第一盘单元标记为不可访问,以使所述第一盘单元不被重分配用于存储数据。
19.根据权利要求17所述的计算机可读介质,其中所述存储***包括分布式存储***。
20.根据权利要求19所述的计算机可读介质,其中所述第一盘和所述第二盘位于所述分布式存储***的不同物理节点中。
21.根据权利要求17所述的计算机可读介质,其中所述数据块具有被存储在所述多个盘中的第三盘中的副本,所述第一盘和所述第三盘被分布在不同的物理节点,其中所述计算机可执行指令在被执行时使所述设备:
利用所述副本来将所述数据块重建到所述第二盘。
22.根据权利要求17所述的计算机可读介质,其中所述数据块与多个其他数据块被包括在数据组块中,所述多个其他数据块被存储在所述存储***中与所述第一盘不同的其他盘中,其中所述计算机可执行指令在被执行时使所述设备:
利用所述多个其他数据块来将所述数据块重建到所述第二盘。
23.根据权利要求17所述的计算机可读介质,其中所述计算机可执行指令在被执行时还使所述设备:
从与所述第一盘相关联的盘固件接收所述健康状况信息。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289051.5A CN111124264B (zh) | 2018-10-31 | 2018-10-31 | 用于重建数据的方法、设备和计算机程序产品 |
US16/655,382 US11099954B2 (en) | 2018-10-31 | 2019-10-17 | Method, device, and computer program product for rebuilding data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811289051.5A CN111124264B (zh) | 2018-10-31 | 2018-10-31 | 用于重建数据的方法、设备和计算机程序产品 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111124264A CN111124264A (zh) | 2020-05-08 |
CN111124264B true CN111124264B (zh) | 2023-10-27 |
Family
ID=70326833
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811289051.5A Active CN111124264B (zh) | 2018-10-31 | 2018-10-31 | 用于重建数据的方法、设备和计算机程序产品 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11099954B2 (zh) |
CN (1) | CN111124264B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111949443B (zh) | 2018-09-05 | 2022-07-22 | 华为技术有限公司 | 硬盘故障处理方法、阵列控制器及硬盘 |
US11341010B2 (en) | 2020-01-15 | 2022-05-24 | EMC IP Holding Company LLC | Dynamic reclamation of storage stripes |
US11593206B2 (en) | 2021-01-19 | 2023-02-28 | EMC IP Holding Company LLC | Distributed raid rebuild |
CN112905119B (zh) * | 2021-02-19 | 2022-10-28 | 山东英信计算机技术有限公司 | 一种分布式存储***的数据写入控制方法、装置及设备 |
CN113687790A (zh) * | 2021-09-06 | 2021-11-23 | 锐捷网络股份有限公司 | 数据重构方法、装置、设备及存储介质 |
CN114415970B (zh) * | 2022-03-25 | 2022-06-17 | 北京金山云网络技术有限公司 | 分布式存储***的磁盘故障处理方法、装置及服务器 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
GB0510563D0 (en) * | 2004-05-24 | 2005-06-29 | Sun Microsystems Inc | Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8219681B1 (en) | 2004-03-26 | 2012-07-10 | Emc Corporation | System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network |
US8032701B1 (en) | 2004-03-26 | 2011-10-04 | Emc Corporation | System and method for managing provisioning of storage resources in a network with virtualization of resources in such a network |
US7024586B2 (en) * | 2002-06-24 | 2006-04-04 | Network Appliance, Inc. | Using file system information in raid data reconstruction and migration |
US7770059B1 (en) | 2004-03-26 | 2010-08-03 | Emc Corporation | Failure protection in an environment including virtualization of networked storage resources |
US8452929B2 (en) * | 2005-04-21 | 2013-05-28 | Violin Memory Inc. | Method and system for storage of data in non-volatile media |
US9286198B2 (en) * | 2005-04-21 | 2016-03-15 | Violin Memory | Method and system for storage of data in non-volatile media |
US7472223B1 (en) * | 2006-09-28 | 2008-12-30 | Emc Corporation | Surface level sparing in disk drives |
US9417812B1 (en) | 2007-12-26 | 2016-08-16 | Emc Corporation | Methods and apparatus for minimally disruptive data migration |
US9135096B2 (en) * | 2012-12-06 | 2015-09-15 | Compellent Technologies | RAID surveyor |
GB2513377A (en) * | 2013-04-25 | 2014-10-29 | Ibm | Controlling data storage in an array of storage devices |
US10360119B2 (en) * | 2015-10-06 | 2019-07-23 | Netapp, Inc. | Data recovery in a distributed storage system |
US20170337103A1 (en) * | 2016-05-19 | 2017-11-23 | Intel Corporation | Method and apparatus to provide data redundancy in a solid-state drive |
US10095585B1 (en) * | 2016-06-28 | 2018-10-09 | EMC IP Holding Company LLC | Rebuilding data on flash memory in response to a storage device failure regardless of the type of storage device that fails |
US10254970B1 (en) | 2016-06-30 | 2019-04-09 | EMC IP Holding Company LLC | System, method and computer readable medium for obtaining consistent read performance for a plurality of flash drives or raid groups using workload and capacity limits |
US10586607B2 (en) * | 2016-07-19 | 2020-03-10 | R-Stor Inc. | Method and apparatus for implementing disaggregated memory platters |
US10275312B1 (en) * | 2017-03-29 | 2019-04-30 | Veritas Technologies Llc | Systems and methods for selecting a set of storage nodes for use in reconstructing data on a faulted node in an erasure-coded system |
-
2018
- 2018-10-31 CN CN201811289051.5A patent/CN111124264B/zh active Active
-
2019
- 2019-10-17 US US16/655,382 patent/US11099954B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1182913A (zh) * | 1990-06-21 | 1998-05-27 | 国际商业机器公司 | 恢复受奇偶校验保护数据的方法和装置 |
GB0510563D0 (en) * | 2004-05-24 | 2005-06-29 | Sun Microsystems Inc | Method and apparatus for decreasing failed disk reconstruction time in a raid data storage system |
Also Published As
Publication number | Publication date |
---|---|
CN111124264A (zh) | 2020-05-08 |
US20200133811A1 (en) | 2020-04-30 |
US11099954B2 (en) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111124264B (zh) | 用于重建数据的方法、设备和计算机程序产品 | |
US10977124B2 (en) | Distributed storage system, data storage method, and software program | |
US9378093B2 (en) | Controlling data storage in an array of storage devices | |
US20190129614A1 (en) | Load Balancing of I/O by Moving Logical Unit (LUN) Slices Between Non-Volatile Storage Represented by Different Rotation Groups of RAID (Redundant Array of Independent Disks) Extent Entries in a RAID Extent Table of a Mapped RAID Data Storage System | |
US10037152B2 (en) | Method and system of high-throughput high-capacity storage appliance with flash translation layer escalation and global optimization on raw NAND flash | |
CN110096217B (zh) | 用于重新定位数据的方法、数据存储***和介质 | |
US20180284997A1 (en) | Arranging ssd resources based on estimated endurance | |
US8495295B2 (en) | Mass storage system and method of operating thereof | |
CN111124263B (zh) | 用于管理多个盘的方法、电子设备以及计算机程序产品 | |
US9529674B2 (en) | Storage device management of unrecoverable logical block addresses for RAID data regeneration | |
US20130275802A1 (en) | Storage subsystem and data management method of storage subsystem | |
JP2010102695A (ja) | Hdd障害からの高速データ回復 | |
US10365845B1 (en) | Mapped raid restripe for improved drive utilization | |
US10521145B1 (en) | Method, apparatus and computer program product for managing data storage | |
CN109725838B (zh) | 用于管理多个盘的方法、装置以及计算机可读介质 | |
CN109726036B (zh) | 一种存储***中的数据重构方法和装置 | |
US20200341874A1 (en) | Handling of offline storage disk | |
US10606490B2 (en) | Storage control device and storage control method for detecting storage device in potential fault state | |
CN111552435A (zh) | 存储***中数据恢复方法、***及装置 | |
CN111124262A (zh) | 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质 | |
US10977130B2 (en) | Method, apparatus and computer program product for managing raid storage in data storage systems | |
US9400723B2 (en) | Storage system and data management method | |
CN109558068B (zh) | 数据迁移方法及迁移*** | |
WO2016112824A1 (zh) | 存储的处理方法、装置和存储设备 | |
CN111124251B (zh) | 用于i/o控制的方法、装置以及计算机可读介质 |
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 |