CN110058961B - 用于管理存储系统的方法和设备 - Google Patents

用于管理存储系统的方法和设备 Download PDF

Info

Publication number
CN110058961B
CN110058961B CN201810050351.1A CN201810050351A CN110058961B CN 110058961 B CN110058961 B CN 110058961B CN 201810050351 A CN201810050351 A CN 201810050351A CN 110058961 B CN110058961 B CN 110058961B
Authority
CN
China
Prior art keywords
data block
target data
storage device
indication
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
CN201810050351.1A
Other languages
English (en)
Other versions
CN110058961A (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 CN201810050351.1A priority Critical patent/CN110058961B/zh
Priority to US16/247,983 priority patent/US10942826B2/en
Publication of CN110058961A publication Critical patent/CN110058961A/zh
Application granted granted Critical
Publication of CN110058961B publication Critical patent/CN110058961B/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
    • 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/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • 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/2094Redundant storage or storage space
    • 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/0604Improving or facilitating administration, e.g. storage management
    • G06F3/0607Improving or facilitating administration, e.g. storage management by facilitating the process of upgrading existing storage systems, e.g. for improving compatibility between host and storage device
    • 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/0629Configuration or reconfiguration 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/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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本公开内容的实现涉及管理存储系统的方法和设备。具体地,提供了一种用于管理存储系统的方法,存储系统包括一组存储设备。该方法包括:确定一组存储设备中的处于重建状态的第一存储设备;响应于一组存储设备中的第二存储设备出现故障,基于第一存储设备中的目标数据块的数据状态,获取第二存储设备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示;以及基于可恢复性指示,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。因而,可以在无需专业技术人员的人工操作的情况下,以简单有效的方式恢复存储系统中的数据。在本公开内容的其他实现方式中,提供了相应设备和计算机程序产品。

Description

用于管理存储系统的方法和设备
背景技术
随着数据存储技术的发展,各种数据存储设备已经能够向用户提供越来越高的数据存储能力,并且数据访问速度也有了很大程度的提高。在提高数据存储能力的同时,用户对于数据可靠性和存储系统的响应时间也提出了越来越高的需求。目前,已经开发出了基于冗余磁盘阵列的多种数据存储系统来提高数据的可靠性。当存储系统中的一个或者多个磁盘出现故障时,可以从其他正常操作的磁盘上的数据来恢复出故障磁盘中的数据。
对于RAID的一个条带中的多个区块而言,该多个区块可以分布在不同的物理存储设备上,以便当该多个区块中的一个区块所在的物理存储设备出现故障时,可以从其他区块所在的物理存储设备中恢复数据。对于RAID而言,可以提供不同的安全等级。在较低的安全等级(例如RAID-5)中,可以采用较少的空间来存储校验数据(例如,仅存储P校验(parity));而在较高的安全等级(例如RAID-6)中,需要采用较多的空间来存储校验数据(例如,P校验和Q校验)。
不同安全等级的存储系统允许存储系统中的不同数量的存储设备出现故障。对于4D+1P(4D表示存储系统中包括四个存储设备来用于存储数据,1P表示存储系统中包括一个存储设备来用于存储P校验的RAID-5存储系统而言,允许1个存储设备出现故障。然而,当RAID-5存储系统中的2个设备出现故障的情况下,此时存储系统不能恢复故障的存储设备中的数据,进而将会导致数据丢失。为了保证存储系统的正常运行,需要专业技术人员来执行特定的恢复操作以处理上文所述的2个设备出现故障的情况。此时,如何以简单有效的方式执行恢复操作,成为一个难题。
发明内容
因而,期望能够开发并实现一种以更为简单并且可靠的方式来管理存储系统的技术方案。期望该技术方案能够与现有的存储系统相兼容,并且通过改造现有存储系统的各种配置,来以更为可靠的方式来管理存储系统中的数据。
根据本公开内容的第一方面,提供了一种用于管理存储系统的方法,存储系统包括一组存储设备。该方法包括:确定一组存储设备中的处于重建状态的第一存储设备;响应于一组存储设备中的第二存储设备出现故障,基于第一存储设备中的目标数据块的数据状态,获取第二存储设备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示;以及基于可恢复性指示,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。
根据本公开内容的第二方面,提供了一种用于管理存储系统的设备。该设备包括:一个或者多个处理器;耦合至一个或者多个处理器中的至少一个处理器的存储器;在存储器中存储的计算机程序指令,当由至少一个处理器执行计算机程序指令时,使得系统执行用于管理存储系统的方法。该方法包括:确定一组存储设备中的处于重建状态的第一存储设备;响应于一组存储设备中的第二存储设备出现故障,基于第一存储设备中的目标数据块的数据状态,获取第二存储设备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示;以及基于可恢复性指示,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。
根据本公开内容的第三方面,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据本公开的方法的动作。
附图说明
结合附图并参考以下详细说明,本公开内容各实现方式的特征、优点及其他方面将变得更加明显,在此以示例性而非限制性的方式示出了本公开内容的若干实现方式。在附图中:
图1示意性示出了适于实现本公开内容实现方式的示例性计算系统的框图;
图2A和图2B分别示意性示出了其中可以实现根据本公开内容的实现方式的应用环境的示意图;
图3示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的技术方案的框图;
图4示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的方法的流程图;
图5示意性示出了根据本公开内容的示例性实现方式的存储系统中的已分配部分和未分配部分的框图;
图6示意性示出了根据本公开内容的示例性实现方式的存储系统中的一组存储设备中的元数据的框图;
图7示意性示出了根据本公开内容的示例性实现方式的存储设备中的数据块和元数据之间的对应关系的框图;
图8A、8B和8C示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的技术方案的框图;
图9示意性示出了根据本公开内容的示例性实现方式的存储系统中的第一存储设备和第二存储设备的框图;以及
图10A和图10B示意性示出了根据本公开内容的示例性实现方式的用于管理RAID-6存储系统以及三重校验(triple-parity)存储系统的技术方案的框图。
具体实施方式
下面将参照附图更详细地描述本公开内容的优选实现方式。虽然附图中显示了本公开内容的优选实现方式,然而应该理解,可以以各种形式实现本公开内容而不应被这里阐述的实现方式所限制。相反,提供这些实现方式是为了使本公开内容更加透彻和完整,并且能够将本公开内容的范围完整的传达给本领域的技术人员。
图1示出了适于用来实现本公开内容实现方式的示例性计算系统100的框图。如图1所示,计算机系统100可以包括:CPU(中央处理单元)101、RAM(随机存取存储器)102、ROM(只读存储器)103、系统总线104、硬盘控制器105、键盘控制器106、串行接口控制器107、并行接口控制器108、显示控制器109、硬盘110、键盘111、串行外部设备112、并行外部设备113和触摸屏显示器114。在这些设备中,与系统总线104耦合的有CPU 101、RAM 102、ROM 103、硬盘控制器105、键盘控制器106、串行控制器107、并行控制器108和显示控制器109。硬盘110与硬盘控制器105耦合,键盘111与键盘控制器106耦合,串行外部设备112与串行接口控制器107耦合,并行外部设备113与并行接口控制器108耦合,以及触摸屏显示器114与显示控制器109耦合。应当理解,图1所示的结构框图仅仅是为了示例的目的,而不是对本公开内容范围的限制。在某些情况下,可以根据具体情况增加或减少某些设备。
所属技术领域的技术人员知道,本公开内容可以实现为系统、方法或计算机程序产品。因此,本公开内容可以具体实现为以下形式,即:可以是完全的硬件、也可以是完全的软件(包括固件、驻留软件、微代码等),还可以是硬件和软件结合的形式,本文一般称为“电路”、“模块”或“系统”。此外,在一些实现方式中,本公开内容还可以实现为在一个或多个计算机可读介质中的计算机程序产品的形式,该计算机可读介质中包含计算机可读的程序代码。
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开内容操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如使用因特网服务提供者来通过因特网连接)。
下面将参照本公开内容实现方式的方法、装置(系统)和计算机程序产品的流程图和/或框图描述本公开内容。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,从而生产出一种机器,这些计算机程序指令通过计算机或其他可编程数据处理装置执行,产生了实现流程图和/或框图中的方框中规定的功能/操作的装置。
也可以把这些计算机程序指令存储在能使得计算机或其他可编程数据处理装置以特定方式工作的计算机可读介质中,这样,存储在计算机可读介质中的指令就产生出一个包括实现流程图和/或框图中的方框中规定的功能/操作的指令装置(instructionmeans)的制造品(manufacture)。
也可以把计算机程序指令加载到计算机、其他可编程数据处理装置、或其他设备上,使得在计算机、其他可编程数据处理装置或其他设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机或其他可编程装置上执行的指令能够提供实现流程图和/或框图中的方框中规定的功能/操作的过程。
独立磁盘冗余阵列可以将多个存储设备组合起来,成为一个磁盘阵列。通过提供冗余的存储设备,可以使得整个磁盘组的可靠性大大超过单一的存储设备。RAID可以提供优于单一的存储设备的各种优势,例如,增强数据整合度,增强容错功能,增加吞吐量或容量,等等。RAID存在多个标准,例如RAID-1,RAID-2,RAID-3,RAID-4,RAID-5,RAID-6,RAID-10,RAID-50等等。关于RAID级别的更多细节,本领域技术人员例如可以参见https://en.wikipedia.org/wiki/Standard_RAID_levels、以及https://en.wikipedia.org/wiki/Nested_RAID_levels等。
图2A示意性示出了根据一个技术方案的独立磁盘冗余阵列的结构的示意图200A。在图2A中,以包括五个独立存储设备(210、212、214、216以及218)的RAID-5(4D+1P,其中4D表示存储系统中包括四个存储设备来用于存储数据,1P表示存储系统中包括一个存储设备来用于存储P校验)阵列为示例,来说明RAID的工作原理。应当注意,尽管图2A中示意性示出了五个存储设备,在其他的实现方式中,根据RAID的等级不同,还可以包括更多或者更少的存储设备。尽管图2A中示出了条带220、222、224、…、226,在其他的示例中,RAID系统还可以包括不同数量的条带。
在RAID中,条带跨越多个物理存储设备(例如,条带220跨越存储设备210、212、214、216以及218)。可以简单地将条带理解为多个存储设备中的满足一定地址范围的存储区域。在条带220中存储的数据包括多个部分:存储在存储设备210上的数据块D00、存储在存储设备212上的数据块D01、存储在存储设备214上的数据块D02、存储在存储设备216上的数据块D03、以及存储在存储设备218上的数据块P0。在此示例中,数据块D00、D01、D02、以及D03是被存储的数据,而数据块P0是被存储数据的P校验。
在其他条带222和224中存储数据的方式也类似于条带220,不同之处在于,有关其他数据块的校验可以存储在不同于存储设备218的存储设备上。以此方式,当多个存储设备210、212、214、216以及218中的一个存储设备出现故障时,可以从其他的正常的存储设备中恢复出故障设备中的数据。
图2B示意性示出了根据一个技术方案的独立磁盘冗余阵列的重建过程的示意图200B。如图2B所示,当一个存储设备(例如,以阴影示出的存储设备216)出现故障时,可以从其余的正常操作的多个存储设备210、212、214、218中恢复数据。此时,可以向RAID中加入新的后备存储设备218B来替代存储设备218,以此方式,可以将恢复的数据写入218B并实现系统的重建。
应当注意,尽管在上文中参见图2A和图2B描述了包括5个存储设备(其中4个存储设备用于存储数据,1个存储设备用于存储校验)的RAID-5的存储系统,根据其他RAID等级的定义,还可以存在包括其他数量的存储设备的存储系统。例如,基于RAID-6的定义,可以利用两个存储设备来分别存储校验P和Q。又例如,基于三重校验RAID的定义,可以利用三个存储设备来分别存储校验P、Q和R。
应当注意,在本发明的上下文中仅以4D+1P的RAID-5存储系统为示例,示出了包括多个存储设备的存储系统的示例。当采用其他RAID等级时,本领域技术人员可以基于上文的原理来实现具体细节。例如,在4+2的RAID-6存储系统中,4个存储设备用于存储数据,2个存储设备用于存储校验。在4+3的三重校验RAID中,4个存储设备用于存储数据,3个存储设备用于存储校验。
在RAID-5存储系统的运行期间可能会存在两个存储设备出现故障(此情况被称为“双重故障(double failures)。通常而言,认为存储系统中的数据已经被损坏并导致不能被重建。此时,必须聘请专业技术人员来执行专业操作,以便恢复存储系统中的被损坏的数据。然而,聘请专业技术人员一方面将导致额外的经济负担,另一方面随着时间的拖延,故障设备的状态可能会进一步恶化,进而使得原本已经出现双重故障的存储系统中的数据进一步被损坏。
为了解决上述缺陷,本公开内容的实现方式提供了一种用于管理存储系统的方法、设备和程序产品。具体地,根据本公开内容的一个实现方式,提供了一种用于管理存储系统的技术方案。可能会出现这样的情况,出现故障的两个存储设备中的数据可能并没有完全被损坏,而是其中可能存在一部分数据可以被读取。此时,可以在无需外部专业技术人员的情况下执行恢复。
根据本公开内容的示例性实现方式的技术方案特别适用于如下应用场景。场景1:存储系统中的第一存储设备离线(即,存储系统不可访问该第一存储设备中的数据),第一存储设备的离线触发了存储系统的重建操作,并且在重建操作期间第二存储设备出现故障。场景2:存储系统中的第一存储设备出现故障,该第一存储设备的故障触发了存储系统的重建操作,并且在重建操作期间第二存储设备出现故障。
图3示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的技术方案300的框图。如图3所示,存储系统包括一组存储设备210、212、214、216和218。此时,可以首先从一组存储设备中确定处于重建状态的第一存储设备214。将会理解,此时第一存储设备214正处于重建状态,因而其中的数据部分310已经被重建,而数据部分320尚未被重建。此时数据部分310中存储正常数据。在此“正常”是指该目标数据块中的数据的内容与存储系统处于正常状态时该目标数据块中的数据的内容相一致,不需要被重建。数据部分320中存储“非正常”数据,即表示该部分需要被重建。
在第一存储设备214的重建期间,第二存储设备216可能会出现故障。此时,响应于一组存储设备中的第二存储设备216出现故障,可以基于第一存储设备214中的目标数据块的数据状态,确定第二存储设216备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示。将会理解,此处的目标数据块可以指第一存储设备214中的任何数据块。进一步,基于可恢复性指示,通过逐个地针对各个目标数据块进行处理,来恢复第二存储设备中的与目标数据块相对应的数据块中的数据。将会注意,在此的“恢复”是宽泛的概念:如果基于可恢复性指示确定可以恢复,则进行数据恢复;如果基于可恢复性指示确定不可恢复,则通知该数据不可恢复,或者还可以通知专业技术人员进行专业恢复操作,等等。
在此可以将出现故障的第二存储设备216中的数据恢复至后备存储设备218B。如图3所示,假设第一存储设备214中的目标数据块D02、D11和D20都处于正常状态,尽管第一存储设备214正在被重建,然而可以基于处于正常状态的目标数据块D02、D11和D20和其他的正常存储设备210、212、218中的数据,来恢复第二存储设备216中的各个区块中的数据,进而可以将所恢复的数据写入后备存储设备218B。具体而言,对于第一存储设备214中的目标数据块D02,可以基于该目标数据块D02所在的条带中的各个数据块D00、D01、D02、P0来恢复故障的第二存储设备216中的数据,并将恢复的数据写入后备存储设备218B中的数据块D03’。
对于传统的4D+1P的存储系统而言,当存储系统中存在两个故障存储设备时,则存储系统将不能自行重建,而是需要专业技术人员来修复。相比于传统技术方案,根据本公开内容的示例性实现方式可以允许从存在两个故障存储设备的存储系统中恢复出至少一部分数据。根据本公开内容的示例性实现方式,在存储系统的重建期间,当存储系统中的第二存储设备216出现故障时,可以在无需专业技术人员的辅助的情况下,从正在被重建的第一存储设备214中恢复出尽可能多的数据块。
进一步,当存储系统中的一个或多个存储设备出现故障时,如果不能及时抢救存储系统中的数据,随着时间的推移,存储系统的故障状况可能会进一步恶化,进而导致存储系统的完全崩溃和数据的不可恢复。根据本公开内容的示例性实现方式,可以尽量在发现第二存储设备216出现故障的初期立刻启动恢复过程,进而保证可以从存储系统中恢复出更多的数据。
在下文中,将参加图4至图10B详细描述用于管理存储系统的更多细节。图4示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的方法400的流程图。具体地,在方框410处,确定一组存储设备中的处于重建状态的第一存储设备214。在此示例性实现方式中,可以从存储系统的控制器处获得哪个存储设备正在被重建的信息。
在方框420处,判断一组存储设备中的第二存储设备216是否出现故障。如果判断结果为“是”,则在方框430处,基于第一存储设备中的目标数据块的数据状态,确定第二存储设备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示。在此示例性实现方式中,可恢复性指示可以包括“未分配”、“可恢复”、“不可恢复”多种类型。在方框440处,基于可恢复性指示,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。
在下文中,将参见附图详细描述如何确定可恢复性指示。根据本公开内容的示例性实现方式,为了确定可恢复性指示,如果分配状态指示目标数据块未被分配,则将可恢复性指示设置为“未分配”。在此示例性实现方式中,存储设备中可能会存在并未分配给用户使用的数据块。因而对于这些未被分配的数据块,可以将其进行标识以便在后续的恢复过程中可以跳过这些数据块以提高恢复过程的效率,或者还可以针对这些数据块执行特殊处理以便满足定制的需求。
图5示意性示出了根据本公开内容的示例性实现方式的存储系统中的已分配部分和未分配部分的框图500。如图5所示,存储系统中可以包括多个条带220、222、224、……以及226。然而,并不是全部条带都已经被分配给存储系统的用户。具体地,条带220、222、224等已经被分配给用户,然而图5所示的最后一个条带226并未分配给用户。此时,并不需要针对条带226中的各个数据块进行恢复,而是只需要考虑条带220、222、224等中的数据块即可。根据本公开内容的示例性实现方式,可以从存储系统的记录中查找各个条带是否已经被分配的状态,继而可以基于该状态来确定可恢复性指示。
根据本公开内容的示例性实现方式,响应于可恢复性指示被设置为“未分配”,向第二存储设备中的与目标数据块相对应的数据块中写入预定数据,以指示数据块未被分配。在此示例性实现方式中,可以预定义用以指示数据块未被分配的数据段。例如,可以向该数据块中连续写入十六进制形式的数值“1”或者其他数值。
通过向“未分配”数据块中写入预定数据,可以便于后期专业技术人员的进一步处理。例如,当专业技术人员检测到存储系统中出现连续的预定数据时,可以知晓“未分配”的数据块所在的条带并未被分配给用户。因而,可以跳过该条带,以便提高后期恢复操作的效率。
根据本公开内容的示例性实现方式,数据状态可以包括关联状态,关联状态可以指示目标数据块中的数据与一组存储设备中的其他存储设备中的相对应数据块中的数据是否相关联。此时,可以响应于分配状态指示目标数据块已经被分配,基于关联状态确定可恢复性指示。
在此示例性实现方式中,可以跳过被标记为“未分配”的目标数据块,并且仅针对已经被分配的目标数据块执行后续的操作,进而提高处理效率。进一步,关联状态指示目标数据块中的数据是否需要被重建,可以通过关联状态来判断目标数据块中的数据是否是正常的数据。在后续的操作中,可以基于关联状态来确定目标数据块中的数据是否“正常”。
在正常运行的存储系统中,通常而言一个条带中的各个数据块中的数据应当是相关联的。然而可能会出现这样的情况,例如在上文描述的场景1中,存储系统中的第一存储设备离线(即,存储系统不可访问该第一存储设备中的数据),此时一个存储设备中的数据块被修改,并造成条带中的各个数据块需要被重建。此时,可以认为条带中的各个数据块中的数据是不相关联的。换言之,此时条带中的数据是未被更新的“脏”数据,因而需要被重建。
根据本公开内容的示例性实现方式,可以基于关联状态确定可恢复性指示。具体地,如果基于关联状态指示目标数据块中的数据不需要被重建,则此时可以将可恢复性指示设置为“可恢复”。如果基于关联状态指示关联状态指示目标数据块中的数据需要被重建,则此时可以将可恢复性指示设置为“不可恢复”。
根据本公开内容的示例性实现方式,第一存储设备包括元数据,元数据指示第一存储设备中的多个区块中的区块是否需要被重建。此时,可以基于元数据来确定可恢复性指示。在此示例性实现方式中,可以基于存储系统中的各个存储设备中的元数据的内容,来方便地判断目标数据块中的数据是否需要被重建。
图6示意性示出了根据本公开内容的示例性实现方式的存储系统中的一组存储设备中的元数据的框图600。如图6在存储系统中的各个存储设备中,可以存在专用的用于存储元数据的部分610。通过读取元数据的内容,可以确定目标数据块中的数据是否需要被重建。
图7示意性示出了根据本公开内容的示例性实现方式的存储设备中的数据块和元数据之间的对应关系的框图700。将会理解,在图7中仅示意性示出了一个存储设备中的对应关系,在此所描述的对应关系还可以适用于其他存储设备。参见图7,其中附图标记710示出了第一存储设备214中的目标数据块和元数据的分布。具体地,该第一存储设备214可以包括多个目标数据块D02、D11、D20、……、DN2。进一步,第一存储设备214还可以包括元数据部分710,并且该元数据部分710中可以包括分别与各个目标数据块D02、D11、D20、……、DN2相对应的元数据。
具体地,如箭头720所示,元数据部分710中的“NR=FALSE”(即,需要重建=假)表示目标数据块D02中的数据不需要被重建。换言之,表示该目标数据块D02中的数据是“正常”的。进一步,如箭头722所示,元数据部分710中的“NR=TRUE”(即,需要重建=真)表示目标数据块D11中的数据需要被重建。换言之,表示该目标数据块D02中的数据是“非正常”的。如箭头724所示,元数据部分710中的“NR=FALSE”(即,需要重建=假)表示目标数据块D02中的数据不需要被重建。换言之,表示该目标数据块D02中的数据是“正常”的。根据本公开内容的示例性实现方式,如果元数据为“NR=FALSE”,则可以将可恢复性指示设置为“可恢复”;如果元数据为“NR=TRUE”,则可以将可恢复性指示设置为“不可恢复”。
根据本公开内容的示例性实现方式,响应于目标数据块不可读,将可恢复性指示设置为“不可恢复”。在此示例性实现方式中,如果目标数据块的格式与存储系统中的数据块应当具备的正常格式不同,进而造成该目标数据块不可读,则此时可以跳过本文描述的读取元数据的操作,并且直接将可恢复性指示设置为“不可恢复”。以此方式,可以跳过不必要的处理步骤进而提高处理效率。例如,假设一个目标数据块中的数据完全被损坏(例如,乱码),则此时可以将该目标数据块的可恢复性指示设置为“不可恢复”。
在已经确定可恢复性指示的情况下,还可以进一步跟进可恢复性指示的具体内容来执行相应的恢复步骤。根据本公开内容的示例性实现方式,如果恢复标记指示“可恢复”,基于目标数据块中的数据以及一组存储设备中的与目标数据块相对应的数据块中数据,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。在此示例性实现方式中,仅针对与“可恢复”的目标数据块相关联的数据块来执行恢复操作,而对于其他的与“未分配”或者“不可恢复”的目标数据块相关联的数据块,可以跳过恢复操作以便提高恢复效率。
将会理解,对于与“未分配”目标数据块相关联的数据块而言,即使可以基于存储系统中的现有数据恢复出第二存储设备216中的被损坏的数据,被恢复的数据是对于存储系统的用户而言是无用数据。还将理解,对于与“不可恢复”目标数据块相关联的数据块而言,即使基于存储系统中的现有数据恢复出第二存储设备216中的被损坏的数据,被恢复的数据对于存储系统的用户而言并不是“正常”的数据。因而,仅需要针对与“可恢复”目标数据块相关联的数据块来执行恢复操作。
根据本公开内容的示例性实现方式,响应于恢复标记指示“不可恢复”,可以向存储系统的管理员发送通知以指示数据块中的数据不能按照本公开内容的方式进行恢复。在此示例性实现方式中,可以预定义用以指示数据块“不可恢复”的数据段。例如,可以采用预定义标识符来指示。基于该预定义标识符,可以便于后期专业技术人员的进一步处理。例如,当专业技术人员检测到存储系统中出现预定标识符时,可以知晓“不可恢复”的数据块所在的条带的具体位置。继而,专业技术人员可以仅针对该条带中的数据执行专业恢复操作。例如,专业技术人员可以采用硬盘恢复工具等扫描该条带,以便恢复其中的数据。
根据本公开内容的示例性实现方式,可以基于第一存储设备中的另一目标数据块的数据状态,确定第二存储设备中的与另一目标数据块相对应的数据块是否可恢复的另一可恢复性指示;以及基于另一可恢复性指示,恢复第二存储设备中的与另一目标数据块相对应的数据块中的数据。根据本公开内容的示例性实现方式,正在被重建的第一存储设备214可以包括多个目标数据块,此时则需要针对其中的每个目标数据块进行处理。以此方式,可以从存储系统中恢复出尽可能多的数据。
在此示例性实现方式中,可以按照上文描述的方法来确定针对第一存储设备214中的每个目标数据块的数据状态,进而确定指示第二存储设备216中的与每个目标数据块相对应的数据块是否可恢复的可恢复性指示。进一步,还可以按照上文描述的方法来执行相应的恢复。
根据本公开内容的示例性实现方式,可以按照可恢复性指示的类型,来分别建立包括可恢复数据块的组以及包括不可恢复数据块的组。以此方式,可以方便地区分“可恢复”和“不可恢复”的目标数据块,进而可以集中地针对包括“可恢复”/“不可恢复”组进行处理,进而提高恢复操作的效率。
在一个实现方式中,可以针对第一存储设备214中的各个数据块来进行处理,并将各个区块分别放置在不同的组中。具体地,将目标数据块和另一目标数据块加入第一组。继而,从第一组去除没有被分配给存储系统的用户的目标数据块。接着,将第一组中的至少一部分移动至第二组,以使得第一组中的目标数据块的可恢复性指示不同于第一组中的目标数据块的可恢复性指示。最后,基于第一组和第二组,来恢复第二存储设备中的分别与目标数据块和另一目标数据块相对应的数据块中的数据。在下文中将详细描述如何基于可恢复性指示来建立不同的组的具体示例。
图8A、8B和8C示意性示出了根据本公开内容的示例性实现方式的用于管理存储系统的技术方案的框图800A、800B和800C。如图8A示出了第一存储设备214中包括的多个目标数据块。在此示例性实现方式中,可以设置可恢复列表810A和不可恢复列表820A。具体地,最初可以将第一存储设备214中的全部目标数据块的指示加入可恢复列表,此时不可恢复列表820A为空。
接着,可以首先从可恢复列表810A中去除可恢复性指示为“未分配”的目标数据块,以形成如图8B所示的可恢复列表810B。接着,可以按照上为描述的方法,判断可恢复列表810B中的每个目标数据块的可恢复性指示。如果可恢复性指示为“可恢复”,则将该目标数据块保留在可恢复列表810B中;如果可恢复性指示为“不可恢复”,则将该目标数据块移动至不可恢复列表820B中。在完成针对每个目标数据块的处理之后,两个列表可以如图8C所示。
将会理解,尽管在上文中仅描述了将第一存储设备214中的各个目标数据块分别划分至可恢复列表和不可恢复列表的示例。根据本公开内容的示例性实现方式,还可以将第二存储设备216中的各个数据块划分至可恢复列表和不可恢复列表。进一步,在如图8A至图8C的示例中,还可以首先将各个数据块加入不可恢复列表,并且该列表820A中的可恢复的数据块移动至可恢复列表中。
图9示意性示出了根据本公开内容的示例性实现方式的存储系统中的第一存储设备和第二存储设备的框图900。在已经确定第二存储设备216中的各个数据块是否可恢复的情况下,第二存储设备216中的各个数据块可以按照列表910所示被标记。继而,可以根据标记910来恢复第二存储设备216中的各个区块。
在上文中已经以4D+1P的RAID-5作为示例详细描述了如何管理存储系统的具体步骤。将会理解,本公开内容的示例性实现方式还可以应用于其他安全等级的存储系统。在下文中将分别参见图10A和图10B来概括描述在4D+2P的RAID-6存储系统以及在4D+3P的三重校验存储系统中的操作。
图10A示意性示出了根据本公开内容的示例性实现方式的用于管理RAID-6存储系统的技术方案的框图1000A。为简单起见,在图10A中仅示意性示出了存储系统中的一个条带,该条带包括数据块1010、1012、1014、1016、1018以及1030。在该条带中,数据块1010、1012、1014、1016分别用于存储数据D00、D01、D02和D03,数据块1018和1030分别用于存储校验P0和Q0。
假设数据块1014所在的存储设备正在被重建,又发现数据块1018和1030所在的存储设备出现故障。此时可以基于数据块1014的数据状态来确定是否可以恢复数据块1018和1030中的数据。如果数据块1014没有被分配给用户,则可以分别将用于数据块1018和1030的可恢复性指示设置为“未分配”。如果数据块1014中的数据是正常的并且不需要被重建,则可以分别将用于数据块1018和1030的可恢复性指示设置为“可恢复”。如果数据块1014中的数据不是正常的并且需要被重建,则可以分别将用于数据块1018和1030的可恢复性指示设置为“不可恢复”。继而,基于上文描述的恢复方法,可以分别针对数据块1018和1030执行相应的恢复操作。
图10B示意性示出了根据本公开内容的示例性实现方式的用于管理三重校验存储系统的技术方案的框图1000B。为简单起见,在图10B中仅示意性示出了存储系统中的一个条带,该条带包括数据块1010、1012、1014、1016、1018、1030以及1030B。在该条带中,数据块1010、1012、1014、1016分别用于存储数据D00、D01、D02和D03,数据块1018、1030和1030B分别用于存储校验P0、Q0和R0。
假设数据块1014所在的存储设备正在被重建,又发现数据块1018、1030和1030B所在的存储设备出现故障。此时可以基于数据块1014的数据状态来确定是否可以恢复数据块1018、1030和1030B中的数据。如果数据块1014没有被分配给用户,则可以分别将用于数据块1018、1030和1030B的可恢复性指示设置为“未分配”。如果数据块1014中的数据是正常的并且不需要被重建,则可以分别将用于数据块1018、1030和1030B的可恢复性指示设置为“可恢复”。如果数据块1014中的数据不是正常的并且需要被重建,则可以分别将用于数据块1018、1030和1030B的可恢复性指示设置为“不可恢复”。继而,基于上文描述的恢复方法,可以分别针对数据块1018、1030和1030B执行相应的恢复操作。
根据本公开内容的示例性实现方式,提供了一种用于管理存储系统的设备。该设备包括:一个或者多个处理器;耦合至一个或者多个处理器中的至少一个处理器的存储器;在存储器中存储的计算机程序指令,当由至少一个处理器执行计算机程序指令时,使得系统执行用于管理存储系统的方法。在该方法中,可以确定一组存储设备中的处于重建状态的第一存储设备。接着,检测一组存储设备中的第二存储设备是否出现故障。如果该第二存储设备出现故障,则基于第一存储设备中的目标数据块的数据状态,获取第二存储设备中的与目标数据块相对应的数据块是否可恢复的可恢复性指示。继而,基于可恢复性指示,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。
根据本公开内容的示例性实现方式,数据状态可以包括分配状态,在此的分配状态指示目标数据块是否已经被分配给存储系统的用户。
根据本公开内容的示例性实现方式,如果分配状态指示目标数据块未被分配,则可以将可恢复性指示设置为“未分配”。
根据本公开内容的示例性实现方式,如果可恢复性指示被设置为“未分配”,则可以向第二存储设备中的与目标数据块相对应的数据块中写入预定数据,以指示数据块未被分配。
根据本公开内容的示例性实现方式,数据状态可以包括关联状态,在此的关联状态指示目标数据块中的数据是否需要被重建。
根据本公开内容的示例性实现方式,如果分配状态指示目标数据块已经被分配,则可以基于关联状态确定可恢复性指示。
根据本公开内容的示例性实现方式,第一存储设备包括元数据,在此的元数据指示第一存储设备中的多个区块中的区块是否需要被重建。
根据本公开内容的示例性实现方式,可以基于元数据来确定可恢复性指示。
根据本公开内容的示例性实现方式,如果目标数据块不可读,则可以将可恢复性指示设置为“不可恢复”。
根据本公开内容的示例性实现方式,如果恢复标记指示“可恢复”,则可以基于目标数据块中的数据以及一组存储设备中的与目标数据块相对应的数据块中数据,恢复第二存储设备中的与目标数据块相对应的数据块中的数据。
根据本公开内容的示例性实现方式,如果恢复标记指示“不可恢复”,则可以向第二存储设备中的与目标数据块相对应的数据块中的数据写入预定数据,以指示数据块中的数据不可恢复。
根据本公开内容的示例性实现方式,可以基于第一存储设备中的另一目标数据块的数据状态,确定第二存储设备中的与另一目标数据块相对应的数据块是否可恢复的另一可恢复性指示。
根据本公开内容的示例性实现方式,可以基于另一可恢复性指示,恢复第二存储设备中的与另一目标数据块相对应的数据块中的数据。
根据本公开内容的示例性实现方式,可以将目标数据块和另一目标数据块加入第一组。
根据本公开内容的示例性实现方式,可以从第一组去除没有被分配给存储系统的用户的目标数据块。
根据本公开内容的示例性实现方式,可以将第一组中的至少一部分移动至第二组,以使得第一组中的目标数据块的可恢复性指示不同于第一组中的目标数据块的可恢复性指示。
根据本公开内容的示例性实现方式,可以基于第一组和第二组,来恢复第二存储设备中的分别与目标数据块和另一目标数据块相对应的数据块中的数据。
根据本公开内容的示例性实现方式,提供了一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令用于执行根据本公开内容的方法的动作。
根据本公开内容的示例性实现方式,提供了一种计算机可读存储介质。计算机可读存储介质具有存储在其上的计算机可读程序指令,计算机可读程序指令在被机器的处理单元执行时使得机器实现上文描述的方法。
附图中的流程图和框图显示了根据本公开内容的多个实现方式的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本公开内容的各实现方式,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实现方式。在不偏离所说明的各实现方式的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实现方式的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实现方式。

Claims (19)

1.一种用于管理存储系统的方法,所述存储系统包括一组存储设备,所述方法包括:
确定所述一组存储设备中的处于重建状态的第一存储设备;
响应于所述一组存储设备中的第二存储设备出现故障,基于所述第一存储设备中的目标数据块的数据状态,获取所述第二存储设备中的与所述目标数据块相对应的数据块是否可恢复的可恢复性指示;以及
基于所述可恢复性指示,恢复所述第二存储设备中的与所述目标数据块相对应的数据块中的数据;
其中所述数据状态包括分配状态,所述分配状态指示所述目标数据块是否已经被分配给所述存储系统的用户,以及获取所述可恢复性指示包括:
响应于所述分配状态指示所述目标数据块未被分配,将所述可恢复性指示设置为“未分配”。
2.根据权利要求1所述的方法,其中恢复所述数据包括:
响应于所述可恢复性指示被设置为“未分配”,向所述第二存储设备中的与所述目标数据块相对应的数据块中写入预定数据,以指示所述数据块未被分配。
3.根据权利要求1所述的方法,其中所述数据状态包括关联状态,所述关联状态指示所述目标数据块中的数据是否需要被重建,以及获取所述可恢复性指示包括:
响应于所述分配状态指示所述目标数据块已经被分配,基于所述关联状态确定所述可恢复性指示。
4.根据权利要求3所述的方法,其中所述第一存储设备包括元数据,所述元数据指示所述第一存储设备中的多个区块中的区块是否需要被重建,以及所述方法进一步包括:基于所述元数据来确定所述可恢复性指示。
5.根据权利要求1所述的方法,进一步包括:响应于所述目标数据块不可读,将所述可恢复性指示设置为“不可恢复”。
6.根据权利要求1所述的方法,其中恢复所述数据包括:响应于所述可恢复性指示指示“可恢复”,基于所述目标数据块中的数据以及所述一组存储设备中的与所述目标数据块相对应的数据块中数据,恢复所述第二存储设备中的与所述目标数据块相对应的数据块中的数据。
7.根据权利要求1所述的方法,进一步包括:响应于所述可恢复性指示指示“不可恢复”,指示所述数据块中的数据不可恢复。
8.根据权利要求1所述的方法,进一步包括:
基于所述第一存储设备中的另一目标数据块的数据状态,确定所述第二存储设备中的与所述另一目标数据块相对应的数据块是否可恢复的另一可恢复性指示;以及
基于所述另一可恢复性指示,恢复所述第二存储设备中的与所述另一目标数据块相对应的数据块中的数据。
9.根据权利要求8所述的方法,进一步包括:
将所述目标数据块和所述另一目标数据块加入第一组;
从所述第一组去除没有被分配给所述存储系统的用户的目标数据块;
将所述第一组中的至少一部分移动至第二组,以使得所述第一组中的目标数据块的可恢复性指示不同于所述第一组中的目标数据块的可恢复性指示;以及
基于所述第一组和所述第二组,来恢复所述第二存储设备中的分别与所述目标数据块和所述另一目标数据块相对应的数据块中的数据。
10.一种用于管理存储系统的设备,包括:
一个或者多个处理器;
耦合至所述一个或者多个处理器中的至少一个处理器的存储器;
在所述存储器中存储的计算机程序指令,当由所述至少一个处理器执行所述计算机程序指令时,使得所述系统执行用于管理存储系统的方法,所述方法包括:
确定一组存储设备中的处于重建状态的第一存储设备;
响应于所述一组存储设备中的第二存储设备出现故障,基于所述第一存储设备中的目标数据块的数据状态,获取所述第二存储设备中的与所述目标数据块相对应的数据块是否可恢复的可恢复性指示;以及
基于所述可恢复性指示,恢复所述第二存储设备中的与所述目标数据块相对应的数据块中的数据;
其中所述数据状态包括分配状态,所述分配状态指示所述目标数据块是否已经被分配给所述存储系统的用户,以及获取可恢复性指示包括:
响应于所述分配状态指示所述目标数据块未被分配,将所述可恢复性指示设置为“未分配”。
11.根据权利要求10所述的设备,其中恢复所述数据包括:
响应于所述可恢复性指示被设置为“未分配”,向所述第二存储设备中的与所述目标数据块相对应的数据块中写入预定数据,以指示所述数据块未被分配。
12.根据权利要求10所述的设备,其中所述数据状态包括关联状态,所述关联状态指示所述目标数据块中的数据是否需要被重建,以及获取所述可恢复性指示包括:
响应于所述分配状态指示所述目标数据块已经被分配,基于所述关联状态确定所述可恢复性指示。
13.根据权利要求12所述的设备,其中所述第一存储设备包括元数据,所述元数据指示所述第一存储设备中的多个区块中的区块是否需要被重建,以及所述方法进一步包括:基于所述元数据来确定所述可恢复性指示。
14.根据权利要求10所述的设备,其中所述方法进一步包括:响应于所述目标数据块不可读,将所述可恢复性指示设置为“不可恢复”。
15.根据权利要求10所述的设备,其中恢复所述数据包括:响应于所述可恢复性指示指示“可恢复”,基于所述目标数据块中的数据以及所述一组存储设备中的与所述目标数据块相对应的数据块中数据,恢复所述第二存储设备中的与所述目标数据块相对应的数据块中的数据。
16.根据权利要求10所述的设备,其中所述方法进一步包括:响应于所述可恢复性指示指示“不可恢复”,向所述第二存储设备中的与所述目标数据块相对应的数据块中的数据写入预定数据,以指示所述数据块中的数据不可恢复。
17.根据权利要求10所述的设备,其中所述方法进一步包括:
基于所述第一存储设备中的另一目标数据块的数据状态,确定所述第二存储设备中的与所述另一目标数据块相对应的数据块是否可恢复的另一可恢复性指示;以及
基于所述另一可恢复性指示,恢复所述第二存储设备中的与所述另一目标数据块相对应的数据块中的数据。
18.根据权利要求17所述的设备,其中所述方法进一步包括:
将所述目标数据块和所述另一目标数据块加入第一组;
从所述第一组去除没有被分配给所述存储系统的用户的目标数据块;
将所述第一组中的至少一部分移动至第二组,以使得所述第一组中的目标数据块的可恢复性指示不同于所述第一组中的目标数据块的可恢复性指示;以及
基于所述第一组和所述第二组,来恢复所述第二存储设备中的分别与所述目标数据块和所述另一目标数据块相对应的数据块中的数据。
19.一种非瞬态计算机可读介质,其上存储有机器可执行指令,所述机器可执行指令用于执行根据权利要求1-9中的任一项所述的方法的动作。
CN201810050351.1A 2018-01-18 2018-01-18 用于管理存储系统的方法和设备 Active CN110058961B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810050351.1A CN110058961B (zh) 2018-01-18 2018-01-18 用于管理存储系统的方法和设备
US16/247,983 US10942826B2 (en) 2018-01-18 2019-01-15 Method and device for managing storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810050351.1A CN110058961B (zh) 2018-01-18 2018-01-18 用于管理存储系统的方法和设备

Publications (2)

Publication Number Publication Date
CN110058961A CN110058961A (zh) 2019-07-26
CN110058961B true CN110058961B (zh) 2023-05-05

Family

ID=67213966

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810050351.1A Active CN110058961B (zh) 2018-01-18 2018-01-18 用于管理存储系统的方法和设备

Country Status (2)

Country Link
US (1) US10942826B2 (zh)
CN (1) CN110058961B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102131922B1 (ko) * 2018-08-29 2020-07-08 국방과학연구소 복수의 주변 디바이스로부터 데이터를 수신하는 방법 및 디바이스
US11074130B2 (en) * 2019-03-28 2021-07-27 International Business Machines Corporation Reducing rebuild time in a computing storage environment
CN113835637A (zh) * 2020-03-19 2021-12-24 北京奥星贝斯科技有限公司 一种数据的写入方法、装置以及设备

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6959413B2 (en) * 2002-06-18 2005-10-25 Lsi Logic Corporation Method of handling unreadable blocks during rebuilding of a RAID device
JP2005107676A (ja) * 2003-09-29 2005-04-21 Toshiba Corp アレイコントローラ及びディスクアレイ再構築方法
JP4754852B2 (ja) * 2005-03-15 2011-08-24 富士通株式会社 ストレージ制御装置および方法
US7549112B2 (en) * 2006-01-13 2009-06-16 Dell Products L.P. Unique response for puncture drive media error
JP5721344B2 (ja) * 2010-05-07 2015-05-20 キヤノン株式会社 システム、システムの制御方法、及び、プログラム
US20130339784A1 (en) * 2012-06-15 2013-12-19 International Business Machines Corporation Error recovery in redundant storage systems
WO2014003599A1 (en) 2012-06-29 2014-01-03 Ems Corparation Redundant disc encoding via erasure decoding
US8904131B2 (en) * 2012-08-22 2014-12-02 International Business Machines Corporation Automated migration to a new copy services target storage system to manage multiple relationships simultaneously while maintaining disaster recovery consistency
JP5954081B2 (ja) * 2012-09-26 2016-07-20 富士通株式会社 ストレージ制御装置、ストレージ制御方法、およびストレージ制御プログラム
US9304859B2 (en) 2012-12-29 2016-04-05 Emc Corporation Polar codes for efficient encoding and decoding in redundant disk arrays
US9354975B2 (en) 2013-03-15 2016-05-31 Emc Corporation Load balancing on disks in raid based on linear block codes
US9507535B2 (en) 2013-03-15 2016-11-29 EMC IP Holding Company LLC Offloading raid update operations to disk controllers
CN103853634B (zh) * 2014-02-26 2017-02-01 北京优炫软件股份有限公司 一种容灾备份系统及方法
CN104142872A (zh) * 2014-08-13 2014-11-12 浪潮电子信息产业股份有限公司 一种raid磁盘阵列的快速重建方法
US9804939B1 (en) 2015-09-30 2017-10-31 EMC IP Holding Company LLC Sparse raid rebuild based on storage extent allocation
US9952932B2 (en) * 2015-11-02 2018-04-24 Chicago Mercantile Exchange Inc. Clustered fault tolerance systems and methods using load-based failover
CN106326038A (zh) * 2016-08-22 2017-01-11 浪潮(北京)电子信息产业有限公司 一种热备空间的选择方法及系统
CN106528327B (zh) * 2016-09-30 2019-06-21 华为技术有限公司 一种数据处理方法以及备份服务器
CN106911793B (zh) * 2017-03-17 2020-06-16 上海交通大学 I/o优化的分布式存储数据修复方法
US10210045B1 (en) 2017-04-27 2019-02-19 EMC IP Holding Company LLC Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
CN109726033B (zh) 2017-10-31 2022-05-06 伊姆西Ip控股有限责任公司 提供raid数据保护的方法、数据存储系统和计算机可读介质
CN110096217B (zh) 2018-01-31 2022-05-27 伊姆西Ip控股有限责任公司 用于重新定位数据的方法、数据存储系统和介质
CN110096219B (zh) 2018-01-31 2022-08-02 伊姆西Ip控股有限责任公司 从驱动器组生成的驱动器区段池的有效容量

Also Published As

Publication number Publication date
US20190220376A1 (en) 2019-07-18
US10942826B2 (en) 2021-03-09
CN110058961A (zh) 2019-07-26

Similar Documents

Publication Publication Date Title
CN107870730B (zh) 用于管理存储系统的方法和系统
US10459814B2 (en) Drive extent based end of life detection and proactive copying in a mapped RAID (redundant array of independent disks) data storage system
US10210045B1 (en) Reducing concurrency bottlenecks while rebuilding a failed drive in a data storage system
CN109725831B (zh) 管理存储系统的方法、系统和计算机可读介质
US9715436B2 (en) System and method for managing raid storage system having a hot spare drive
CN107844268B (zh) 一种数据分发方法、数据存储方法、相关装置以及系统
US9251154B2 (en) Priority based reliability mechanism for archived data
US8839028B1 (en) Managing data availability in storage systems
US8171379B2 (en) Methods, systems and media for data recovery using global parity for multiple independent RAID levels
CN110096217B (zh) 用于重新定位数据的方法、数据存储系统和介质
CN107515726B (zh) 用于管理存储设备的方法和系统
CN104094236B (zh) 防止数据丢失的系统和方法
US9804923B2 (en) RAID-6 for storage system employing a hot spare drive
US20170300393A1 (en) Raid rebuild algorithm with low i/o impact
US9690651B2 (en) Controlling a redundant array of independent disks (RAID) that includes a read only flash data storage device
US20190235781A1 (en) Determining an Effective Capacity of a Drive Extent Pool Generated from one or more Drive Groups in an Array of Storage Drives of a Data Storage System that uses Mapped RAID (Redundant Array of Independent Disks) Technology
US9104604B2 (en) Preventing unrecoverable errors during a disk regeneration in a disk array
US9740440B2 (en) Separating a hybrid asymmetric mix of a RAID 1 mirror and a parity-based RAID array
CN111104051B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110413208B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110058961B (zh) 用于管理存储系统的方法和设备
US10678643B1 (en) Splitting a group of physical data storage drives into partnership groups to limit the risk of data loss during drive rebuilds in a mapped RAID (redundant array of independent disks) data storage system
US20190163374A1 (en) Storing data objects using different redundancy schemes
US7549112B2 (en) Unique response for puncture drive media error
US20190129646A1 (en) Method, system, and computer program product for managing storage system

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