一种纠删码RAID的数据一致性保障方法及系统技术方案

技术编号:15391405 阅读:279 留言:0更新日期:2017-05-19 04:44
本发明专利技术提出一种纠删码RAID的数据一致性保障方法及系统,涉及计算机存储领域,该方法包括步骤1,当有新数据写入时,修改版本设备中各设备的数据映射表,并生成事务日志表,所述版本设备中各设备进行异步下刷操作,完成后,清除所述事务日志表,其中所述版本设备由新数据卷与旧数据卷构成;步骤2,将所述新数据及与其相对应的新校验信息经所述版本设备转发并写入新数据卷,当所述新数据与所述新校验信息都完整写入后,再触发所述步骤1,将所述新数据与所述新校验信息写入所述旧数据卷。本发明专利技术高效的保证纠删码RAID系统数据的一致性。

Data consistency guarantee method and system for erasure code RAID

The invention provides a method for erasure codes RAID data consistency guarantee method and system, relates to the field of computer memory, the method comprises the steps of 1, when new data is written, the data mapping table to modify equipment version of equipment, and generate the transaction log table, after the completion of the equipment of the equipment in the brush version operation, asynchronous, remove the transaction log table, wherein the version of the device by the new and old data volume data volume; step 2, the new data and the new parity information through the forwarding and write a new version of the device when the volume of data, the new data and the new check the information integrity after writing, and then trigger the step 1, writes the new data and the new parity information the old data volume. The invention effectively ensures the consistency of the data of the erasure code RAID system.

【技术实现步骤摘要】
一种纠删码RAID的数据一致性保障方法及系统
本专利技术涉及计算机存储领域,特别涉及一种纠删码RAID的数据一致性保障方法及系统。
技术介绍
RAID(独立冗余磁盘阵列)技术是一种提供增强冗余、容量和存储性能的存储方法,有着较强的可管理性、可靠性和可用性。通过冗余计算,RAID技术能够在满足可靠性要求的前提下降低系统的容量开销。RAID技术作为基础存储技术之一,在过去二十余年中有效地保障了用户数据的可靠性。多副本和纠删码技术是RAID系统常用的可靠性保障技术,多副本技术导致系统存储空间利用率过低,带来高存储成本。而纠删码技术相对于多副本技术,可在保证数据可用性和可靠性的前提下大幅提升存储空间利用率,因此已成为存储技术的发展趋势。纠删码(ErasureCode,EC)是一种数据保护方法,它将数据分割成片段,把冗余数据块扩展、编码,并将其存储在不同的物理位置。基本原理为向数据中加入冗余信息,增加校验位,使得数据损坏后可以通过校验信息进行数据的恢复。使用数据盘n块、校验码盘m块组建RS-Code的RAID存储系统,系统可以容忍小于等于m块的磁盘同时损坏(坏磁盘数<=校验码盘数),并能够保证数据的完整性。与副本技术相比,纠删码技术极大地提高了磁盘阵列的存储效率,并且只引入了少量的额外能耗开销。随着存储数据量的飞速增长,为减少数据冗余代价并保证数据的可用性和可靠性,纠删码技术成为了存储系统发展的热点。但纠删码存储系统的写性能表现不佳,尤其是对于小数据写的情况。纠删码系统的条带化读-修改-写策略会将小写操作转化为一系列的读写操作组合,导致频繁的磁头抖动,使得纠删码系统的小写性能极低。如图示1,为三个数据盘加两个校验盘组成的3+2纠删码系统(即RAID6)的数据写入过程。由于条带化RAID数据块间存在紧耦合问题,当用户写D1块时,RAID6将先读取D2和D3块的数据至内存,然后在内存中计算新校验P’和Q’,最后将新数据D1’、新校验P’和Q’写入磁盘,完成整个写入过程。可以看出,一个用户的写操作导致了多个磁盘的读写操作,使得RAID6的写性能低下。根据纠删码系统的工作原理和特点,可知,纠删码的数据更新过程涉及到多个数据和校验设备,且包含一系列的异步读写操作,即纠删码的数据更新过程本身不是原子操作。在纠删码系统中,每次数据的更新都需要同时更新校验,以达到数据和校验一致的目的。这样才能保证在故障后,能通过校验和剩余数据将丢失的数据恢复出来。若在纠删码更新的过程中发生故障中断,那么数据和校验很可能不一致,这种数据更新时故障导致的数据不一致问题又被称为WriteHole问题。WriteHole问题的经典场景为盘阵降级后发生写更新掉电。以RAID6为例,若在盘阵降级的情况下发生写更新掉电,将可能出现WriteHole问题。如图2所示,RAID6已写入新数据D1’而未写入新数据D2’和新校验P’、Q’。此时,由新数据、旧校验组成的RAID6条带数据已经不一致。对于这样的一种场景,RAID6在重新恢复并开始接受用户请求后,将无法保证数据的正确性。如图3,用户发起对坏盘D3的数据读请求,此时RAID6将读取所有剩余的数据和校验信息来计算出D3数据,然而此时条带数据已经不一致,将会计算出错误的D3数据返回给用户。这个错误的D3数据,既不为旧版本D3,也不为新版本D3,而是旧数据和新校验计算出来的无意义的比特序列。这样,WriteHole问题导致纠删码系统丢失了正确性和可靠性。数据一致性是纠删码存储系统的本质属性,保证了数据的可靠性和可用性。WriteHole导致纠删码系统丢失数据一致性,完全规避WriteHole问题成为了纠删码系统亟待改进的重大问题。基于上述分析,本专利技术提出AWR(AfterWriteRemapping)事务存储模型,通过保证纠删码RAID系统数据更新过程的原子性和持久性,来保证纠删码RAID数据的一致性。
技术实现思路
为解决以上技术问题,本专利技术提出一种纠删码RAID的数据一致性保障方法及系统。本专利技术提出一种纠删码RAID的数据一致性保障方法,包括:步骤1,当有新数据写入时,修改版本设备中各设备的数据映射表,并生成事务日志表,所述版本设备中各设备进行异步下刷操作,完成后,清除所述事务日志表,其中所述版本设备由新数据卷与旧数据卷构成;步骤2,将所述新数据及与其相对应的新校验信息经所述版本设备转发并写入新数据卷,当所述新数据与所述新校验信息都完整写入后,再触发所述步骤1,将所述新数据与所述新校验信息写入所述旧数据卷。写入所述新数据时,首先临时存储在所述新数据卷,所述新数据的最终数据存储于所述旧数据卷中。所述步骤2包括:所述新数据与所述新校验信息经由所述版本设备持久化到所述新数据卷,并修改所述新数据卷中条带状态为提交完成状态。所述新数据卷与所述旧数据卷各自组成一致性维护的条带结构。本专利技术还提出一种纠删码RAID的数据一致性保障系统,包括:重映射模块,用于当有新数据写入时,修改版本设备中各设备的数据映射表,并生成事务日志表,所述版本设备中各设备进行异步下刷操作,完成后,清除所述事务日志表,其中所述版本设备由新数据卷与旧数据卷构成;纠删码模块,用于将所述新数据及与其相对应的新校验信息经所述版本设备转发并写入新数据卷,当所述新数据与所述新校验信息都完整写入后,再触发所述重映射模块,将所述新数据与所述新校验信息写入所述旧数据卷。写入所述新数据时,首先临时存储在所述新数据卷,所述新数据的最终数据存储于所述旧数据卷中。所述纠删码模块包括:所述新数据与所述新校验信息经由所述版本设备持久化到所述新数据卷,并修改所述新数据卷中条带状态为提交完成状态。所述新数据卷与所述旧数据卷各自组成一致性维护的条带结构。由以上方案可知,本专利技术的优点在于:本专利技术提出了“写后重映射”存储模型(AfterWriteRemapping,AWR)和事务实现方法,保证了纠删码数据的一致性。AWR模型为纠删码数据的更新过程提供原子性和持久性,采用数据异地更新和原子重映射机制保证了更新过程中数据的一致性。附图说明图1为RAID6写入过程图;图2为WriteHole问题经典场景图;图3为纠删码条带丢失一致性后的读错误图;图4为版本设备结构图;图5为remap日志事务及元数据异步下刷机制图;图6为AWR模型纠删码结构图;图7为条带状态位图及含义图;图8为BRD、ARD新旧版本结构图;图9为AWR模型数据更新流程图。具体实施方式下面给出本专利技术的具体实施方式,结合附图对本专利技术做出了详细描述,本专利技术包括高效remap机制和AWR事务模型两个部分。(一)高效remap机制分析MD-RAID6系统中的一致性问题原因可以得出结论,MD-RAID6在不能保证一致的新数据、校验信息都已下盘的情况下就覆盖了一致的旧数据、校验信息,导致条带处于新旧数据混合的中间阶段,丢失了数据的一致性。针对这个问题,本专利技术设计了由新旧设备组成的版本设备并实现了版本设备间无数据拷贝的高效迁移操作。版本设备由新数据卷BRD(BeforeRemapDevice)和旧数据卷ARD(AfterRemapDevice)组建而成,版本设备结构如图示4所示,新数据的写入均落于BRD设备,BRD设备占用的物理空间本文档来自技高网
...
一种纠删码RAID的数据一致性保障方法及系统

【技术保护点】
一种纠删码RAID的数据一致性保障方法,其特征在于,包括:步骤1,当有新数据写入时,修改版本设备中各设备的数据映射表,并生成事务日志表,所述版本设备中各设备进行异步下刷操作,完成后,清除所述事务日志表,其中所述版本设备由新数据卷与旧数据卷构成;步骤2,将所述新数据及与其相对应的新校验信息经所述版本设备转发并写入新数据卷,当所述新数据与所述新校验信息都完整写入后,再触发所述步骤1,将所述新数据与所述新校验信息写入所述旧数据卷。

【技术特征摘要】
1.一种纠删码RAID的数据一致性保障方法,其特征在于,包括:步骤1,当有新数据写入时,修改版本设备中各设备的数据映射表,并生成事务日志表,所述版本设备中各设备进行异步下刷操作,完成后,清除所述事务日志表,其中所述版本设备由新数据卷与旧数据卷构成;步骤2,将所述新数据及与其相对应的新校验信息经所述版本设备转发并写入新数据卷,当所述新数据与所述新校验信息都完整写入后,再触发所述步骤1,将所述新数据与所述新校验信息写入所述旧数据卷。2.如权利要求1所述的纠删码RAID的数据一致性保障方法,其特征在于,写入所述新数据时,首先临时存储在所述新数据卷,所述新数据的最终数据存储于所述旧数据卷中。3.如权利要求1所述的纠删码RAID的数据一致性保障方法,其特征在于,所述步骤2包括:所述新数据与所述新校验信息经由所述版本设备持久化到所述新数据卷,并修改所述新数据卷中条带状态为提交完成状态。4.如权利要求1所述的纠删码RAID的数据一致性保障方法,其特征在于,所述新数据卷与所述旧数据卷各自组成一致性维护的条带结构。5.一种纠删...

【专利技术属性】
技术研发人员:贾思懿张强刘振军刘建亮方沛许鲁
申请(专利权)人:中国科学院计算技术研究所
类型:发明
国别省市:北京,11

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

1