论文部分内容阅读
随着信息技术的不断发展和广泛应用,数据量呈爆炸式增长,网络存储系统越来越受到人们的关注。作为网络存储系统核心部件的集群文件系统,如何提供高吞吐率、高带宽、低延迟、高可用的文件共享服务成为亟待解决的问题。文件访问包括数据访问和元数据访问。虽然元数据量在整个文件系统中所占比例较小,但其访问频率较高,因此元数据访问的性能对文件系统整体性能有着重要影响,如何提高元数据访问的性能成为当前集群文件系统的研究热点之一。本文结合蓝鲸集群文件系统的特点,研究了日志模块对元数据访问性能的影响,分析了日志在文件系统同步导出语义下以及现有检查点机制的性能瓶颈,并针对性地采用了一些方法进行优化。测试结果表明,同步导出语义下元数据访问性能最多提高了2倍,此外,还有效地削弱了检查点操作对前端文件系统元数据访问的影响。主要研究内容及结果如下:
⑴提出一种日志并行提交机制。在同步导出语义下,文件系统事务提交非常频繁,单一的日志提交线程可能引发事务提交拥塞,使事务提交成为系统性能瓶颈。在分析并行提交相对串行提交具有优势的必要条件之后,本文设计并实现了一种日志并行提交机制,采用多个提交线程避免事务提交拥塞;此外,对并行提交下不同IO调度算法对日志设备IO性能的影响进行了研究,进一步提出并实现了多设备日志结构。
⑵设计并实现了日志主动检查点机制和异步恢复机制。现有的日志检查点机制使用Pdflush系统线程作为元数据回刷线程,使用遍历尝试的策略释放内存和日志空间,精确性低、在同步导出时开销大、对于回刷时机的选择不能很好地满足日志的需求。本文一方面通过探测日志空间使用状态主动触发元数据回刷,另一方面通过建立回刷链表实现内存和日志空间的精准释放。大容量日志带来日志恢复耗时较长的问题,在高可用环境中将引起系统中断服务时间过长,本文提出并实现了日志异步恢复机制,Postmark测试表明,主从元数据服务器切换时文件系统上线时间缩短了17.5%~29.6%,模拟测试的缩短幅度达到了51.7%~83.2%。