CN107220148B - 针对独立磁盘冗余阵列的重建方法和设备 - Google Patents

针对独立磁盘冗余阵列的重建方法和设备 Download PDF

Info

Publication number
CN107220148B
CN107220148B CN201610162005.3A CN201610162005A CN107220148B CN 107220148 B CN107220148 B CN 107220148B CN 201610162005 A CN201610162005 A CN 201610162005A CN 107220148 B CN107220148 B CN 107220148B
Authority
CN
China
Prior art keywords
raid
raid group
stripes
groups
group
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
CN201610162005.3A
Other languages
English (en)
Other versions
CN107220148A (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.)
EMC Corp
Original Assignee
EMC IP Holding Co LLC
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 EMC IP Holding Co LLC filed Critical EMC IP Holding Co LLC
Priority to CN201610162005.3A priority Critical patent/CN107220148B/zh
Priority to US15/464,275 priority patent/US10496483B2/en
Publication of CN107220148A publication Critical patent/CN107220148A/zh
Application granted granted Critical
Publication of CN107220148B publication Critical patent/CN107220148B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1076Parity data used in redundant arrays of independent storages, e.g. in RAID systems
    • G06F11/1092Rebuilding, e.g. when physically replacing a failing disk
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error 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/2053Error 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/2056Error 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 by mirroring
    • G06F11/2069Management of state, configuration or failover
    • 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
    • G06F3/0617Improving the reliability of storage systems in relation to availability
    • 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/0644Management of space entities, e.g. partitions, extents, pools
    • 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/0683Plurality of storage devices
    • G06F3/0689Disk arrays, e.g. RAID, JBOD
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/10Indexing scheme relating to G06F11/10
    • G06F2211/1002Indexing scheme relating to G06F11/1076
    • G06F2211/1028Distributed, i.e. distributed RAID systems with parity

Abstract

本公开的实施例涉及一种针对独立磁盘冗余阵列RAID的重建方法和设备,该方法包括:响应于磁盘发生故障,将包括该磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片;将多个条带分别映射到其他RAID组;以及在其他RAID组中重建该RAID组中的多个条带上的数据。本公开的实施例通过在其他RAID组中并行重建发生故障的RAID中的条带,有效地提高了RAID的重建速度并且保证了RAID组的可靠性。

Description

针对独立磁盘冗余阵列的重建方法和设备
技术领域
本公开的实施例总体上涉及磁盘故障处理技术,更具体地涉及针对独立磁盘冗余阵列(RAID)的重建方法和设备。
背景技术
独立磁盘冗余阵列(RAID)是由多块独立的磁盘组合形成的磁盘组,从而提供比单个磁盘更大的存储性能和更高的可靠性能。为了在磁盘发生故障时对数据进行恢复,RAID中通常设置一块(例如,RAID3或RAID5中)或多块(例如,RAID6中)校验磁盘。然而,当RAID中的一块或多块磁盘发生故障时,RAID的可靠性将会大幅度下降。
通常,在RAID中的一块磁盘发生故障时,RAID进入降级模式,并且利用一块空闲磁盘对RAID进行重建。然而,由于每个磁盘的带宽和每秒的读写次数(IOPS)有限,并且磁盘的容量通常较大(例如,2T或者4T),因此,针对RAID的重建时间通常需要几天甚至几周,这使得RAID无法满足高可靠性的需求。
因此,在RAID中的磁盘发生故障时,如何快速地对RAID进行重建并且保证高可靠性,成为一个亟待解决的问题。
发明内容
有鉴于此,本公开的各实施例提出了一种针对独立磁盘冗余阵列(RAID)的重建方法和设备。本公开的实施例通过将发生故障的磁盘所在的RAID组划分成多个条带(stripe),并且在其他RAID组中并行重建发生故障的RAID组中的条带,能够有效地提高RAID的重建速度并且保证RAID组的可靠性。
根据本公开的一个方面,提供了一种针对独立磁盘冗余阵列(RAID)的重建方法,该方法包括:响应于磁盘发生故障,将包括磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片;将多个条带分别映射到其他RAID组;以及在其他RAID组中重建RAID组中的多个条带上的数据。
根据本公开的另一方面,提供了一种针对独立磁盘冗余阵列(RAID)的重建设备,该设备包括:划分装置,用于响应于磁盘发生故障,将包括磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片;映射装置,用于将多个条带分别映射到其他RAID组;以及重建装置,用于在其他RAID组中重建RAID组中的多个条带上的数据。
根据本公开的又一方面,提供了一种针对独立磁盘冗余阵列(RAID)的重建设备,该设备包括:存储器,以及处理器,其中该处理器被配置为:响应于磁盘发生故障,将包括磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片;将多个条带分别映射到其他RAID组;以及在其他RAID组中重建RAID组中的多个条带上的数据。
附图说明
结合附图并参考以下详细说明,本公开的各实施例的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开的若干实施例,在附图中:
图1图示了现有的RAID存储系统100中的重建过程的示例图;
图2图示了现有的RAID存储系统200中的重建过程的另一示例图;
图3图示了根据本公开的实施例的针对RAID的重建方法300的流程图;
图4图示了根据本公开的实施例的RAID存储系统400中的重建过程的示例图;
图5图示了根据本公开的实施例的RAID存储系统400中的负载平衡过程的示例图;
图6图示了根据本公开的实施例的针对RAID的重建设备600的框图;以及
图7图示了可以用来实施本公开的实施例的设备700的示意性框图。
具体实施方式
以下参考附图详细描述本公开的各个示例性实施例。附图中的流程图和框图示出了根据本公开的各种实施例的方法和系统的可能实现的体系架构、功能和操作。应当注意,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,所述模块、程序段、或代码的一部分可以包括一个或多个用于实现各个实施例中所规定的逻辑功能的可执行指令。也应当注意,在有些作为备选的实现中,方框中所标注的功能也可以按照不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,或者它们有时也可以按照相反的顺序执行,这取决于所涉及的功能。同样应当注意的是,流程图和/或框图中的每个方框、以及流程图和/或框图中的方框的组合,可以使用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以使用专用硬件与计算机指令的组合来实现。
本文所使用的术语“包括”、“包含”及类似术语应该被理解为是开放性的术语,即“包括/包含但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”。其他术语的相关定义将在下文描述中给出
应当理解,给出这些示例性实施例仅是为了使本领域技术人员能够更好地理解进而实现本公开的实施例,而并非以任何方式限制发明的范围。
图1图示了现有的RAID存储系统100中的重建过程的示例图。图1的RAID存储系统包括10个RAID组(例如,RAID组1、RAID组2…RIAD组9)和2个空闲磁盘(例如,磁盘S1、S2),其中每个RAID组包括4+1个磁盘(例如,4个数据盘和1个校验盘)。在某一时刻,当RAID组0中的磁盘D3发生故障时,通常会选择空闲磁盘S1加入到RAID组0中,以替换发生故障的磁盘D3,并且开始针对RAID组0的数据重建。然而,在RAID组0重建的过程中,如果RAID组0中的任何一个另外的磁盘(例如,磁盘D2)发生故障,则整个存储系统将会发生故障。此外,在图1中的RAID组100重建的过程中,仅仅只有一个空闲磁盘S1参与重建,因此,重建速度非常缓慢,例如,通常需要几天甚至几周的时间。
图2图示了现有的RAID存储系统200中的重建过程的另一示例图。图2中的RAID存储系统200包括多个磁盘例如,磁盘D0、D1、D2等。使用映射方式,将磁盘分成多个磁盘片,同时将RAID划分成多个RAID片,随机地选择多个磁盘片和多个RAID片并将它们组成特定RAID片。在图2的RAID存储系统200中,当磁盘D3发生故障时,将磁盘D3划分成多个磁盘片,并且将RAID组划分成多个RAID片,然后将这些磁盘片或RAID片中映射到其他磁盘或RAID组中以进行重建。图2示出了完全网式的映射重建方法,既包括了磁盘片映射也包括RAID片映射。然而,图2中的完全随机选择的重建方法使得整个存储系统变得过于混乱和脆弱,在某个磁盘发生故障的重建过程中,RAID存储系统200中的任何一个新的磁盘的故障(即,第二个磁盘的故障)都会导致整个存储系统发生故障。
由此可见,在图1的重建方法中,仅当发生故障的磁盘所在的RAID组中的其他磁盘发生故障时,才会导致整个存储系统发生故障。然而,在图2的完全网式映射的重建方法中,存储系统中的任何第二个磁盘的故障都会导致整个存储系统发生故障。因此,图2的重建方法虽然提高了重建速度,但使得整个存储系统的可靠性大幅降低。
例如,当图2中的RAID存储系统200包括N个磁盘的存储系统时,假设单个磁盘的故障率是T,存储系统从最优状态(没有磁盘发生故障)到降级状态(1个磁盘发生故障)的概率是N×T,从降级状态到存储系统发生故障状态(2个磁盘发生故障)的概率是(N-1)×T。由此可见,随着存储系统中磁盘数量N的不断增加,第二个磁盘的故障导致整个存储系统故障的概率也呈线性增加。
随着存储系统中磁盘数量的不断增加,整个存储系统的故障概率也不断增加。因此,为了达到相同的可靠性,则必要不断地提高重建速率和磁盘的带宽。以下表1示出了在相同的可靠性的情况下,所需要的重建速率和每个磁盘的读操作的带宽。
表1:相同的可靠性所需的重建速度和带宽
Figure BDA0000946270780000051
由此可见,随着磁盘数量的增加,为了达到相同的可靠性,图2中的方法需要更大的重建速率和磁盘带宽。然而,重建速率的增加需要花费大量成本,并且每个磁盘的带宽上限也是有限的。因此,图2的重建方法无法在提高重建速度的同时保证存储系统的可靠性。
图3图示了根据本公开的实施例的针对RAID的重建方法300的流程图。在步骤302处,响应于磁盘发生故障,将包括磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片,即RAID片。例如,当RAID中的某个磁盘发生故障时,将整个RAID按条带进行划分,其中每个条带包括RAID中的每个磁盘相同位置处的磁盘片。
在一个实施例中,在磁盘发生故障时,可以根据预定义的每个条带大小,将RAID组划分为多个条带。例如,针对不同的数据类型(例如,文档文件和流媒体),分别设置不同的条带大小。根据每个条带的大小和RAID组的总存储空间,将RAID划分成相应个数的条带。
方法300继续进行到步骤304,将RAID组中的多个条带分别映射到其他RAID组。在一个实施例中,可以将多个条带平均地划分到其他RAID组中。在另一个实施例中,可以根据其他RAID组中每个RAID组的工作负载和剩余存储空间,将多个条带分别映射到其他RAID组。例如,对于工作负载较小的其他RAID组,说明这些RAID组的IO操作不太频繁,剩余的IO带宽相对较大,可以将多个条带映射到这些RAID组中。再例如,对于剩余存储空间较大的其他RAID组,说明这些RAID组还可以存储很多数据,可以将多个条带映射到这些RAID组中。
方法300继续进行到步骤306,在其他RAID组中重建RAID组中的多个条带上的数据。在一个实施例中,响应于多个条带中的特定条带正在被重建,发生故障降级的RAID组中的特定条带仅提供读操作,而不提供写操作。也就是说,该RAID组中正在被重建的条带只对外提供读操作,而写操作被重定向到正在重建该条带其他RAID组中。在了一个实施例中,在特定条带被重建之后,针对特定条带的读操作和写操作二者被重定向到重建特定条带的特定RAID组。也就是说,在特定条带已经完成被重建之后,该RAID组中的该特定条带不再提供读写操作,所有的读写操作都被重定向到已重建特定条带的特定RAID组。因此,随着越来越多的条带被重建,发生故障的RAID的重建速度也会越来越快。
在一些实施例中,可以在其他RAID组中的多个RAID组中并行重建RAID组中的多个条带。例如,在多个条带被映射到多个其他RAID组时,在多个RAID组中并行重建发生故障的RAID组中的条带。通过利用多个RAID组同时重建,能够有效地提高发生故障的RAID组的重建速度。
在一个实施例中,可以使用一些元数据来辅助标识条带(或磁盘片)与其他RAID组之间的映射关系。在另一实施例中,分段重建RAID组中的条带,并且设置检查点来记录分段重建的进度。元数据、映射表以及检查点信息可以被存储在一些持久性存储器中,以用于安全和快速访问。
方法300还包括响应于多个条带中的所有条带都被重建,使用新的空闲磁盘来替换发生故障的磁盘,以形成新的空闲RAID组。当发生故障的降级的RAID组被重建之后,该降级的RAID组中的数据被清空,此时,可以利用其他的一个空闲磁盘和该RAID组中未发生故障的磁盘进行组合,形成新的空的可用的RAID组。
在一些实施例中,方法300可选地包括步骤308,在形成新的空闲RAID组之后,对其他RAID组进行负载平衡,例如,将其他RAID组中高负载的RAID组中的一部分数据迁移到新的空闲RAID组。在一些实施例中,通过记录其他RAID组中每个RAID组的读操作和/或写操作的次数,来确定其他RAID组中高负载的RAID组。在一些实施例中,当一些新的磁盘被放置到存储系统中时,也可以执行以上所描述的负载平衡操作。
在本公开的针对RAID的重建方法300中,通过按照RAID组中的条带为单位进行重建,并且在其他RAID组中的多个RAID组中并行重建发生故障的RAID中的条带上的数据,从而提高了RAID的重建速度。同时,由于采用了整个条带重建的方式,其他RAID组中一个磁盘故障将不会导致整个存储系统的故障,而仅仅只有发生故障的RAID中另一磁盘发生故障时,整个存储系统才会发生故障。因此,本公开的针对RAID的重建方法300不仅提高了重建速度也保证了存储系统的可靠性。
根据本公开的针对RAID的重建方法300,在重建速率为50MB/s的RAID5的存储系统中,其中每个磁盘大小为3TB,完成一次重建过程仅需16个小时。该重建时间能够满足可靠性目标的要求,并且也可以保证存储系统的负载平衡。
图4和图5示出了根据本公开的针对RAID的重建方法300的一个示例,而不是对本公开的RAID的重建方法300的限制。
图4图示了根据本公开的实施例的RAID存储系统400中的重建过程的示例图。例如,存储系统400可以包括10个RAID组(例如,RAID组1、RAID组2…RIAD组9)和2个空闲磁盘(例如,磁盘S1、S2),其中每个RAID组包括4+1个磁盘(例如,4个数据盘和1个校验盘)。当RAID组0中的磁盘D3发生故障时,根据本公开的针对RAID的重建方法300,将RAID组0划分成9个条带,例如RAID片0_0、RAID片0_1…RAID片0_8,其中每个条带表示一个RAID片。然后,将RAID组0中的9个条带分别映射到RAID组1、RAID组2…RAID组9,并且在RAID组1、RAID组2…RAID组9中并行重建RAID组0中的9个条带。虽然图4中示出了一种映射关系,然而可以根据其他RAID组中每个RAID组的工作负载和剩余存储空间,设置不同的映射关系。
图5图示了根据本公开的实施例的RAID存储系统400中的负载平衡过程的示例图。在图4中的9个条带都被重建之后,RAID组0中的磁盘D0、D1、D2、D4中的数据被清空,然后,可以使用新的空闲磁盘S1来替换发生故障的磁盘D3,以形成新的空闲RAID组0’,则空闲RAID组0’包括磁盘D0、D1、D2、S1以及D4。
在图5的存储系统400中的负载平衡过程中,当发生故障的降级的RAID组0被重建之后,该降级的RAID组中的数据被清空,因此,为了保持整个存储系统的负载平衡,可以将RAID组1中的RAID片1_11、RAID组2中的RAID片2_12…RAID组9中的RAID片9_17迁移到新的空的RAID组0’中,从而实现整个系统的负载平衡。
图6图示了根据本公开的实施例的针对RAID的重建设备600的框图,该设备600包括:划分装置602,用于响应于磁盘发生故障,将包括磁盘的RAID组划分为多个条带,其中每个条带包括RAID组中的所有磁盘中的磁盘片;映射装置604,用于将多个条带分别映射到其他RAID组;以及重建装置606,用于在其他RAID组中重建RAID组中的多个条带上的数据。
在一个实施例中,划分装置602还用于:根据预定义的每个条带大小,将RAID组划分为多个条带。在另一个实施例中,映射装置604还用于:根据其他RAID组中每个RAID组的工作负载和剩余存储空间,将多个条带分别映射到其他RAID组。
在一个实施例中,重建装置606还用于:响应于多个条带中的特定条带正在被重建,RAID组中的特定条带仅提供读操作,而不提供写操作。在另一个实施例中,重建装置602还用于:在特定条带被重建之后,针对特定条带的读操作和写操作二者被重定向到重建特定条带的特定RAID组。
在一个实施例中,重建装置602还用于:在其他RAID组中的多个RAID组中并行重建RAID组中的多个条带。在另一个实施例中,重建装置602还用于:分段重建RAID组中的条带,并且设置检查点来记录分段重建的进度。
在一个实施例中,设备600还可以包括:替换装置(未示出),用于响应于多个条带中的所有条带都被重建,使用新的空闲磁盘来替换发生故障的磁盘,以形成新的空闲RAID组。
在一个实施例中,设备600还可以包括:负载平衡装置608,用于在形成新的空闲RAID组之后,对其他RAID组进行负载平衡。在另一个实施例中,负载平衡装置608还用于:将其他RAID组中高负载的RAID组中的一部分数据迁移到新的空闲RAID组。在又一个实施例中,负载平衡装置608还用于:通过记录其他RAID组中每个RAID组的读操作和/或写操作的次数,来确定其他RAID组中高负载的RAID组。
应当理解,设备600可以利用各种方式来实现。例如,在某些实施例中,设备600可以通过硬件、软件或者软件和硬件的结合来实现。其中,硬件部分可以利用专用逻辑来实现;软件部分则可以存储在存储器中,由适当的指令执行系统,例如微处理器或者专用设计硬件来执行。本领域的普通技术人员可以理解上述的方法和系统可以使用计算机可执行指令和/或包含在处理器控制代码中来实现,例如在诸如磁盘、CD或DVD-ROM的载体介质、诸如只读存储器的可编程的存储器或者诸如光学或电子信号载体的数据载体上提供了这样的代码。本公开的实施例的设备和装置不仅可以由诸如超大规模集成电路或门阵列、诸如逻辑芯片、晶体管等的半导体、或者诸如现场可编程门阵列、可编程逻辑设备等的可编程硬件设备的硬件电路实现,也可以用例如由各种类型的处理器所执行的软件实现,还可以由上述硬件电路和软件的结合来实现。
图7图示了可以用来实施本公开的实施例的设备700的示意性框图。如图所示,设备700包括中央处理单元(CPU)701,其可以根据存储在只读存储器(ROM)702中的计算机程序指令或者从存储单元708加载到随机访问存储器(RAM)703中的计算机程序指令,来执行各种适当的动作和处理。在RAM 703中,还可存储设备700操作所需的各种程序和数据。CPU701、ROM 702以及RAM 703通过总线704彼此相连。输入/输出(I/O)接口705也连接至总线704。
设备700中的多个部件连接至I/O接口705,包括:输入单元706,例如键盘、鼠标等;输出单元707,例如各种类型的显示器、扬声器等;存储单元708,例如磁盘、光盘等;以及通信单元709,例如网卡、调制解调器、无线通信收发机等。通信单元709允许设备700通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法300,可由处理单元701执行。例如,在一些实施例中,方法300可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元708。在一些实施例中,计算机程序的部分或者全部可以经由ROM 702和/或通信单元709而被载入和/或安装到设备700上。当计算机程序被加载到RAM 703并由CPU 701执行时,可以执行上文描述的方法300的一个或多个步骤。
应当注意,尽管在上文的详细描述中提及了设备的若干装置或子装置,但是这种划分仅仅是示例性而非强制性的。实际上,根据本公开的实施例,上文描述的两个或更多装置的特征和功能可以在一个装置中具体化。反之,上文描述的一个装置的特征和功能可以进一步划分为由多个装置来具体化。
以上所述仅为本公开的实施例可选实施例,并不用于限制本公开的实施例,对于本领域的技术人员来说,本公开的实施例可以有各种更改和变化。凡在本公开的实施例的精神和原则之内,所作的任何修改、等效替换、改进等,均应包含在本公开的实施例的保护范围之内。
虽然已经参考若干具体实施例描述了本公开的实施例,但是应该理解,本公开的实施例并不限于所公开的具体实施例。本公开的实施例旨在涵盖在所附权利要求的精神和范围内所包括的各种修改和等同布置。所附权利要求的范围符合最宽泛的解释,从而包含所有这样的修改及等同结构和功能。

Claims (24)

1.一种针对独立磁盘冗余阵列RAID的重建方法,包括:
响应于磁盘发生故障,将包括所述磁盘的RAID组划分为多个条带,其中每个条带包括所述RAID组中的所有磁盘中的磁盘片;
将所述多个条带分别映射到其他RAID组;以及
在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据。
2.根据权利要求1所述的方法,其中响应于磁盘发生故障,将包括所述磁盘的RAID组划分为多个条带包括:
根据预定义的每个条带大小,将所述RAID组划分为多个条带。
3.根据权利要求1所述的方法,其中将所述多个条带分别映射到其他RAID组包括:
根据所述其他RAID组中每个RAID组的工作负载和剩余存储空间,将所述多个条带分别映射到其他RAID组。
4.根据权利要求1所述的方法,其中在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据包括:
响应于所述多个条带中的特定条带正在被重建,所述RAID组中的所述特定条带仅提供读操作,而不提供写操作。
5.根据权利要求4所述的方法,其中在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据还包括:
在所述特定条带被重建之后,针对所述特定条带的读操作和写操作二者被重定向到重建所述特定条带的特定RAID组。
6.根据权利要求1-5中任一项所述的方法,其中在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据包括:
在所述其他RAID组中的多个RAID组中并行重建所述RAID组中的所述多个条带。
7.根据权利要求1所述的方法,其中在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据包括:
分段重建所述RAID组中的所述多个条带,并且设置检查点来记录分段重建的进度。
8.根据权利要求1所述的方法,还包括:
响应于所述多个条带中的所有条带都被重建,使用新的空闲磁盘来替换发生故障的所述磁盘,以形成新的空闲RAID组。
9.根据权利要求8所述的方法,还包括:
在形成所述新的空闲RAID组之后,对所述其他RAID组进行负载平衡。
10.根据权利要求9所述的方法,其中对所述其他RAID组进行负载平衡包括:
将所述其他RAID组中高负载的RAID组中的一部分数据迁移到所述新的空闲RAID组。
11.根据权利要求10所述的方法,其中将所述其他RAID组中高负载的RAID组中的一部分数据迁移到所述空闲RAID组包括:
通过记录所述其他RAID组中每个RAID组的读操作和/或写操作的次数,来确定所述其他RAID组中高负载的RAID组。
12.一种针对独立磁盘冗余阵列RAID的重建设备,包括:
划分装置,用于响应于磁盘发生故障,将包括所述磁盘的RAID组划分为多个条带,其中每个条带包括所述RAID组中的所有磁盘中的磁盘片;
映射装置,用于将所述多个条带分别映射到其他RAID组;以及
重建装置,用于在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据。
13.根据权利要求12所述的设备,其中所述划分装置还用于:
根据预定义的每个条带大小,将所述RAID组划分为多个条带。
14.根据权利要求12所述的设备,其中所述映射装置还用于:
根据所述其他RAID组中每个RAID组的工作负载和剩余存储空间,将所述多个条带分别映射到其他RAID组。
15.根据权利要求12所述的设备,其中所述重建装置还用于:
响应于所述多个条带中的特定条带正在被重建,所述RAID组中的所述特定条带仅提供读操作,而不提供写操作。
16.根据权利要求15所述的设备,其中所述重建装置还用于:
在所述特定条带被重建之后,针对所述特定条带的读操作和写操作二者被重定向到重建所述特定条带的特定RAID组。
17.根据权利要求12-16中任一项所述的设备,其中所述重建装置还用于:
在所述其他RAID组中的多个RAID组中并行重建所述RAID组中的所述多个条带。
18.根据权利要求12所述的设备,其中所述重建装置还用于:
分段重建所述RAID组中的所述多个条带,并且设置检查点来记录分段重建的进度。
19.根据权利要求12所述的设备,还包括:
替换装置,用于响应于所述多个条带中的所有条带都被重建,使用新的空闲磁盘来替换发生故障的所述磁盘,以形成新的空闲RAID组。
20.根据权利要求19所述的设备,还包括:
负载平衡装置,用于在形成所述新的空闲RAID组之后,对所述其他RAID组进行负载平衡。
21.根据权利要求20所述的设备,其中所述负载平衡装置还用于:
将所述其他RAID组中高负载的RAID组中的一部分数据迁移到所述新的空闲RAID组。
22.根据权利要求21所述的设备,其中所述负载平衡装置还用于:
通过记录所述其他RAID组中每个RAID组的读操作和/或写操作的次数,来确定所述其他RAID组中高负载的RAID组。
23.一种针对独立磁盘冗余阵列RAID的重建设备,包括:
存储器;以及
处理器,所述处理器被配置为:
响应于磁盘发生故障,将包括所述磁盘的RAID组划分为多个条带,其中每个条带包括所述RAID组中的所有磁盘中的磁盘片;
将所述多个条带分别映射到其他RAID组;以及
在所述其他RAID组中重建所述RAID组中的所述多个条带上的数据。
24.根据权利要求23所述的设备,其中所述处理器还被配置为执行根据权利要求2-11中任一项所述的方法。
CN201610162005.3A 2016-03-21 2016-03-21 针对独立磁盘冗余阵列的重建方法和设备 Active CN107220148B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201610162005.3A CN107220148B (zh) 2016-03-21 2016-03-21 针对独立磁盘冗余阵列的重建方法和设备
US15/464,275 US10496483B2 (en) 2016-03-21 2017-03-20 Method and apparatus for rebuilding redundant array of independent disks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610162005.3A CN107220148B (zh) 2016-03-21 2016-03-21 针对独立磁盘冗余阵列的重建方法和设备

Publications (2)

Publication Number Publication Date
CN107220148A CN107220148A (zh) 2017-09-29
CN107220148B true CN107220148B (zh) 2020-12-04

Family

ID=59855662

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610162005.3A Active CN107220148B (zh) 2016-03-21 2016-03-21 针对独立磁盘冗余阵列的重建方法和设备

Country Status (2)

Country Link
US (1) US10496483B2 (zh)
CN (1) CN107220148B (zh)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108733311B (zh) * 2017-04-17 2021-09-10 伊姆西Ip控股有限责任公司 用于管理存储系统的方法和设备
CN109213619B (zh) * 2017-06-30 2022-02-22 伊姆西Ip控股有限责任公司 用于管理存储系统的方法、设备和计算机程序产品
CN107678694B (zh) * 2017-10-17 2019-02-05 深圳大普微电子科技有限公司 Raid条带重建方法及固态盘
US10852951B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for improving I/O performance by introducing extent pool level I/O credits and user I/O credits throttling on Mapped RAID
US10852966B1 (en) * 2017-10-18 2020-12-01 EMC IP Holding Company, LLC System and method for creating mapped RAID group during expansion of extent pool
CN109725826B (zh) * 2017-10-27 2022-05-24 伊姆西Ip控股有限责任公司 管理存储系统的方法、设备和计算机可读介质
CN109725831B (zh) 2017-10-27 2022-06-10 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机可读介质
US10740181B2 (en) 2018-03-06 2020-08-11 Western Digital Technologies, Inc. Failed storage device rebuild method
US10860446B2 (en) 2018-04-26 2020-12-08 Western Digital Technologiies, Inc. Failed storage device rebuild using dynamically selected locations in overprovisioned space
CN110413205B (zh) 2018-04-28 2023-07-07 伊姆西Ip控股有限责任公司 用于向磁盘阵列进行写入的方法、设备和计算机可读存储介质
US10592156B2 (en) * 2018-05-05 2020-03-17 International Business Machines Corporation I/O load balancing between virtual storage drives making up raid arrays
US10825477B2 (en) 2018-08-02 2020-11-03 Western Digital Technologies, Inc. RAID storage system with logical data group priority
US10649843B2 (en) 2018-08-03 2020-05-12 Western Digital Technologies, Inc. Storage systems with peer data scrub
US10901848B2 (en) 2018-08-03 2021-01-26 Western Digital Technologies, Inc. Storage systems with peer data recovery
US11132256B2 (en) * 2018-08-03 2021-09-28 Western Digital Technologies, Inc. RAID storage system with logical data group rebuild
US10824526B2 (en) * 2018-08-03 2020-11-03 Western Digital Technologies, Inc. Using failed storage device in peer-to-peer storage system to perform storage-centric task
US10831603B2 (en) 2018-08-03 2020-11-10 Western Digital Technologies, Inc. Rebuild assist using failed storage device
CN109189331B (zh) * 2018-08-09 2021-08-17 河北工业大学 一种动态数据布局方法
CN111124251B (zh) * 2018-10-30 2023-08-29 伊姆西Ip控股有限责任公司 用于i/o控制的方法、装置以及计算机可读介质
CN111124262B (zh) * 2018-10-31 2023-08-22 伊姆西Ip控股有限责任公司 独立盘冗余阵列(raid)的管理方法、设备和计算机可读介质
CN109814803B (zh) * 2018-12-17 2022-12-09 深圳创新科技术有限公司 一种分布式存储系统中容错能力自适应调整方法和装置
CN109739436A (zh) * 2018-12-19 2019-05-10 河南创新科信息技术有限公司 Raid重构方法、存储介质和装置
CN111381997B (zh) * 2018-12-28 2024-03-01 杭州宏杉科技股份有限公司 一种raid重建方法及装置
US11182258B2 (en) 2019-01-04 2021-11-23 Western Digital Technologies, Inc. Data rebuild using dynamic peer work allocation
CN112764953A (zh) * 2019-10-21 2021-05-07 伊姆西Ip控股有限责任公司 盘故障控制的方法、电子设备和计算机可读存储介质
CN112748860B (zh) * 2019-10-30 2024-04-12 伊姆西Ip控股有限责任公司 用于存储管理的方法、电子设备和计算机程序产品
CN112925471A (zh) 2019-12-06 2021-06-08 伊姆西Ip控股有限责任公司 在存储系统中选择重建目的地的方法、设备和程序产品
CN113552998B (zh) 2020-04-24 2023-09-15 伊姆西Ip控股有限责任公司 用于管理存储系统中的条带的方法、设备和程序产品
CN113590016A (zh) 2020-04-30 2021-11-02 伊姆西Ip控股有限责任公司 用于管理存储盘的方法、电子设备和计算机程序产品
US11403175B2 (en) 2020-07-31 2022-08-02 EMC IP Holding Company LLC Rebuilding data previously stored on a failed data storage drive
CN114168064A (zh) * 2020-09-10 2022-03-11 伊姆西Ip控股有限责任公司 用于重建存储系统的方法、设备和计算机程序产品
US11593207B2 (en) * 2021-01-20 2023-02-28 EMC IP Holding Company LLC Storage system having RAID stripe metadata
US11734117B2 (en) * 2021-04-29 2023-08-22 Vast Data Ltd. Data recovery in a storage system
US11321178B1 (en) * 2021-06-29 2022-05-03 Dell Products, L. P. Automated recovery from raid double failure
CN113986149B (zh) * 2021-12-27 2022-04-22 苏州浪潮智能科技有限公司 一种系统故障处理方法、装置、设备及存储介质
CN114995771B (zh) * 2022-08-02 2022-12-13 苏州浪潮智能科技有限公司 独立磁盘冗余阵列格式化调度方法、装置、设备及介质
CN117149096B (zh) * 2023-10-31 2024-02-06 苏州元脑智能科技有限公司 磁盘重构方法、装置、设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526882A (zh) * 2008-03-03 2009-09-09 中兴通讯股份有限公司 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
CN103678048A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 独立磁盘冗余阵列修复方法、装置和存储设备

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2603757B2 (ja) * 1990-11-30 1997-04-23 富士通株式会社 アレ−ディスク装置の制御方法
US5574851A (en) * 1993-04-19 1996-11-12 At&T Global Information Solutions Company Method for performing on-line reconfiguration of a disk array concurrent with execution of disk I/O operations
US5657439A (en) * 1994-08-23 1997-08-12 International Business Machines Corporation Distributed subsystem sparing
US7120826B2 (en) * 2002-03-29 2006-10-10 International Business Machines Corporation Partial mirroring during expansion thereby eliminating the need to track the progress of stripes updated during expansion
US20060041793A1 (en) * 2004-08-17 2006-02-23 Dell Products L.P. System, method and software for enhanced raid rebuild
US7386666B1 (en) * 2005-09-30 2008-06-10 Emc Corporation Global sparing of storage capacity across multiple storage arrays
US7743276B2 (en) * 2006-09-27 2010-06-22 Hewlett-Packard Development Company, L.P. Sufficient free space for redundancy recovery within a distributed data-storage system
US8060772B2 (en) * 2008-01-04 2011-11-15 International Business Machines Corporation Storage redundant array of independent drives
US8719619B2 (en) * 2011-09-20 2014-05-06 International Business Machines Corporation Performance enhancement technique for raids under rebuild
US8930745B2 (en) * 2012-04-16 2015-01-06 Hitachi, Ltd. Storage subsystem and data management method of storage subsystem
US8874494B1 (en) 2012-09-28 2014-10-28 Emc Corporation Dynamic selection of spare storage element types in array
US9354975B2 (en) 2013-03-15 2016-05-31 Emc Corporation Load balancing on disks in raid based on linear block codes
US20160050146A1 (en) * 2014-08-15 2016-02-18 Turbostor, Inc. Accelerated storage appliance using a network switch
US9690660B1 (en) 2015-06-03 2017-06-27 EMC IP Holding Company LLC Spare selection in a declustered RAID system
US10013323B1 (en) 2015-09-29 2018-07-03 EMC IP Holding Company LLC Providing resiliency to a raid group of storage devices
US9921912B1 (en) 2015-09-30 2018-03-20 EMC IP Holding Company LLC Using spare disk drives to overprovision raid groups
US9804939B1 (en) 2015-09-30 2017-10-31 EMC IP Holding Company LLC Sparse raid rebuild based on storage extent allocation
US9880764B1 (en) 2016-03-30 2018-01-30 EMC IP Holding Company LLC Flash disk cache management for increased virtual LUN availability
US10089015B1 (en) 2016-12-28 2018-10-02 EMC IP Holding Company LLC Per-drive memory resident zeroing maps for drive zeroing in a data storage system
US10089026B1 (en) 2016-12-29 2018-10-02 EMC IP Holding Company LLC Virtual drive based RAID groups
US10146456B1 (en) 2016-12-30 2018-12-04 EMC IP Holding Company LLC Data storage system with multi-level, scalable metadata structure

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101526882A (zh) * 2008-03-03 2009-09-09 中兴通讯股份有限公司 独立磁盘冗余阵列子系统中逻辑单元重建的方法及装置
US8099623B1 (en) * 2008-10-08 2012-01-17 Netapp, Inc. Efficient distributed hot sparing scheme in a parity declustered RAID organization
CN103678048A (zh) * 2013-11-29 2014-03-26 华为技术有限公司 独立磁盘冗余阵列修复方法、装置和存储设备

Also Published As

Publication number Publication date
US20170270018A1 (en) 2017-09-21
CN107220148A (zh) 2017-09-29
US10496483B2 (en) 2019-12-03

Similar Documents

Publication Publication Date Title
CN107220148B (zh) 针对独立磁盘冗余阵列的重建方法和设备
US11281536B2 (en) Method, device and computer program product for managing storage system
CN109725822B (zh) 用于管理存储系统的方法、设备和计算机程序产品
US10126988B1 (en) Assigning RAID extents and changing drive extent allocations within RAID extents when splitting a group of storage drives into partnership groups in a data storage system
US10977124B2 (en) Distributed storage system, data storage method, and software program
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
US20170075741A1 (en) Prioritizing Data Reconstruction in Distributed Storage Systems
US20150286531A1 (en) Raid storage processing
KR20110087272A (ko) 볼륨 조각 할당 방법, 볼륨 조각 할당 시스템 및 raid
US11474919B2 (en) Method for managing multiple disks, electronic device and computer program product
US10324794B2 (en) Method for storage management and storage device
CN111124264A (zh) 用于重建数据的方法、设备和计算机程序产品
US10740020B2 (en) Method, device and computer program product for managing disk array
CN105573680A (zh) 副本数据的存储方法及装置
US10977130B2 (en) Method, apparatus and computer program product for managing raid storage in data storage systems
CN108780411B (zh) 数据存储系统中的自主奇偶交换
CN113811862A (zh) 存储驱动器的动态性能等级调整
CN112119380B (zh) 带有旁路的奇偶校验记录
CN111857560A (zh) 用于管理数据的方法、设备和计算机程序产品
CN114168064A (zh) 用于重建存储系统的方法、设备和计算机程序产品
CN111897676A (zh) 一种基于数据库索引的文件备份方法及装置
CN113835637A (zh) 一种数据的写入方法、装置以及设备
US11093157B2 (en) Method, electronic device and computer program product for storage management
US11163482B2 (en) Dynamic performance-class adjustment for storage drives
US11049570B2 (en) Dynamic writes-per-day adjustment for storage drives

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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200415

Address after: Massachusetts, USA

Applicant after: EMC IP Holding Company LLC

Address before: Ma Sazhusaizhou

Applicant before: EMC Corp.

GR01 Patent grant
GR01 Patent grant