CentOS7.9 安装配置 Chrony 时间同步服务
CentOS7.9 默认同时支持
ntp和chrony;chrony 同步精度更高、网络差环境表现更好,生产环境优先选用。
一、安装 chrony
CentOS7.9 光盘源自带 chrony 包
bash
yum install -y chrony检查版本
bash
chronyc --version二、配置文件/etc/chrony.conf
备份原配置
bash
cp /etc/chrony.conf /etc/chrony.conf.bak vi /etc/chrony.conf修改时间服务器(使用阿里云公共 NTP)
注释原有pool行,替换为国内源:
conf
server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst server ntp3.aliyun.com iburst参数说明:
iburst:网络刚连通时快速做几次同步,加速时间校准。
【可选】本机作为内网 NTP 服务器(给其他机器提供时间)
如果这台机器要当内网时间服务器,放开下面两行:
conf
allow 192.168.0.0/16 # 允许哪些网段来本机同步时间 local stratum 10 # 外网NTP不可用时,本机继续对外提供时间保存退出:wq
三、启动服务 & 设置开机自启
bash
systemctl enable --now chronyd查看服务状态
bash
systemctl status chronyd⚠️ 注意:chronyd 和 ntpd 不能同时运行,如果之前装过 ntp,建议关闭并禁用 ntpd:
bash
systemctl stop ntpd systemctl disable ntpd四、验证时间同步状态
- 查看时间源状态(最常用,替代 ntp 的
ntpq -p)
bash
chronyc sources -v^*:当前正在使用的同步源^+:备选可用源
- 查看同步统计信息
bash
chronyc tracking重点看System time :系统时间偏移,偏移越小同步越准。
- 查看系统时间
bash
date五、防火墙配置(仅本机对外提供 NTP 服务才需要)
chrony 使用 UDP 123 端口。如果要内网其他设备访问本机 chrony:
bash
firewall-cmd --add-service=ntp --permanent firewall-cmd --reload六、常用 chronyc 命令速查
表格
| 命令 | 作用 |
|---|---|
chronyc sources -v | 查看时间源 |
chronyc tracking | 查看同步状态、时间偏移 |
chronyc activity | 查看 chronyd 在线状态 |
chronyc makestep | 立刻强制跳跃同步时间(不建议频繁用) |
七、排错要点
- 时间一直不同步:检查防火墙、DNS 是否正常,能否 ping 通
ntp.aliyun.com
bash
ping ntp.aliyun.com- 确认 chronyd 监听端口 UDP123
bash
ss -ulnp | grep chronyd- 查看日志
bash
tail -f /var/log/chrony/*.log补充:CentOS7.9 既可以用 ntp 也可以 chrony;新项目建议直接用 chrony,CentOS8 以后已经彻底移除 ntpd,只保留 chrony。