我们有一台 Linux 服务器,它从网络驱动器读取文件并对其进行处理。在常见情况下,用户会登录并反复访问相同的文件。文件大小各不相同,但较大的文件可能约为 50+ Mb。文件很少发生变化。
我想知道是否有可能以某种方式透明地缓存文件。我不想(或不能)更改读取文件的程序,也不能控制访问文件的协议。我只想让某个程序检测到我访问了某个路径,在本地复制文件(如果需要),然后从本地驱动器读取文件。
我读过有关 Bcache 的文章,但不确定它是否是我需要的。
你有什么建议吗?
谢谢,瓦迪姆。
答案1
调查缓存文件。它几乎自动运行。您需要做的就是:
在客户端上创建一个 ext3 文件系统来存放缓存。将其放在您想要的任何本地媒体上(专用分区、LVM LV 等...),并将其设置为您想要的缓存大小。
将此文件系统挂载到
/var/cache/fscache
。将其放入/etc/fstab
,以便它在启动时始终挂载。安装
cahefilesd
(Debian 软件包 cachefilesd)我认为这已经是默认值,但请确保
dir
设置/var/cache/fscache
为/etc/cachefilesd.conf
。将“fsc”添加到要启用缓存的文件系统的挂载选项中。例如:“rw,hard,fsc”。卸载并重新挂载这些文件系统。