本地或公共NTP服务器?


11

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

除了优缺点之外,当今典型的最佳做法是什么?


作业有问题吗?似乎具有数千个主机的网络的网络管理员已经在使用NTP。
JamesBarnett 2011年

2
问题不在于是否要使用NTP,而在于是建立自己的NTP还是使用公共的NTP。
伊恩·瓦利

嗯,距离我做完功课已经很久了:)我个人不是一个拥有数千名主机的网络管理员-但是问题来了,我对现有的最佳做法很感兴趣。
BeeOnRope 2011年

Answers:


12

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

最后,如果您有安全的计算要求,则应该操作自己的独立NTP主机。您需要特殊的硬件才能使这些系统运行。

编辑:由于有讨论,这是一些硬件:

支持PPS的任何硬件似乎都可以在现代ntpd上运行。其中包括一些GPS单元,尽管这似乎很少见,但至少与当今的串行GPS单元一样罕见。但是,有一些明确销售的硬件设备可以实现此功能,其中包括一种名为TSync-PCIe的产品。根据制造商的网站:

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


1
+1表示硬件时钟。网上有各种指示,可以将便宜的Garmin 18 LVC连接到Linux机器上,以制作自己的Stratum 0源。
克里斯·S

尽管所有这些说明似乎都涉及您自己的硬件黑客来构建接口。
Phil Hollenback

@Phil,正在寻找便宜的GPS阶层0来源的人们可能愿意做一些硬件黑客活动。如果您想要简单的东西,请像其他人一样为它付出现金。
克里斯·S

是的,从gps设备获取时间码似乎是一个非常简单的任务,所以我天真地认为这将是一个简单的连接。
Phil Hollenback

8

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


这就是恕我直言的方式。虽然“正确”的时间绝对是一件好事,但对于LAN上的设备而言,即使它们与正确的时间不同,也要具有一致的时间,这实际上可能更为重要。如果时间是不是在服务器和客户机之间的同步像Kerberos身份验证事情会失败,并且一致的时间可能是对于像日志监控,CCTV记录(例如摄像头和PVR都将增加一个时间戳)等重要
罗布·莫伊尔

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

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

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

server tick.usno.navy.mil prefer minpoll 10 maxpoll 16

这将轮询海军的原子钟。请注意较高的轮询时间,因为它们负担很重,并要求人们在其服务器(实际上是3节点群集)上放轻松。


如果外部NTP服务器不同步,该怎么办?
沃伦·露2014年

1.这不会发生,或者至少不会在重要的规模上发生。2.它取决于“不同步”到底是什么以及多少。如果只有一台外部服务器,将不会使用它。在天文数字上,所有4个被淘汰的可能性很小。如果您担心准确性,请使用USNO服务器群集,它的低抖动将使时间更可取。
克里斯S

3

正如其他人提到的那样,对于成千上万的内部主机而言,提供自己的时间服务器是必须的。由于(例如已经提到的)其他原因:

  • 结构:根据需要配置时间设置;尽可能多的1个地层源
  • 健壮性:根据需要将ntp系统配置为健壮性;使用自己的时钟源(GPS)和/或NTP源使用不同的路由
  • 礼貌:主办外部时间源的友善考虑;减轻他们的负担
  • 性能:将外部NTP网络流量限制为少数主机(次要问题)
  • 安全性:将NTP网络流量从外部限制在少数经过加固的主机上

就最佳做法而言:

来自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。示例如下:

  • 设置约5台服务器
  • 使用标准的ntpd
  • 不要使用本地时钟驱动程序
  • 使用地理位置/网络距离您最近且地层数少的NTP时间源

请注意FAQ中该条目后的注释,根据单个第2层服务器,最好不要拥有第3层服务器。因此,与其精确地遵循上面的图,不应该有从每个第3层服务器到每个第2层服务器的线路。
Paul Gear

1

我认为大多数大型网络都使用专用内部ntp服务器的小型池。ntp流量非常小,因此您可能不需要很多服务器即可为大型组织服务。

与所有网络服务一样,运行自己的ntp服务器的优点是您可以获得更多控制权,可以做出更多决策。例如,如果您失去与外界的网络连接,则您的计算机可以继续与内部ntp服务器通信,而不必担心它们都必须重新连接到外部服务器。

如果您有成千上万的服务器,则还应考虑运行自己的专用时间服务器,例如在gps设备上运行或通过专用原子钟运行。我不确定这几天要花多少钱,但是相对于您已经支持的成千上万的系统来说,它不会是昂贵的。然后,您将获得准确的时间服务,而与您与外界的连接完全独立。

要考虑的另一点是,运行自己的ntp服务器更为礼貌。这样,您只有几台机器发出外部请求,而不是数千台。我确信那里的公共可访问ntp服务器的管理员会对此表示赞赏。另外,它会稍微(非常)减少您的外部网络流量,这可能是一件好事。

同样,如果您运行自己的ntp服务器,则可以稍微收紧防火墙,因为只有少数几台计算机通过端口123连接到外部,而不是很多计算机。那可能有用。

ntp易于设置,一旦运行,它几乎不需要维护。我参与过的每家公司都设置了自己的ntp服务器,并且效果很好。


0

在这种情况下,最佳做法是运行您自己的NTP服务器-或根据需要运行一个池-并从地理位置最近的NTP池中拉出。这减少了面向公众的NTP服务器必须承担的负载,但仍将为您提供很高的准确性。如果您需要更高的准确性,则可以从Stratum 1服务器中拉出,但是这样做会增加池必须承担的负载,因此,只有在愿意向池中添加服务器的情况下,才应这样做。


0

在大型网络中运行自己的NTP服务器的一个很好的理由是确保所有计算机都同意正确的时间。拥有许多具有自己的外部时间服务器设置的系统(或所有系统都使用不同的pool.ntp.org成员)可能会导致系统上的时间差异很小,从而可能导致问题。

另一个很好的理由是拥有自己的NTP服务器意味着当外部链接断开或流量饱和时,同步时间将在几个(受监视!)服务器上保持可用。

我所有的看法都是时间极客。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.