我正在尝试设置一台机器作为ntp服务器,其他本地机器将同步它们的时间。无论ntp服务器机器是否连接到internet,都需要这样做,即:时间不重要,只是机器之间是同步的。
我的配置文件如下:
NTP服务器/etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 127.127.1.0
fudge 127.127.1.0 stratum 10
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
NTP client /etc/ntp.conf
driftfile /var/lib/ntp/ntp.drift
server 192.168.1.146 iburst
restrict -4 default kod notrap nomodify nopeer noquery
restrict -6 default kod notrap nomodify nopeer noquery
restrict 127.0.0.1
restrict ::1
更改服务器上的时间,然后使用sudo /etc/init.d/ntp start
运行ntp服务器,然后尝试测试客户端可以使用sudo ntpdate 192.168.1.146
接收ntp更新。
这是可行的,但只有在连接到Internet时才能工作(即使主服务器有我的命令所设定的时间,而不是来自外部ntp服务器/S)。
配置文件中有什么问题吗?我错过了什么步骤吗?
发布于 2013-09-16 15:01:06
发布于 2013-09-28 04:05:39
我将假设您的时间服务器经常连接到internet,以便NTP能够计算出您的错误率,并对如何约束内核时钟产生一个很好的猜测。
首先,我建议从/etc/ntp.conf文件中删除以下两行。从长远来看,它们会引起问题,而且很少被需要。只要NTP服务器能够同步并开始对内核时钟进行调整,即使internet断开一段时间,它仍然应该分配时间。
server 127.127.1.0
fudge 127.127.1.0 stratum 10
其次,在您的时间服务器上运行"ntpq -p“,在开始测试客户端之前确定它是否与公共时间服务器同步。在测试时,手动执行服务器上的时间是一个很糟糕的主意。别干那事。启动您的时间服务器,然后让它与上游时间服务器同步30分钟。您的内部时间服务器在与公共时间服务器同步之前不会分发时间(我认为PPM必须在500以下)。NTP不会向客户提供它认为是“疯狂”的时间,您需要给它10-30分钟的时间来决定后续的时间来源。
然后,您也可以在客户机上运行"ntpq -p“,查看它们是否已经同步,以及它们离时间服务器有多近。
第三,您可能希望从时间服务器的ntp.conf文件中的(3)服务器升级到(5)或(6)。现在,如果你的三个中有一个疯了或者无法到达,NTP无法判断剩下的两个中哪一个提供了更好的时间信号。
在无法到达服务器的情况下,有几件事情可以控制NTP对内核时钟的遵守程度。一个是PPM (请参阅"ntpdc -c kerninfo"),它是离TSC、HPET或APIC时钟有多远(基于公共时间服务器)。另一个是温度波动和/或电源管理设置,这些设置会改变CPU的频率。还有计时晶体的质量,如果你运气好,或者真的很差的话,它可能是好的。
也许你需要考虑GPS或者WWVB的时间源。
https://serverfault.com/questions/539280
复制相似问题