我碰到了一个名为“NTP 步骤行情”的东西,并在本文,但我不确定在包含本地 NTP 服务器的域中是否需要它。
它好像/etc/ntp.conf
用配置文件替换了/etc/ntp/step-tickers
配置文件,或者它应该存在于/etc/ntp.conf
文件之外?
有人可以解释一下这个问题吗?
答案1
众所周知,默认情况下,如果时间相差超过 1000 秒,NTPd 不会调整时间,因为它会假设存在系统性问题,而它不应该参与其中。这来自man ntpd
:
-g Normally, ntpd exits with a message to the system log if the offset exceeds the panic threshold, which is 1000 s by default. This option allows the time to be set to any value without restriction; however, this can happen only once. If the threshold is exceeded after that, ntpd will exit with a message to the system log. This option can be used with the -q and -x options. See the tinker command for other options.
一个问题是,英国的 BIOS 时钟经常会差一个小时,这是因为人们误解了 BIOS 是采用 UTC 还是夏令时。我认为,随着格林威治经度的增加,这个问题会变得更加严重。
因此,还有一个命令ntpdate
,它以一种不太巧妙的方式将系统时钟与 NTP 服务器对齐,这往往会扰乱许多正在运行的服务。我相信它早于-g
向 ntpd 添加标志。
因此,对于像我这样的老手来说,完整的启动协议ntpd
涉及使用ntpdate
强制同步时钟(因为在系统启动时这样做最安全),然后开始ntpd
保持时钟。 /etc/ntp/step-tickers
控制使用哪个服务器执行ntpdate
。我通常会在其中列出我的一台ntp.conf
服务器。
更令人困惑的是,如果 中没有列出启动代码,ntpdate
CentOS6 上的启动脚本将查找启动代码。因此,虽然确保不会被搁置(试图同步太远的系统时钟)肯定是一种很好的做法,但在现代启动脚本和 标志之间,实际上是历史遗留物,在现代发行版中没有必要的功能。但我也是历史遗留物,所以我继续使用它。ntp.conf
step-tickers
ntpd
-g
ntpd
step-tickers