NTP在保持一组服务器时间同步方面有多精确?
我正在编写一个服务,它需要一组服务器(一些充当客户端,一些作为服务器)同步到第二级粒度。我想知道NTP是最好的使用,还是有什么更好的东西?
我是否应该在其中一个服务器上运行ntp服务器,并让其他服务器使用它作为它们的源?还有其他关于NTP的建议/恐怖故事吗?
所有的服务器都是linux。
更新:服务级别:
我希望一台服务器是精确的UTC (二级,而不是微秒或诸如此类),我希望所有其他服务器都与该服务器相同,无论它是否准确地UTC(事件由这一服务器从不同的时间间隔从多个位置接收,我要求所有这些事件都处于相同的“相对”ts中。不,我不能让主服务器在事件传入时进行TS,因为这将需要存储一个偏移量(当事件实际发生时,当事件被记录下来时,这需要大量额外的工作),这使得事情变得不必要地复杂。
目前,我已经将一台服务器设置为Time2Timeerver,使用一些Startual1GPS源作为ntp.conf中的服务器,而在另一台服务器上,我已经将此服务器设置为ntp.conf中的唯一服务器。
我希望这就足够了。谢谢!
发布于 2011-02-19 05:45:14
首先,您可以看看维基百科NTP页面。
基本上,首先(我经常讲这个)说明您想要的服务级别。你需要准确的世界协调时间吗?对什么宽容?也就是说,你真的需要知道现在是几点吗?
还是您只是想要系统之间的精确同步?
我们在谈论多少台机器,它们在地理上是分布的吗?
一些备选方案:
我认为没有什么比NTP更有名的了。
更新另一个问题提到了PTP精确时间协议(IEEE1588)--这对于精确同步是很好的,但依赖于多播。
此外,这是值得考虑获得一个GPS时间源。
发布于 2011-02-19 05:44:59
对于大多数应用程序来说,NTP将使您在第二时间内保持足够的良好状态。
如果您需要更高的精度,并且所有服务器都在运行*nix,我将研究实现精确时间协议。它涉及到多个父时钟和协商,以便在网络中找到可靠的源。这是推荐用于电力行业中的时间戳事件的时间协议(例如,在日志文件中为继电动作提供精确的时间戳,并在2003年东北大停电的调查中辅助测量警报)。
发布于 2011-02-19 05:35:15
是的,将您的一个服务器设置为内部NTP服务器,并将其他服务器同步到该服务器。正如我所记得的,它通常在毫秒内给你精确性。
如果你的服务器离我很远--我记不起是什么构成了‘出路’-- NTP不会修复它。有一种自动修复的方法,但我现在记不起来了。
https://stackoverflow.com/questions/5049084
复制相似问题