缓存合适 NFS 用于缓存大文件 (经过 200 KB D. 50 MB?)

我有磁盘容量 1 一个服务器上的tb 4 其他服务器经常上诉 NFS 分发文件 HTTP. 我在中央服务器上看到了高负载,我想在本地服务器上缓存这些文件,因为它们很少发生变化。 是否缓存是合适的 NFS 或者我应该寻找别的吗?

已邀请:

裸奔

赞同来自:

方法 NFS:

FS-Cache, 如果您在客户端服务器上有最小空间,可能会帮助您提供帮助,这不允许您存储所有大文件的完整副本。 (例如,您想要只需要缓存最常用的文件。).

有一些警告 (如图所示
http://docs.redhat.com/docs/en ... .html
):

从共享文件系统打开文件,以便自动绕过缓存。 这是因为这种类型的访问必须直接到服务器。

从共享文件系统打开文件以进行录制将无法工作 NFS 版本 2 和 3. 这些版本的协议不提供足够的一致性管理信息管理,以从另一个客户端检测同时进入同一文件。

因此,从共享文件系统开始用于直接I / O或录制的文件将导致重置文件的缓存副本。 FS-Cache 它不会再次缓存文件,直到它打开以直接I / O或录制。

此外,在这个问题中 FS-Cache 只缓存普通文件。 NFS. FS-Cache 没有缓存目录,符号链接,设备文件, FIFO 和插座。

此外,您需要在客户端上运行某些类型的文件系统。 NFS, 提供必要的支持 FS 对于文件系统属性 FS-Cache 用来跟踪事物 (ext3 从 user_xattr, ext4, btrfs, xfs) .

方法 rsync:

另一种选择是使用 rsync 并在每个系统中保存完整的文件副本。 如果这些事情只会定期改变 (例如,每周或每周), 从管理和调试问题的难度较少的角度来看,您可能对您更有利可图。

这是你现在保持的东西 N + 1 副本,在哪里 N - 您需要运行它的系统数,您将不得不提出定期处理的机制 rsync (例如,脚本 + cron , 等等).

风见雨下

赞同来自:

我看到你注意到了你的问题

squid

, 所以你清楚地了解它。 你如何使用它? 我认为你的问题可以使用 squid 在
http://wiki.squid-cache.org/SquidFaq/ReverseProxy
. 如果您全部设置正确,您不应该担心侧面 NFS.

要回复问题请先登录注册