有没有办法在“基本”文件系统上的文件内创建目录结构和文件?

有没有办法在“基本”文件系统上的文件内创建目录结构和文件?

当前脚本通过 NFS 创建和删除多个文件。我被告知这就是问题所在,因此我在想,如果脚本运行的运行目录看起来像 NFS 的单个文件,那么我可能会缓解这个问题。

我应该补充一点,我们有数百个这样的脚本在它们自己的运行目录中工作,但在任何时候都在 NFS 上工作,并且由于为每个运行目录创建和删除了数十个文件,我们遇到了瓶颈。

我从此发现http://code.google.com/p/fuse-zip/我会调查的。有人可以分享他们的经验吗?

答案1

好吧,从评论来看,它似乎属于以下建议之一:

  • 您正在创建和删除一堆临时文件,占用相对较少的磁盘空间。

    建议:在本地计算机上的某个位置安装 tmpfs,然后使用它。 (无论如何,您可能已经在 /tmp 下有一个)

  • 大部分是临时文件,但也有少数需要保留

    建议:再次使用 tmpfs,但在最后卸载 tmpfs 之前(从而丢失其内容),复制您需要的几个文件。

  • 它们是暂时的,但并不小。

    建议:本地存储。

  • 您需要同时从多台计算机访问这些小文件。

    建议:Beefier NFS 服务器和/或网络。专门用于此负载的 NFS 服务器。分布式文件系统。

  • 我很难想出一个场景,您问题中的方法是最好的主意。但如果你确实想这样做...

    建议:在 NFS 服务器上创建单个文件。使用 losetup 将其映射到循环设备,然后 mkfs 并挂载它。 (根据您使用的文件系统,您可以直接 mkfs 文件,例如,这将与 mke2fs 一起使用)。可能,使用 async 标志(或类似标志)安装它。这比 zip 文件的性能要好得多。

我要注意的另一件事是,根据您创建和删除所有这些临时文件的目的,文件可能不是最好的方法。例如,也许它们应该是某种数据库中的行。

相关内容