为什么 NFS 需要同步系统时钟?

为什么 NFS 需要同步系统时钟?

在多个有关设置 NFS 的教程中,还提供了有关设置 NTP 的建议,以避免不同系统的时钟之间存在差异。

  • 时钟漂移是否会以冲突的方式影响文件时间戳?
  • 它是否会影响协议本身(速度变慢?缓存未命中?)
  • 多少偏移量被视为不同步?

答案1

时间差异不会影响 NFS 协议本身,而是会影响依赖于时间戳的行为。在 NFSv3 之前,NFS 服务器仅负责维护时间戳;NFSv3 引入了客户端控制的时间戳,但它们并非在所有情况下都使用,而且无论如何也不能解决所有问题。

传统的问题是,当客户端更新文件时,时间戳由服务器设置。如果服务器的时间与客户端的时间不同,客户端将看到它不期望的时间戳;这会导致依赖时间戳的程序(例如 Make、许多邮件客户端,甚至下载程序)出现问题。以 Make 为例,如果服务器位于客户端的未来,那么构建的工件将比实际情况更新,并且在必要时可能不会重建。

客户端控制的时间戳解决了其中一些问题,但不是所有情况,特别是如果不同的客户端正在处理共享文件并且本身不同步。

相关内容