文件修改滞后

我们有一个奇怪的问题,即从NFS客户端创build/删除文件需要很长时间才能传播到其他客户端。

我们在客户端安装的选项有:

defaults,rsize=32768,wsize=32768,intr,noatime,cto 

出口有:

 *(rw,sync,no_root_squash,no_wdelay) 

我们通过一个客户端进行validation:

 watch -n0.1 stat foofile 

而在另一个客户端上,我们触摸了foofile(或者rm)。 修改需要1秒以上的时间才能传播出去。

cto和no_wdelay是我们最近添加的选项,看看他们是否解决了这个问题(他们不)。 我们还能看看什么?

我不会直接回答你的问题。

NFS客户端不保证看到更新非常快。 是的,你可以调整参数来控制延迟,但结果会更糟糕的caching(并因此糟糕的性能)在客户端上。

通常当我发现自己需要NFS客户端来更快地查看更改时,我退后一步,问:“好的,我真的想在这里实现什么?” 通常我会意识到有一些更高层次的抽象让我以一种完全不同的方式解决同样的问题。 例如,有时我意识到我试图使用NFS文件作为穷人的RPC或locking机制。 做这些事情有更好的方法。

NFS适用于访问特定目录的单个客户端。 除此之外,如果你有问题,并要用NFS解决它,那么你有两个问题。

我喜欢NFS,但在我尝试使用它的地方是有限的。

这绝对不是你的问题,但是我有时会发现NFS的一致性问题,客户端和服务器并不都有严格同步的时钟。 所有涉及的系统是否都同步到NTP?