我感兴趣的是读磁盘缓存对通过NFS访问文件的影响。假设我有一个关于NFS的文件。我从linux主机"A“访问它(做"cat myfile")。如果有足够的RAM,一个文件就会在磁盘缓存中结束。现在,我从主机"B“修改该文件。主机"A“上的OS如何知道它必须使缓存的这一部分失效?有来自NFS的回调吗?还是磁盘缓存很快过期?
发布于 2014-07-09 14:08:21
答案A8 of Linux常见问题有一个解释。
总结:由客户端轮询服务器请求更改(通过检查文件属性以查看自上次客户端检查以来它们是否已经更改)。客户端通常会定期这样做,但也会在任何时候打开文件。它们还会在“关闭”时将任何写的内容倒排回去。这意味着,只要确保没有其他客户端打开文件,而有一个客户端保存文件供写入,您就会得到预期的结果。
这种行为通常可以使用挂载选项进行配置,例如,如果您喜欢更强的缓存一致性,而牺牲了性能。例如,参见Linux客户机上的"man“。
https://serverfault.com/questions/611044
复制相似问题