余自庚寅年麦月误入Linux领域,先从事文件系统与IO之技,后及性能基准之术,上诸述之领域,吾虽有知晓,然未能精通,实为憾事!
全部博文(31)
分类: LINUX
2013-08-22 21:04:35
这里讨论一下在不改变当前Linux文件系统架构下,对Linux文件系统的新需求。
第一需求,缓解文件系统修复极度缓慢的问题。通过标记部分元数据为unused或者clean有助于减少修复文件系统时需要检查的数据总量。Fsck的多种实现已经高度优化,但是仍然可能有更多的提升空间。简单来说,对文件系统修复时间有个评估可以让管理员决定是尝试修复还是简单地从备份中恢复。
与此类似的另一个需求是对现有文件系统增加校验和与错误处理机制。一个实例是威斯康辛大学的Madison的 。
第二需求,对强制unmount文件系统的支持。强制卸载一个文件系统,即使该文件系统中有文件仍然打开。大多数的强制unmount可以在VFS层实现(例如,用一组总是返回EIO的VFS ops替代VFS
ops中的打开文件操作),但是具体的文件系统仍然需要一些测试和工作,以使得在出错的情况下安全unmount文件系统。
第三需求,文件系统的性能测试应该更合理。文件系统的性能测试通常是在相对年轻、无碎片的文件系统中进行。文件系统开发社区应当与研究更好的快速创建老化的文件系统的研究者一起合作。一种想法是在加速回放文件系统踪迹(trace)的时候插入大量的sync()系统调用,因而文件系统无法在老化文件系统中使用智能时间分配策略(如延时分配等)。回放文件系统踪迹的最新研究是由Ningning
Zhu等的FAST '05 的文章Scalable and Accurate Trace Replay
for File Server Evaluation [PDF].关于文件系统老化的一篇优秀论文是由Keith Smith等发表的 。
第四需求,系统中多文件系统共存问题。一个系统上多个文件系统共存的一个问题是文件系统journals使用的内存总量,因为journal通常是基于每文件系统(per-file
system)分配的,没有考虑用于文件系统数据的全局内存使用。一些协调内存使用的方法可能对此有帮助,但是,总体来说,文件系统的开发者倾向于优化文件系统的性能而没有充分考虑总体的系统性能,随着系统应用的复杂性与多元性的急剧增加,解决多文件系统共存的优化问题也越来越急切。