Red Hat Training
A Red Hat training course is available for RHEL 8
29.3. 迁移到 chrony
在 Red Hat Enterprise Linux 7 中,用户可以在 ntp 和 chrony 之间进行选择,以确保准确计时。有关 ntp 和 chrony、ntpd
和 chronyd
之间的区别,请参阅 ntpd 和 chronyd 之间的差别。
从 Red Hat Enterprise Linux 8 开始,不再支持 ntp。chrony 默认启用。因此,您可能需要从 ntp 迁移到 chrony。
在大多数情况下,从 ntp 迁移到 chrony 是非常直接的。程序、配置文件和服务的相应名称为:
表 29.1. 从 ntp 迁移到 chrony 时的程序、配置文件和服务对应的名称
ntp 名称 | chrony 名称 |
---|---|
/etc/ntp.conf | /etc/chrony.conf |
/etc/ntp/keys | /etc/chrony.keys |
ntpd | chronyd |
ntpq | chronyc |
ntpd.service | chronyd.service |
ntp-wait.service | chrony-wait.service |
通过使用 -q
选项或 -t
选项,chronyd
可以替代 ntpdate 和 sntp 程序(包含在 ntp
发布中)。可在命令行中指定配置以避免读取 /etc/chrony.conf
。例如:如下所示运行 chronyd
可以替代运行 ntpdate ntp.example.com
:
# chronyd -q 'server ntp.example.com iburst' 2018-05-18T12:37:43Z chronyd version 3.3 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG) 2018-05-18T12:37:43Z Initial frequency -2.630 ppm 2018-05-18T12:37:48Z System clock wrong by 0.003159 seconds (step) 2018-05-18T12:37:48Z chronyd exiting
ntpstat 工具程序之前包含在 ntp
软件包中,且只支持 ntpd
。现在它支持 ntpd
和 chronyd
。它现在包括在 ntpstat
软件包中。
29.3.1. 迁移脚本
名为 ntp2chrony.py
的 Python 脚本包含在 chrony
软件包文档中(/usr/share/doc/chrony
)。这个脚本会自动将现有的 ntp
配置转换为 chrony
。它支持 ntp.conf
文件中最常用的指令和选项。所有在转换中忽略的行都会作为注释包含在生成的 chrony.conf
文件中以便用户进行核查。在 ntp
密钥文件中指定但未在 ntp.conf
中被标记为可信密钥的密钥会作为注释出现在生成的 chrony.keys
文件中。
默认情况下,该脚本不会覆盖任何文件。如果 /etc/chrony.conf
或 /etc/chrony.keys
已经存在,使用 -b
选项可以重新命名文件以作为备份。这个脚本支持其他选项。--help
选项输出所有支持选项。
在 ntp
软件包中提供了一个默认 ntp.conf
调用脚本示例:
# python3 /usr/share/doc/chrony/ntp2chrony.py -b -v Reading /etc/ntp.conf Reading /etc/ntp/crypto/pw Reading /etc/ntp/keys Writing /etc/chrony.conf Writing /etc/chrony.keys
本例中唯一忽略的指令是 disable monitor
,它在 noclientlog
指令中有一个等同的 chrony 项。它包括在默认 ntp.conf
中只是用于缓解一个安全工具。
生成的 chrony.conf
文件通常包含大量与 ntp.conf
中限制行对应的 allow
指令。如果您不想使用 chronyd
作为 NTP
服务器,从 chrony.conf
中删除所有 allow
指令。