How to Sync Time in AlmaLinux 8 using Chrony

Install Chrony on AlmaLinux 8

yum install chrony -y

Configuration File of Chrony

Configuration file for Chrony is “/etc/chrony.conf”. The file looks like below.

cat /etc/chrony.conf

Output:

[root@vps ~]# cat /etc/chrony.conf

Use public servers from the pool.ntp.org project

Please consider joining the pool (http://www.pool.ntp.org/join.html)

pool 2.cloudlinux.pool.ntp.org iburst

Record the rate at which the system clock gains/losses time

driftfile /var/lib/chrony/drift

Allow the system clock to be stepped in the first three updates

if its offset is larger than 1 second

makestep 1.0 3

Enable kernel synchronization of the real-time clock (RTC)

rtcsync

Enable hardware timestamping on all interfaces that support it

#hwtimestamp *

Increase the minimum number of selectable sources required to adjust

the system clock

#minsources 2

Allow NTP client access from local network

#allow 192.168.0.0/16

Serve time even if not synchronized to a time source

#local stratum 10

Specify file containing keys for NTP authentication

keyfile /etc/chrony.keys

Get TAI-UTC offset and leap seconds from the system tz database

leapsectz right/UTC

Specify directory for log files

logdir /var/log/chrony

Select which information is logged

#log measurements statistics tracking
[root@vps ~]#

Testing Chrony

we can use chronyd to sync time of our AlmaLinux 8 server with remote NTP server manually.

chronyd -q 'server 0.europe.pool.ntp.org iburst'

Output:

[root@vps ~]# chronyd -q 'server 0.europe.pool.ntp.org iburst'
2021-03-23T18:18:13Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2021-03-23T18:18:13Z Fatal error : Another chronyd may already be running (pid=658), check /var/run/chrony/chronyd.pid
[root@vps ~]#

Start and Enabled Chronyd Service

To start and enable chronyd using following commands.

systemctl start chronyd

systemctl enable chronyd

systemctl status chronyd

Output:

[root@vps ~]# systemctl start chronyd
[root@vps ~]# systemctl enable chronyd
[root@vps ~]# systemctl status chronyd
● chronyd.service - NTP client/server
Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
Active: active (running) since Tue 2021-03-23 14:09:24 EDT; 11min ago
Docs: man:chronyd(8)
man:chrony.conf(5)
Main PID: 658 (chronyd)
Tasks: 1 (limit: 11451)
Memory: 2.5M
CGroup: /system.slice/chronyd.service
└─658 /usr/sbin/chronyd
Mar 23 14:09:24 vps.server.com systemd[1]: Starting NTP client/server...
Mar 23 14:09:24 vps.server.com chronyd[658]: chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS >
Mar 23 14:09:24 vps.server.com chronyd[658]: Frequency 17.381 +/- 1.650 ppm read from /var/lib/chrony/drift
Mar 23 14:09:24 vps.server.com chronyd[658]: Using right/UTC timezone to obtain leap second data
Mar 23 14:09:24 vps.server.com systemd[1]: Started NTP client/server.
Mar 23 14:09:37 vps.server.com chronyd[658]: Selected source 50.205.244.20
Mar 23 14:09:37 vps.server.com chronyd[658]: System clock TAI offset set to 37 seconds
lines 1-18/18 (END)

Verify and Track Chrony Synchronization

To verify whether your system’s time is synchronized using chrony.

chronyc tracking

Output:

[root@vps ~]# chronyc tracking
Reference ID    : 32CDF414 (ntp1.doctor.com)
Stratum         : 3
Ref time (UTC)  : Tue Mar 23 18:20:24 2021
System time     : 0.000295571 seconds fast of NTP time
Last offset     : +0.000090150 seconds
RMS offset      : 0.000639843 seconds
Frequency       : 17.997 ppm fast
Residual freq   : +0.010 ppm
Skew            : 0.822 ppm
Root delay      : 0.046430726 seconds
Root dispersion : 0.019498281 seconds
Update interval : 64.5 seconds
Leap status     : Normal
[root@vps ~]#

Check Chrony Sources

To list information about the current time sources that the chronyd is using.

chronyc sources

Output:

[root@vps ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================

^+ time100.stupi.se              1   6   377    53   +733us[ +823us] +/-   79ms
^* ntp1.doctor.com               2   6   377    53   +572us[ +662us] +/-   50ms
^+ 101-100-138-250.myrepubl>     2   6   377    50  -1121us[-1121us] +/-   92ms
^+ 5.103.128.88.static.fibi>     1   6   377    51  -2975us[-2975us] +/-   72ms
[root@vps ~]#

Check Chrony Source Statistics

To list the information about drift speed and offset estimation of each source that the chronyd is using.

chronyc sourcestats -v

Output:

[root@vps ~]# chronyc sourcestats -v
 210 Number of sources = 4
                .- Number of sample points in measurement set.
               /    .- Number of residual runs with same sign.
               |    /    .- Length of measurement set (time).
               |   |    /      .- Est. clock freq error (ppm).
               |   |   |      /           .- Est. error in freq.
               |   |   |     |           /         .- Est. offset.
               |   |   |     |          |          |   On the -.
               |   |   |     |          |          |   samples. \
               |   |   |     |          |          |             |
 Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
 ==============================================================================

 192.36.143.130              6   3   323     -1.353      7.090   +625us   238us
 ntp1.doctor.com            10   6   582     +0.018      0.597   +756us    57us
 101-100-138-250.myrepubl>  15   8   720     -0.287      1.652  -1281us   340us
 5.103.128.88.static.fibi>  15   7   719     -0.794      6.161  -1222us  1287us
 [root@vps ~]#

CrownCloud - Get a SSD powered KVM VPS at $4.5/month!
Use the code WELCOME for 10% off!

1 GB RAM / 25 GB SSD / 1 CPU Core / 1 TB Bandwidth per month

Available Locations: LAX | MIA | ATL | FRA | AMS