CN110058965A - 存储系统中的数据重建方法及设备 - Google Patents

存储系统中的数据重建方法及设备 Download PDF

Info

Publication number
CN110058965A
CN110058965A CN201810050815.9A CN201810050815A CN110058965A CN 110058965 A CN110058965 A CN 110058965A CN 201810050815 A CN201810050815 A CN 201810050815A CN 110058965 A CN110058965 A CN 110058965A
Authority
CN
China
Prior art keywords
disk
data block
storage system
data
reconstruction
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
CN201810050815.9A
Other languages
English (en)
Other versions
CN110058965B (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 CN201810050815.9A priority Critical patent/CN110058965B/zh
Priority to US16/249,191 priority patent/US10922201B2/en
Publication of CN110058965A publication Critical patent/CN110058965A/zh
Application granted granted Critical
Publication of CN110058965B publication Critical patent/CN110058965B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • 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/0614Improving the reliability of storage systems
    • G06F3/0619Improving the reliability of storage systems in relation to data integrity, e.g. data losses, bit errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0646Horizontal data movement in storage systems, i.e. moving data in between storage devices or systems
    • G06F3/065Replication mechanisms
    • 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
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/82Solving problems relating to consistency

Abstract

本公开的实施例涉及一种存储系统中的数据重建方法及设备。方法包括:响应于存储系统中的第一盘出现故障,确定存储系统中具有高故障风险的第二盘;确定第二盘中是否包括与第一盘中待被重建的第一数据块相关联的第二数据块,第一数据块和第二数据块来自于存储系统中的相同数据条带;以及响应于确定第二盘中包括第二数据块并且第二数据块尚未被复制到存储系统中用于备份的第三盘中,从第二盘中读取第二数据块以用于重建第一数据块,以及将所读取的第二数据块复制到第三盘中。由于可以在执行数据重建的过程中同时执行前摄性的复制过程,而没有任何中断,因此,该方法可以降低后台操作的时间,同时可以降低对具有高故障风险的第二盘的读写次数。

Description

存储系统中的数据重建方法及设备
技术领域
本公开的实施例总体上涉及存储系统,并且更具体地涉及存储系统中的数据重建方法及设备。
背景技术
冗余磁盘阵列(RAID)作为一种数据存储的虚拟技术将多块物理磁盘组合成一个或多个逻辑单元以实现存储系统中数据的冗余性以及性能的提升。映射RAID——作为RAID的一个子类——基于磁盘区块(而不再是基于整个磁盘)来实现RAID算法。通常情况下,每个磁盘区块的大小是几千兆字节(GB)或几万兆字节。映射RAID中的RAID算法与传统RAID相同,只是由映射RAID算法操纵的资源单元从传统RAID中的整个磁盘变成了磁盘区块。
在上述的RAID系统中,如果一个盘的运行发生错误(或出现异常),该盘将被标记为“寿命终期(End of Life,EOL)”。这时,将启动一个前摄性的复制(PACO)过程。该PACO过程将选择一块备用盘,并将被标记为EOL的盘里的全部磁盘区块迁移到所选的备用盘中。在磁盘区块迁移结束后,该备用盘将取代EOL盘作为区块池中的一块新盘。另一方面,如果磁盘阵列中的一个盘发生损坏,将启动RAID重建过程以重建数据损坏盘中丢失的数据。
发明内容
本公开的实施例提供了一种存储系统中的、并尤其例如是冗余磁盘阵列(RAID)系统中的数据重建方法及设备。
本公开的第一方面提供了一种存储系统中的数据重建方法。该方法包括响应于存储系统中的第一盘出现故障,确定存储系统中具有高故障风险的第二盘。该方法还包括确定第二盘中是否包括与第一盘中待被重建的第一数据块相关联的第二数据块,其中第一数据块和第二数据块来自于存储系统中的相同数据条带。此外,该方法还包括响应于确定第二盘中包括第二数据块并且第二数据块尚未被复制到存储系统中用于备份的第三盘中,从第二盘中读取第二数据块以用于重建第一数据块,以及将所读取的第二数据块复制到第三盘中。
根据本公开的实施例,该方法还可以包括响应于确定第二盘包括第二数据块并且第二数据块已经被复制到第三盘中,从第三盘中读取第二数据块以用于重建第一数据块。
根据本公开的实施例,该方法还可以包括在完成第一盘中的第一数据块的重建之后,将第二盘中的第三数据块复制到第三盘中,其中第三数据块来自于存储系统中与第一数据块不同的数据条带。
根据本公开的实施例,确定存储系统中具有高故障风险的第二盘的确定步骤可以包括对于存储系统中的一个盘,检测该盘的工作状态。确定步骤还可以包括响应于检测到盘的运行出现错误和盘达到其运行阈值中的至少一者,确定该盘为第二盘。
根据本公开的实施例,该方法还可以包括将重建后的第一数据块写入存储系统中的备用盘中,以及更新针对重建后的第一数据块的版本号。
根据本公开的实施例,该方法还可以包括将第二数据块的元数据复制到第三盘中。
本公开的第二方面提供了一种存储系统中的数据重建设备。该设备包括:处理单元和耦合至该处理单元并且存储有指令的存储器,指令在由处理单元执行时执行以下动作:响应于存储系统中的第一盘出现故障,确定存储系统中具有高故障风险的第二盘;确定第二盘中是否包括与第一盘中待被重建的第一数据块相关联的第二数据块,第一数据块和第二数据块来自于存储系统中的相同数据条带;以及响应于确定第二盘中包括第二数据块并且第二数据块尚未被复制到存储系统中用于备份的第三盘中,从第二盘中读取第二数据块以用于重建第一数据块,以及将所读取的第二数据块复制到第三盘中。
根据本公开的实施例,动作还可以包括响应于确定第二盘包括第二数据块并且第二数据块已经被复制到第三盘中,从第三盘中读取第二数据块以用于重建第一数据块。
根据本公开的实施例,动作还可以包括在完成第一盘中的第一数据块的重建之后,将第二盘中的第三数据块复制到第三盘中,其中第三数据块来自于存储系统中与第一数据块不同的数据条带。
根据本公开的实施例,确定存储系统中具有高故障风险的第二盘的确定步骤可以包括对于存储系统中的一个盘,检测该盘的工作状态,并且响应于检测到盘的运行出现错误以及盘达到其运行阈值中的至少一者,确定该盘为第二盘。
根据本公开的实施例,动作还可以包括将重建后的第一数据块写入存储系统中的备用盘中,以及更新针对重建后的第一数据块的版本号。
根据本公开的实施例,动作还可以包括将第二数据块的元数据复制到第三盘中。
本公开的第三方面提供了一种用于数据重建的计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行根据本公开第一方面的所述方法的步骤。
本公开的第四方面提供了一种计算机程序产品,计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,机器可执行指令在被执行时使机器执行以下动作:响应于存储系统中的第一盘出现故障,确定存储系统中具有高故障风险的第二盘;确定第二盘中是否包括与第一盘中待被重建的第一数据块相关联的第二数据块,第一数据块和第二数据块来自于存储系统中的相同数据条带;以及响应于确定第二盘中包括第二数据块并且第二数据块尚未被复制到存储系统中用于备份的第三盘中,从第二盘中读取第二数据块以用于重建第一数据块,以及将所读取的第二数据块复制到第三盘中。
附图说明
在此提供本文所描述的附图,用以进一步解释本公开,并构成本公开的一部分。本公开的示例性实施例及其描述用于解释本公开,而并非不恰当地限制本公开。
图1示意性示出了根据本公开实施例的存储系统;
图2示出了根据本公开实施例的存储系统中使用的数据重建方法的流程图;
图3示出了根据本公开实施例的数据重建过程开始时存储系统;
图4示出了根据本公开实施例的正在执行数据重建过程中的存储系统;
图5示出了根据本公开实施例的在完成了部分数据块的重建以及PACO过程之后的存储系统;
图6示出了根据本公开实施例的完成了全部数据块的重建以及部分数据块的PACO过程之后的存储系统;
图7示出了根据本公开实施例的完成了全部数据块的重建和PACO操作两者之后的存储系统;以及
图8示出了用来实施本公开的实施例的设备的示意性框图。
在附图中,相同或相似的附图标记用于表示相同或相似的元件。
具体实施方式
现在将参照附图中示出的若干示例实施例来描述本公开的原理。尽管本公开的示例实施例在附图中示出,但是应当理解,实施例的描述仅仅是为了便于本领域技术人员更好地理解并由此实现本公开,而不以任何方式限制本公开的范围。
在当前的存储系统中的后台操作中,重建过程的优先级高于前摄性复制(PACO)过程。因此,当系统中一个盘因为到达其寿命终期(End of Life,EOL)而启用PACO过程时,而如果此时存储系统中的另一盘因损坏而变为故障盘,则需要首先暂停正在运行的PACO过程以执行优先级更高的重建过程,并在重建过程完成之后再恢复之前被暂停的PACO过程。这将导致已经具有高故障风险的第二盘由于要执行PACO和重建过程两者而被读取两次,这反而加速了第二盘成为故障盘的风险。
此外,由于PACO的暂停和恢复所造成较长的操作时间窗,使得数据丢失的风险也增大。例如,在重建过程中,如果EOL盘也变为故障盘,则将导致(例如RAID5中的)双重故障,而在PACO过程中,如果EOL盘变为故障盘,则将导致区块池中冗余性的丢失。
根据本公开的各个实施例中所描述的解决方案,在执行数据重建过程的同时执行PACO过程,而无需中断正在运行的PACO过程。这使得操作总时长被缩短。此外,具有高故障风险的第二盘仅仅被读取一次就可以完成数据重建过程和PACO过程两者,因此降低了第二盘出现故障的概率,进而确保了数据的冗余性。
图1示出了根据本公开实施例的存储系统100。为了不失一般性,图1示出的存储系统100包括10块盘(即,盘310、盘311、盘312、…、盘319)。需要指出,更多或更少块盘同样适用本公开。同样需要指出,本公开的各种实施例中所描述的方法适用于各种已知的RAID系统,例如,RAID 2、RAID 5、以及RAID 6等。图2示出了根据本公开实施例的存储系统中使用的数据重建方法的流程图200。下文的描述将首先参考图1所示的RAID系统100进行。
在202处,在第一盘出现故障时,确定存储系统100中具有高故障风险的第二盘。为讨论方便起见,将在RAID系统中已经出现故障的盘称为“第一盘”,并且将具有高故障风险的盘称为“第二盘”(也称为EOL盘)。例如,在图1中示出的示例中,第一盘为盘312,并且第二盘为盘310。
在某些实施例中,为了确定存储系统100中具有高故障风险的第二盘,针对存储系统100中的一个或多个盘检测其工作状态。如果检测到下列工作状态中的至少一者,则可以确定该盘为具有高故障风险的第二盘:(1)所述盘的运行出现错误,和(2)所述盘达到其运行阈值。
在204处,确定第二盘中是否包括与第一盘中待被重建的第一数据块111相关联的第二数据块112。在本文中,相关联的第一数据块111和第二数据块112指来自于存储系统100中的相同数据条带的数据块。注意,在204处,可以确定不止一个第一数据块111或第二数据块112。如果确定第二盘中包括第二数据块112,则方法200前进到206。
在206处,确定第二数据块112是否已经被复制到存储系统100中用于备份的第三盘316中。如果确定第二数据块尚未被复制到存储系统100中用于备份的第三盘316中,则方法200前进到208。
在208处,从第二盘中读取第二数据块112以用于重建第一数据块111。
在210处,将所读取的第二数据块112复制到第三盘316中。
为讨论方便起见,将RAID系统100中用于接收来自第二盘中的数据块的盘称为“第三盘”。此外,在本文中,上述将第二数据块112复制户迁移到第三盘316中的过程也称为PACO过程,该PACO过程在图1中以箭头101示意性地表示。
下面结合图3至图7示出的实施例来进一步描述根据本公开的数据重建方法。图3中的存储系统300包括:四个映射RAID组、六块盘(即,盘310至盘315)、以及一个用于备份的第三盘316。
为方便讨论,在图3至图7所示的示例中,各个盘区块以如下方式被标识:
MRGx-REx-Dx-DEx
其中:
-MRG表示映射RAID组;
-RE表示RAID区块;
-D表示盘;
-DE表示盘区块;以及
-x表示编号,其为大于或等于0的整数。
例如,如果某一盘区块被标识为“MRG0-RE0-D1-DE0”,则表示该盘区块属于:映射RAID组0、RAID区块0、盘1、以及位于盘1中的盘区块0。
在图3所示的示例中,确定了盘312已经出现故障(即,盘312为第一盘),因此将启动对盘312中的多个数据块的重建过程。这时,如果确定了所述存储系统300中具有高故障风险的盘310(即,盘310为第二盘,在下文中有时也被称为EOL盘),也就是说,PACO过程已经开始(PACO过程同样以箭头101示意性地表示),则系统300需要确定该盘310中是否包括与盘312中待被重建的第一数据块相关联的第二数据块。
在本文中,相关联的第一数据块和第二数据块是指来自于存储系统300中的同一数据条带的数据块。在图3所示的示例中,具有相同的标识“RE_ID”的数据块来自相同的数据条带。例如,存储在盘312的盘区块“MRG2-RE0-D2-DE2”中的第一数据块与存储在盘310的区块“MRG2-RE0-D0-DE2”中的第二数据块就是相互关联的数据块。
接下来参考图4,在启动数据重建过程之后,分别通过第一组RAID区块,即,“MRG0-RE0”410和“MRG1-RE0”411来重建数据。随后,从各个盘中读取存储在“MRG0-RE0”410和“MRG1-RE0”411中的全部盘区块中的数据块,以用于重建存储在盘312的盘区块MRG0-RE0-D2-DE0和MRG1-RE0-D2-DE1中的数据块。
如图4所示,在某些实施例中,在盘312出现故障之前,针对与盘310的PACO操作可能已经执行了一段时间,因此,包含在盘310的两个盘区块的MRG0-RE0-D0-DE0和MRG1-RE0-D0-DE1中的第二数据块可能已经被复制到了第三盘的相应盘区块MRG0-RE0-DS-DE0和MRG1-RE0-DS-DE1中,其中“DS”同样表示“第三盘”。这种情况下,重建过程将仅从第三盘316中读取上述第二数据块,以用于重建存储在盘312的两个盘区块MRG0-RE0-D2-DE0和MRG1-RE0-D2-DE1中的第一数据块。
通过这一方式,盘310中的全部数据块仅需被读取一次,就可以完成数据重建过程和PACO过程两者,而无论盘310中的部分数据之前是否已经由于PACO过程而被读取并复制到第三盘中。换言之,由于MRG0-RE0-D0-DE0和MRG1-RE0-D0-DE1中的第二数据块已经在之前的PACO过程中被读取了一次,因此,在数据重建过程中就不再从盘310中对其进行二次读取,而是从第三盘316中对其进行读取。这避免了由于对盘310的两次读取而加速其发生故障的可能性。
在某些实施例中,在完成对盘区块MRG0-RE0-D2-DE0和MRG1-RE0-D2-DE1中的第一数据块重建之后,还将重建后的上述第一数据块写入所述存储系统中的备用盘中,并更新针对所述重建后的第一数据块的版本号。如图4所示的实施例,备用盘例如可以被实施例分布式的、位于各个盘中的备用区块3000、3001、…、3005。这样,在磁盘发生故障时,可以通过存储在这些备用区块中的数据块来执行数据块的重建操作。
继续参考图4,同时,系统300分别通过第二组RAID区块“MRG2-RE0”412和“MRG3-RE1”413来重建数据。随后,在数据重建过程中从各个盘中读取存储在“MRG2-RE0”412和“MRG3-RE1”413中的全部盘区块中的数据块,以用于重建存储在盘312的盘区块MRG2-RE0-D2-DE2和MRG3-RE1-D2-DE6中的数据块。
如图4所示,包含在盘310的盘区块MRG2-RE0-D0-DE2和MRG3-RE1-D0-DE6中的第二数据块尚未被复制到了第三盘的相应区块中,因此,从盘310中读取上述第二数据块以用于重建相关联的第一数据块,并且将所读取的第二数据块复制到所述第三盘中。在图4中,第二数据块的上述复制过程由箭头401和402表示,并且正在重建中的数据块由虚线框403指示。
类似地,在某些实施例中,在完成对存储在盘312的盘区块MRG2-RE0-D2-DE2和MRG3-RE1-D2-DE6中的第一数据块的重建之后,还将重建后的第一数据块写入所述存储系统中的备用盘中,并更新针对所述重建后的第一数据块的版本号。图5示出了在完成上述四个数据块重建过程以及PACO过程之后的存储系统300,其中已重建的数据块在图5中由虚线框504指示。
需要指出,尽管为了方便讨论而在图3和图4示出的实施例中以特定顺序描述了对存储在四个盘区块MRG0-RE0-D2-DE0、MRG1-RE0-D2-DE1、MRG2-RE0-D2-DE2和MRG3-RE1-D2-DE6中相应的第一数据块的重建过程,但可以理解的是,可以以另外的顺序或者并行地执行对上述多个数据块的重建。
对于存储在盘312中的另外三个盘区块MRG0-RE1-D2-DE3、MRG1-RE1-D2-DE4和MRG2-RE1-D2-DE5中的相应的第一数据块的重建过程与上面描述的重建过程类似,因此,在此不再赘述。
现参考图6,在某些实施例中,在完成了对第一盘中的全部数据块的重建之后,盘310中的第三数据块被复制到第三盘中,以完成PACO操作。在本文中,“第三数据块”是指来自于存储系统300中与第一数据块不同的数据条带的数据块。如图6所示,存储在盘310的盘区块MRG3-RE0-D0-DE3中的数据块就是这种情况。因此,最后将该第三数据块复制到第三盘中以完成PACO操作。图7示出了完成了全部数据重建和PACO操作两者之后的存储系统300。
以这样的方式,由于在重建过程中已经将大部分数据块从盘310中迁移到第三盘中,因此,当重建过程结束之后,仅有小部分的数据块待被复制到第三盘中,这将使得PACO过程在重建过程结束之后也将很快完成,进而缩短了操作总时长。
在某些实施例中,在将第二数据块复制到第三盘之后,还需要将所述第二数据块的元数据也复制到第三盘中,以使得在此之后第三盘才能够作为第二盘的替换盘来提供数据读写操作。
图8示出了一个可以用来实施本公开的实施例的设备800的示意性框图。如图所示,设备800包括中央处理单元(CPU)801,其可以根据存储在只读存储器(ROM)802中的计算机程序指令或者从存储单元808加载到随机访问存储器(RAM)803中的计算机程序指令,来执行各种适当的动作和处理。在RAM 803中,还可存储设备800操作所需的各种程序和数据。CPU 801、ROM 802以及RAM 803通过总线804彼此相连。输入/输出(I/O)接口805也连接至总线804。
设备800中的多个部件连接至I/O接口805,包括:输入单元806,例如键盘、鼠标等;输出单元807,例如各种类型的显示器、扬声器等;存储单元808,例如磁盘、光盘等;以及通信单元809,例如网卡、调制解调器、无线通信收发机等。通信单元809允许设备800通过诸如因特网的计算机网络和/或各种电信网络与其他设备交换信息/数据。
上文所描述的各个过程和处理,例如方法200,可由处理单元801执行。例如,在一些实施例中,方法200可被实现为计算机软件程序,其被有形地包含于机器可读介质,例如存储单元808。在一些实施例中,计算机程序的部分或者全部可以经由ROM 802和/或通信单元809而被载入和/或安装到设备800上。当计算机程序被加载到RAM 803并由CPU 801执行时,可以执行上文描述的方法200的一个或多个步骤。备选地,在其他实施例中,CPU 801也可以以其他任何适当的方式被配置以实现上述过程/方法。
应当理解,本公开的上述详细实施例仅仅是为了举例说明或解释本公开的原理,而不是限制本公开。因此,不脱离本发明的精神和范围的任何修改、等同替换和改进等均应被包括在本发明的保护范围之内。同时,本公开的所附权利要求旨在覆盖落入权利要求的范围和界限内或范围和界限的等同物内的所有变化和修改。

Claims (14)

1.一种存储系统中的数据重建方法,包括:
响应于所述存储系统中的第一盘出现故障,确定所述存储系统中具有高故障风险的第二盘;
确定所述第二盘中是否包括与所述第一盘中待被重建的第一数据块相关联的第二数据块,所述第一数据块和所述第二数据块来自于所述存储系统中的相同数据条带;以及
响应于确定所述第二盘中包括所述第二数据块并且所述第二数据块尚未被复制到所述存储系统中用于备份的第三盘中,
从所述第二盘中读取所述第二数据块以用于重建所述第一数据块,以及
将所读取的所述第二数据块复制到所述第三盘中。
2.根据权利要求1所述的方法,还包括:
响应于确定所述第二盘包括所述第二数据块并且所述第二数据块已经被复制到所述第三盘中,从所述第三盘中读取所述第二数据块以用于重建所述第一数据块。
3.根据权利要求1所述的方法,还包括:
在完成所述第一盘中的所述第一数据块的重建之后,将所述第二盘中的第三数据块复制到所述第三盘中,所述第三数据块来自于所述存储系统中与所述第一数据块不同的数据条带。
4.根据权利要求1所述的方法,其中确定所述存储系统中具有高故障风险的第二盘包括:对于所述存储系统中的一个盘,检测该盘的工作状态;以及
响应于检测到下列工作状态中的至少一者,确定该盘为所述第二盘:
所述盘的运行出现错误,以及
所述盘达到其运行阈值。
5.根据权利要求1所述的方法,还包括:
将重建后的第一数据块写入所述存储系统中的备用盘中;以及
更新针对所述重建后的第一数据块的版本号。
6.根据权利要求1所述的方法,还包括:
将所述第二数据块的元数据复制到所述第三盘中。
7.一种存储系统中的数据重建设备,包括:
处理单元;以及
存储器,耦合至所述处理单元并且存储有指令,所述指令在由所述处理单元执行时执行以下动作:
响应于所述存储系统中的第一盘出现故障,确定所述存储系统中具有高故障风险的第二盘;
确定所述第二盘中是否包括与所述第一盘中待被重建的第一数据块相关联的第二数据块,所述第一数据块和所述第二数据块来自于所述存储系统中的相同数据条带;以及
响应于确定所述第二盘中包括所述第二数据块并且所述第二数据块尚未被复制到所述存储系统中用于备份的第三盘中,
从所述第二盘中读取所述第二数据块以用于重建所述第一数据块,以及
将所读取的所述第二数据块复制到所述第三盘中。
8.根据权利要求7所述的设备,其中所述动作还包括:
响应于确定所述第二盘包括所述第二数据块并且所述第二数据块已经被复制到所述第三盘中,从所述第三盘中读取所述第二数据块以用于重建所述第一数据块。
9.根据权利要求7所述的设备,其中所述动作还包括:
在完成所述第一盘中的所述第一数据块的重建之后,将所述第二盘中的第三数据块复制到所述第三盘中,所述第三数据块来自于所述存储系统中与所述第一数据块不同的数据条带。
10.根据权利要求7所述的设备,其中确定所述存储系统中具有高故障风险的第二盘包括:对于所述存储系统中的一个盘,检测该盘的工作状态;以及
响应于检测到下列工作状态中的至少一者,确定该盘为所述第二盘:
所述盘的运行出现错误,以及
所述盘达到其运行阈值。
11.根据权利要求7所述的设备,其中所述动作还包括:
将重建后的第一数据块写入所述存储系统中的备用盘中;以及
更新针对所述重建后的第一数据块的版本号。
12.根据权利要求7所述的设备,其中所述动作还包括:
将所述第二数据块的元数据复制到所述第三盘中。
13.一种用于数据重建的计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行时使机器执行根据权利要求1-6任一项所述的方法的步骤。
14.一种计算机程序产品,所述计算机程序产品被有形地存储在非瞬态计算机可读介质上并且包括机器可执行指令,所述机器可执行指令在被执行根据权利要求1-6任一项所述的方法的动作。
CN201810050815.9A 2018-01-18 2018-01-18 存储系统中的数据重建方法及设备 Active CN110058965B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810050815.9A CN110058965B (zh) 2018-01-18 2018-01-18 存储系统中的数据重建方法及设备
US16/249,191 US10922201B2 (en) 2018-01-18 2019-01-16 Method and device of data rebuilding in storage system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810050815.9A CN110058965B (zh) 2018-01-18 2018-01-18 存储系统中的数据重建方法及设备

Publications (2)

Publication Number Publication Date
CN110058965A true CN110058965A (zh) 2019-07-26
CN110058965B CN110058965B (zh) 2023-07-28

Family

ID=67213972

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810050815.9A Active CN110058965B (zh) 2018-01-18 2018-01-18 存储系统中的数据重建方法及设备

Country Status (2)

Country Link
US (1) US10922201B2 (zh)
CN (1) CN110058965B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124758A (zh) * 2019-12-26 2020-05-08 厦门市美亚柏科信息股份有限公司 一种故障硬盘的数据恢复方法
TWI784750B (zh) * 2021-10-15 2022-11-21 啟碁科技股份有限公司 終端裝置的資料處理方法及終端裝置的資料處理系統

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109725827B (zh) 2017-10-27 2022-05-13 伊姆西Ip控股有限责任公司 管理存储系统的方法、系统和计算机程序产品
US11163459B2 (en) 2019-10-28 2021-11-02 EMC IP Holding Company LLC Rekeying information on storage devices using a proactive copy service
CN113126887A (zh) 2020-01-15 2021-07-16 伊姆西Ip控股有限责任公司 用于重建盘阵列的方法、电子设备和计算机程序产品

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679000A (zh) * 2002-06-24 2005-10-05 网络装置公司 在raid数据重建和转移中使用文件系统信息
CN1834932A (zh) * 2005-03-15 2006-09-20 富士通株式会社 存储控制装置和方法
CN101281452A (zh) * 2007-04-05 2008-10-08 英业达股份有限公司 硬盘自动重建方法
CN101576833A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 一种独立磁盘冗余阵列raid数据重建方法和装置
US7647526B1 (en) * 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
US20120005468A1 (en) * 2010-06-30 2012-01-05 Chun-Te Yu Storage device with multiple storage units and control method thereof
US20130198585A1 (en) * 2012-02-01 2013-08-01 Xyratex Technology Limited Method of, and apparatus for, improved data integrity
US20140136887A1 (en) * 2012-11-09 2014-05-15 International Business Machines Corporation Disk array having mirror configuration and rebuilding method therefor
CN103970481A (zh) * 2013-01-29 2014-08-06 国际商业机器公司 重建存储器阵列的方法和装置
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
US20150046756A1 (en) * 2013-08-08 2015-02-12 Lsi Corporation Predictive failure analysis to trigger rebuild of a drive in a raid array
US20170300393A1 (en) * 2016-04-13 2017-10-19 Dell Products L.P. Raid rebuild algorithm with low i/o impact

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7350046B2 (en) 2004-04-02 2008-03-25 Seagate Technology Llc Managed reliability storage system and method monitoring storage conditions

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1679000A (zh) * 2002-06-24 2005-10-05 网络装置公司 在raid数据重建和转移中使用文件系统信息
CN1834932A (zh) * 2005-03-15 2006-09-20 富士通株式会社 存储控制装置和方法
US7647526B1 (en) * 2006-12-06 2010-01-12 Netapp, Inc. Reducing reconstruct input/output operations in storage systems
CN101281452A (zh) * 2007-04-05 2008-10-08 英业达股份有限公司 硬盘自动重建方法
CN101576833A (zh) * 2009-06-26 2009-11-11 杭州华三通信技术有限公司 一种独立磁盘冗余阵列raid数据重建方法和装置
US20120005468A1 (en) * 2010-06-30 2012-01-05 Chun-Te Yu Storage device with multiple storage units and control method thereof
US20130198585A1 (en) * 2012-02-01 2013-08-01 Xyratex Technology Limited Method of, and apparatus for, improved data integrity
US20140136887A1 (en) * 2012-11-09 2014-05-15 International Business Machines Corporation Disk array having mirror configuration and rebuilding method therefor
CN103970481A (zh) * 2013-01-29 2014-08-06 国际商业机器公司 重建存储器阵列的方法和装置
CN104123100A (zh) * 2013-04-25 2014-10-29 国际商业机器公司 控制存储设备阵列中的数据存储
US20150046756A1 (en) * 2013-08-08 2015-02-12 Lsi Corporation Predictive failure analysis to trigger rebuild of a drive in a raid array
US20170300393A1 (en) * 2016-04-13 2017-10-19 Dell Products L.P. Raid rebuild algorithm with low i/o impact

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
GORDON F. HUGHES等: "Reliability and security of RAID storage systems and D2D archives using SATA disk drives", 《ACM TRANSACTIONS ON STORAGE》, vol. 1, no. 1, pages 95 - 107, XP058325925, DOI: 10.1145/1044956.1044961 *
胡维等: "基于智能预警的自恢复存储系统研究", 《计算机研究与发展》 *
胡维等: "基于智能预警的自恢复存储系统研究", 《计算机研究与发展》, vol. 48, no. 1, 15 February 2011 (2011-02-15), pages 7 - 11 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111124758A (zh) * 2019-12-26 2020-05-08 厦门市美亚柏科信息股份有限公司 一种故障硬盘的数据恢复方法
TWI784750B (zh) * 2021-10-15 2022-11-21 啟碁科技股份有限公司 終端裝置的資料處理方法及終端裝置的資料處理系統

Also Published As

Publication number Publication date
US20190220377A1 (en) 2019-07-18
US10922201B2 (en) 2021-02-16
CN110058965B (zh) 2023-07-28

Similar Documents

Publication Publication Date Title
CN110058965A (zh) 存储系统中的数据重建方法及设备
CN103970481B (zh) 重建存储器阵列的方法和装置
CN109725822B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN110389858B (zh) 存储设备的故障恢复方法和设备
US8843782B2 (en) Method and apparatus for reconstructing redundant array of inexpensive disks, and system
CN104094236B (zh) 防止数据丢失的系统和方法
CN102521058A (zh) Raid组磁盘数据预迁移方法
JPWO2006123416A1 (ja) ディスク故障復旧方法及びディスクアレイ装置
CN102929750A (zh) 非易失性介质肮脏区段跟踪
CN107870731B (zh) 独立盘冗余阵列系统的管理方法和电子设备
CN106155943B (zh) 一种双控存储设备的掉电保护的方法及装置
CN108228678B (zh) 一种多副本数据恢复方法及装置
CN111104051B (zh) 用于管理存储系统的方法、设备和计算机程序产品
CN105302667A (zh) 基于集群架构的高可靠性数据备份与恢复方法
CN115098021A (zh) 用于写入数据的方法、设备和计算机程序产品
CN106104460A (zh) 分布式存储系统中的可靠性增强
WO2020103512A1 (zh) 一种存储系统中的数据重构方法和装置
CN105183583A (zh) 一种磁盘阵列的数据重建的方法及一种磁盘阵列系统
CN115202589B (zh) 放置组成员选择方法、装置、设备及可读存储介质
CN104281499B (zh) 基于奇偶校验的raid条带镜像数据分布方法
CN116204137A (zh) 基于dpu的分布式存储系统、控制方法、装置及设备
CN106933707B (zh) 基于raid技术的数据存储设备数据恢复方法及系统
CN115826876A (zh) 数据写入方法、系统、存储硬盘、电子设备及存储介质
CN115657965A (zh) 一种元数据的配置方法、装置及介质
CN112540873B (zh) 容灾方法、装置、电子设备及容灾系统

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