论文部分内容阅读
分布式存储系统具有存储容量大、扩展灵活、成本低廉、可靠性高等特点,但由于规模庞大、节点可靠性低常发生节点故障。传统纠删码提高了系统可靠性,但修复过程中需要k倍于失效数据的磁盘I/O和网络流量,这种修复放大问题严重影响了故障修复性能。因此,如何解决修复放大问题已经成为纠删码研究的重要课题。为了降低修复放大问题的影响,针对单节点的修复,本文引入一种具有渐进最优修复带宽的二元MDS阵列码,结合分布式存储系统HDFS,设计出一种具有3容错能力的纠删码分布式存储系统Coded-DFS。本文通过在集群中部署Coded-DFS存储系统进行功能、性能评估实验。实验结果表明,Coded-DFS存储系统不但能保障数据可靠性,还能减少修复中的磁盘I/O、网络流量,有效提升纠删码存储系统的故障修复和降级读效率。本文的主要工作和创新内容如下:1.本文调研二元阵列码的研究现状,针对单节点的修复放大问题进行讨论和分析。调研目前分布式存储系统中的纠删码应用状况,以及纠删码分布式存储系统存在的缺陷与需求。引入一种具有渐进最优修复带宽的二元阵列码——NBMA(New Binary MDS Array)码,从理论与应用可行性角度进行研究,并给出具体的修复算法。2.分析分布式存储系统HDFS的工作机制,针对纠删码与HDFS平台结合的设计方案与实现技术进行研究。结合阵列码,通过Hadoop API设计文件的编码、下载、分块读取、文件状态检测等功能。3.利用中转修复的思想,基于HDFS平台实现包括NBMA码在内的多种纠删码的文件存储系统Coded-DFS,从工程实现的角度对纠删码的编码、修复、解码等功能进行优化。为纠删码的系统实现、功能测试提供一种快速的解决方案。4.搭建实际的分布式纠删码存储集群,通过模拟节点失效分析NBMA码的可靠性。从编、解码效率、修复带宽、计算复杂度、磁盘I/O等角度进行对比分析。实验表明,在合适的参数下NBMA码的修复带宽分别比CRS码、X-码少45%、25%左右。