我有一个与文件系统设计有关的问题。目前,我们看到许多文件系统的激增主要与处理大型数据集和提供高可用性和速度有关。
我想知道从文件系统设计人员和开发人员的角度来看,我们如何评估文件系统的性能和可用性?我们可以运行任何基准测试吗?我们如何测试为创建文件系统设计而编写的代码?
如果我只想为学术目的编写分布式文件系统,我是否必须拥有多个磁盘,或者我能否以某种方式伪造该效果?
答案 0 :(得分:4)
文件系统上有许多基准可用。例如:Ext3 vs ReiserFS
我给你的建议:看看Linux内核。它有很多关于如何设计和制作文件系统的驱动程序。此外,使用Linux,您还可以使用环回(文件系统安装在文件中)来模拟文件系统。
另一个选择是,如果要在原始磁盘上创建分区,您可能希望在虚拟机中开发该分区,这样您就不必购买新设备或造成损坏你的开发机器。
答案 1 :(得分:4)
正如我所说here,我真的推荐Brook University和IBM Watson Labs在“存储事务”中关于文件系统基准测试的期刊论文,其中提出了不同的基准以及它们的优点和缺点:对文件系统和存储基准测试进行了为期九年的研究:A nine year study of file system and storage benchmarking。
他们提供了很多关于如何对文件系统基准测试进行基准测试的建议。这样做并不是一件容易的事。
我会说:多个磁盘和多台机器会更好,否则我作为评论者可能会对您的评估产生怀疑。我真的知道这个问题:我自己只有几个节点和几十个可供我研究的磁盘。有磁盘模拟器,例如DiskSim,也许可以用于假磁盘,但在分布式设置中,您可能必须伪造其他组件(网络,锁定)。这可能并非不可能 - 模拟通常用于其他分布式设置,例如:传感器网络 - 但很难以严格的方式进行。
编辑:与书籍相关:没有任何真正好的书,但这里有一个简短的清单:
存储研究实验室的许多存储课程都推荐NFS Illustrated(2000)。
P.S。拜托!停止将所有内容移至标题包含“文件系统”的serverfault!
答案 2 :(得分:1)
您可以使用IOZone等工具执行基准测试。但是,性能基准只能说明部分故事。您需要日记,复制等吗?您可能会在基准测试中获得更差的性能,但具有对您的需求至关重要的其他功能。维基百科有一些decent comparison的文件系统功能。