【问题标题】:How to evaluate a file system?如何评估文件系统?
【发布时间】:2009-11-15 17:25:48
【问题描述】:

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

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

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

【问题讨论】:

  • 我不同意将其移至 serverfault - 这与最好使用的文件系统无关,而是如何实现它们

标签: filesystems


【解决方案1】:

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

我给你的建议:看看 Linux 内核。它有许多关于如何设计和制作文件系统的驱动程序。同样在 Linux 中,您确实可以通过使用回环(安装在文件中的文件系统)来模拟文件系统。

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

【讨论】:

  • 谢谢史蒂文!如果我想从学习的角度开始编写自己的文件系统,有什么建议。我应该从像 GFS 这样的某个时间开始,还是首先开始构建一个更简单的文件系统,对其进行评估,对其进行基准测试,然后进一步转向更现代和更复杂的文件系统。有什么好书可以帮助我学习如何设计和开发文件系统?
  • 我有一本名为“Linux 文件系统”的书。从我的角度来看,它似乎可以解释系统的 Linux 代码。与任何复杂的主题一样,从小处着手,然后扩展到分支。
  • 如果你想开始“大”看看 ISO9660。它是 CD 的文件系统。另外,你可以在网上找到很多这样的镜像,它们很容易挂载在 linux 上。就像我说的,我建议你从小处着手。
【解决方案2】:

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

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

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

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

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

附:请!停止将所有内容移动到标题包含“文件系统”的服务器故障!

【讨论】:

    【解决方案3】:

    您可以使用IOZone 之类的工具执行基准测试。不过,性能基准只能说明部分情况。你需要日记、复制等吗?您可能会在基准测试中获得更差的性能,但具有对您的需求至关重要的附加功能。维基百科有一些文件系统功能的decent comparison

    【讨论】:

    • 谢谢约翰!有什么好书可以让我详细了解设计、开发和评估文件系统的整个过程?
    猜你喜欢
    • 2018-09-09
    • 2011-09-04
    • 2018-05-20
    • 1970-01-01
    • 2022-11-22
    • 1970-01-01
    • 2016-10-27
    • 2014-10-27
    • 2017-06-05
    相关资源
    最近更新 更多