如果我们想要所有的Linux服务器都有正确的时间,我们必须配置一些NTP客户端,它会一直从远程NTP服务器获取正确的时间。安装chrony在Centos8中使用如下命令安装chrony:[root@server1~]#yum-yinstallchronychrony安装完成后会有两个可执行程序:chronyc:chrony命令行工具chronyd:chrony的守护进程配置Chrony文件Chrony的配置文件是/etc/chrony.conf,下面列出了一个示例chrony.conf文件:[root@server1~]#cat/etc/chrony.confpool2.centos.pool.ntp.orgiburstchrony将启动从远程NTP服务器获取时间。driftfile/var/lib/chrony/drift系统时钟频率有一个小误差,这也是电脑运行一段时间后时间会不准的原因。NTP会自动监测我们时钟的误差值并进行调整,所以它会先将记录的误差写入driftfile,重启系统后,之前的计算结果不会丢失。keyfile/etc/chrony.keys此文件包含用于NTP身份验证的密钥。logdir/var/log/chrony是记录Chrony的日志文件。测试chrony就像ntpdate命令一样,我们可以使用chronyd手动将Linux服务器的时间与远程NTP服务器同步。语法:chronyd-q'server{ntp_server_name}iburst'示例如下:[root@server1~]#chronyd-q'servers1a.time.edu.cniburst'2021-05-25T01:59:38Zchronydversion3.5starting(+CMDMON+NTP+REFCLOCK+RTC+PRIVDROP+SCFILTER+SIGND+ASYNCDNS+SECHASH+IPV6+DEBUG)2021-05-25T01:59:38Z初始频率-4.035ppm2021-05-25T01:59:42Z系统时钟错误-0.006248seconds(step)2021-05-25T01:59:42Zchronydexiting从上面的输出可以看出,chrony已经修正了系统时间。启动并启用chronyd服务运行以下命令启用chronyd服务:[root@server1~]#systemctlenablechronyd[root@server1~]#systemctlstartchronyd运行以下命令检查chronyd的服务状态:[root@server1~]#systemctlstatuschronyd验证chrony同步验证系统时间是否与chrony同步,使用以下命令查看:[root@server1~]#chronyctracking参考ID:4E2E66B4(electrode.felixc.at)Stratum:4Reftime(UTC):TueMay2502:04:472021Systemtime:0.000002501secondsslowofNTPtimeLastoffset:+0.016273908secondsRMSoffset:0.016273908secondsFrequency:98.064ppmfastResidualfreq:+1.774ppmSkew:155.311ppmRootdelay:0.227135062secondsRootdispersion:0.028634518secondsUpdateinterval:64.4secondsLeapstatus:NormalReferenceID是当前同步系统时间的服务器的ID和名称。检查chrony源要列出有关chronyd使用的当前时间源的信息,请运行以下命令:[root@server1~]#chronycsources210Numberofsources=4MSName/IPaddressStratumPollReachLastRxLastsample==================================================================================^-电极.felixc.at3637729-14ms[-14ms]+/-137ms^-ntp7.flashdance.cx2637791+2336us[+2505us]+/-174ms^?ntp8.flashdance.cx060-+0ns[+0ns]+/-0ns^*111.230.189.1742637728+423us[+648us]+/-50ms列出关于每个源的漂移速度和偏移估计的信息由chronyd使用,运行以??下命令:[root@server1~]#chronycsourcestats-v210Numberofsources=4.-measurementset中的样本点数。/.-具有相同符号的剩余游程数。|/.-测量集的长度(时间)。||/。-美东时间。clock频率误差(ppm)。|||/。-美东时间。频率错误||||/。-美东时间。抵消。|||||Name/IPAddressNPNRSpanFrequencyFreqSkewOffsetStdDev=======================================================================================electrode.felixc.AT125527-2.01922.417-13MS2921USNTP7.FLASHDANCE.CX105397+1.95729.018+2410US2684USNTPP8.FLASHDANCE.FLASHDANCE.CX00000000+0.0002000.000+0NS4000MMSS40.11111.1111111111111111111111111199转10.537-60ns1360us配置ChronyNTP服务如果你想将Linux服务器配置为所有内部系统的ChronyNTP服务器我们需要在/etc/chrony.conf配置文件中稍微修改一下:[root@server1~]#sed-i"s/#localstratum10/localstratum10/g"/etc/chrony.conf[root@server1~]#sed-i"s/#allow192.168.0.0\/16/allow192.168.0.0\/16/"/etc/chrony.conf当我们取消注释本地stratum10行时,然后让我们的Linux服务器成为一个即使与网络断开连接也能继续工作的实时NTP服务器。而allow192.168.0.0/26表示允许该网段的设备连接到我们的ChronyNTP服务器进行时间同步。更改后重启chrony服务并跟踪chrony:[root@server1~]#systemctlrestartchronyd;watchchronyctracking使用以下命令允许防火墙中的NTP服务:[root@server1~]#firewall-cmd--permanent--add-service=ntpsuccess[root@server1~]#firewall-cmd--reloadsuccess总结以上就是本文的全部内容,希望大家能够了解如何使用chrony服务将Linux时间与NTP服务器同步。
