如何在本地磁盘上缓存NFS共享?
我使用NFS将媒体共享到我家附近的计算机上。 不幸的是,其中一台机器处于慢速无线链路上,是否有办法缓存本地磁盘上的网络共享以提高性能?
斯特凡带领我走上正轨。 这适用于任何12.04及更高版本的系统。
您的文件系统还需要扩展属性支持。 如果您使用的是EXT4,那么如果您使用的是EXT3,则需要确保使用user_xattr
属性挂载文件系统。
以下是我在客户端计算机上进行设置的方法,您无需在服务器端执行任何操作。
-
首先,安装用户空间守护程序:
sudo apt-get install cachefilesd
-
然后通过编辑
/etc/default/cachefilesd
并将运行行更改为RUN=yes
来打开它 -
确保
/etc/fstab
中的NFS挂载具有fsc
选项。 在进行更改后,请不要忘记重新安装它。 这是我的摘录(根据您的需要修改):192.168.1.115:/home/jorge /home/jorge/Backup nfs fsc
-
启动服务:
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 ,它听起来与您(和我)想要的完全一样。
另请参阅网络文件系统的本地缓存 。