如何在本地磁盘上缓存NFS共享?

我使用NFS将媒体共享到我家附近的计算机上。 不幸的是,其中一台机器处于慢速无线链路上,是否有办法缓存本地磁盘上的网络共享以提高性能?

斯特凡带领我走上正轨。 这适用于任何12.04及更高版本的系统。

您的文件系统还需要扩展属性支持。 如果您使用的是EXT4,那么如果您使用的是EXT3,则需要确保使用user_xattr属性挂载文件系统。

以下是我在客户端计算机上进行设置的方法,您无需在服务器端执行任何操作。

  1. 首先,安装用户空间守护程序: sudo apt-get install cachefilesd

  2. 然后通过编辑/etc/default/cachefilesd并将运行行更改为RUN=yes来打开它

  3. 确保/etc/fstab中的NFS挂载具有fsc选项。 在进行更改后,请不要忘记重新安装它。 这是我的摘录(根据您的需要修改):

    192.168.1.115:/home/jorge /home/jorge/Backup nfs fsc

  4. 启动服务: sudo /etc/init.d/cachefilesd start

缓存的配置在/etc/cachefilesd.conf完成,请参阅参考资料以了解设置选项。

参考文献:

  • Linux杂志
  • /usr/share/doc/cachefilesd/howto.txt.gz
  • /usr/share/doc/cachefilesd/README.gz
  • 如何在ext4上启用扩展属性?

我不确定目前是否有任何方法可以使用Ubuntu 10.04 LTS。

但是,较新版本的Linux内核包含一个名为FS-Cache&CacheFS的function ,它听起来与您(和我)想要的完全一样。

另请参阅网络文件系统的本地缓存 。