一种基于镜像技术的数据存储方法及装置制造方法及图纸

技术编号:4028985 阅读:229 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种基于镜像技术的数据存储方法,该方法包括:当有数据需要对磁盘进行写操作时,从所述磁盘对应的局部镜像分区中选择活动分块,并将所述数据写入所述磁盘和活动分块;当所述数据写入所述磁盘失败且写入所述活动分块成功时,根据所述活动分块中写入的数据对所述磁盘进行恢复。本发明专利技术中,加快了业务的响应速度,对正常业务性能的影响较小,磁盘利用率很高。

【技术实现步骤摘要】

本专利技术涉及通信
,特别是涉及一种基于镜像技术的数据存储方法及装置
技术介绍
RAID (Redundant Array of Inexpensive Disks,磁盘冗余阵列)是一种高性能、 高可靠性的存储技术,通过将一系列单独的磁盘以不同的方式组合起来,为应用终端或终 端集群提供逻辑上的磁盘。其中,使用RAID的优点包括扩大磁 盘容量、提高磁盘读写的性 能和数据的安全性。具体的,RAID技术已经广泛应用于数据存储的各种场合,常用的RAID技术包括 RAIDO、RAIDU RAID5、RAID6、RAIDlO等;其中,RAIDO不具有冗余能力,RAIDl并不是完全 的磁盘阵列;而RAID5、RAID6和RAIDlO分别由多块磁盘(例如,RAID5和RAID6不少于3 块,RAIDlO不少于4块)组成,各个RAID以条带的方式向阵列中的磁盘写数据,并将奇偶 校验数据存放在阵列中的各个磁盘上。其中,奇偶校验数据是由每个条带中的数据位使用 XOR运算得出,从而使得在一个磁盘发生损坏时,可以通过条带中的数据位+奇偶校验位使 用XOR运算来还原丢失的那部分数据。进一步的,RAID5的每个条带上含有1个校验位,支持任意损坏其中一块磁盘,通 过其他磁盘上的奇偶校验位来重建数据;RAID6的每个条带上含有2个校验位,支持任意损 坏其中两块磁盘,通过其他磁盘上的奇偶校验位来恢复数据;RAIDlO是对磁盘组先进行镜 像,再对磁盘进行条带,当一块磁盘损坏后通过其对应的镜像盘恢复数据,最多允许不同位 置下50%的磁盘损坏。如图1所示,为现有技术中一种以RAID5为例的数据存储过程示意图,其中,RAID5 是一种基于条带校验模型的存储结构,还有一个校验位,当对数据写入RAID5阵列时,需要 对条带上的数据进行校验,并将校验和写入到校验位。具体的,RAID5阵列由3块磁盘组成,而写入RAID5的有6块数据,此时,需要将6 块数据分成3个条带写入磁盘中。其中,条带P(P1、P2和P3)中的数据块是奇偶校验数据, 分别由每个条带中的数据XOR算出,即P1=A@B,P2=C D,P3=E F;假设磁盘1损坏 时,对于条带1中的数据A,可以由B @ Pl运算得出。如图2所示,为现有技术中一种以RAIDlO为例的数据存储过程示意图,其中, RAIDlO是RAIDl和RAIDO的结合,也可称为RAID (0+1),先进行镜像后进行条带化,既提高 了系统的读写性能,又提供了数据的冗余保护,RAIDlO的磁盘空间利用率和RAIDl是一样 的,均为50%。具体的,在RAIDlO中,只要不是镜像组的一对磁盘同时出现损坏,则可以支持多 块磁盘同时掉线。例如,在图2中,当磁盘1、4、5三块磁盘同时掉线时,只要磁盘2、3、6仍 然正常工作,则可以保证数据不丢失。但是,在使用RAID5进行数据存储时,当数据写入时有数据发生变化,则条带需要重新进行校验,从而导致写入的性能较低。尤其是在随机写较多的情况下,为了计算新校验 和还需要将老数据读出,开销巨大,性能严重下降。另外,当有磁盘因为写入失败发生踢盘 或者其他原因损失后,则阵列重建过程需要将所有保留数据全部读出并通过异或关系计算 来恢复数据,从而导致系统资源被大量占用,严重影响对正常业务的响应速度。在使用RAIDlO进行数据存储时,当一对镜像组磁盘同时掉线时,则数据将无法恢 复,例如,如果磁盘1和磁盘2同时损坏时,则RAIDlO阵列中的数据就无法恢复了。此外, RAIDlO的磁盘利用率不是很高,需要消耗50%的磁盘来对数据进行冗余,大大增加了设备 的成本
技术实现思路
本专利技术提供一种基于镜像技术的数据存储方法及装置,以节省系统资源,并提高 磁盘的利用率。为了达到上述目的,本专利技术提出了一种基于镜像技术的数据存储方法,应用于包 括至少两个磁盘的RAID阵列中,所述RAID阵列中的磁盘设有局部镜像分区,所述方法进一 步包括以下步骤当有数据需要对所述磁盘进行写操作时,从所述磁盘对应的其他磁盘的局部镜像 分区中选择活动分块,并将所述数据写入所述磁盘和选择的局部镜像分区的活动分块;当所述数据写入所述磁盘和局部镜像分区的活动分块成功时,删除所述局部镜像 分区的活动分块中写入的数据;当所述数据写入所述磁盘失败且写入所述局部镜像分区的活动分块成功时,根据 所述局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复。所述RAID阵列中的磁盘设有局部镜像分区,具体为将所述RAID阵列的所有磁盘进行排序,并根据排序结果从所有磁盘中选择一个 磁盘的预设个数的条带分块作为前一个磁盘的局部镜像分区。将所述数据写入所述磁盘和选择的局部镜像分区的活动分块,之后还包括将所述局部镜像分区的活动分块设置为锁定状态;其中,处于锁定状态的活动分 块无法写入数据;删除所述局部镜像分区的活动分块中写入的数据,之后还包括清除所述局部镜 像分区的活动分块设置的锁定状态;根据所述局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复,之前还包 括保持所述局部镜像分区的活动分块设置的锁定状态。根据所述局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复,具体包 括获取所述磁盘的性能信息,并当所述性能信息小于预设的性能指标时,根据所述 局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复。根据所述局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复,具体包 括将所述局部镜像分区的活动分块中写入的数据重新写入到所述磁盘;如果预设次 数内将所述局部镜像分区的活动分块中写入的数据重新写入到所述磁盘成功时,删除所述局部镜像分区的活动分块中写入的数据,并清除所述局部镜像分区的活动分块设置的锁定 状态;如果预设次数内将所述局部镜像分区的活动分块中写入的数据重新写入到所述磁盘 均失败时,如果当前有可用的热备磁盘,则通过所述热备磁盘对所述磁盘进行重建。通过所述热备磁盘对所述磁盘进行重建,具体包括将所述磁盘中的数据和所述局部镜像分区的活动分块中写入的数据拷贝到所述 热备磁盘,删除所述局部镜像分区的活动分块中写入的数据,并清除所述局部镜像分区的 活动分块设置的锁定状态。一种基于镜像技术的数据存储装置,应用于包括至少两个磁盘的RAID阵列中,所 述RAID阵列中的磁盘设有局部镜像分区,所述装置包括选择模块,用于当有数据需要对所述磁盘进行写操作时,从所述磁盘对应的其他 磁盘的局部镜像分区中选择活动分块; 写入模块,与所述选择模块连接,用于将所述数据写入所述磁盘和选择的局部镜 像分区的活动分块;删除模块,与所述选择模块和所述写入模块分别连接,用于当所述数据写入所述 磁盘和局部镜像分区的活动分块成功时,删除所述局部镜像分区的活动分块中写入的数 据;处理模块,与所述选择模块和所述写入模块分别连接,用于当所述数据写入所述 磁盘失败且写入所述局部镜像分区的活动分块成功时,根据所述局部镜像分区的活动分块 中写入的数据对所述磁盘进行恢复。还包括设置模块,与所述选择模块连接,用于将所述RAID阵列的所有磁盘进行排序,并 根据排序结果从所有磁盘中选择一个磁盘的预设个数的条带分块作为前一个磁盘的局部 镜像分区。还包括维护模块,用于当所述数据写入所述磁盘和选择的局部镜像分区的活动分块时,本文档来自技高网
...

【技术保护点】
一种基于镜像技术的数据存储方法,应用于包括至少两个磁盘的RAID阵列中,其特征在于,所述RAID阵列中的磁盘设有局部镜像分区,所述方法进一步包括以下步骤:当有数据需要对所述磁盘进行写操作时,从所述磁盘对应的其他磁盘的局部镜像分区中选择活动分块,并将所述数据写入所述磁盘和选择的局部镜像分区的活动分块;当所述数据写入所述磁盘和局部镜像分区的活动分块成功时,删除所述局部镜像分区的活动分块中写入的数据;当所述数据写入所述磁盘失败且写入所述局部镜像分区的活动分块成功时,根据所述局部镜像分区的活动分块中写入的数据对所述磁盘进行恢复。

【技术特征摘要】

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

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

1