对于一个相对较大的networking(数千台主机),针对运行一个本地pipe理的NTP服务器(可能是通过一些公共NTP服务器周期性地设置)并使networking上的所有其他主机那么NTP服务器(池)与所有主机直接使用公共NTP服务器(比如ntp.pool.org)
除了利弊,今天典型的最佳做法是什么?
最佳做法是运行您自己的NTP服务器池,将其设置为从公共NTP服务器进行同步。 如果您的组织失去了互联网访问,您不会希望您的时钟出现偏差。 而且,当你可以(也应该)操作一个镜像时,将数千台主机设置为公共服务器是不礼貌的。
最后,如果你有一个安全的计算要求,那么你应该运行你自己的独立的NTP主机。 您需要使用特殊硬件才能运行这些系统。
编辑:因为有讨论它,这里是一些硬件:
任何支持PPS的硬件似乎都适用于现代的ntpd 。 这包括一些GPS单元,虽然这似乎是罕见的,至less像现在的串行GPS单元一样罕见。 硬件设备明确地出售了这个function,但是,包括一个叫做TSync-PCIe的产品。 根据制造商的网站:
TSync-PCIe提供多种configuration的同步时间码读取器/发生器套件,为精确定时提供灵活性,并将其轻松集成到embedded式计算应用中。 select同步到IRIG(和其他类似的时间码),GPS(内部或外部接收器)或精确时间协议(PTP / IEEE-1588v2)。 – 网站链接: http : //i564f.6o.to
即使在一个小型的networking上,我也使用本地的NTP服务,这个服务本身就是从外部更新的。 一个原因纯粹是历史的,可以追溯到互联网的唯一连接是通过拨号调制解调器。 另一个原因是,如果NTP服务由于任何原因而错误,我宁愿所有机器都保持一致,如果它们都从单一来源更新,情况更可能是这样。
最佳做法,设置2(或更多)NTP主机在您的位置,同行。 让他们同步至less4个(最好是8个)从0.pool.ntp.org到3.pool.ntp.org的外部服务器。 如果您使用超过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
这将轮询海军的primefaces钟。 请注意高轮询时间,因为它们负载相当重,并要求人们在其服务器(实际上是3节点群集)上轻松地进行操作。
正如其他人所提到的,对于成千上万的内部主机来说,提供自己的时间服务器是最好的select。 由于(如其他已经提到的)的原因:
就最佳实践而言:
从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 。 例子是:
我认为大多数大型networking使用一个专用的内部ntp服务器池。 ntpstream量非常轻,所以您可能不需要很多服务器来为大型组织服务。
和所有的networking服务一样,运行你自己的ntp服务器的好处是你可以获得更多的控制权并做出更多的决定。 例如,如果您失去了与外部networking的连接,则您的机器可以继续与您的内部ntp服务器进行通信,您不必担心它们都必须重新连接到外部服务器。
如果您拥有数千台服务器,您还应该考虑运行您自己的专用时间服务器,例如通过GPS设备或通过专用的primefaces钟 。 我不确定这些天花了多less钱,但相对于你已经支持的数千个系统而言,花费并不高。然后,你有一个准确的时间服务,完全独立于你与外部世界的连接。
还有一点要考虑的是运行你自己的ntp服务器更有礼貌。 这样,你只有几台机器提出外部请求,而不是数千台。 我敢肯定,那里的公共访问ntp服务器的pipe理员将会明白这一点。 另外它会稍微减less你的外部networkingstream量(很less),这可能是一件好事。
另外,如果您运行自己的ntp服务器,则可以稍微加强防火墙,因为只有less数机器通过端口123连接到外部,而不是大量机器。 这可能是有用的。
ntp很容易设置,一旦你运行它需要很less的维护。 我曾经参与过的每个公司都build立了自己的ntp服务器,并且工作得很好。
在这种情况下,最好的做法是运行你自己的NTP服务器,或者根据需要运行一个池,然后从距离你最近的NTP池中获取数据。 这减less了公众面对的NTP服务器必须承担的负载,但仍然会给你一个很高的准确性。 如果你需要更多的准确性,你可以从Stratum 1服务器上下载,但是这样做会增加池的负担,所以如果你愿意为服务器提供一个服务器,你只能这样做。
在大型networking中运行您自己的NTP服务器的一个很好的理由是确保您的所有机器都在正确的时间内达成一致。 有许多系统具有自己的外部时间服务器设置(或者使用不同的pool.ntp.org成员),可能会导致系统中可能导致问题的时间差异很小。
另一个很好的理由是,拥有自己的NTP服务器意味着当外部链路断开或stream量已经饱和时,同步时间将保持可用于less数(受监控的)服务器。
我所有的意见作为一个时间。