书签 分享 收藏 举报 版权申诉 / 12

一种磁盘阵列RAID6级别的构建方法.pdf

  • 上传人:32
  • 文档编号:4574999
  • 上传时间:2018-10-21
  • 格式:PDF
  • 页数:12
  • 大小:663.22KB
  • 摘要
    申请专利号:

    CN201010234511.1

    申请日:

    2010.07.23

    公开号:

    CN101901115A

    公开日:

    2010.12.01

    当前法律状态:

    授权

    有效性:

    有权

    法律详情:

    授权|||实质审查的生效IPC(主分类):G06F 3/06申请日:20100723|||公开

    IPC分类号:

    G06F3/06; G06F11/10

    主分类号:

    G06F3/06

    申请人:

    华中科技大学

    发明人:

    刘景宁; 冯丹; 陈俭喜; 田磊; 金超; 沙睿彬; 黄赛; 刘建平

    地址:

    430074 湖北省武汉市洪山区珞喻路1037号

    优先权:

    专利代理机构:

    华中科技大学专利中心 42201

    代理人:

    朱仁玲

    PDF完整版下载: PDF下载
    内容摘要

    一种磁盘阵列RAID6级别的构建方法,属于计算机数据存储方法,解决数据存储和容错恢复的问题,并且支持双盘容错,提升了数据的安全性,同时支持任意磁盘数构建RAID6阵列,这大大提升了阵列构建的方便性。本发明包括初始化过程、校验块对应过程,数据存放过程和数据恢复过程。本发明基于设计一种全新的RAID6构建方法,并且采用异或方式产生校验数据,具有相当好的双盘数据容错性能;同时根据磁盘个数的不同来采用不同的校验数据存放方式,很好的实现了支持任意磁盘数构建RAID6。

    权利要求书

    1: 一种磁盘阵列 RAID6 级别的构建方法, 包括初始化、 校验块对应、 数据存放和数据恢 复四个步骤, 具体如下 : (1) 初始化步骤 (1.1) 根据创建磁盘阵列的磁盘数 Col 对磁盘进行数据块和校验块的划分 : 首先, 将每个磁盘的第一个块作为校验块, 组成一个校验条带 ; 其次, 若磁盘数 Col 与 1 的和 P 为质数, 即若 P = Col+1 为质数, 则将每个磁盘的其余 块都为存放数据的数据块, 划分完后, 一共有 (P-1)/2 个条带 ; 若 P 为非质数, 先确定出比 P 大的最小质数 Q, 再对第一个磁盘划分校验块, 即对第一个 磁盘从第二个块起依次向下作为校验块, 直到校验块的总数为 Q-1 或已经把第一个磁盘的 第 (Q-1)/2 个块作为校验块为止, 若此时校验块总数为 Q-1, 则校验块划分结束, 其余磁盘 块都作为数据块 ; 若此时校验块总数没有达到 Q-1, 则继续对后续的磁盘划分校验块, 直至 校验块总数为 Q-1 ; (1.2) 分别往划分好的校验块和数据块中填充数据 “0” , 完成磁盘阵列的初始化。 (2) 校验块和数据块对应步骤 (
    2: 1) 对校验块进行标记 若 P 为质数, 从第一个磁盘开始将 P-1 个校验块分别以从 1 开 始的连续 P-1 个自然数作为标记号进行顺序标记 ; 否则, 先把 P-1 个磁盘逻辑上扩充为 Q-1 个盘, 再从第一个磁盘开始将 Q-1 个校验块分别标记为从 1 到 Q-1 的连续自然数 ; (2.2) 对数据块进行标记 每个磁盘的数据块标记号为从校验块的标记号中任选两个不重复的数所组成的一个 自然数对, 并且该自然数对之和与校验块标记号最大值加 1 所得数值进行取模后等于该被 标记的数据块所在磁盘的第一块校验块的标记值。 (3) 数据存放步骤 (
    3: 1) 若是小块写入, 则先读取要被覆盖掉的数据块的数据内容, 然后与待写入内容进 行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据块和校 验块 ; (3.2) 若是大块写入, 则先读取不会被覆盖掉的数据块的数据内容, 然后与待写入内容 进行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据块和 校验块。 (4) 数据恢复步骤 当有两块磁盘损坏时, 对于磁盘阵列中的每个磁盘, 首先确定出一数值 m, 其中, 若此磁 盘中第一块校验块的标记号 K 为偶数, 则 m = K/2 ; 若磁盘标记号为奇数, 则当 P 为质数时, m = (K+P)/2, P 为非质数时, m = (K+Q)/2 ; 对于其中一块损坏的磁盘 i, 根据其对应的数值 mi, 首先恢复另一块磁盘 j 中标记号含 有数值 mi 的块 jA, 然后根据上述已恢复的 jA 的标记号中数值, 恢复磁盘 i 中标记号含有该 数值的块 jB, 并每次都根据前一次恢复的块的标记号的数值, 依次交替进行两块磁盘各块 的恢复, 直至两损坏磁盘中待恢复的块的标记号中不含前一次恢复的块中的标记号数值 ; 若此时所述两块损坏的磁盘所有块均已恢复, 则恢复完成 ; 否则, 再根据另一块磁盘 j 对应的数值 mj, 按上述过程再依次交替恢复, 从而完成所述两块损坏的磁盘所有块的数据 2 恢复。

    说明书


    一种磁盘阵列 RAID6 级别的构建方法

        【技术领域】
         本发明属于计算机数据存储方法, 具体涉及一种磁盘阵列 RAID6 级别的构建方法。 背景技术
         随着计算机技术和网络通信技术的发展, 信息化程度越来越高, 人们对数据可靠 性的要求也越来越高。磁盘阵列 RAID(Redundant Array ofIndependent Disks) 是可靠存 储系统领域中的一个典型装置, 磁盘阵列的工作原理与特征 : RAID 的基本结构特征就是组 合 (Striping), 捆绑 2 个或多个物理磁盘成组, 形成一个单独的逻辑盘。
         RAID 结构已经被划分为几个标准。RAID0 级 : 无冗余无校验的磁盘阵列。数据同 时分布在各个磁盘驱动器上, 没有容错能力, 读写速度在 RAID 中最快, 但因为任何一个磁 盘驱动器损坏都会使整个 RAID 系统失效, 所以安全系数反倒比单个的磁盘驱动器还要低。 RAID1 级 : 镜象磁盘阵列。每一个磁盘驱动器都有一个镜像磁盘驱动器, 镜像磁盘驱动器随 时保持与原磁盘驱动器的内容一致。 RAID1 具有最高的安全性, 但只有一半磁盘空间被用来 存储数据。RAID5 级 : 无独立校验盘的奇偶校验磁盘阵列。同样采用奇偶校验来检查错误, 但没有独立的校验盘, 校验信息分布在各个磁盘驱动器上。RAID6 级和 RAID5 级很相似, 但 是 RAID6 级可以恢复任意双盘出错。
         RAID6 级结构在存储系统中扮演着越来越重要的角色。通常有两种 RAID6 级的编 码结构, 一种是水平编码, 一种是垂直编码。水平编码很容易被扩展成任意长度, 但是垂直 编码长度经常受到限制。这里, 我们采用一种新颖的有效的编码算法用于 RAID6 级垂直编 码, 使得 RAID6 级垂直编码可以扩展到任意长度。 发明内容 本发明提出一种磁盘阵列 RAID6 级别的构建方法, 解决现有的磁盘阵列 RAID6 级 别垂直编码不易被扩展成任意长度的问题。
         为实现本发明的目的所采用的技术方案如下 :
         一种磁盘阵列 RAID6 级别的构建方法, 包括初始化、 校验块对应、 数据存放和数据 恢复四个步骤, 具体如下 :
         (1) 初始化步骤
         (1.1) 根据创建磁盘阵列的磁盘数 Col 对磁盘进行数据块和校验块的划分 :
         首先, 将每个磁盘的第一个块作为校验块, 组成一个校验条带 ;
         其次, 若磁盘数 Col 与 1 的和 P 为质数, 即若 P = Col+1 为质数, 则将每个磁盘的 其余块都为存放数据的数据块, 划分完后, 一共有 (P-1)/2 个条带 ;
         若 P 为非质数, 先确定出比 P 大的最小质数 Q, 再对第一个磁盘划分校验块, 即对第 一个磁盘从第二个块起依次向下作为校验块, 直到校验块的总数为 Q-1 或已经把第一个磁 盘的第 (Q-1)/2 个块作为校验块为止, 若此时校验块总数为 Q-1, 则校验块划分结束, 其余
         磁盘块都作为数据块 ; 若此时校验块总数没有达到 Q-1, 则继续对后续的磁盘划分校验块, 直至校验块总数为 Q-1 ;
         (1.2) 分别往划分好的校验块和数据块中填充数据 “0” , 完成磁盘阵列的初始化。
         (2) 校验块和数据块对应步骤
         (2.1) 对校验块进行标记
         若 P 为质数, 从第一个磁盘开始将 P-1 个校验块分别以从 1 开始的连续 P-1 个自 然数作为标记号进行顺序标记 ; 否则, 先把 P-1 个磁盘逻辑上扩充为 Q-1 个盘, 再从第一个 磁盘开始将 Q-1 个校验块分别标记为从 1 到 Q-1 的连续自然数 ;
         (2.2) 对数据块进行标记
         每个磁盘的数据块标记号为从校验块的标记号中任选两个不重复的数所组成的 一个自然数对, 并且该自然数对之和与校验块标记号最大值加 1 所得数值进行取模后等于 该被标记的数据块所在磁盘的第一块校验块的标记值。
         (3) 数据存放步骤
         (3.1) 若是小块写入, 则先读取要被覆盖掉的数据块的数据内容, 然后与待写入内 容进行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据块 和校验块 ;
         (3.2) 若是大块写入, 则先读取不会被覆盖掉的数据块的数据内容, 然后与待写入 内容进行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据 块和校验块。
         (4) 数据恢复步骤
         当有两块磁盘损坏时, 对于磁盘阵列中的每个磁盘, 首先确定出一数值 m, 其中, 若 此磁盘中第一块校验块的标记号 K 为偶数, 则 m = K/2 ; 若磁盘标记号为奇数, 则当 P 为质 数时, m = (K+P)/2, P 为非质数时, m = (K+Q)/2 ;
         对于其中一块损坏的磁盘 i, 根据其对应的数值 mi, 首先恢复另一块磁盘 j 中标记 号含有数值 mi 的块 jA, 然后根据上述已恢复的 jA 的标记号中数值, 恢复磁盘 i 中标记号含 有该数值的块 jB, 并每次都根据前一次恢复的块的标记号的数值, 依次交替进行两块磁盘 各块的恢复, 直至两损坏磁盘中待恢复的块的标记号中不含前一次恢复的块中的标记号数 值;
         若此时所述两块损坏的磁盘所有块均已恢复, 则恢复完成 ; 否则, 再根据另一块磁 盘 j 对应的数值 mj, 按上述过程再依次交替恢复, 从而完成所述两块损坏的磁盘所有块的数 据恢复。
         本发明基于一个普遍存在的现象, 即 RAID6 级别的磁盘阵列水平编码很容易被扩 展成任意长度, 但是垂直编码长度经常受到限制。本发明通过采用了一种新的垂直编码方 法, 包括初始化、 校验块对应、 数据存放、 数据恢复等过程, 解决了 RAID6 级别磁盘阵列垂直 编码不可扩展问题, 大大提升了 RAID6 级别磁盘阵列的可适用性。 附图说明
         图 1 为本发明流程示意图 ;
         图 2 为本发明的初始化步骤过程示意图 ;图 3 为本发明的校验块对应步骤过程示意图 ; 图 4 为本发明的数据存放步骤过程示意图 ; 图 5 为本发明的数据恢复步骤过程示意图 ; 图 6 为本发明的磁盘数加 1 为质数的数据分布示意图 ; 图 7 为本发明的磁盘数加 1 为非质数的数据分布示意图 ; 图 8 为本发明的磁盘损坏后的数据恢复示意图。具体实施方式
         下面结合附图对本发明进一步详细说明。
         本发明的一种磁盘阵列 RAID6 级别的构建方法, 包括初始化、 校验块对应、 数据存 放和数据恢复, 具体过程如下, 如图 1 所示 :
         (1) 初始化步骤, 顺序进行下述过程, 如图 2 所示 :
         (1.1) 根据创建磁盘阵列的磁盘数 Col 对磁盘进行数据块和校验块的划分 :
         首先, 每个磁盘的第一个块作为校验块, 组成一个校验条带,
         其次, 若 P = Col+1 为质数, 则每个磁盘的其余块都为存放数据的数据块, 这些数 据块组成多个数据条带, 数据条带的个数为 ((P-1)÷2-1) ; 若 P = Col+1 为非质数, 先确定出比 P 大的最小质数 Q, 再对第一个磁盘划分校验 块, 即从第一个磁盘的第二个块起依次向下作为校验块, 直到校验块的总数为 (Q-1) 或已 经把第一个磁盘的第 ((Q-1)÷2) 个块作为校验块为止。
         若此时校验块总数为 (Q-1), 则校验块划分结束, 其余磁盘块都作为数据块 ; 若 此时校验块总数没有达到 (Q-1), 则继续对后续的磁盘划分校验块, 直至校验块总数为 (Q-1)。划分完成后, 一共有 ((Q-1)÷2) 个条带, 除了校验块外其他全是数据块。
         (1.2) 分别往校验块和数据块填充数据 “0” , 完成磁盘阵列的初始化。
         (2) 校验块和数据块对应步骤, 如图 3 所示 :
         (2.1) 通过标记号对校验块进行标记
         若 P 为质数, 从第一个磁盘开始将 P-1 个校验块分别以从 1 开始的连续 P-1 个自 然数作为标记号分别进行标记 ; 否则, 先把 P-1 个磁盘逻辑上扩充为 Q-1 个盘, 再从第一个 磁盘开始将 Q-1 个校验块分别标记为从 1 到 Q-1 的连续自然数 ;
         (2.2) 标记数据块
         每个磁盘的数据块标记号为从校验块的标记号中任选两个不重复的数所组成的 一个自然数对, 并且该自然数对之和与校验块标记号最大值加 1 所得数值进行取模后等于 该被标记的数据块所在列即所在磁盘的第一块校验块的标记值。
         一个校验块与多个含有此校验块标记号值的数据块相对应, 至此校验块与数据块 对应结束。
         实际上 (Q-P) 个效验块并没有存放空间, 从第一个磁盘开始, 依次在数据块标记 中由上往下找含有那些没有存放空间的效验块标记号的数据块, 找到一块后, 此数据块就 被当成了相应的效验块和对应的数据块的双重身份 ;
         (3) 数据存放步骤, 如图 4 所示 :
         (3.1) 若是小块写入, 则先读取要被覆盖掉的数据块的数据内容, 然后与待写入内
         容进行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据块 和校验块 ;
         (3.2) 若是大块写入, 则先读取不会被覆盖掉的数据块的数据内容, 然后与待写入 内容进行异或后作为校验块的值, 最后分别将所述待写入内容和所述校验块的值写入数据 块和校验块。
         (4) 数据恢复如图 5 :
         当有两块磁盘损坏时, 对于磁盘阵列中的每个磁盘, 首先确定出一数值 m, 其中, 若 此磁盘中第一块校验块的标记号 K 为偶数, 则 m = K/2 ; 若磁盘标记号为奇数, 则当 P 为质 数时, m = (k+P)/2, P 为非质数时, m = (k+Q)/2 ;
         对于其中一块损坏的磁盘 i, 根据其对应的数值 mi, 首先恢复另一块磁盘 j 中标记 号含有数值 mi 的块 jA, 然后根据上述已恢复的 jA 的标记号中数值, 恢复磁盘 i 中标记号含 有该数值的块 jB, 并每次都根据前一次恢复的块的标记号的数值, 依次交替进行两块磁盘 各块的恢复, 直至两损坏磁盘中待恢复的块的标记号中不含前一次恢复的块中的标记号数 值;
         若此时所述两块损坏的磁盘所有块均已恢复, 则恢复完成 ; 否则, 再根据另一块磁 盘 j 对应的数值 mj, 按上述过程再依次交替恢复, 从而完成所述两块损坏的磁盘所有块的数 据恢复。
         图 6 为本发明的磁盘数加 1 为质数的数据分布示意图, 这里对磁盘数为 6 的情况 进行讨论 : 首先每个磁盘的第一块为效验块, 编号依次为 1, 2, 3, 4, 5, 6, 数据块一共有 2 个 条带, 并且每一个数据块被标记为一个自然数对, 且这两个自然数不相同, 而且相加后与 7 取模后的值为该列的校验块的编号。
         图 7 为本发明的磁盘数加 1 为非质数的数据分布示意图, 这里对磁盘数为 5 的情 况进行讨论 : 首先把 5 块盘逻辑上扩充为 6 块盘, 然后按照图 6 的 6 块盘的状态为校验块 和数据块进行编号, 最后把实际上不存在的第 6 块盘的校验块存放到第一个磁盘的第二块 ( 即 (2, 6)) 中, 此时 (2, 6) 既是校验块又是数据块。
         图 8 为本发明的磁盘损坏后的数据恢复示意图 : 这里我们讨论两块磁盘损坏的情 况, 损坏盘分别是磁盘 3 和磁盘 4。首先确定磁盘 3 不包含的数据编号为 5, 磁盘 4 不包含 的数据编号为 2 ; 然后通过含有编号 5 的数据块和校验块值的异或确定磁盘 4 的 (5, 6) 的 值, 接着确定磁盘 3 的 (4, 6) 的值和磁盘 4 的校验块 (4) 的值, 然后再通过含有编号 2 的数 据块和校验块值的异或确定磁盘 3 的 (1, 2) 的值, 接着确定磁盘 4 的 (1, 3) 的值和磁盘 3 的校验块 (3) 的值。至此恢复了坏盘的全部数据。

    关 键  词:
    一种 磁盘阵列 RAID6 级别 构建 方法
      专利查询网所有文档均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    0条评论

    还可以输入200字符

    暂无评论,赶快抢占沙发吧。

    关于本文
    本文标题:一种磁盘阵列RAID6级别的构建方法.pdf
    链接地址:https://www.zhuanlichaxun.net/p-4574999.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2017-2018 zhuanlichaxun.net网站版权所有
    经营许可证编号:粤ICP备2021068784号-1