对于相对较大的网络(成千上万个主机)-支持和反对运行本地管理的NTP服务器池(可能是通过某些公共NTP服务器定期设置),以及是否要使用网络上的所有其他主机的参数是什么? NTP服务器(池)与让所有主机简单地直接使用公共NTP服务器(例如通过ntp.pool.org)相比?
除了优缺点之外,当今典型的最佳做法是什么?
对于相对较大的网络(成千上万个主机)-支持和反对运行本地管理的NTP服务器池(可能是通过某些公共NTP服务器定期设置),以及是否要使用网络上的所有其他主机的参数是什么? NTP服务器(池)与让所有主机简单地直接使用公共NTP服务器(例如通过ntp.pool.org)相比?
除了优缺点之外,当今典型的最佳做法是什么?
Answers:
最佳实践是运行自己的NTP服务器池,该池设置为与公共NTP服务器同步。如果您的组织失去了互联网访问权限,则您不希望时钟出现偏差。此外,当您可以(并且应该)操作镜像时,将数千台主机设置为公共服务器是不礼貌的。
最后,如果您有安全的计算要求,则应该操作自己的独立NTP主机。您需要特殊的硬件才能使这些系统运行。
编辑:由于有讨论,这是一些硬件:
支持PPS的任何硬件似乎都可以在现代ntpd上运行。其中包括一些GPS单元,尽管这似乎很少见,但至少与当今的串行GPS单元一样罕见。但是,有一些明确销售的硬件设备可以实现此功能,其中包括一种名为TSync-PCIe的产品。根据制造商的网站:
TSync-PCIe提供了同步时间码读取器/发生器包的几种配置,可提供灵活性并将精确定时轻松集成到嵌入式计算应用程序中。从同步到IRIG(和其他类似的时间码),GPS(内部或外部接收器)或精确时间协议(PTP / IEEE-1588v2)中进行选择。-网站链接:http : //i564f.6o.to
即使在小型网络上,我也使用本地NTP服务,该服务本身会从外部更新。一个原因纯粹是历史原因,可以追溯到互联网唯一的连接是通过拨号调制解调器的时间。另一个是,如果NTP服务由于任何原因而出错,我希望所有机器都保持一致,如果它们都从同一来源更新,则更可能是这种情况。
最佳做法是在您的位置设置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
您可以省略minpoll和maxpoll参数,我添加了它们,因此在那些服务器上要轻一些。值是2 ^ n秒,其中n是自变量;这些值高于默认值(6和10),因为我已经在三个NTP主机之间轮询了12个不同的服务器。
如果您非常关注准确性,则可以添加以下内容:
server tick.usno.navy.mil prefer minpoll 10 maxpoll 16
这将轮询海军的原子钟。请注意较高的轮询时间,因为它们负担很重,并要求人们在其服务器(实际上是3节点群集)上放轻松。
正如其他人提到的那样,对于成千上万的内部主机而言,提供自己的时间服务器是必须的。由于(例如已经提到的)其他原因:
就最佳做法而言:
来自http://www.ntp.org/ntpfaq/NTP-s-config-adv.htm,这是建议的仅NTP来源的结构。
1a 1b 1c 1d 1e 1f outside
. \ / ...... \ / ...... \ / ..............
2a ---p--- 2b ---p--- 2c inside
/|\ /|\ /|\
/ | \ / | \ / | \
3a 3b 3c 3e 3f 3g 3h 3i 3j
Key: 1 = stratum-1, 2 = stratum-2, 3 = stratum-3, p = peer
有关设置NTP服务器的其他信息, 请访问http://www.pool.ntp.org/join/configuration.html。示例如下:
我认为大多数大型网络都使用专用内部ntp服务器的小型池。ntp流量非常小,因此您可能不需要很多服务器即可为大型组织服务。
与所有网络服务一样,运行自己的ntp服务器的优点是您可以获得更多控制权,可以做出更多决策。例如,如果您失去与外界的网络连接,则您的计算机可以继续与内部ntp服务器通信,而不必担心它们都必须重新连接到外部服务器。
如果您有成千上万的服务器,则还应考虑运行自己的专用时间服务器,例如在gps设备上运行或通过专用原子钟运行。我不确定这几天要花多少钱,但是相对于您已经支持的成千上万的系统来说,它不会是昂贵的。然后,您将获得准确的时间服务,而与您与外界的连接完全独立。
要考虑的另一点是,运行自己的ntp服务器更为礼貌。这样,您只有几台机器发出外部请求,而不是数千台。我确信那里的公共可访问ntp服务器的管理员会对此表示赞赏。另外,它会稍微(非常)减少您的外部网络流量,这可能是一件好事。
同样,如果您运行自己的ntp服务器,则可以稍微收紧防火墙,因为只有少数几台计算机通过端口123连接到外部,而不是很多计算机。那可能有用。
ntp易于设置,一旦运行,它几乎不需要维护。我参与过的每家公司都设置了自己的ntp服务器,并且效果很好。
在大型网络中运行自己的NTP服务器的一个很好的理由是确保所有计算机都同意正确的时间。拥有许多具有自己的外部时间服务器设置的系统(或所有系统都使用不同的pool.ntp.org成员)可能会导致系统上的时间差异很小,从而可能导致问题。
另一个很好的理由是拥有自己的NTP服务器意味着当外部链接断开或流量饱和时,同步时间将在几个(受监视!)服务器上保持可用。
我所有的看法都是时间极客。