CN100492306C - 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 - Google Patents
独立磁盘冗余阵列毁损时的数据恢复方法及其系统 Download PDFInfo
- Publication number
- CN100492306C CN100492306C CNB2007101272713A CN200710127271A CN100492306C CN 100492306 C CN100492306 C CN 100492306C CN B2007101272713 A CNB2007101272713 A CN B2007101272713A CN 200710127271 A CN200710127271 A CN 200710127271A CN 100492306 C CN100492306 C CN 100492306C
- Authority
- CN
- China
- Prior art keywords
- data
- mentioned
- raid
- storage media
- disc
- 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
Images
Landscapes
- Signal Processing For Digital Recording And Reproducing (AREA)
Abstract
一种独立磁盘冗余阵列毁损时的数据恢复方法,可在独立磁盘冗余阵列组态毁损时,执行下列步骤:读取所有磁盘驱动器的超级区块;比对所有超级区块中存放的前次运作磁盘驱动器数及时间后,选取前次降级模式时使用的共享数据;将共享数据写入所有磁盘驱动器的超级区块;将独立磁盘冗余阵列的组态恢复成降级模式;在降级模式运作时,读取欲恢复的磁盘驱动器的各数据块,检查各数据块是否受损,读取未损毁数据块的数据,并复制至外接式的储存媒体,及将已受损的数据块位置记录至外接式的储存媒体。
Description
技术领域
本发明涉及一种对磁盘驱动器中尚未损毁的数据块进行数据恢复的方法,尤指一种在独立磁盘冗余阵列(Redundant Array of IndependentDisks,以下简称RAID)中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用外接式的储存媒体,对其它磁盘驱动器中尚未受损数据块进行数据恢复的方法。
背景技术
按,RAID指通过RAID控制器(Controller),通过硬件或软件方式,将多台实体磁盘驱动器结合成一台大容量的虚拟磁盘驱动器,RAID的储存原理是利用位带(Bit Striping)及目前主流的区块带(Block Striping)的分割方式,将相同的数据分散储存至各磁盘驱动器中的不同数据块(DataBlocks),以在任一磁盘驱动器的数据块受损时,可经由XOR运算,对储存在其它磁盘驱动器内的校验磁盘分段(Parity Blocks)及数据块内的数据进行比对及运算,以重建(Rebuild)受损的数据。由于,将数据写入至RAID时,通过多台实体磁盘驱动器上的多个读写头,执行数据的写入动作,故不仅其写入数据的速度相当快,且因相同数据储存在多台实体磁盘驱动器中不同的数据块位置,故RAID亦具备数据的容错功能(Fault Tolerant),为数据储存提供了较佳的安全保障。
以目前市场上普遍使用的RAID-5(RAID Level 5)型的独立磁盘冗余阵列为例,请参照图1 RAID的架构示意图,其由3台以上的磁盘驱动器搭配RAID控制器所组成,其中该RAID控制器中的异或(Xclusive OR,以下简称XOR)运算器,在将数据写入RAID前,会将数据切割为多个数据块A、B、C、D、E及F,分散储存于各实体磁盘驱动器11、12及13中,同时,会计算出数据的同位检查数据,并将对应的校验磁盘分段(ParityBlock)分散储存于各实体磁盘驱动器11、12及13中,其中数据块A与B的同位区块为P(A,B),数据块C与D的同位区块为P(C,D),数据块E与F的校验磁盘分段为P(E,F)。当上述这些磁盘驱动器11、12及13中任一台磁盘驱动器的数据块受损而无法存取数据时,如:磁盘驱动器13中数据块受损时,请参照图2,RAID控制器会将RAID转换成降级模式(Degraded Mode),并在降级模式下,利用上述这些磁盘驱动器11及12中数据块及校验磁盘分段内所储存的数据,继续进行数据的存取,此时,若将受损的磁盘驱动器13取出,并更换上正常且空白的新磁盘驱动器14,请参照图3,RAID控制器将会为RAID进行组态重建,利用上述这些磁盘驱动器11及12中数据块A、B、C、E及校验磁盘分段P(C,D)及P(E,F)内的数据,将旧数据回写至新磁盘驱动器14,以重建新磁盘驱动器14中的数据,使RAID得以继续正常运作。
然而,在传统RAID的架构下,若遇上同时2台磁盘驱动器受损,如:磁盘驱动器12与磁盘驱动器13均受损,请参照图4,RAID控制器即无法令RAID转换成降级模式,继续执行对数据进行重建的工作,而造成RAID毁损(Crush)。因此,如何设计出一种数据恢复的方法及系统,以在RAID毁损时,即发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能对数据进行恢复,即成为业者努力研究亟思改善的重要课题。
发明内容
有鉴于前述在RAID毁损的情形下,无法对数据进行恢复的问题,发明人经过长久努力研究与实验,终于开发设计出本发明的一种独立磁盘冗余阵列毁损时的数据恢复方法及其系统,希望使RAID在发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能利用所有磁盘驱动器中超级区块(Super Block)内所存放的数据信息,将RAID的组态回复至先前的降级模式,再配合对受损数据块的检测,将欲恢复的磁盘驱动器中尚未损毁的数据块复制至外接式的储存媒体,且将已受损的数据块位置记录至该外接式的储存媒体中,以顺利完成数据的恢复工作。
本发明目的是,该方法应用至RAID,该RAID由至少3台以上的磁盘驱动器及一个RAID控制器所组成的逻辑磁盘驱动器,其中相同数据别储存在多个磁盘驱动器中的不同数据块内,该方法在发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,可藉读取所有磁盘驱动器的超级区块;比对所有超级区块中存放的前次运作的磁盘数及时间,并选取其在前次降级模式时所使用的共享数据;将所获得的该共享数据写入所有磁盘的超级区块;及在完成将该共享数据写入所有磁盘的超级区块后,将RAID的组态恢复成降级模式。
本发明的另一目的,是在降级模式中运作时,读取所有磁盘中各数据块,并检测各该数据块是否受损,且将尚未损毁的各该数据块复制至外接式的储存媒体,并将已受损的数据块位置记录至该外接式的储存媒体,如此,即可在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用该外接式的储存媒体,对其它磁盘驱动器中尚未损毁的数据块进行数据恢复。
为让本发明之上述和其它目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合附图,作详细说明如下。
附图说明
图1为传统RAID中具有三台磁盘驱动器且正常运作时的架构示意图;
图2为图1所示传统RAID中有一台磁盘驱动器的数据块受损而失效时的架构示意图;
图3为图2所示传统RAID中更换一台正常且空白的新磁盘驱动器时的架构示意图;
图4为图1所示传统RAID中有两台磁盘驱动器的数据块受损而失效时的架构示意图;
图5为本发明实施例中之一,当两台磁盘驱动器的数据块受损而失效时的架构示意图;
图6为本发明中磁盘驱动器的分割区被分割成许多磁柱群时,每个磁柱的架构示意图;
图7为本发明对RAID执行超级区块修复的处理动作的流程示意图;
图8为本发明在RAID于降级模式中工作时,执行尚存数据复制的处理动作的流程示意图;
图9为本发明之一实施例中,数据恢复系统架构的方框图;及
图10为本发明的另一实施例中,数据恢复系统架构的方框图。
主要元件标记说明:
磁盘驱动器 ...................51、52、53、821、921
RAID ...................82
系统媒体 ...................83
磁盘驱动器超级区块读 ...................831、931
写程序
超级区块数据比对程序 ...................832、932
受损数据段侦测程序 ...................833、933
尚存数据复制程序 ...................834、934
RAID控制器 ...................93
具体实施方式
本发明恢复应用独立磁盘冗余阵列(Redundant Array of IndependentDisks,以下简称RAID),尤指一种RAID-5型架构的独立磁盘冗余阵列,RAID由至少3台以上的磁盘驱动器搭配RAID控制器所组成的逻辑磁盘驱动器,其中相同数据分别储存在多个磁盘驱动器中的不同区块内。在本发明之一最佳实施例中,以3台磁盘驱动器所组成的RAID为例,请参照图5所示,详细说明本发明的设计理念及工作情形如下:
在该实施例中,请参照图5所示,当RAID中的第一台磁盘驱动器51因数据块受损而失效时,RAID控制器(图中未示)会将RAID转换成降级模式,并在降级模式下运作,执行对受损数据的重建工作,然而,当RAID中的第二台磁盘驱动器52因数据块受损而失效,仅剩一台磁盘驱动器53中无受损数据块,而导致RAID组态毁损时,该实施例将在RAID上连接外接式的储存媒体(图中未示),如:硬盘、光驱或磁带机等,并通过对RAID执行超级区块修复(Super Block Recovery)及尚存数据复制等两个处理程序,完成对尚存数据的恢复工作。按,所谓“超级区块”,指在将磁盘驱动器的分割区(partition)分割成许多磁柱群(Cylinder Group)时,每一个磁柱群将依据该磁盘驱动器的容量大小,包含1到32个相邻的磁柱(Cylinder),各该磁柱内分别包括超级区块、磁柱群区块及索引节点区块等,请参照图6,其中该磁柱群区块包含了在该磁柱群中的空白区块、空白索引节点数据及磁柱群运用的状态,该超级区块则可在每个磁柱群内占用不同的位置,如:一个超级区块在某一磁道上,而另一个超级区块则在另一磁道上,一般而言,所有的超级区块同时受损的机率很小,且当某一超级区块受损时,亦可利用其它超级区块内的数据,来对受损的数据进行修复。因此,本发明即利用各该磁盘驱动器中超级区块的特性,实现本发明对受损数据进行修复的任务,将因数据块受损而失效的磁盘驱动器中的尚存数据,复制到RAID上所连接的该外接式的储存媒体,以完成对尚存数据的恢复工作。
在该实施例中,请参照图5,当仅剩一台磁盘驱动器53中无受损数据块,其余磁盘驱动器51、52均因数据块受损而失效,导致RAID的组态毁损的情况下,该方法将对RAID执行超级区块修复的处理动作,如图7所示,包括:
步骤61,将该外接式的储存媒体(如:硬盘、光驱或磁带机等)连接至RAID,以在后续的处理过程中,令RAID控制器将其视为RAID上的磁盘驱动器;
步骤62,读取所有磁盘驱动器的超级区块;
步骤63,比对所有超级区块中所存放的前次运作的磁盘驱动器数及时间后,选取其在前次降级模式(degraded mode)时所使用的共享数据;
步骤64,将所获得的该共享数据写入所有磁盘的超级区块;及
步骤65,在完成将该共享数据写入所有磁盘的超级区块后,将RAID的组态恢复成降级模式。
本发明对RAID完成超级区块修复的处理动作,并将RAID的组态恢复成降级模式后,本发明将在RAID于降级模式中运作时,执行尚存数据复制的处理动作,参照图8所示,包括:
步骤71,读取欲恢复的磁盘驱动器的各数据块;
步骤72,检查各数据块是否受损,若是,进入步骤75;否则,继续下列步骤;
步骤73,读取各数据块内的数据,并将其逐一复制至该外接式的储存媒体;
步骤74,判断是否已完成读取最后数据块内的数据,若否,返回步骤71,继续读取欲恢复的磁盘驱动器的下一数据块;若是,即结束尚存数据的复制动作;
步骤75,将已受损的各数据块位置逐一记录至该外接式的储存媒体中。
如此,即可在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,利用该外接式的储存媒体对其它磁盘驱动器中尚未损毁的数据块进行数据恢复。
另,本发明根据前述方法,还可建构数据恢复系统,用以在RAID毁损时,对其磁盘驱动器中尚未损毁的数据块进行数据恢复,参照图9,该系统包括RAID 82,RAID 82由至少3台以上的磁盘驱动器821与RAID控制器(图中未示)所组成的逻辑磁盘驱动器;系统媒体83,可为计算机或服务器,该系统媒体83分别与RAID 82及外接式的储存媒体81相连接,其中装置有磁盘驱动器超级区块读写程序831,用以读写上述这些磁盘驱动器821中超级区块内所存放的数据;超级区块数据比对程序832,与该超级区块读写程序831相链接(link),用以在比对该超级区块读写程序831自上述这些磁盘驱动器821中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并透过该超级区块读写程序831,将所获得的该共享数据写入所有磁盘的超级区块;受损数据块检测程序833,用以读取上述这些磁盘驱动器821的数据块,并检测所读取的数据块是否已受损;及尚存数据复制程序834,与该受损数据块检测程序833相链接,用以将上述这些磁盘驱动器833中尚未受损的数据块复制至该外接式的储存媒体81,并将已受损的各数据块位置逐一记录至该外接式的储存媒体81中。
在此需特别说明的是前述数据恢复系统,仅本发明具体实施例之一,本发明在实际工作时,并不局限于此,在本发明的另一实施例中,参照图10,该系统包括至少3台以上的磁盘驱动器921;RAID控制器93,分别与上述这些磁盘驱动器921及外接式的储存媒体91相连接,该RAID控制器93中装设磁盘驱动器超级区块读写程序931,用以读写上述这些磁盘驱动器921中超级区块内所存放的数据;超级区块数据比对程序932,与该超级区块读写程序931相链接,用以在比对该超级区块读写程序931自上述这些磁盘驱动器921中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并透过该超级区块读写程序931,将所获得的该共享数据写入所有磁盘的超级区块;受损数据块检测程序933,用以读取上述这些磁盘驱动器921的数据块,并检测所读取的数据块是否已受损;及尚存数据复制程序934,与该受损数据块检测程序933相链接,用以将上述这些磁盘驱动器921中尚未受损的数据块复制至该外接式的储存媒体91,并将已受损的各数据块位置逐一记录至该外接式的储存媒体91中。
根据以上所述可知,本发明在RAID中发生两台磁盘驱动器受损而导致RAID组态毁损的情形下,仍能利用所有磁盘驱动器中超级区块内所存放的数据,并配合外接式的储存媒体,通过将RAID的组态回复至先前的降级模式,再利用对磁盘驱动器中各数据块的检测,以将磁盘驱动器中尚未受损的数据块复制至该外接式的储存媒体,并将已受损的数据块位置亦记录至该外接式的储存媒体,顺利完成对磁盘驱动器中尚未损毁数据块的恢复工作。
按,以上所述,仅为本发明的最佳具体实施例,惟本发明的特征并不局限于此,任何所属技术领域的技术人员在本发明领域内,可轻易思及的变化或改进,皆应涵盖在以下本发明的权利要求范围中。
Claims (14)
1、一种独立磁盘冗余阵列毁损时的数据恢复方法,其特征是该方法应用至一独立磁盘冗余阵列,该独立磁盘冗余阵列是由至少3台以上的磁盘驱动器及一个独立磁盘冗余阵列的控制器所组成,其中相同数据分别储存在多个磁盘驱动器中的不同数据块内,该方法在独立磁盘冗余阵列中发生两台磁盘驱动器受损而导致独立磁盘冗余阵列组态毁损的情形下,执行下列步骤:
将外接式的储存媒体连接至上述独立磁盘冗余阵列;
令上述独立磁盘冗余阵列的控制器将上述外接式的储存媒体视为其上的磁盘驱动器;
读取所有磁盘驱动器的超级区块;
比对所有超级区块中所存放的前次运作的磁盘驱动器数及时间后,选取其在前次降级模式时所使用的共享数据;
将所获得的上述共享数据写入所有磁盘驱动器的超级区块;
在完成将上述共享数据写入所有磁盘驱动器的超级区块后,将上述独立磁盘冗余阵列的组态恢复成降级模式;
于降级模式中运作时,读取欲恢复的磁盘驱动器的各数据块;
检查各数据块是否受损;
读取尚未损毁的各数据块内的数据,并将其逐一复制至上述外接式的储存媒体;及
将已受损的各数据块位置逐一记录至上述外接式的储存媒体中。
2、根据权利要求1所述的方法,其特征是上述外接式的储存媒体是硬盘。
3、根据权利要求1所述的方法,其特征是上述外接式的储存媒体是光驱。
4、根据权利要求1所述的方法,其特征是上述外接式的储存媒体是磁带机。
5、一种独立磁盘冗余阵列毁损时的数据恢复系统,其特征是上述系统包括:
独立磁盘冗余阵列,是由至少3台以上的磁盘驱动器与一个独立磁盘冗余阵列的控制器所组成;
外接式的储存媒体;及
系统媒体,分别与上述独立磁盘冗余阵列及上述外接式的储存媒体相连接,其中包括:
磁盘驱动器超级区块读写程序,用以读写上述这些磁盘驱动器中超级区块内所存放的数据;
超级区块数据比对程序,与上述超级区块读写程序相链接,用以在比对上述超级区块读写程序自上述这些磁盘驱动器中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并通过上述超级区块读写程序,将所获得的上述共享数据写入所有磁盘驱动器的超级区块;
受损数据块检测程序,用以读取上述这些磁盘驱动器的数据块,并检测所读取的数据块是否已受损;及
尚存数据复制程序,与上述受损数据块检测程序相链接,用以将上述这些磁盘驱动器中尚未受损的数据块复制至上述外接式的储存媒体,并将已受损的各数据块位置逐一记录至上述外接式的储存媒体中。
6、根据权利要求5所述的系统,其特征是上述系统媒体是计算机。
7、根据权利要求5所述的系统,其特征是上述系统媒体是服务器。
8、根据权利要求5所述的系统,其特征是上述外接式的储存媒体是硬盘。
9、根据权利要求5所述的系统,其特征是上述外接式的储存媒体是光驱。
10、根据权利要求5所述的系统,其特征是上述外接式的储存媒体至少是磁带机。
11、一种独立磁盘冗余阵列毁损时的数据恢复系统,其特征是上述系统包括:
至少3台以上的磁盘驱动器;
外接式的储存媒体;及
独立磁盘冗余阵列的控制器,分别与上述这些磁盘驱动器及上述外接式的储存媒体相连接,上述独立磁盘冗余阵列的控制器包括:
磁盘驱动器超级区块读写程序,用以读写上述这些磁盘驱动器中超级区块内所存放的数据;
超级区块数据比对程序,与上述超级区块读写程序相链接,用以在比对上述超级区块读写程序自上述这些磁盘驱动器中超级区块内所读取的数据后,选取其在前次降级模式时所使用的共享数据,并通过上述超级区块读写程序,将所获得的上述共享数据写入所有磁盘驱动器的超级区块;
受损数据块检测程序,用以读取上述这些磁盘驱动器的数据块,并检测所读取的数据块是否已受损;及
尚存数据复制程序,与上述受损数据块检测程序相链接,用以将上述这些磁盘驱动器中尚未受损的数据块复制至上述外接式的储存媒体,并将已受损的各数据块位置逐一记录至上述外接式的储存媒体中。
12、根据权利要求11所述的系统,其特征是上述外接式的储存媒体是硬盘。
13、根据权利要求11所述的系统,其特征是上述外接式的储存媒体是光驱。
14、根据权利要求11所述的系统,其特征是上述外接式的储存媒体是磁带机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101272713A CN100492306C (zh) | 2006-08-14 | 2007-07-05 | 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN200620134501.X | 2006-08-14 | ||
CN200620134501 | 2006-08-14 | ||
CNB2007101272713A CN100492306C (zh) | 2006-08-14 | 2007-07-05 | 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101126999A CN101126999A (zh) | 2008-02-20 |
CN100492306C true CN100492306C (zh) | 2009-05-27 |
Family
ID=39095046
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101272713A Active CN100492306C (zh) | 2006-08-14 | 2007-07-05 | 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100492306C (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2745646C (en) * | 2009-04-21 | 2017-09-19 | International Business Machines Corporation | Apparatus and method for controlling a solid state disk (ssd) device |
CN101727298B (zh) * | 2009-11-04 | 2012-05-23 | 北京东方广视科技股份有限公司 | 实现独立磁盘冗余阵列的方法和装置 |
CN107491263B (zh) * | 2016-06-12 | 2022-07-22 | 北京忆恒创源科技股份有限公司 | 一种基于存储对象的数据重构方法 |
-
2007
- 2007-07-05 CN CNB2007101272713A patent/CN100492306C/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN101126999A (zh) | 2008-02-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7640452B2 (en) | Method for reconstructing data in case of two disk drives of RAID failure and system therefor | |
US9009526B2 (en) | Rebuilding drive data | |
US8307159B2 (en) | System and method for providing performance-enhanced rebuild of a solid-state drive (SSD) in a solid-state drive hard disk drive (SSD HDD) redundant array of inexpensive disks 1 (RAID 1) pair | |
CN104035830B (zh) | 一种数据恢复方法和装置 | |
CN101276302B (zh) | 一种磁盘阵列系统中磁盘故障处理和数据重构方法 | |
CN101436149B (zh) | 磁盘阵列数据重建方法 | |
WO2006123416A1 (ja) | ディスク故障復旧方法及びディスクアレイ装置 | |
CN110187830A (zh) | 一种加速磁盘阵列重建的方法及系统 | |
CN102521058A (zh) | Raid组磁盘数据预迁移方法 | |
CN101609420A (zh) | 实现磁盘冗余阵列重建的方法和磁盘冗余阵列及其控制器 | |
WO2012051931A1 (zh) | 廉价磁盘冗余阵列重构方法,装置及系统 | |
CN103019623B (zh) | 存储盘处理方法及装置 | |
CN104142872A (zh) | 一种raid磁盘阵列的快速重建方法 | |
CN102508733A (zh) | 一种基于磁盘阵列的数据处理方法及磁盘阵列管理器 | |
CN102226892B (zh) | 一种磁盘容错处理方法及设备 | |
TWI283349B (en) | Data protection method | |
CN100492306C (zh) | 独立磁盘冗余阵列毁损时的数据恢复方法及其系统 | |
CN105630417B (zh) | 一种raid5系统及在raid5系统失效后继续写数据的方法 | |
CN102609223B (zh) | 一种独立冗余磁盘阵列系统及其初始化方法 | |
CN1959647A (zh) | 建立稳定存储机制的方法 | |
CN105117172A (zh) | 一种磁盘阵列历史掉盘记录的保存方法 | |
CN102495680A (zh) | Raid系统的重建方法 | |
JP2010026812A (ja) | 磁気ディスク装置 | |
CN103975309A (zh) | 数据恢复方法、数据恢复装置、存储器及存储系统 | |
CN102508747A (zh) | 一种加快失效盘恢复的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |