Linux系统时间同步chrony配置校准实操教程

为什么服务器需要时间同步

服务器时间不准会直接影响日志记录、定时任务执行、认证服务和数据库主从复制。
Linux系统中,chrony是现代发行版推荐的时间同步工具,相比传统ntpd同步速度更快、对网络抖动适应性更好。
本文带你从零开始完成chrony的配置与校准。

安装chrony

大多数Linux发行版默认不安装chrony,需要手动装。
不同包管理器的命令不同:

  • Debian/Ubuntusudo apt update && sudo apt install chrony -y
  • CentOS/RHEL 7+sudo yum install chrony -y
  • Fedorasudo dnf install chrony -y

安装完成后,使用chronyd -v查看版本,确认装好。
如果之前装过ntpd,建议先停用并禁用ntpd服务,避免端口冲突。

配置chrony的核心文件

配置文件路径:/etc/chrony/chrony.conf(部分发行版可能是/etc/chrony.conf)。
打开后重点修改以下几项:

指定上游时间服务器

找到poolserver开头的行,替换为可靠的时间源。
国内用户建议使用阿里云或腾讯云的NTP服务:

# 阿里云NTP(推荐)
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst

# 或使用其他公共NTP
server cn.pool.ntp.org iburst

iburst参数让chrony在首次同步时快速发送多个包,缩短校准时间。

允许本地客户端(可选)

如果这台服务器要给局域网内其他设备提供时间服务,需添加allow指令:

# 允许整个/24网段
allow 192.168.1.0/24

加速时间跳跃调整

对于刚开机或时间偏差很大的情况,建议开启makestep

# 允许在启动时立即调整超过100秒的偏差
makestep 100 3

这样chrony在启动后如果有三次以上的同步周期且偏差大于100秒,就会直接跳跃调整,而不是逐步调慢。

保存配置并重启服务

修改完配置文件后,执行以下命令使配置生效:

sudo systemctl restart chronyd
sudo systemctl enable chronyd

验证时间同步是否正常

查看同步源状态

使用chronyc sources -v列出当前的时间源。
如果输出中^*(星号)表示当前同步的源,^+表示候选源,^-表示不可用。
正常情况应该有至少一个^*

查看时间偏移详情

chronyc tracking显示系统时间与参考源的偏差,例如:

Reference ID    : 123.45.67.89 (ntp.aliyun.com)
Stratum         : 3
Ref time (UTC)  : Thu Mar 20 05:00:00 2025
System time     : 0.000123456 seconds slow of NTP time
Last offset     : -0.000001023 seconds
RMS offset      : 0.000123456 seconds

如果System time后面的偏差在毫秒甚至微秒级,说明同步正常。

查看当前时间

直接用date命令确认系统时间是否接近标准时间。
也可以对比timedatectl输出中的RTC time,确保硬件时钟(RTC)也正确。

常见问题与避坑说明

防火墙阻止NTP通信

time同步使用UDP 123端口。
如果启用了firewalld或iptables,需要放行:

sudo firewall-cmd --add-service=ntp --permanent
sudo firewall-cmd --reload

SELinux导致chrony无法访问网络

CentOS/RHEL默认开启SELinux,可能会限制chrony读取配置文件或解析域名。
检查/var/log/audit/audit.log,如果有chronyd被deny的记录,尝试临时关闭SELinux测试:sudo setenforce 0
如果确认是SELinux问题,可以调整完整策略或永久关闭(生产环境慎用)。

chrony服务启动失败

先检查配置文件语法:sudo chronyd -Q -f /etc/chrony/chrony.conf,如果没有错误输出说明配置正确。
另外注意/var/run/chrony目录和/var/lib/chrony目录的权限,运行chrony用户需要写入权限。

时间始终无法同步

排查步骤:

  1. 手动用chronyd -d -f /etc/chrony/chrony.conf前台运行查看详细日志。
  2. dig ntp.aliyun.comnslookup ntp.aliyun.com检查DNS解析是否正常。
  3. telnet ntp.aliyun.com 123测试网络连通性(部分环境telnet不支持UDP,改用nc -vuz ntp.aliyun.com 123)。

写在最后

chrony配置并不复杂,关键在于选对时间源、确认网络通畅、放行防火墙。
完成上述操作后,建议定期用chronyc sourceschronyc tracking检查同步状态。
如果你用的是宝塔面板,也可以在面板“系统”设置里直接开启chrony服务,不过手动配置能更灵活。
遇到问题先看系统日志journalctl -u chronyd,大部分报错都能找到线索。

分享到:
上一篇
容器资源配额限制防止进程抢占内存
下一篇
磁盘无损扩容分区扩容站点存储教程
1
系统公告

机房迁移升级通知

尊敬的用户: IP 段 103.23.148.x、156.224.29.x 原香港一区线路波动、攻击频繁,平台定于 7 月 5 日凌晨分批迁移至香港 GIA 机房,硬件升级 AMD 铂金机型。 迁移均在凌晨操作,最大程度降低业务影响,迁移期间服务器临时关机; 升级后配置不降低、费用不涨价,数据默认同步迁移; 迁移后 IP 全部更换,请及时修改域名解析、防火墙白名单; 建议提前备份重要数据,有问题可联系在线客服。 感谢理解与支持! 泽御云科技 2026.06.30
服务中心
客服
在线客服
24小时为您服务
咨询
联系我们
联系我们,为您的业务提供专属服务。
24/7 技术支持
如果您遇到寻求进一步的帮助,请过工单与我们进行联系。
24/7 即时支持
泽御云
售前客服
泽御云
泽御云
售后客服
泽御云
技术支持
评价
您对当前页面的整体感受是否满意?
😞
非常不满意
😕
不满意
😐
一般
🙂
满意
😊
非常满意