论文部分内容阅读
随着大数据和云计算的不断发展,各行各业对海量数据的存储需求不断增长。海量数据存储和管理面临着可靠性保障困难、存储成本高和架构难以扩展等问题。为提高Scale-out架构的分布式块存储系统的存储可靠性并降低存储成本,提出了一种针对块存储访问特点的基于纠删码的分布式块存储解决方案。设计并实现了一个基于纠删码的分布式块存储系统原型,在提升存储可靠性和存储利用率的同时,避免现有纠删码更新代价高和重构成本大的缺陷,使得这些缺陷不会对块存储的I/O访问性能造成很大影响。本文的贡献主要包含两个方面: (1)针对纠删码数据更新代价高的问题,在分析了现有的更新策略基础上进行了多种改进。将使用数据节点和校验节点共同更新校验块的方法与校验部分日志的差量更新思路相结合,减少了网络传输流量;同时,在校验节点使用存储池来管理所有的数据差量日志,存储池采用高效的自适应管理模式,提升了校验块的更新效率,而且不占用大量的存储空间;其中,使用单一存储池的改进方法提高了纠删码的更新效率、减少了磁盘I/O并且进一步节省了存储空间。 (2)针对纠删码故障重构成本大的问题,提出了一种混合的故障重构方法。首先,将纠删码和热备副本相结合解决了临时性故障导致的退化读和退化更新问题,并从时间维度分散了故障重构的压力从而提升了重构效率。同时,精细地控制永久性故障延迟重构的时间点,在对读写性能和数据可靠性影响较小的前提下,减少了故障节点重构的次数,从而极大地减轻了重构操作对网络传输带宽造成的负担。 最后,围绕基于纠删码的分布式块存储系统原型的存储利用率、访问性能以及故障重构效率等进行了相关测试。测试结果表明:相比三副本,系统原型的纠删码存储利用率提升了1倍,并且具有了更优的数据更新性能;另外,故障重构操作消耗的网络修复带宽相对于原有纠删码重构方案减少了69%。