我目前正在管理一些 RHEL 7.9 主机,这些主机需要将时间同步到 NTP 服务器,并且只有 ntpd 可用于时间同步。
我在操作系统中做了以下配置,但不确定结果是否表明它们正确。
- 环境中的时间服务器是192.168.30.200
- 在/etc/ntp.conf文件中,参数写入:
server 192.168.30.200
和restrict 192.168.30.200
- 命令
chkconfig ntpd on
启动ntpd。 - 命令
ntpdate -dv 192.168.30.200
进行时间同步(是立即同步时间的命令吗?)输出如下:
7 Nov 13:51:42 ntpdate[128853]: ntpdate [email protected] Mon Jun 1 11:18:15 UTC 2020 (1)
Looking for host 192.168.30.200 and service ntp
host found : 192.168.30.200
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
transmit(192.168.30.200)
receive(192.168.30.200)
server 192.168.30.200, port 123
stratum 4, precision -23, leap 00, trust 000
refid [192.168.30.200], delay 0.02632, dispersion 0.00005
transmitted 4, in filter 4
reference time: e7131a05.fd12bbc4 Mon, Nov 7 2022 13:45:41.988
originate timestamp: e7131b75.00e9ce65 Mon, Nov 7 2022 13:51:49.003
transmit timestamp: e7131b75.004901f8 Mon, Nov 7 2022 13:51:49.001
filter delay: 0.02666 0.02657 0.02632 0.02663
0.00000 0.00000 0.00000 0.00000
filter offset: 0.001956 0.001816 0.001894 0.001940
0.000000 0.000000 0.000000 0.000000
delay 0.02632, dispersion 0.00005
offset 0.001894
7 Nov 13:51:49 ntpdate[128853]: adjust time server 192.168.30.200 offset 0.001894 sec
输出是否意味着时间服务器正在运行并且时间已在 ntp 客户端上同步?
答案1
ntpdate
不使用本地ntpd
守护程序。无需安装、配置或运行即可运行ntpd
。它会进行一次性同步、设置时间并退出。
就您而言,由于您添加了-d
,它实际上甚至没有设置时间。
查询状态的工具ntpd
是ntpq
。您可能正在寻找的是ntpq -p
,它将列出当前的对等点/服务器,以及有关它们的一些信息,例如它们的层(它们与真正好的时钟的距离)、上次看到的时间、轮询的频率、可达性、延迟、偏移和抖动。它还会告诉您当前使用哪个服务器作为参考。
例子:
$ ntpq -p
remote refid st t when poll reach delay offset jitter
==============================================================================
+dedibox.demonge 145.238.203.14 2 u 916 1024 377 5.333 -0.549 2.322
+ns.daupheus.com 145.238.203.14 2 u 1020 1024 377 5.433 -0.408 0.485
*82-64-45-50.sub .GPS. 1 u 777 1024 377 14.359 -0.669 0.353
+ip139.ip-5-196- 145.238.203.14 2 u 213 1024 377 2.188 -0.723 0.758
-time.cloudflare 10.20.8.4 3 u 664 1024 377 5.483 0.066 0.398
+194.169.214.72 17.253.108.125 2 u 940 1024 377 5.915 -0.459 0.443
当前活动参考是带有 的参考*
,它从 GPS 获得时间,属于层 1。层 2 处还有一些其他替代方案+
(它们从另一台服务器(属于层 1)获得时间),依此类推。
答案2
7 十一月 13:51:49 ntpdate[128853]: 调整时间服务器 192.168.30.200 偏移量 0.001894 秒
此行意味着您与 NTP 服务器的偏移量为 0.001894 秒。
我目前正在管理一些 RHEL 7.9 主机,这些主机需要将时间同步到 NTP 服务器,并且只有 ntpd 可用于时间同步。
如果您的 ntpd 服务已启用且其状态为已启动,则您的时间将自动同步。您可以使用以下命令检查服务状态:
sudo systemctl status ntpd
答案3
是的,它足够同步。
如果您只想了解本地机器是否同步的信息,您可以使用ntpstat
。
ntpstat 命令将报告本地机器上运行的 NTP 守护进程的同步状态。如果发现本地系统与参考时间源同步,ntpstat 将报告大致的时间精度。
ntpstat 命令的退出状态
您可以使用退出状态从 shell 脚本或命令行本身验证其操作:
- 退出状态
0
:时钟已同步 - 退出状态
1
:时钟不同步 - 退出状态
2
:时钟状态未知,例如,如果 ntpd 不可访问
示例输出
$ ntpstat
synchronised to NTP server (149.20.54.20) at stratum 3
time correct to within 42 ms
polling server every 1024 s
$ echo $?
0