论文部分内容阅读
尽管soft update、日志、事务、错误校验码、数据备份等机制的使用,让文件系统的可靠性得到了很大的提高,但是文件系统错误仍然时有发生。传统上,我们依赖于如fsck这样的检查工具来检测和恢复由文件系统错误导致的不一致状态。然而,fsck是以离线的方式工作的,运行fsck所导致的文件系统长时间的离线在很多商业生产系统中是难以接受的。
本文设计和实现的通用在线文件系统检查框架——Onli neFSCK(On-LineFile System Checker)——可以对在线的文件系统进行一致性检查。利用OnlineFSCK对文件系统进行检查时,文件系统可以继续正常提供服务。本文的主要工作为:
(1)分析和总结了文件系统故障的来源,并对文件系统故障进行了分类。总结了目前在文件系统可靠性方面的主流工作,对比了传统文件系统检查工具与在线文件系统检查工具的优缺点;
(2)在深入研究Linux文件系统、日志、页高速缓存以及文件系统相关的应用工具的源码的基础上,设计了一个通用的在线文件系统检查框架OnlineFSCK。该框架的实现不要修改任何内核的代码,并且支持就地使用。
(3)针对Linux中的标准文件系统ext3实现了OnlineFSCK的原型,并详细讨论了OnlineFSCK实现中几个关键部分的实现细节,为在其他文件系统中实现在线检查提供了参考。
针对ext3文件系统实现的OnlineFSCK原型验证了OnlineFSCK方案的可行性,实验结果表明,OnlineFSCK在满足生产环境对性能的要求的前提下,能够达到与传统文件系统检查工具相同的检查能力。