一种RAID下的高效数据迁移方法技术

技术编号:32512809 阅读:25 留言:0更新日期:2022-03-02 11:01
本发明专利技术提供了一种RAID下的高效数据迁移方法,针对RAID0,RAID1,RAID5,RAID6分别做了规划,其中数据迁移部分使用统一的调度方案,对于硬件和固件而言简单有效,且能保证负载均衡。数据迁移后在RAID5,6中需要进行校验更新,此时针对调度方案所提供的更新算法无需对所有的数据进行运算,针对不同的场景,给出了最简数据更新运算方法,能够有效减少运算,提高数据迁移的效率。数据迁移的效率。数据迁移的效率。

【技术实现步骤摘要】
一种RAID下的高效数据迁移方法


[0001]本专利技术涉及电子数字数据处理领域,尤其是一种RAID下的高效数据迁移方法。

技术介绍

[0002]伴随着通讯技术和网络科技的迅速发展,数字化信息呈指数爆炸式增长,数据存储技术也因此迎来了巨大的挑战。存储系统中数据的可靠性问题以及存储系统的能耗问题越来越被人们所关注。现如今面对如此庞大的数据规模,存储系统中数据的可靠性和存储系统中包含的组件数量成反比关系,即存储系统组件数越多,那么存储系统中数据的可靠性就越低。根据相关调查显示,在一个由600个磁盘构成的互联网数据中心中,每月大约会有30个磁盘出现损坏的情况,在大规模存储系统中,磁盘故障造成的数据可靠性下降是相当严重的问题,对此人们展开了相关容错技术的研究。
[0003]在1988年,加州大学伯克利分校的D.A.Patterson等教授提出的RAID结构成为了提升存储空间的一个关键技术,RAID(Redundant Arrays of Independent Disks)即具有冗余能力的磁盘阵列,磁盘阵列是通过将多个独立磁盘组合一起,从而得到一个容量巨大的磁盘组。采用RAID存储技术,可以大大提高存储容量,提高系统输入输出的请求处理能力并且通过数据的分布式存储技术,并行访问手段和信息冗余技术提高数据的可靠性。
[0004]其中,公开号为US09465560B2的专利文件提供了包括一组数据库的分布式RAID系统。更具体地说,在分布式RAID系统的某些实施例中,每个数据库具有一组关联的存储介质并执行类似的分布式RAID应用。每个数据库上的分布式RAID应用程序在它们之间进行协调,以便与存储在数据库的相关联的存储介质上的卷相结合地分发和控制与实现RAID级别相关联的数据流。可以实现将该卷或其一部分从一个配置迁移到另一个配置,使得可以根据该第二配置来存储卷或其部分以及对应的冗余数据。但是这样的分配方式并没有针对其不同应用场景做适应性的修改,适应性较差。

技术实现思路

[0005]有鉴于此,本专利技术的目的在于提出一种RAID下的高效数据迁移方法,用以针对调度方案所提供的更新算法,对不同的场景设计数据更新运算方法,能够有效减少运算,提高数据迁移的效率。
[0006]基于上述目的,本专利技术提供了一种RAID下的高效数据迁移方法,针对不同的场景下的数据迁移需求,基于RAID不同算法,进行分别优化运算,具体包括数据迁移有RAID0、RAID1、RAID5、RAID6,其中:RAID0的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID1优化运算为镜像模式,对所有数据按照负载均衡的需求进行排列,所述排列在两块盘组同时进行,完成数据迁移;RAID5的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID5还包括一个错误的恢复,利用现有的数据块,生成一个校验块P;进行编码时,对需要编码的数据分为n个块,每个数据块为dn,其关系表示为:
[0007][0008]对已经完成数据迁移的RAID5,任一错误通过异或运算恢复得到,恢复包括数据(dn)和校验(p),具体为:在数据迁移RAID5的组内,所有数据通过相同的方式进行恢复,d0恢复为取出剩余存活的数据,对其进行异或运算:
[0009][0010]RAID6的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID6还包括完成两个错误的纠错恢复,并且当只错一个时可使用RAID5进行单一纠错来完成工作;具体为:为了完成一个错误的恢复,利用现有的数据块,生成一个校验块P;将需要编码的数据分为n个块,每个数据块为dn,生成校验位p、q,其关系表示为:
[0011][0012]当上述任意一个或两个数据块(d,p和q)发生错误时,通过校验块p、q进行纠错。
[0013]在一些实施例中,所述方法包括
[0014]所述RAID0的方法包括:
[0015]a.寻找发生重叠的数据块,将其移入条带顺序空闲位置;
[0016]b.对于未重复但在不同条带位置的数据以较低的优先级,向上条带位置挪入,完成工作时对RAID0进行标记通知。
[0017]在一些实施例中,所述方法包括
[0018]所述RAID1的方法包括:在两块盘组同时进行以下操作
[0019]a.寻找发生重叠的数据块,将其移入条带顺序空闲位置;
[0020]b.对于未重复但在不同条带位置的数据以较低的优先级,向上条带位置挪入,完成工作时对RAID1进行标记通知。
[0021]在一些实施例中,方法还包括
[0022]对于RAID5当涉及数据迁移的需求下,根据不同场景定义不同的校验的运算变化;场景分为所有数据被移入同一个条带、无法移入同一个条带两类进行操作,
[0023]a.所有条带被移入同一个条带,插入一块新磁盘,上方条带校验位p1的空闲数据位足够放下下方条带校验位p2的数据,则将其对应的顺序移入上方条带的空闲位置,完成数据迁移;数据迁移后的校验位p1更新为p1

,取出下放条带对应的校验数据,与被并入的条带校验进行异或运算,其运算为:
[0024][0025]b.对于数据无法完全并入条带的情况,当上条带涉及的数据对应的校验位P1,下条带对校验位P2时,新插入一块磁盘,选择是否进行数据迁移,若进行数据迁移,按照顺序选择需要并入的数据块;D3表示任一数据、D4表示任一数据,将D3,D4并入上条带中的空闲位置,数据进行迁移时读取数据,然后写入新的位置,在读取的同时,用XOR模块对校验位P1和P2分别进行更新,记为P1

和P2

[0026][0027]在一些实施例中,方法还包括
[0028]RAID6完成两个错误的纠错恢复,并且当只错一个时使用RAID5进行单一纠错来完成工作;具体为:利用现有的数据块,生成一个校验块P;
[0029]当进行编码时,将需要编码的数据分为n个块,每个数据块命名为dn,所生成的校验位p和q的情况下,其关系表示为:
[0030][0031]当上述任意一个或两个数据块d,p和q发生错误时,RAID 6通过两个校验块p、q进行纠错。
[0032]在一些实施例中,方法还包括
[0033]当RAID6涉及数据迁移的需求下,根据不同的场景定义不同的校验的运算变化,所述场景分为所有数据被移入同一个条带、无法移入同一个条带两类进行操作:
[0034]a.所有条带可以被移入同一个条带的情况下,校验位(P,Q)落在不同数据盘上,当发生新增磁盘,发生数据迁移时,进行如下操作:
[0035]首先、记录数据盘校验位(P,Q)对应的位置信息,下条带的数据全部被移入上条带,下条带的校验码直接删除;选择数据依次移入上条带的空闲位置;上条带进行编码的更新记为P1

和Q1

;de记录的参数中对应在校验所在位置的参数;记录两个de P1

和本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种RAID下的高效数据迁移方法,其特征在于,针对不同的场景下的数据迁移需求,基于RAID不同算法,进行分别优化运算,具体包括的数据迁移有RAID0、RAID1、RAID5、RAID6,其中:RAID0的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID1优化运算为镜像模式,对所有数据按照负载均衡的需求进行排列,所述排列在两块盘组同时进行,完成数据迁移;RAID5的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID5还包括一个错误的恢复,利用现有的数据块,生成一个校验块P;进行编码时,对需要编码的数据分为n个块,每个数据块为dn,其关系表示为:对已经完成数据迁移的RAID5,任一错误通过异或运算恢复得到,恢复包括数据(dn)和校验(p),具体为:在数据迁移RAID5的组内,所有数据通过相同的方式进行恢复,d0恢复为取出剩余存活的数据,对其进行异或运算:RAID6的优化运算为对所有的数据按照负载均衡的需求进行排列,完成数据迁移;RAID6还包括完成两个错误的纠错恢复,并且当只错一个时可使用RAID5进行单一纠错来完成工作;具体为:为了完成一个错误的恢复,利用现有的数据块,生成一个校验块P;将需要编码的数据分为n个块,每个数据块为dn,生成校验位p、q,其关系表示为:当上述任意一个或两个数据块(d,p和q)发生错误时,通过校验块p、q进行纠错。2.根据权利要求1所述的一种RAID下的高效数据迁移方法,其特征在于,所述RAID0的方法包括:a.寻找发生重叠的数据块,将其移入条带顺序空闲位置;b.对于未重叠但在不同条带位置的数据以较低的优先级,向上条带位置挪入,完成工作时对RAID0进行标记通知。3.根据权利要求1所述的一种RAID下的高效数据迁移方法,其特征在于,所述RAID1的方法包括:在两块盘组同时进行以下操作a.寻找发生重叠的数据块,将其移入条带顺序空闲位置;b.对于未重叠但在不同条带位置的数据以较低的优先级,向上条带位置挪入,完成工作时对RAID1进行标记通知。4.根据权利要求1所述的一种RAID下的高效数据迁移方法,其特征在于,对于RAID5当涉及数据迁移的需求下,根据不同场景定义不同的校验的运算变化;场景分为所有数据被移入同一个条带、无法移入同一个条带两类进行操作,a.所有条带被移入同一个条带,插入一块新磁盘,上方条带校验位p1的空闲数据位足够放下下方条带校验位p2的数据,则将其对应的顺序移入上方条带的空闲位置,完成数据迁移;数据迁移后的校验位p1更新为p1

,取出下放条带对应的校验数据,与被并入的条带校验进行异或运算,其运算为:
b.对于数据无法完全并入条带的情况,当上条带涉及的数据对应的校验位P1,下条带对校验位P2时,新插入一块磁盘,选择是否...

【专利技术属性】
技术研发人员:吴睿振张永兴陈静静张旭王凛
申请(专利权)人:山东云海国创云计算装备产业创新中心有限公司
类型:发明
国别省市:

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

1