论文部分内容阅读
随着社会化网络和高性能计算的高速发展,海量存储的需求日益增长。提供海量存储服务的大规模机群文件系统正在得到产业界和学术界越来越多的重视。在网络带宽和CPU性能迅速提升的背景下,I/O已经性能成为制约互联网服务和高性能计算机群系统性能的瓶颈。机群文件系统作为提供I/O服务的关键技术,采用多元数据通路和多数据通路的体系结构已经成为了一种趋势。在多元数据服务器架构下,分布式元数据操作的一致性问题是影响机群文件系统可靠性和可用性的关键问题。
本文在分析了国内外文件系统一致性维护方法和分布式数据库事务一致性维护方法的基础上,针对分布式元数据操作,从减少维护分布式元数据操作一致性的网络交互开销和磁盘同步开销两个方面提出了一种原子提交协议和相应的故障恢复机制。本文取得的成果如下:
提出了一种高效的分布式元数据操作一致性协议―异步两阶段提交协议:因为文件系统操作具有和数据库系统中事务操作类似的ACID特性,因此可以借鉴数据库当中维护分布式事务一致性的原子提交协议来保证分布式元数据操作的一致性。我们提出的异步两阶段提交协议,使得分布式元数据操作不用阻塞等待参与者和协调者的“COMMIT”记录同步提交到磁盘,只需要在确定协调者和参与者的子操作都执行成功之后,即可响应应用程序和执行后续的操作,降低了分布式元数据操作的延迟。在分布式元数据操作的开销比较小的情况下,方便制定更为灵活的元数据分布策略。
提出了一种有效的故障恢复机制:在异步提交分布式元数据操作“COMMIT”记录的情况下,为了保证在有元数据服务器失效时,机群文件系统依然能够快速恢复到一个一致的状态,我们提出了一种在对方日志中记录重做日志并且结合协调者和参与者相互确认才能形成检查点的方法,使得协调者或参与者在宕机重启之后,系统能够恢复到一致的状态。
针对元数据服务器集群系统设计了分布式元数据操作的一致性维护方法的具体实现:在采用子卷架构的元数据服务器集群系统上,设计和实现了提出的分布式元数据一致性维护方法的基本原型。通过模拟测试表明,采用异步两阶段提交协议对分布式元数据操作带来的性能损失比较小。相对于采用简化的两阶段提交协议,分布式更新操作的响应时间可以降低50%以上。