如何配置 NFS 客户端以绕过 VFS 缓存

如何配置 NFS 客户端以绕过 VFS 缓存

我有一个多媒体转换网站。为了分离 CPU 工作负载,我决定使用 2 台服务器。

-1 带有 Web 服务器和 NFS 服务器的服务器

-1 服务器带有 NFS 客户端,充当 ffmpeg 转换器。

我注意到 NFS 不会直接写入文件,而是稍后传输它们。应该立即传输到服务器磁盘的是具有转换状态的小型 TXT 文件,但我注意到只有当转换达到 100% 时才会传输文件,因此只有当该过程完成时才会传输。是否有直接将文件写入远程磁盘的选项?这是 nfs 的配置:

在 /etc/exports 文件(NFS 服务器)上:

/var/www/vhosts/site.com/httpdocs       46.x.x.x(rw,async,no_wdelay,nohide,no_subtree_check,no_root_squash)
/var/www/vhosts/site.com/httpdocs/Downloads     46.x.x.x(rw,async,no_wdelay,nohide,no_subtree_check,no_root_squash)

在 /etc/fstab 文件(NFS 客户端)上

138.x.x.x:/var/www/vhosts/site.com/httpdocs    /var/www/vhosts/site.com/httpdocs   nfs nolock,nfsvers=3 0 0
138.x.x.x:/var/www/vhosts/site.com/httpdocs/Downloads    /var/www/vhosts/site.com/httpdocs/Downloads   nfs nolock,nfsvers=3 0 0

答案1

Linux 下没有可以绕过文件系统缓存的挂载选项。

唯一合法的方法是强制你的应用程序使用O_DIRECT打开标志正如 POSIX 标准所要求的那样。

相关内容