Raid磁盘阵列重新恢复冗余的方法

文档序号:9787116阅读:980来源:国知局
Raid磁盘阵列重新恢复冗余的方法
【技术领域】
[0001]本发明涉及计算机存储技术领域,尤其涉及一种RAID磁盘阵列重新恢复冗余的方法。
【背景技术】
[0002]目前的RAID磁盘发生故障时,需要重构热备盘,一般采用从RAID磁盘起始位置至RAID磁盘结尾位置依次重建,该设计方案比较简单,但是在重建的过程中将RAID磁盘上从来没有写过的数据也进行了重建,延长了整个RAID阵列重建的时间。综上所述,现有技术中对RAID磁盘进行重建的过程中将没有写过的数据或已经删除的数据条带也进行重建导致重建时间过长的问题。

【发明内容】

[0003]本发明的目的在于提供一种RAID磁盘阵列重新恢复冗余的方法,旨在解决针对现有技术中对RAID磁盘进行重建的过程中将没有写过的数据或已经删除的数据条带也进行重建导致重建时间过长的问题。
[0004]本发明是这样实现的,第一方面提供一种RAID磁盘阵列重新恢复冗余的方法,所述方法包括以下步骤:
[0005]A.在所述RAID磁盘阵列读写数据的过程中,将没有数据的条带标记为无效条带,将有数据的条带标记为有效数据条带;
[0006]B.判断RAID磁盘是否发生故障,是,则执行步骤C,否则返回执行步骤A;
[0007]C.重建所述有效数据条带;
[0008]D.同步所述RAID磁盘阵列中的所述无效数据条带。
[0009]结合第一方面,在第一方面的第一种实施方式中,所述步骤A中将没有数据的条带标记为无效数据条带的步骤具体为:
[0010]将没有写入数据的条带标记为无效数据条带。
[0011]结合第一方面,在第一方面的第二种实施方式中,所述步骤A中将没有数据的条带标记为无效数据条带的步骤具体为:
[0012]当有效数据条带的数据全部被删除或被回收后,将其标记为无效数据条带。
[0013]结合第一方面,在第一方面的第三种实施方式中,所述步骤D具体为:
[0014]将重建过的条带的校验码设置第一校验码,并将未重建的条带的校验码设置为第二校验码;
[0015]对校验码为第二校验码的条带进行同步。
[0016]结合第一方面,在第一方面的第五种实施方式中,所述步骤A之前还包括以下步骤:
[0017]将所有条带初始化为无效条带。
[0018]本发明提供一种RAID磁盘阵列重新恢复冗余的方法,在重新恢复冗余RAID磁盘阵列时,扫描整个位图,若位图标记是有效数据条带,则对应的区块执行重建操作,若位图标记是无效数据条带,则位图对应的区块不执行重建操作,而是通过启动同步来达到校验和的一致,通过这种方案,在重建的过程中,仅需要恢复RAID磁盘阵列中的有效数据,可以使重建速度有效的得到提升,特别是在有效数据只是有了一小部分的情况下更加显著,减少了重建时间,同时减少了发生二次磁盘故障带来的丢失数据风险,并且,对无效数据条带进行同步恢复冗余,可以在后续写该条带时提高随机写性能,即由重构写变成读至修改至写的过程。
【附图说明】
[0019]为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本发明一种实施例提供的一种RAID磁盘阵列重新恢复冗余的方法的流程图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
[0022]为了说明本发明的技术方案,下面通过具体实施例来进行说明。
[0023]本发明一种实施例提供一种RAID磁盘阵列重新恢复冗余的方法,如图1所示,RAID磁盘阵列重新恢复冗余的方法包括以下步骤:
[0024]步骤SlOl.在所述RAID磁盘阵列读写数据的过程中,将没有数据的条带标记为无效数据条带,将有数据的区域标记为有效数据条带。
[0025]在本步骤中,具体的,首先将RAID磁盘阵列的数据空间划分为大小相等的区块,然后使用位图记录这些区块的使用状态;在发生数据写入时,将写入位置对应的位图标记为有效数据条带。
[0026]其中,本专利的条带指阵列中的逻辑条带,对应阵列中一个或多个物理条带组成。
[0027]其中,对于无效数据条带,在一种实施方式中,将没有数据的条带标记为无效数据条带的步骤具体为:将没有写入数据的条带标记为无效数据条带。
[0028]在另一种实施方式中,将没有数据的区域标记为无效区域的步骤具体为:
[0029]当有效数据条带的数据全部被删除或被回收后,将其标记为无效数据条带。
[0030]步骤S102.判断RAID磁盘是否发生故障,是,则执行步骤S103,否则返回执行步骤SlOlo
[0031]在本步骤中,具体的,RAID磁盘阵列的某一块磁盘发生损坏后,此时RAID磁盘发生故障,系统自动使用备用磁盘替换损坏的成员盘,执行步骤S103。
[0032]步骤S103.重建RAID磁盘阵列中的有效数据条带。
[0033]在本步骤中,具体的,在RAID磁盘阵列重建有效区域的过程中,仅需要恢复RAID磁盘阵列中的有效数据。
[0034]步骤S104.同步无效区域。
[0035]在本步骤中,具体的,步骤S104具体包括:
[0036]步骤S1041.将重建过的有效数据条带的校验码设置第一校验码,并将未重建的条带的校验码设置为第二校验码。
[0037]步骤S1042.对校验码为第二校验码的条带进行同步。
[0038]在步骤S1041和步骤S1042中,具体的,对重建过的有效区域置1,其余区域全部置0,对置O的区域进行同步。
[0039]进一步的,步骤S1041中将重建过的有效区域的校验码设置第一校验码之前还包括:
[0040]初始化校验码和位图。
[0041]进一步的,步骤SlOl之前还包括以下步骤:
[0042]将所有区域初始化为无效数据条带。
[0043 ] 步骤S103和步骤S104之间还包括以下步骤:
[0044]判断是否重建完成有效数据条带,是,则执行步骤S104,否,则执行步骤S103。
[0045]在本发
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1