论文部分内容阅读
面对海量数据存储,高性能、低冗余率的高可靠系统是当前网络存储系统的研究热点。由于集群存储日益普遍,故障常态化导致的数据丢失问题更加严峻,亟需高维冗余存储系统来容忍多个故障。然而,多副本的存储冗余率高降低了存储有效利用率,而纠删码虽然可以降低存储冗余率,但是其冗余计算开销高降低访问性能。本文针对上述问题深入研究了副本转纠删码结构的高维冗余存储系统关键技术。本文的主要贡献包括: 第一,提出了一种基于冗余事务位图维护纠删码一致性的方法RACM。纠删码一致性是高维冗余存储系统高可靠性的基础。为维护纠删码的原子更新,RACM方法实现了事务位图和写后重映射机制,并通过事务位图副本避免控制器故障造成的可用性问题。RACM方法仅维护事务状态解耦数据更新和事务机制,并通过状态快照的重映射避免了数据移动开销。测试表明,与典型的预写日志和写时拷贝技术相比,性能分别提升54%和65%。RACM方法对纠删码存储系统读性能无影响,写性能损失低于7‰高效地保证了纠删码数据的一致性。整体上,RACM以较低的性能开销维护了纠删码一致性。 第二,提出了一种带外冗余管理的双层冗余架构DROBA。在保证纠删码一致性的基础上,DROBA对外提供近副本的访问性能和纠删码的磁盘存储。DROBA的带外冗余管理解耦应用数据请求和冗余计算,利于数据的并发读写性能;冗余副本数据集中并异步转化为纠删码,降低了纠删码冗余计算的同步延迟和数据移动开销;采用网络I/O重映射避免数据消冗所需的网络传输;通过数据可靠、冗余计算可靠和数据访问可靠保证了存储服务不中断。结构上,DROBA满足了高性能、低冗余率和高可靠的设计目标。 第三,设计并实现了支持两节点冗余的原型系统BWRAID-R6。BWRAID-R6纯软件定义、高度模块化,验证了带外冗余管理的双层冗余架构的可行性。其采用三副本异步转RTB-RAID6实现了两节点冗余,能够同时容忍两个节点失效,不存在单点故障;与当前的三副本系统相比,存储冗余率大幅下降,而读性能平均接近副本性能的79%,写性能平均接近副本性能的1.16倍,并且可以随节点数量增加近线性扩展,能够满足网络存储系统性能扩展性的需要。