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

Pad*_*118 -3 filesystems

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

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

我已经找到了http://code.google.com/p/fuse-zip/,我将对其进行调查。有人可以分享他们的经验吗?

der*_*ert 6

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

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

    建议:在本地机器上的某个地方挂载一个 tmpfs,然后使用它。(无论如何,您可能已经在 /tmp 下有一个)

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

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

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

    建议:本地存储。

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

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

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

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

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