![执行“service ntpd restart”和“ntpdate“做同样的工作吗?](https://linux22.com/image/720246/%E6%89%A7%E8%A1%8C%E2%80%9Cservice%20ntpd%20restart%E2%80%9D%E5%92%8C%E2%80%9Cntpdate%E2%80%9C%E5%81%9A%E5%90%8C%E6%A0%B7%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%90%97%EF%BC%9F.png)
ntpd
使用检查时我经常会得到较大的偏移量ntpq -p
,我通常会重新启动 ntp 守护程序并修复该问题。我想知道我是否可以尝试ntpdate <ntp-server-name>
而不是重新启动ntpd
。由于这是一个生产箱,因此在实施之前希望确定。
答案1
ntpdate
和ntpd
是不同的工具,但其中一个工具可以相互帮助。
ntpdate
用于立即同步系统时钟。它从ntpd
具有同步状态(层 1 - 4)的服务器获取时间。
ntpd
服务设置系统时钟轻轻的。它可能需要几个小时才能消除几分钟的系统时钟滞后。这段时间它一直处于同步状态stratum 16
- 这意味着系统时钟不同步。服务重启命令service ntpd restart
仅用于应用其配置文件中的更改。
ntpdate
通常用于在启动时同步个人计算机的系统时钟。ntpd
服务通常用于始终同步服务器的系统时钟。
答案2
编号 引用man ntpdate
:
如果 NTP 服务器守护程序(例如 ntpd)在同一主机上运行,ntpdate 将拒绝设置日期。当定期从 cron 运行 ntpdate 而不是运行守护程序时,每隔一两个小时运行一次将导致足够精确的计时,从而避免时钟失准。
答案3
在各种常用的 Linux 发行版(包括 CentOS、Debian 和 Ubuntu)上,默认情况下ntpd
会使用该标志启动,这意味着如果需要,它将在第一次调整时执行较大的时钟步骤。因此,在大多数情况下,不需要这样做,最好重新启动。-g
ntpdate
ntpd
但是,正如 Sven 所评论的那样,如果ntpd
已经运行了一段时间并且仍然得到较大的偏移,那么您的 NTP 设置或网络(或两者)就有问题。
因此,不要重新启动ntpd
或运行ntpdate
,而是首先尝试诊断为什么会陷入这种情况。
一些常见问题:
- 没有包括足够的同行——你应该有至少 4. 如果有时间,请通读整个 BCP 草案。
- 使用
server
与公共 NTP 池而不是较新的pool
指令 - 如果您支持它,您应该使用后者ntpd
。 - 使用距离太远或连接不良的对等点 - 尝试选择附近可靠的对等点。更好的是,使用网络的本地参考时钟增强外部对等点。(根据您的环境,带有 GPS 接收器的 BeagleBone、Raspberry Pi 或 LeoNTP 可能是不错的选择。)
- 您的服务器无法保持准确时间的原因可能还有其他,例如内核错误或硬件时钟不佳。在您的系统中启用
loopstats
、peerstats
和应该有助于解决此问题。sysstats
ntp.conf
发布您的配置和输出ntpq -np
,希望我们能够帮助您解决这个问题。