我有两台Ubuntu服务器,每天晚上将它们的时间戳记同步到europe.pool.ntp.org。 就在他们同步之前,我可以看到两台服务器之间的差异为4秒。 其中一台服务器在24小时内似乎偏离了4秒。
谢谢Olivier
时钟漂移绝对是在计算机上保持时间的正常部分,但漂移发生的细节可能是许多不同事物的function。 在发生“exception大的”偏差的情况下,原因可能会将低质量的硬件时钟排到高利用率的系统。 所以保持与外部的,规范的时间服务器同步是非常重要的一步。
最好的设置是使用ntpdate来设置启动时间,然后使用ntpd来考虑时钟偏移。 我曾经听到过有关ntpd是资源饥饿的抱怨(我不能说准确性,只是我经常听到抱怨),但现代的实现几乎是不明显的。 ntpd真正的优雅在于两点:
这有很大的好处,可以最大限度地减less时间变化对系统的影响,例如,您不会像日志中的时间戳那样出现跳转的情况。
我强烈build议在你的configuration中设置多个服务器,这可以通过编辑/etc/ntp.conf文件和添加多个服务器语句来完成。 例如;
server ntp.ubuntu.com server 0.pool.ntp.org server 1.pool.ntp.org
对于关于什么公共NTP服务器可用的一些讨论,您可以看到这个问题 – 公共NTP服务器
ntpd的一个警告是:如果你的时间太远,那么它不会纠正你的时间。 引用手册页(根据RHEL5.6)
如果没有TOY芯片,或者由于某些原因,从服务器时间开始,时间超过1000秒,ntpd会假设一定是非常错误的,唯一可靠的操作是操作员干预并设置时钟。 这会导致ntpd以系统日志的紧急消息退出。
这就是为什么我认为在启动时间设置时钟很重要。 当机器closures时,您将依靠硬件时钟和CMOS电池来保持时间。 另外,在虚拟机的情况下,恢复到快照几乎肯定会触发这种情况。 记住这一点是一个重要的考虑因素,如果您使用时间敏感的应用程序,如Kerberos身份validation。
这是电脑时钟的特点。 你可以在这里阅读一些关于它的信息,并在维基百科上稍微了解一下时钟漂移 。
同步更多是最好的方法来攻击。 我通常每小时同步一个本地服务器,每小时同步一次外部时钟。 你可以有多台服务器提供ntp影响。
有一些ntp池,你可以使用高分辨率的时钟,如ntp.org同步。
只要使用ntpd。 它减less了服务器上的负载,因为它们不太忙,而且延迟也较小。 通过连续运行,它可以更密切地监测时钟,并且模型漂移的参数不仅仅是速度。