我有一些 (6) 个盒子,它们安装了 NFS 共享,用于写入文件。所有盒子都运行 ubuntu 14.01,NFS 服务器是 ubuntu 软件包中的标准 nfs 服务器。效果很好。
但是,当一个系统重命名共享上的文件时,其他系统可能需要大约半分钟才能看到重命名。重命名后在客户端上调用同步没有帮助。这是延迟写入缓存的作用吗?
答案1
actimeo
在 fstab 文件中设置为较低的值并重新挂载。
答案2
Java 的另一种解决方案(在 17.0.2 中测试):就我而言,这样做
origFile.renameTo(bckFile);
newFile.renameTo(origFile));
origFile
如果文件保存在 NFS 分区上,则在一台 unix 计算机上看到更改会延迟 10 到 30 秒。
解决重命名问题后,延迟消失:
copyFileFromTo(origFile, bckFile);
copyFileFromTo(newFile, origFile);
newFile.delete();