RAID5快速同步方法技术

技术编号:20024645 阅读:89 留言:0更新日期:2019-01-06 03:58
本发明专利技术属于计算机数据存储技术领域,具体涉及一种RAID5快速同步方法。本发明专利技术的方法包括以下步骤:将组成阵列的硬盘的所有数据块置为零。本发明专利技术的技术方案通过将所有数据块置为零,可省去传统RAID5同步方式中硬盘数据读取以及数据校验和计算两个步骤,极大提高了RAID5同步的效率,缩短RAID5同步所需的时间。

【技术实现步骤摘要】
RAID5快速同步方法
本专利技术属于计算机数据存储
,具体涉及一种RAID5快速同步方法。
技术介绍
RAID(RedundantArrayofIndependentDisk独立冗余磁盘阵列)技术是加州大学伯克利分校1987年提出,是由多个独立的高性能磁盘驱动器组成的磁盘子系统,从而提供比单个磁盘更高的存储性能和数据冗余的技术,RAID作为高性能、高可靠的存储技术,已经得到了非常广泛的应用。RAID主要利用数据条带、镜像和数据校验技术来获取高性能、可靠性、容错能力和扩展性,根据运用或组合运用这三种技术的策略和架构,可以把RAID分为不同的等级,以满足不同数据应用的需求,在实际应用领域中使用最多的RAID等级是RAID0、RAID1、RAID3、RAID5、RAID6和RAID10。在各种不同的RAID等级中,RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。基于RAID5存储数据的原理,当多块磁盘构建RAID5后,需要对整个存储区域进行数据初始化同步,包括以下步骤:一、读取各硬盘数据块数据;二、计算各数据块校验和;三、写入校验和到硬盘。在RAID5数据同步时,计算每个块的校验和公式为:D1xorD2xorD3....xorDn-1=Cp,其中,n表示由构建raid的磁盘数,n>=3,Dn:表示数据块,Cp:表示校验和,xor表示异或操作。以n块硬盘组成RAID5为例,数据同步过程步骤为:依次读出每个条带的数据块D1,D2,D3,...,Dn-1;对D1,D2,D3,...,Dn-1,进行xor计算出Cp;将Cp写入对应的校验块区域。在RAID5的整个同步过程中,需对所有磁盘的数据进行读取,计算校验和,写入校验和的操作,因此存在读取硬盘频繁,计算量大,时间较慢的问题。不仅如此,随着磁盘技术的不断发展,磁盘的容量也不断扩大,在大容量硬盘组RAID5进行同步的时候,上述问题越专利技术显和严重。
技术实现思路
本专利技术的目的之一在于克服以上缺点,提供一种提高RAID5同步的效率、缩短RAID5同步所需的时间的方法。为了解决上述技术问题,本专利技术提供了一种RAID5快速同步方法,包括以下步骤:将组成阵列的硬盘的所有数据块置为零。进一步地,所述“将组成阵列的硬盘的所有数据块置为零”,是采用bzero或memset命令进行置零。进一步地,所述“数据块”,包括校验块和非校验块,并且校验块和非校验块满足公式:D1xorD2xorD3....xorDn-1=Cp,其中,n表示由构建raid的磁盘数,n>=3,Dn:表示第n个非校验块,Cp:表示校验块,xor表示异或操作。本专利技术技术方案的有益效果有:与传统的RAID5同步方法相比,本专利技术的同步方法,无需对各硬盘数据进行读取,减少了磁盘的频繁读取;无需进行数据校验和的计算,减少了对计算资源的消耗;同时,通过简化以上两个步骤,大大缩短了RAID5的同步所需时间。另外,采用C语言中的bzero或memset命令进行快速置零,可进一步缩短RAID5同步的所需时间。附图说明图1是RAID5存储原理图。图2是本专利技术的一种RAID5快速同步方法步骤流程图。具体实施方式下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。在各种不同的RAID等级中,RAID5是一种存储性能、数据安全和存储成本兼顾的存储解决方案。RAID5不对存储的数据进行备份,而是把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上。以三个硬盘组成的RAID5为例,其数据存储方式如图1所示:图中,校验1为数据1和数据2的奇偶校验信息,校验2为数据3和数据4的奇偶校验信息,校验3为数据5和数据6的奇偶校验信息,以此类推。当RAID5的一个磁盘数据发生损坏后,利用剩下的数据和相应的奇偶校验信息去恢复被损坏的数据。基于RAID5存储数据的原理,当多块磁盘构建RAID5后,需要对整个存储区域进行数据初始化同步,以n块硬盘组成RAID5为例,现有技术的初始化同步包括以下步骤:一、读取各硬盘数据块数据;依次读出每个条带的数据块D1,D2,D3,...,Dn-1。二、计算各数据块校验和;根据D1,D2,D3,...,Dn-1,计算出校验和,计算公式为:D1xorD2xorD3....xorDn-1=Cp,其中,n表示由构建raid的磁盘数,n>=3,Dn:表示第n个数据块,Cp:表示校验和,xor表示异或操作,两个数据块的异或操作就是对数据块的每个二进制位进行异或计算,二进制的异或计算规则为:0xor0=0,1xor0=1,0xor1=1,1xor1=0。三、写入校验和到硬盘。将步骤二中计算出的校验和Cp写入RIAD5对应的校验块区域,RAID5的内部存储机制会保证每次将校验和Cp以及n-1个数据块分别存储在不同的磁盘上。如图2,是本专利技术的一种RAID5快速同步方法步骤流程图,包含以下步骤:将组成阵列的硬盘的所有数据块置为零。本专利技术技术方案中的将组成阵列的硬盘的所有数据块置为零,指的是将所有组成RAID5阵列硬盘上的数据的每个二进制位都置为0,包括用户数据块(非校验块)以及校验块内容。首先,在RAID5构建并进行数据同步的过程中,所有磁盘上的数据都需要复位,每块磁盘上已有的数据都会被清除,因此可以对磁盘进行写入操作。其次,由于所有的磁盘二进制位都写为0,对于由n个磁盘组成的阵列而言,其中的数据块D1,D2,。。。至Dn-1均为0,根据校验和计算公式:D1xorD2xorD3....xorDn-1=Cp以及异或计算的规则可以计算出校验和Cp也为0,因此就可以省去校验和的计算步骤,而直接将校验块也置为0。本专利技术的技术方案采用将磁盘数据块以及校验码都置为零的方法,省略了读取数据块信息以及计算校验和的步骤,同时又仍然能满足校验和的计算公式,对后续的RAID5数据使用及恢复没有产生影响,更重要的是,避免了磁盘的频繁读取以及大量的校验和计算,大大缩短了RAID5初始化同步所需的时间,根据测试结果,在同样硬件平台的测试条件下(包括的相同的内存,CPU,硬盘大小,硬盘数量),采用本专利技术技术方案中直接清零方式进行RAID5初始化同步所需的时间,只有传统按条带计算校验和进行RAID5初始化同步方法所需时间的三分之一。在一优选的实施例中,可以通过C语言中命令bzero对硬盘进行置零操作,因为bzero是常用的系统性能关键操作,其进行了汇编级别的优化,执行效率高,同时因为是数据区全部清零,所以不需要考虑阵列的条带大小,偏移地址,一个硬盘只需要系统调用一次bzero就可以实现数据区全清零,所以本文档来自技高网
...

【技术保护点】
1.一种RAID5快速同步方法,其特征在于,包括以下步骤:将组成阵列的硬盘的所有数据块置为零。

【技术特征摘要】
1.一种RAID5快速同步方法,其特征在于,包括以下步骤:将组成阵列的硬盘的所有数据块置为零。2.如权利要求1所述的一种RAID5快速同步方法,其特征在于,所述“将组成阵列的硬盘的所有数据块置为零”,是采用bzero或memset命令进行置零。3.如权利要求1所述的一种RAI...

【专利技术属性】
技术研发人员:张利
申请(专利权)人:福建易视科技有限公司
类型:发明
国别省市:福建,35

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

1