论文部分内容阅读
根据CAP理论,分布式文件系统在可用性、一致性和分区容忍性三个方面不可能同时满足。在分布式环境中,硬件故障、软件故障、网络分离及电源故障都可能导致分布式文件系统中节点失效,如何保证节点失效情况下分布式文件系统的可用性至关重要。分布式文件系统多采用缓存来满足系统高性能的要求,但是在节点失效情况下,缓存中的数据可能丢失,如何保证节点失效情况下,分布式文件系统恢复到一致性状态也是非常重要的。为了满足可恢复性和一致性的要求,采用日志机制。采用逻辑日志,文件更新操作在数据缓存中进行,与此同时产生日志记录记录数据块的变化;采用写日志优先,保证在日志记录刷新到日志文件之后,数据缓存中的数据才能被刷新到文件的实际位置;采用组提交策略,日志记录首先被写入日志缓冲区,然后以日志组的形式被提交到日志文件中,回收日志缓冲区;采用模糊检查点机制,将已提交的日志相关的数据缓存中的数据刷新到文件的实际位置,回收日志文件空间。设计并实现分布式文件系统恢复协议,分布式文件系统客户端和服务器端采用同步响应和异步响应相结合的机制,同步响应确保后续请求不被阻塞,异步响应确认请求执行结果持久化;客户端为不同状态的请求维护缓存,并根据服务器端响应更新缓存,服务器端维护客户端连接和请求等状态信息,当服务器发生故障时,基于客户端缓存和服务器端状态进行恢复。针对分布式文件系统中由于元数据和数据分离所产生的交叉引用问题,提出一种基于日志的文件创建和删除方案,较好的解决了该问题。测试结果表明,日志产生较小的性能开销,并保证文件系统一致性和提高文件系统可用性。