Time Synchronization (chrony)
Accurate system time is critical for logging, certificate validation, distributed system coordination, and more. Enterprise Linux distributions use chrony as the default NTP client and server, replacing the legacy ntpd. This guide covers chrony installation, NTP source management, timezone configuration, and hardware clock synchronization.
chrony vs ntpd
Section titled “chrony vs ntpd”| Feature | chrony | ntpd |
|---|---|---|
| Sync speed | Fast convergence, works with intermittent connections | Slower convergence, needs persistent connection |
| Resource usage | Low memory and CPU | Relatively higher |
| VM support | Excellent, handles clock drift well | Average |
| EL default | Default since EL 7 | Default in EL 6, removed in EL 8+ |
| Accuracy | Microsecond level | Millisecond level |
In EL 8/9, ntpd has been removed from the default repositories. chrony is the only recommended NTP implementation.
Installing chrony
Section titled “Installing chrony”chrony is typically pre-installed on EL distributions. If not, install it manually:
sudo dnf install chrony -ysudo systemctl start chronydsudo systemctl enable chronydsudo systemctl status chronydChecking Synchronization Status
Section titled “Checking Synchronization Status”chronyc sources — View NTP Sources
Section titled “chronyc sources — View NTP Sources”chronyc sources -vColumn indicators explained:
^*— Currently synced source (active)^+— Acceptable alternative source^-— Not considered for synchronization^?— Connecting or unknown state
chronyc tracking — View Sync Details
Section titled “chronyc tracking — View Sync Details”chronyc trackingKey fields to watch:
- System time — Offset between system clock and NTP
- Last offset — Offset of the last adjustment
- RMS offset — Root mean square of offsets
- Frequency — Clock frequency deviation (ppm)
chronyc sourcestats — View Source Statistics
Section titled “chronyc sourcestats — View Source Statistics”chronyc sourcestats -vConfiguring NTP Servers
Section titled “Configuring NTP Servers”The main configuration file is /etc/chrony.conf.
View the Default Configuration
Section titled “View the Default Configuration”cat /etc/chrony.confChange NTP Servers
Section titled “Change NTP Servers”The default configuration usually points to the distribution’s NTP pool. You can modify it as needed:
sudo cp /etc/chrony.conf /etc/chrony.conf.baksudo vi /etc/chrony.confExample NTP server configuration:
# Use global NTP pool serverspool 2.pool.ntp.org iburstserver time.cloudflare.com iburstserver time.google.com iburst
# Record the rate at which the system clock driftsdriftfile /var/lib/chrony/drift
# Allow the system clock to be stepped in the first three updatesmakestep 1.0 3
# Enable kernel synchronization of the real-time clockrtcsync
# Log directorylogdir /var/log/chronyKey directive explanations:
server— Specify a single NTP serverpool— Specify an NTP server pool (auto-resolves multiple addresses)iburst— Send burst requests during initial sync for faster convergencemakestep— Allow large time adjustments under specified conditions (params: threshold in seconds + max number of adjustments)rtcsync— Write system time to hardware clock every 11 minutes
sudo systemctl restart chronydchronyc sourcesConfigure as an NTP Server
Section titled “Configure as an NTP Server”To serve time to other hosts on your local network:
echo 'allow 192.168.1.0/24' | sudo tee -a /etc/chrony.confsudo systemctl restart chronydsudo firewall-cmd --permanent --add-service=ntpsudo firewall-cmd --reloadTimezone Management (timedatectl)
Section titled “Timezone Management (timedatectl)”timedatectl is the systemd utility for managing time and timezone settings.
View Current Time Information
Section titled “View Current Time Information”timedatectl statusList Available Timezones
Section titled “List Available Timezones”timedatectl list-timezonestimedatectl list-timezones | grep AmericaSet the Timezone
Section titled “Set the Timezone”sudo timedatectl set-timezone America/New_Yorksudo timedatectl set-timezone UTCEnable / Disable NTP Synchronization
Section titled “Enable / Disable NTP Synchronization”sudo timedatectl set-ntp truesudo timedatectl set-ntp falseManually Set the Time
Section titled “Manually Set the Time”After disabling NTP synchronization, you can manually set the system time:
sudo timedatectl set-time '2026-03-25 14:30:00'Hardware Clock Synchronization
Section titled “Hardware Clock Synchronization”The hardware clock (RTC) is an independent clock on the motherboard that keeps running when the system is powered off.
View the Hardware Clock
Section titled “View the Hardware Clock”sudo hwclock --showSync System Clock to Hardware Clock
Section titled “Sync System Clock to Hardware Clock”sudo hwclock --systohcSync Hardware Clock to System Clock
Section titled “Sync Hardware Clock to System Clock”sudo hwclock --hctosysSet Hardware Clock to UTC
Section titled “Set Hardware Clock to UTC”sudo hwclock --systohc --utcWith the rtcsync directive enabled, chrony automatically syncs the system time to the hardware clock every 11 minutes, so manual intervention is rarely needed.
Force Immediate Synchronization
Section titled “Force Immediate Synchronization”If the system time has drifted significantly and needs immediate correction:
sudo chronyc makestepThis command instantly adjusts the system time to match the NTP source, regardless of the offset.
Common Troubleshooting
Section titled “Common Troubleshooting”Unable to Synchronize Time
Section titled “Unable to Synchronize Time”systemctl is-active chronydsudo firewall-cmd --list-services | grep ntpchronyc activityView chrony Logs
Section titled “View chrony Logs”journalctl -u chronyd --no-pager -n 50Check Time Offset
Section titled “Check Time Offset”chronyc tracking | grep "System time"The offset should be at the millisecond or microsecond level. If the offset is too large (more than a few seconds), use chronyc makestep to force synchronization.
Best Practices
Section titled “Best Practices”- Keep chrony as the default time service — Do not install ntpd on EL 8/9
- Use geographically close NTP sources — Reduces latency and improves accuracy
- Configure multiple NTP sources — At least 3-4 sources for redundancy
- Use the iburst option — Speeds up initial synchronization
- Keep the makestep configuration — Allows large time adjustments at startup
- Enable rtcsync — Keeps the hardware clock synchronized
- Monitor time offset — Include
chronyc trackingin your monitoring system