ITPUB

为什么大厂都在用Chrony?你还在死守NTP?

今天分享一下时间同步的两个工具:chrony和ntpd。

在运维工作中,服务器时间同步是很重要的。无论是分布式日志系统、数据库主从复制,还是 CA 证书验证、CI/CD 流程,时间不一致都会导致严重问题。

所以选个好的时间同步服务让你在工作中更省心。

1 NTP 和 Chrony 是干嘛的

  • ntpd: 是个老牌时间同步协议,历史悠久,很多系统默认装的是 ntpd 服务。
  • chrony:是一个较新的时间同步工具,由 Red Hat 推出,目的是替代 ntpd,提供更高精度、更强稳定性和更好的现代网络适配能力。

2 二者核心对比

特性
ntpd
chrony
启动后同步速度
慢(分钟级)
快(秒级)
时间同步精度
毫秒级
微秒级甚至更高
离线期间漂移校正能力
无
有,支持硬件时钟漂移自动补偿
虚拟化兼容性
一般
优秀(适用于 VM、容器)
网络质量适应能力
差,容易被干扰
强,适合不稳定网络
系统资源占用
中等
较低
维护活跃度
较低,维护减缓
活跃,由 Red Hat 维护
默认内置于系统
Debian/Ubuntu 系列
RHEL 7+ / CentOS 7+ 默认使用 chrony

3 为什么更推荐使用 chrony

3.1 启动就快,几秒内就同步

虚拟机重启、容器重启后,系统时间差距大?Chrony能几秒钟搞定,不像NTP要等好几分钟。

3.2 精度更高

特别是分布式日志、数据库主从、金融系统,对时间精度要求高,Chrony 就是首选。

3.3 适配云服务器、虚拟机、K8s 容器

在云主机和容器里,系统时间容易“漂”。Chrony 能记录漂移速率,自动补偿。

3.4 网络不好也能同步

即使你的服务器跨地域、丢包严重,Chrony 也能稳定同步时间。

4 迁移实践

从 ntpd 到 chrony

4.1 卸载 ntp

我演示是红帽系列的,Ubuntu请用包管理器apt操作

systemctl stop ntpd
yum remove ntp -y     

4.2 安装 chrony

yum install chrony -y

4.3 配置 chrony

我这里以阿里云NTP为例,如果你公司有时钟服务器的话,直接使用IP就行。

编辑 /etc/chrony.conf:有些版本中的server是pool,看到时区分一下就行,配置差不多

server ntp.aliyun.com iburst

允许局域网同步(仅做 NTP 服务时需要):

allow 10.0.0.0/16

启用服务:

systemctl enable --now chronyd

查看同步状态:

chronyc tracking
chronyc sources

5 注意事项

  • Chrony 和 ntpd 不可同时运行,两个时间服务会互相干扰,只能选一个。。
  • Chrony 不只适合客户端,也能当时间服务器**,适合公司内网统一时间源。
  • 别忘了开启防火墙 UDP 123 端口,否则同步失败你还不知道。

在生产环境中,尤其是集群、虚拟化、日志分析等场景,准确的时间 = 准确的判断 = 少掉坑。

趁现在把时间服务升级一下,也许能帮你省一次大故障的锅。

Image