chrony 是什么
chrony 是现代发行版默认的时间同步实现,由 chronyd 常驻校时。相比老一代实现,它在网络间歇可用、虚拟化时钟漂移明显的环境里收敛更快,也支持更平滑的调整方式。时间准不准直接影响很多事:集群节点之间证书校验与票据会因时间偏差失败,日志时间线错乱会让排障失去参照,备份与计划任务也可能踩错时间点。信创系统装完后的收尾项里,时间同步是必查的一条。
基本信息
| 服务 | chronyd,由 systemd 管理 |
|---|---|
| 配置文件 | /etc/chrony.conf |
| 校验命令 | chronyc sources -v 看时间源,chronyc tracking 看同步状态 |
| 协议端口 | NTP,基于 UDP 123 |
| 常见替代 | ntpd,两者不可同时启用 |
| 适用平台 | Kylin V10 / UOS / openEuler 默认均为 chrony |
典型使用场景
- 新机上线:配置内网授时源并开启自启,保证时间基线一致
- 集群部署前:确认所有节点与同一时间源同步,避免认证失败
- 排查莫名失败:应用报时间相关错误时先看时间偏差
- 日志对账:多台机器时间统一后,跨机日志才能正确拼接
- 离线机房:使用内网授时源,出口策略受限时避免依赖外网
- 虚拟化环境:虚拟机时钟漂移较大,需确认同步已生效
配置时间源并生效
配置时间源并生效
vim /etc/chrony.conf # 修改授时源配置
# server 10.0.10.1 iburst (按单位授时源填写,iburst 让首次同步更快)
# 如启用主机防火墙,需放行 UDP 123 端口
systemctl enable --now chronyd # 开启并设自启
chronyc sources -v # 查看时间源状态
chronyc tracking # 查看当前偏差与同步情况时间源状态字符读法
| 标记 | 含义 | 处理方向 |
|---|---|---|
| 星号 | 当前被选中的同步源 | 正常状态,说明同步生效 |
| 加号 | 备选源,质量可接受 | 可用作冗余,不必处理 |
| 减号 | 被排除的源 | 偏差偏大被剔除,观察是否稳定 |
| 问号 | 不可达或无法使用 | 先查网络与端口连通性 |
| Reach 列 | 最近若干次探测的应答情况 | 全部成功时为 377,长期为 0 说明不通 |
内网环境不要盲目放通外网授时服务:时间源属于基础设施,先与网络管理方确认可用授时地址,再写入配置。同时确认系统里只启用了一套时间服务,同时运行两套会让时间反复跳动。
时间刚调好不代表立即稳定:偏差较大时同步需要一段时间逐步收敛。校验时要同时看当前源状态与偏差数值,只看服务是否运行并不能说明时间已经准了。