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

pix*_*lou 2 nfs time ntp clock

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

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

Ste*_*itt 5

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

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

客户端控制的时间戳修复了其中的一些问题,但不是所有实例,特别是如果不同的客户端正在处理共享文件并且自己没有同步。