冗余磁盘阵列重建的方法及设备技术

技术编号:3748793 阅读:156 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种冗余磁盘阵列重建的方法和设备,该方法包括以下步骤:配置冗余磁盘阵列中的有效数据区域和无效数据区域;当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算。本发明专利技术中,配置冗余磁盘阵列中的有效数据区域和无效数据区域,当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算,从而提高冗余磁盘阵列的阵列重建速度。

【技术实现步骤摘要】

本专利技术涉及通信领域,尤其涉及一种冗余磁盘阵列重建的方法及设备
技术介绍
冗余磁盘阵列技术最初的研制目的是为了组合小的廉价磁盘来代替大的昂贵磁 盘,以降低大批量数据存储的费用,同时也希望采用冗余信息的方式,使得磁盘失效时不会 使对数据的访问受损失,从而开发出一定水平的数据保护技术,并且能适当的提升数据传 输速度。 RAID (Redundant Array of Ind印endent Disks,独立冗余磁盘阵列)是冗余磁 盘阵列技术中的一种,它将数据按一定规则分块存储在多个磁盘上,利用多个磁盘的并行 存取、并行传输来提高存取速度,对主机来说RAID相当于一个读取速度快、容量大的磁盘。 RAID还利用其提供的冗余数据提高了系统的可靠性。目前RAID类型有RAID0、 RAIDl、 RAID3、RAID5、RAID6、RAID10等。对于RAID5、RAID3、RAID6,冗余数据为校验值;对于RAID1、 RAID10,冗余数据为镜像数据。 RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。如图1所示, RAID5包括多个物理磁盘、LUN(logical Unit Number,逻辑资源)以及多个Stripe (条带)。 每一物理磁盘划分为很多段,每一段称为一个Strip (条块),不同物理磁盘上的多个Strip 组成一个Stripe,每一 Strip的容量称为条带深度。通过RAID算法把多个物理磁盘分段 并且组合形成LUN,用户使用LUN存储应用数据,每一 LUN包括多个Stripe。 RAID5使用异 或操作(XOR)计算校验值P1、P2、P3,该校验值用于保证阵列冗余。当对LUN发出读写命令 后,RAID控制器找到要读写的数据所在的Strip进行数据操作。 LUN创建于RAID5上,是存储系统对外提供存储服务的介质,是业务应用存储数据 的真正区域。在实际使用中,LUN根据需要创建,阵列空间不一定全部创建了LUN,经常会 有空闲空间。RAID配置信息中与LUN相关的信息包括本阵列LUN总数、LUN-i (任一 LUN) 的UUID、 LUN-i数据段物理区域范围以及LUN-i的容量大小。如图2所示,RAID-A有n个 LUN,其中LUN1有2个数据段A和B,区域范围{(1AX, 1AY) , (1BX, 1BY)}分别为数据段A和 B的物理地址区域范围。 对RAID进行数据读写的过程中,由于各种原因(例如磁盘上有坏道、磁盘被误拔 出),可能会出现磁盘被踢出阵列的情况;此时阵列会处于降级状态。为了将阵列恢复正常 状态需要进行数据重建,RAID在加入热备盘后,通过恢复冗余性运算进行数据重建,该恢复 冗余性运算过程称为阵列重建。如图3所示,RAID5中,Disk3失效后,Disk4作为热备盘加 入阵列中,使用异或(XOR)操作恢复数据,将恢复出的数据P1'、D'、F'写入到热备盘Disk4 中,恢复完全后,Diskl、Disk2和Disk4组成完整的RAID5阵列。 目前,RAID的阵列重建需要对阵列中所有的物理空间进行恢复冗余性运算,必须 在所有物理空间全部运算完毕后,才认为重建过程完毕,RAID恢复成冗余阵列,具备冗余 性。但是,RAID的物理空间不一定全部是应用数据存储的区域,经常还包括空闲区域,而空闲区域并不需要保证冗余性。因此,现有RAID的恢复冗余性运算增大了 RAID阵列重建的 运算量,减慢了阵列重建速度。
技术实现思路
本专利技术提供了一种冗余磁盘阵列重建的方法及设备,以加速冗余磁盘阵列的重建 过程。 本专利技术提供了一种冗余磁盘阵列重建的方法,包括以下步骤 配置冗余磁盘阵列中的有效数据区域和无效数据区域; 当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算。 所述配置冗余磁盘阵列中的有效数据区域和无效数据区域包括 配置冗余磁盘阵列的逻辑资源所在数据区域为有效数据区域,其他区域为无效数据区域;或者 仅配置存储有应用数据的区域为有效数据区域,其余区域为无效数据区域。 所述当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算包括 当冗余磁盘阵列重建时,读取冗余磁盘阵列的配置信息,获取逻辑资源的数据段 物理区域,对所有逻辑资源的数据段物理区域进行恢复冗余性运算; 当冗余磁盘阵列重建过程中新创建逻辑资源时,对新创建逻辑资源的数据段物理 区域进行恢复冗余性运算。 所述当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算还包 括 当冗余磁盘阵列重建时,将冗余磁盘阵列的状态设置为修改中,并在所有逻辑资源的数据段物理区域完成恢复冗余性运算后,将冗余磁盘阵列的状态更新为正常。 所述当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算还包括 获取逻辑资源的数据段物理区域后,设置冗余磁盘阵列中的所有逻辑资源的数据 段物理区域的状态为缺失冗余性; 每完成对一逻辑资源的数据段物理区域的恢复冗余性运算后,设置该逻辑资源的 数据段物理区域的状态为已完成冗余性运算; 若重建过程中冗余磁盘阵列处于失效状态,则对逻辑资源的数据段物理区域的状 态进行修改,将缺失冗余性状态更新为失效状态、已完成冗余性运算状态更新为缺失冗余 性状态。 所述当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算之前, 还包括配置阵列基本数据块位图记录冗余磁盘阵列中各数据块存储应用数据的状态信 息; 所述当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算包括 读取所述阵列基本数据块位图,根据数据块状态标识信息获取存储应用数据的数 据块,并对该数据块进行恢复冗余性运算; 在恢复冗余性运算过程中,若有新的数据写入冗余磁盘阵列,则更新并重新读取 阵列基本数据块位图。5 本专利技术提供了一种冗余磁盘阵列重建的设备,包括 配置单元,用于配置冗余磁盘阵列中的有效数据区域和无效数据区域; 重建单元,用于当冗余磁盘阵列重建时,仅对所述配置单元配置的有效数据区域进行恢复冗余性运算。 所述配置单元还用于 配置冗余磁盘阵列的逻辑资源所在数据区域为有效数据区域,其他区域为无效数 据区域;或者 仅配置存储有应用数据的区域为有效数据区域,其余区域为无效数据区域。 所述重建单元还用于 当冗余磁盘阵列重建时,读取冗余磁盘阵列的配置信息,获取逻辑资源的数据段 物理区域,对所有逻辑资源的数据段物理区域进行恢复冗余性运算; 当冗余磁盘阵列重建过程中新创建逻辑资源时,对新创建逻辑资源的数据段物理区域进行恢复冗余性运算。 所述重建单元还用于 当冗余磁盘阵列重建时,将冗余磁盘阵列的状态设置为修改中,并在所有逻辑资源的数据段物理区域完成恢复冗余性运算后,将冗余磁盘阵列的状态更新为正常。所述重建单元还用于 获取逻辑资源的数据段物理区域后,设置冗余磁盘阵列中的所有逻辑资源的数据 段物理区域的状态为缺失冗余性; 每完成对一逻辑资源的数据段物理区域的恢复冗余性运算后,设置该逻辑资源的 数据段物理区域的状态为已完成冗余性运算; 若重建过程中冗余磁盘阵列处于失效状态,则对逻辑资源的数据段物理区域的状 态进行修改,将缺失冗余性状态更新为失效状态、已完成冗余性运算状态更新为缺失冗余 性状态。 所述配置单元还用于配置阵列基本数据块位本文档来自技高网
...

【技术保护点】
一种冗余磁盘阵列重建的方法,其特征在于,包括以下步骤:配置冗余磁盘阵列中的有效数据区域和无效数据区域;当冗余磁盘阵列重建时,仅对所述有效数据区域进行恢复冗余性运算。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨西平周迪
申请(专利权)人:杭州华三通信技术有限公司
类型:发明
国别省市:86[中国|杭州]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1