我有一个服务器上的1TB磁盘,其他4个服务器通过NFS频繁访问通过HTTP分发文件。 我看到中央服务器的负载很高,并且希望将这些文件caching在本地服务器上,因为它们很less发生变化。 NFScaching是否合适,还是应该看别的东西?
谢谢
NFS方式:
如果客户端服务器上的空间不足以防止您保留所有大型文件的完整副本(例如,您只需要或需要caching最常访问的文件),FS-Cache可能会有所帮助。
有一些注意事项(从Red Hat的文档中可以看出 ):
此外,您需要在NFS客户端上运行特定types的文件系统,以便为FS-Cache用于跟踪事件的文件系统属性提供所需的FS支持(使用user_xattr,ext4,btrfs,xfs的ext3) 。
rsync的方式:
另一种select是使用rsync并保留每个系统上的文件的完整副本。 如果这些只是周期性的变化(例如每天或每周),那么从pipe理和debugging问题的复杂性较低的angular度来看,这可能对您更有利。
这样做的缺点是你现在保留N + 1个副本,其中N是你需要运行这个系统的系统的数量,你将不得不想出一个定期处理rsyncs的机制(例如,脚本+ cron等等)。
我看到你用squid标记了你的问题,所以你清楚地知道它。 你怎么用它? 我认为你的问题可以通过在反向代理(httpd-accelerator)模式下使用squid来解决。 如果你的设置正确,那么你不应该担心NFS方面。