为什么 NFS 挂载上的文件似乎随机缓存,但运行“ls”时不再缓存?

为什么 NFS 挂载上的文件似乎随机缓存,但运行“ls”时不再缓存?

这是 NFS 挂载的挂载配置,我们称之为服务器2,通过运行获得cat /etc/mtab

<ip1>:/mnt/fs101 /mnt/fs101 nfs rw,relatime,rsize=1024,wsize=1024,timeo=14,intr,cto,acregmax=6,acdirmax=0,noac,acdirmin=0,vers=4,addr=<ip1>,clientaddr=10.0.0.201 0 0

另一台机器(称之为服务器1) 具有更多默认设置,但也正在挂载 NFS 挂载。当我在vimserver1 上使用 编辑文件,然后运行 ​​时cat file.txt,我通常会看到旧文件的内容(即不是编辑内容)。

如果我输入ls -l目录服务器2(看到旧内容的那个),然后cat再次运行,我现在看到更新的内容。

如你看到的服务器2其 NFS 缓存已有效关闭。这会影响许多机器,其中许多(比如 7 或 8 台)都已连接此 NFS 挂载。这些是运行在 VMWare 上的虚拟化 CentOS 6 机器。

我不知道该怎么解决这个问题——似乎它可能与文件属性和对ls文件运行统计有关,但我不确定如何有效地“修复”这个问题。我可以接受一定时间的缓存以提高性能,因为这些都是网络服务器(10-20 秒),但现在它完全不可预测。

更新:当检查呈现 NFS 挂载的机器(即上图)时,该机器在 server1 上编辑后立即看到更新的文件内容

相关内容