CentOS 8系统做了不少更新,例如 nftables代替iptables、dnf代替yum成为默认包管理工具。这不,许多人发现CentOS 7熟悉的 ntpdate
命令没有了,也不能用yum安装上,同步时间顿时成了一个难题。
本文介绍CentOS 8使用chrony同步时间。
chrony介绍
Chrony是一个开源软件,能用来于时钟服务器(NTP)同步,从而保持系统时间精确。chrony由两部分组成:后台运行的
chronyd
,前端使用的chronyc
。chronyd
用于调整内核中系统时钟和时钟服务器同步,它确定计算机增减时间的比率,并对此进行补偿;chronyc
提供查询和配置接口,可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。chrony同步时间
首先安装crhony:
dnf install -y chrony # 也可以用yum安装 yum install -y chrony
chrony配置文件是 /etc/chrony.conf
,其内容大体如下:
一般来说,配置文件无需改动就能正常使用。当然为了同步速度快,可以使用国内的ntp服务器,例如将第一行改成: pool ntp.ntsc.ac.cn iburst
(公共ntp服务器请参考:公共 NTP 服务器地址大全)。
接下来可以手动同步时间:
chronyd -q 'server ntp.ntsc.ac.cn iburst' # 输出如下 2020-03-13T09:44:30Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG) 2020-03-13T09:44:30Z Initial frequency -25.473 ppm 2020-03-13T09:44:34Z System clock wrong by -0.000340 seconds (step) 2020-03-13T09:44:34Z chronyd exiting
更好的方式是让chronyd后台运行,自动同步时间:
systemctl enable chronyd systemctl start chronyd
注意:chronyd服务启动后,不能再用chronyd方式手动同步时间,会报“Fatal error : Another chronyd may already be running”的错误。
chronyc tracking
命令可以查看同步状态(需要chronyd服务在运行):
Reference ID : 771CE546 (119.28.229.70) Stratum : 3 Ref time (UTC) : Fri Mar 13 09:49:25 2020 System time : 0.000000666 seconds slow of NTP time Last offset : +0.000767246 seconds RMS offset : 0.000767246 seconds Frequency : 25.561 ppm slow Residual freq : -117.006 ppm Skew : 6.375 ppm Root delay : 0.014839342 seconds Root dispersion : 0.026745666 seconds Update interval : 1.2 seconds Leap status : Normal
chronyc sources
命令可以查看同步的时间服务器(需要chronyd服务在运行):
210 Number of sources = 4 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^- time.cloudflare.com 3 6 17 87 -4121us[ -750us] +/- 44ms ^* 119.28.229.70 2 6 37 23 +557us[+3930us] +/- 21ms ^- undefined.hostname.local> 2 6 37 23 -2976us[ +398us] +/- 80ms ^- 203.95.213.129 2 6 17 87 -22ms[ -18ms] +/- 162ms
其他
1. 如果还是希望使用 ntpdate
,请参考这篇文章安装:CentOS8.0通过yum安装ntp同步时间
参考
1. How to Sync Time in Linux Server using Chrony
3. chrony概念详解