本地或公共 NTP 服务器?

Bee*_*ope 12 networking ntp time ntpd

对于相对较大的网络(数千台主机) - 支持和反对运行本地管理(池)NTP 服务器(可能通过某些公共 NTP 服务器定期设置)并让网络上的所有其他主机使用的论据是什么?那个(池)NTP 服务器与让所有主机直接使用公共 NTP 服务器(比如通过 ntp.pool.org)?

除了利弊之外,当今典型的最佳实践是什么?

ewi*_*sch 14

最佳做法是运行您自己的 NTP 服务器池,设置为从公共 NTP 服务器同步。如果您的组织无法访问互联网,您不会希望时钟出现偏差。此外,当您可以(并且应该)操作镜像时,将数千台主机设置为公共服务器是不礼貌的。

最后,如果您有安全计算需求,那么您应该运行自己的独立 NTP 主机。您需要特殊的硬件来运行这些系统。

编辑:因为有讨论它,这里有一些硬件:

任何支持 PPS 的硬件似乎都适用于现代ntpd。这包括一些 GPS 单元,尽管这似乎很少见,至少与如今的串行 GPS 单元一样罕见。但是,有专门针对此功能出售的硬件设备,其中包括一种名为 TSync-PCIe 的产品。根据制造商的网站:

TSync-PCIe 提供多种配置的同步时间码读取器/生成器包,可灵活且轻松地将精确定时集成到嵌入式计算应用程序中。从同步到 IRIG(和其他类似的时间码)、GPS(内部或外部接收器)或精确时间协议 (PTP/IEEE-1588v2) 中进行选择。- 网站链接:http : //i564f.6o.to


Joh*_*ers 8

即使在小型网络上,我也使用本地 NTP 服务,该服务本身从外部更新。一个原因纯粹是历史原因,可以追溯到互联网的唯一连接是通过拨号调制解调器。另一个是,如果 NTP 服务由于任何原因出错,我希望所有机器仍然保持一致,如果它们都从一个源更新,则更有可能出现这种情况。


Chr*_*s S 7

最佳实践,在您的位置设置 2 个(或更多)NTP 主机,对等它们。让它们与从 0.pool.ntp.org 到 3.pool.ntp.org 的至少 4 个(最好最多 8 个)外部服务器同步。如果您使用超过 4 个,您应该调整他们轮询池成员的频率。

这是我的 ntp.conf 的编辑版本:

server 0.us.pool.ntp.org minpoll 8 maxpoll 14
server 1.us.pool.ntp.org minpoll 8 maxpoll 14
server 2.us.pool.ntp.org minpoll 8 maxpoll 14
server 3.us.pool.ntp.org minpoll 8 maxpoll 14

peer ntp2.example.com

driftfile /var/db/drift.ntp
logfile /var/log/ntp.log
logconfig +sysall +syncall
Run Code Online (Sandbox Code Playgroud)

你可以省略 minpoll 和 maxpoll 参数,我添加了它们,所以我在这些服务器上更轻一些。值为 2^n 秒,其中 n 是参数;这些值高于默认值(6 和 10),因为我已经在我的三个 NTP 主机之间轮询了 12 个不同的服务器。

如果您非常关心准确性,您还可以添加以下内容:

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16
Run Code Online (Sandbox Code Playgroud)

这将轮询海军的原子钟。请注意高轮询时间,因为它们负载相当大,并要求人们在他们的服务器上放轻松(实际上是一个 3 节点集群)。