一种磁盘阵列raid坏块处理方法及装置的制造方法

文档序号:9708182阅读:609来源:国知局
一种磁盘阵列raid坏块处理方法及装置的制造方法
【技术领域】
[0001]本申请涉及计算机技术领域,尤其涉及一种磁盘阵列RAID坏块处理方法及装置。
【背景技术】
[0002]RAID(Redundant Arrays of Independent Disks,磁盘阵列)表不“独立磁盘构成的具有冗余能力的阵列”,Stripe(条带)是把连续的数据分割成相同大小的数据块,把每段数据块分别写入到RAID中的不同磁盘上的方法。
[0003]由于RAID中的硬盘需要经常写入或者读出数据,尤其是在需要进行大量I/O的操作中,例如监控级的硬盘,对硬盘的操作更是频繁,因而可能使RAID中的硬盘中的某个或某些块出现损坏,当硬盘中出现块损坏时,首先会尝试根据损坏的块所在的条带中其它块的数据,对损坏的块的数据进行修复,如果不能修复,则需要使用其它方法使得损坏的块的数据能够正常使用。
[0004]现有技术中,当对RAID中的坏块进行写修复失败时,一般是将坏块所在的硬盘直接剔除,然后用新的硬盘替代被剔除的硬盘,并且对新的硬盘进行重建。该方法只要检测到硬盘中有坏块并且进行写修复失败时,就丢弃该硬盘,因而导致硬盘实际使用寿命非常短,需要频繁的更换硬盘,造成运维系统成本增加。
[0005]综上所述,现有技术中在检测到硬盘有坏块并且无法修复时,直接使用新的硬盘替换坏的硬盘,导致硬盘实际使用寿命短,造成运维系统成本增加。

【发明内容】

[0006]
[0007]本申请提供一种磁盘阵列RAID坏块处理方法及装置,用以解决现有技术中存在的在检测到硬盘有坏块并且无法修复时,直接使用新的硬盘替换坏的硬盘,因而导致硬盘实际使用寿命短,造成运维系统成本增加的技术问题。
[0008]一方面,本申请实施例提供的一种磁盘阵列RAID坏块处理方法,包括:
[0009]根据RAID中第一坏块,确定所述第一坏块对应的条带;
[0010]根据所述条带中位于所述RAID其他硬盘上的第一正常块对应的数据,确定所述第一坏块对应的原始数据;
[0011]将所述原始数据存储到至少一个全局热备盘中的至少一个第二正常块中,并建立所述第一坏块与所述第二正常块的映射关系;
[0012]其中,所述全局热备盘为所述RAID之外的一块硬盘。
[0013]本申请实施例提供的方法,根据RAID中第一坏块,确定第一坏块对应的条带,以及根据条带中位于RAID其他硬盘上的第一正常块对应的数据,确定第一坏块对应的原始数据,然后将确定的原始数据存储到至少一个全局热备盘中的至少一个第二正常块中并建立第一坏块与第二正常块的映射关系,其中全局热备盘为RAID之外的一块硬盘,当硬盘有坏块时不需要更换新的硬盘然后对新的硬盘进行重建,而只需要将硬盘中坏块对应的原始数据存储到全局热备盘的第二正常块中,从而减少了硬盘的替换和重建,节约了系统资源和系统开销。
[0014]另一方面,本申请实施例还提供一种磁盘阵列RAID坏块处理装置,包括:
[0015]第一确定单元,用于根据RAID中第一坏块,确定所述第一坏块对应的条带;
[0016]第二确定单元,用于根据所述条带中位于所述RAID其他硬盘上的第一正常块对应的数据,确定所述第一坏块对应的原始数据;
[0017]映射单元,用于将所述原始数据存储到至少一个全局热备盘中的至少一个第二正常块中,并建立所述第一坏块与所述第二正常块的映射关系;其中,所述全局热备盘为所述RAID之外的一块硬盘。
【附图说明】
[0018]为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0019]图1为现有技术磁盘阵列RAID5中条带示意图;
[0020]图2为本申请实施例提供的RAID坏块处理方法流程图;
[0021]图3为本申请实施例提供的RAID坏块与全局热备盘映射关系示意图;
[0022]图4为本申请实施例提供的多个磁盘阵列的坏块映射全局热备盘的示意图;
[0023]图5为本申请实施例提供的替换全局热备盘示意图;
[0024]图6为本申请实施例提供的替换RAID中的硬盘示意图;
[0025]图7为本申请实施例提供的RAID坏块处理方法详细流程图;
[0026]图8为本申请实施例提供的RAID坏块处理装置示意图。
【具体实施方式】
[0027]为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述,显然,所描述的实施例仅仅是本申请一部份实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
[0028]磁盘阵列RAID是由很多价格较便宜的磁盘组合成的一个容量巨大的磁盘组,利用这项技术,将数据切割成许多区段,分别存放在各个硬盘上,其中,条带是把连续的数据分割成相同大小的块,把每段数据分别写入到阵列中不同磁盘上的方法。如图1所示,为现有技术磁盘阵列中RAID5中条带示意图。其中磁盘阵列中包含4个硬盘,分别为硬盘1,硬盘2,硬盘3和硬盘4,在一个条带中,分为3个数据块和一个校验块,如图1中的条带1,例如Dlj,D2_1,D3_1是数据块,D4_l是校验块,其中数据块用来存储数据,校验块用来存储同一条带中所有数据块对应的数据的校验值,其中校验块D4_l中存储的校验值是由数据块Dl_l,D2_l,D3j通过“异或运算”得到的,因而在一个条带中,任一个块(包括数据块和校验块)中的数据丢失或者损坏,都可以通过该条带中其它的块中的数据来恢复该块中的数据。需要说明的是,本申请实施例提供的方法是以RAID5作为示例进行说明的,但本申请实施例提供的方法不限于RAID5,任何存在冗余磁盘的RAID级别,只要是适用于本申请实施例提供的方法即可,例如RAID6、RAIDl、RAIDlO、RAID4jL^03EC(Erasure code,纠删码)等。
[0029]下面结合说明书附图对本申请实施例作进一步详细描述。
[0030]如图2所示,本申请实施例提供的RAID坏块处理方法流程图,包括:
[0031 ]步骤201、根据RAID中第一坏块,确定所述第一坏块对应的条带;
[0032]步骤202、根据所述条带中位于所述RAID其他硬盘上的第一正常块对应的数据,确定所述第一坏块对应的原始数据;
[0033]步骤203、将所述原始数据存储到至少一个全局热备盘中的至少一个第二正常块中,并建立所述第一坏块与所述第二正常块的映射关系。
[0034]其中,RAID中的第一坏块指的是RAID中硬盘上出现数据丢失或者损失的块,且该块无法通过写入数据进行修复,即第一坏块是已经无法正常使用且无法恢复的块。第一坏块可以是一个条带中的数据块,也可以是条带中的校验块。RAID中的第一正常块是指RAID中硬盘上除第一坏块之外的块,即RAID中硬盘上可以正常使用的块,第一正常块可以是数据块也可以是校验块。
[0035]全局热备盘用于备份RAID中第一坏块对应的数据,具体地,使用全局热备盘中的第二正常块存储RAID中第一坏块对应的数据,第二正常块是全局热备盘中除第二坏块之外的块,即全局热备盘中可以正常使用的块,如果第二正常块损坏而导致不能使用,则第二正常块变成了第二坏块,第二坏块是指全局热备盘中出现数据丢失或者损失的块,且该块无法通过写入数据进行修复。
[0036]上述步骤201中,当RAID中有第一坏块时,首先根据RAID中有第一坏块,确定第一坏块对应的条带,如图1所示,如果D2_l是第一坏块,则确定第一坏块对应的条带为条带1;如果D4_5是第一坏块,则确定第一坏块对应的条带为条带5。
[0037]上述步骤202中,由于具有N块硬盘的RAID5中,在一个条带上,使用其中N-1个块来存储数据,另外一个块来存储校验数据,因此,任何一块硬盘中的某个块损坏,均可以根据条带中其他的块进行“异或运算”得到坏块的数据,因此当确定了第一坏块对应的条带之后,可以根据该条带中其他硬盘上的第一正常块对应的数据确定第一坏块对应的原始数据,其中第一正常块指的是硬盘中没有损坏,可以正常使用的数据块或者校验块。
[0038]上述步骤203中,将确定的第一坏块对应的原始数据存储到至少一个全局热备盘中的至少一个第二正常块中,并且建立第一坏块与第二正常块的映射关系,如图3所示,为本申请实施例提供的RAID坏块与全局热备盘映射关系示意图,其中,RAID中一共有4块硬盘,1^10中的坏块统称为第一坏块,分别为01_1,04_1,03_2,02_3,03_1其中,需要说明的是,一个条带中不能有两个或两个以上的块同时损坏,因为RAID5中对于一个条带上的坏块对应的数据是需要通过该条带上的其它所有块中的数据来恢复的,例如Dl_l,D4j是不能同时成为坏块的,但可以是一个块损坏时在全局热备盘中做好备份后,同一条带上的其它的块再出现坏块时才能够恢复数据,例如Dl_l成为坏块后,在全局热备盘中做好备份后,SP备份为Slj,这时如果D4_l成为坏块,也是可以通过条带中的其它所有块对应的数据,将D4_l对应的数据恢复出来的,因为虽然Dl_l是坏块,但该坏块对应的数据已经做过备份了,因此在恢复D4j对应的数据中需要用到Dlj对应的数据时,可以使用全局热备盘中的块Sl_l对应的备份数据。在D4_l成为坏块后,将它在全局热备
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1