Linux时间同步首选chrony,尤其适用于虚拟机、笔记本及网络不稳定环境;ntpdate已废弃,systemd-timesyncd仅适合轻量场景。

Linux系统时间同步推荐优先使用chrony,尤其在虚拟机、笔记本或网络不稳定环境中表现更优;ntpdate已废弃,systemd-timesyncd适合轻量场景但功能有限。
chrony配置:推荐的现代方案
chrony比传统ntpd更适应断网、休眠、时钟漂移大的情况,启动快、资源占用低,是RHEL 8+/CentOS 8+、Ubuntu 20.04+默认服务。
- 安装(如未预装):sudo apt install chrony(Debian/Ubuntu)或 sudo yum install chrony(RHEL/CentOS)
- 主配置文件为 /etc/chrony.conf,常用修改项:
- 添加可靠NTP服务器(国内推荐):server ntp.aliyun.com iburst、server ntp1.aliyun.com iburst
- 启用硬件时钟同步(可选):hwclockfile /etc/adjtime 并确保 makestep 1.0 -1 允许开机大步调时
- 如需允许局域网内其他机器同步本机,取消注释并修改 allow 192.168.1.0/24
- 重启服务并设开机自启:sudo systemctl restart chronyd && sudo systemctl enable chronyd
- 检查状态:chronyc tracking(查看偏移、同步源)、chronyc sources -v(列出服务器及延迟)
ntp服务(ntpd):兼容旧环境的备选
ntpd仍可用于部分遗留系统,但不推荐新部署。注意它不支持“快速首次同步”,且对虚拟机时钟抖动较敏感。
- 安装:sudo apt install ntp 或 sudo yum install ntp
- 配置文件为 /etc/ntp.conf,添加类似行:server ntp.ntsc.ac.cn iburst(中科院授时中心)
- 停用chrony(若共存):sudo systemctl disable chronyd,再启用ntpd:sudo systemctl enable --now ntp
- 验证:ntpq -p 查看对等节点,ntpstat 查看同步状态
临时校时与故障排查要点
避免混用多个时间服务;禁止同时运行chronyd、ntpd和systemd-timesyncd。
- 手动强制同步(仅调试用):sudo chronyc makestep(chrony)或 sudo ntpdate -s ntp.aliyun.com(ntpd,需先停服务)
- 常见问题:
- “No suitable source found”:检查防火墙是否放行UDP 123端口,或更换NTP服务器
- 系统时间严重偏差(>1000秒):chrony默认不自动修正,需确认配置中有 makestep 1.0 -1
- 虚拟机时间漂移快:启用chrony的 rtcsync 指令,并在宿主机开启时间同步机制(如VMware Tools或QEMU guest agent)
- 时区设置独立于NTP:sudo timedatectl set-timezone Asia/Shanghai,再用 timedatectl status 确认系统时钟、RTC、NTP同步状态
systemd-timesyncd:轻量级只客户端方案
适用于嵌入式设备或容器宿主机等资源受限场景,仅支持SNTP协议(无复杂算法),不提供服务端功能。
- 启用:sudo systemctl enable --now systemd-timesyncd
- 配置(/etc/systemd/timesyncd.conf):NTP=ntp.aliyun.com,保存后执行 sudo systemctl restart systemd-timesyncd
- 查看状态:timedatectl status 中 “System clock synchronized: yes” 即表示成功










