我有一个与文件系统设计有关的问题,这些天我们看到许多文件系统的激增,主要与处理大型数据集和提供高可用性和速度有关。
我想知道,从文件系统设计人员和开发人员的角度来看,我们如何评估文件系统的性能和可用性?有没有我们可以运行的基准测试?我们如何测试为创建文件系统设计而编写的代码?
如果我只是想为学术目的编写一个分布式文件系统,那么我是否必须拥有多个磁盘,或者我是否可以以某种方式伪造这种效果?
发布于 2009-11-16 01:34:15
文件系统上有许多可用的基准测试。例如:Ext3 vs ReiserFS
我给你的建议是:看看Linux内核。它有许多关于如何设计和制造文件系统的驱动程序。同样,在Linux中,您可以通过使用环回(挂载在文件中的文件系统)来模拟文件系统。
另一个选择是,如果您要在原始磁盘上创建分区,您可能希望在虚拟机中进行开发,这样您就不必购买新设备或对开发计算机造成损坏。
发布于 2009-11-22 20:10:59
正如我所说的here,我真的推荐了布鲁克大学和IBM Watson Labs在"Transaction of Storage“中发表的关于文件系统基准测试的期刊论文,其中介绍了不同的基准测试及其优缺点:对文件系统和存储基准测试的九年研究:A nine year study of file system and storage benchmarking。
他们给出了很多关于如何对文件系统基准测试进行基准测试的建议。把它做好并不是一件容易的事情。
我会说:使用多个磁盘和多台机器更好,否则我作为审查员可能会对您的评估产生怀疑。我真的知道问题所在:我自己只有几个节点和几十个磁盘可用于我的研究。有一些磁盘模拟器,例如DiskSim,可能可以用于伪造磁盘,但在分布式设置中,您可能必须伪造其他组件(网络、锁定)。这可能不是不可能的--模拟通常用于其他分布式设置,例如传感器网络--但很难以严格的方式完成。
编辑:与书籍相关:没有真正好的书,但这里有一个简短的列表:
存储研究实验室的许多存储课程都推荐NFS Illustrated (2000)。
另外,请注意!停止将所有内容移动到标题包含“文件系统”的serverfault!
发布于 2009-11-16 01:33:23
您可以使用像IOZone这样的工具执行基准测试。然而,性能基准只说明了故事的一部分。您是否需要日志记录、复制等?您可能会在基准测试中获得较差的性能,但具有满足您需求的附加功能。维基百科有一些文件系统特性的decent comparison。
https://stackoverflow.com/questions/1738166
复制相似问题