代码之家  ›  专栏  ›  技术社区  ›  user855

如何评估文件系统?

  •  2
  • user855  · 技术社区  · 15 年前

    我有一个关于文件系统设计的问题。如今,我们看到许多文件系统的激增,主要与处理大型数据集和提供高可用性和速度有关。

    我想知道,从文件系统设计者和开发人员的角度来看,我们如何评估文件系统的性能和可用性?我们有什么基准可以运行吗?我们如何测试为创建文件系统设计而编写的代码?

    如果我只是为了学术目的而写一个分布式文件系统,那么我是否必须拥有多个磁盘,或者我是否可以以某种方式伪造这种效果?

    3 回复  |  直到 8 年前
        1
  •  4
  •   monksy    15 年前

    文件系统上有许多可用的基准。例如: Ext3 vs ReiserFS

    我的建议是:看看Linux内核。它有许多关于文件系统设计和制造的驱动程序。同样,对于Linux,您也可以通过使用循环(安装在文件中的文件系统)来模拟文件系统。

    另一种选择是,如果要在原始磁盘上创建一个分区,您可能希望在虚拟机中开发该分区,这样您就不必购买新设备或损坏开发计算机。

        2
  •  4
  •   Community kfsone    7 年前

    正如我所说的 here 我真的推荐了布鲁克大学和IBM Watson实验室在“存储事务”中关于文件系统基准测试的期刊论文,其中介绍了不同的基准测试及其优缺点:一项为期九年的文件系统和存储基准测试研究: A nine year study of file system and storage benchmarking .

    它们提供了很多建议,如何对文件系统基准进行基准测试。把它做好不是一件容易的事。

    我会说:多个磁盘和多台机器更好,否则作为评审员,我可能会怀疑您的评估。我真的知道这个问题:我自己只有几个节点和几十个磁盘可供我研究。有磁盘模拟器,例如 DiskSim ,这可能用于假磁盘,但在分布式设置中,您可能必须伪造其他组件(网络、锁定)。这可能不是不可能的——模拟通常用于其他分布式设置,例如传感器网络——但很难严格地进行。

    编辑:与书籍相关:没有真正好的书籍,但这里有一个简短的列表:

    许多存储研究实验室的存储课程推荐 NFS Illustrated (2000)。

    另外,请!停止将所有内容移动到包含“文件系统”标题的ServerFault!

        3
  •  1
  •   John Paulett    15 年前

    您可以使用类似于 IOZone . 不过,绩效基准只反映了部分情况。您需要日志记录、复制等吗?在基准测试中,性能可能会变得更差,但有一些对您的需求至关重要的附加功能。维基百科有 decent comparison 一些文件系统功能。