论文部分内容阅读
当今时代信息规模爆炸式增长,为数据存储提出了巨大的挑战。基于网络节点集群的分布式存储系统比传统的存储阵列在性价比和扩展性上更具优势。为保证可靠性,分布式存储会采用一定的容错机制以应对集群中节点失效,如多副本机制。多副本机制简单易用,但有存储开销过大和容错能力差的缺点。为此相关研究提出了低存储开销的纠删码方法,但该方法在修复失效节点时网络开销过高。针对修复网络开销过大的问题,近年来,业界提出了再生码方案,其使用网络编码的思想,从根本上减少了修复网络流量开销。与此同时,越来越多的研究表明,在修复失效数据时,结合网络链路带宽大小,能够有效地降低修复时延。然而,再生码机制由于编解码方式不同于纠删码,而且计算开销较大。在现有纠删码系统中难以很好地利用再生码技术来降低修复网络开销。同时,现有利用网络拓扑的修复技术,大多针对纠删码,不适合于以Local Reconstruction Codes(LRC)为代表的局部可修复码这类简单有效的编码方式。针对上述问题,论文以建立低修复网络开销的高性能分布式容错存储系统为目标,结合再生码修复网络带宽低的优势,从文件读写、修复优化等角度,设计并实现了基于再生码容错机制的存储方案;并针对LRC的实际修复特点,对如何结合网络拓扑和链路带宽信息完成LRC中单节点和多节点失效修复机制展开详细研究。论文的主要工作包括以下几个方面:1)针对Cumulus存储系统现有纠删码编码方案修复网络开销过高的问题,围绕读写修复核心功能,设计并实现了结合低网络开销的再生码的分布式存储机制,通过对文件读写、修复的优化,在保证良好的读写性能的基础上,有效减少了修复网络开销。2)由于LRC修复失效节点算法不同于普通纠删码,针对如何有效结合网络拓扑结构优化LRC修复时的网络数据传输消耗,以进一步提高修复效率,本文对LRC节点修复过程和特点进行详细研究,提出了结合网络拓扑的基于分治和贪心思想的修复树算法。验证实验结果表明本文提出的算法与通过直接链路传输的方法相比,节点修复时延大大降低。