论文部分内容阅读
分布式存储系统作为数据存储的基础,广泛应用于大数据领域。纠删码存储方式,既具有较高的空间利用效率,又能保证数据存储的可靠性,越来越多地应用于存储系统当中。但纠删码的引入同时也引入了恢复的开销,磁盘读取量显著增大。而随着磁盘容量越来越大,在整盘恢复时,磁盘读取量尤为巨大,严重影响了整盘恢复的性能。在纠删码的存储方式下,设计系统整盘恢复时,面临着两方面的挑战:一方面,在选择数据的放置位置时,需要通过合理地设计放置算法,使得在为每块盘做整盘恢复时,都能使集群中充分多的磁盘参与进来,充分利用集群的IO带宽等资源。另一方面,在为某个盘做整盘恢复时,由于磁盘的容量越来越大,恢复整个磁盘的数据时,涉及到大量的恢复写入IO以及更大量的恢复读取IO。设计整盘恢复策略,在选取恢复读取IO和恢复写入IO的写入位置时,需要进行合理的IO调度,提升恢复读取IO和恢复写入IO的并行度。为了提升整盘恢复的性能,本文针对基于纠删码的分布式文件系统整盘恢复IO调度技术进行了深入研究。 本文的主要工作和创新点为: 1、提出了一种低条带交叉度的数据放置算法LOSDP。传统分布式文件系统中以数据块为单位进行数据放置,未考虑到纠删码存储中条带中各数据块的约束关系。LOSDP算法以各个磁盘的存储数据量和相关数据块的分布情况为依据进行数据放置,提高了整盘恢复时,集群中参与的总磁盘数量,充分利用了集群的性能,提高了相关数据块的均衡性。与APHash数据放置算法相比,相关数据均衡性提高了90.5%。 2、设计了一种高并发的整盘恢复IO调度策略。该调度策略,主要针对提高恢复读取IO和恢复写入IO的并行度。它通过尽量减少同时选取一个节点的恢复读取IO数量,提升了恢复读取IO的并行度。通过将恢复写入IO尽量广地分布在集群中,提升了恢复写入IO的并行度。从而提高了整盘恢复的性能。相较于APHash无调度,整盘恢复的性能提升了300%,相较于LOSDP算法无调度提升了163%。 3、设计实现了ECFS系统的放置模块和整盘恢复模块。放置模块采用了查表的方式,使数据块的放置更加灵活,使系统中每个磁盘的平均恢复时间减少。整盘恢复模块将集群分为若干分组,每个分组通过心跳租约机制监控节点状态,在节点丢失后自动恢复丢失的数据。系统的整盘恢复速度为200MB/s。