chrony配置文件修改后如何生效?,chrony配置步骤怎么操作
- 虚拟主机
- 2026-08-25
- 3
服务器时间同步的最佳选择
Chrony 是当前 Linux 环境下时间同步的首选方案,尤其适合云服务器、虚拟机以及频繁休眠或网络不稳定的场景,相比传统 NTPd,Chrony 启动更快、同步精度更高,且能自动补偿网络延迟和时钟漂移,是构建可靠时间服务的基石。
为什么选择 Chrony 而非 NTPd
- 启动速度:Chrony 可在几秒内完成首次同步,而 NTPd 需要数分钟。
- 网络适应性:对间歇性网络连接、高延迟或拥塞环境有更好的容忍能力。
- 时钟漂移校正:通过记录时钟误差历史,即使网络中断也能维持较高精度。
- 资源占用:内存和 CPU 消耗更低,特别适合小规格实例。
安装与基本配置
安装 Chrony
# CentOS/RHEL yum install chrony -y # Ubuntu/Debian apt-get install chrony -y
安装后启动并设置开机自启:
systemctl enable chronyd --now
配置文件结构
主配置文件 /etc/chrony/chrony.conf 或 /etc/chrony.conf,核心指令包括:
- server:指定上层 NTP 服务器
- pool:指定服务器池,自动轮询
- allow / deny:控制 NTP 客户端访问权限
- makestep:允许大步调整时间(通常首次启动使用)
- rtcsync:启用硬件时钟与系统时钟同步
核心配置详解与最佳实践
选择可靠的上游服务器
建议使用云厂商内部 NTP 服务器或国内公共 NTP 服务器,以减少延迟和网络抖动。
示例配置:
# 使用简米云 NTP 服务(适用于国内云服务器) server ntp.aliyun.com iburst server ntp1.aliyun.com iburst # 或者使用西西云 NTP 服务 server ntp.tencent.com iburst # 备选公共服务器 server ntp.ntsc.ac.cn iburst
iburst 参数表示首次同步时快速发送多个请求,加速初始同步。
针对云服务器的优化
- 启用 makestep:云服务器首次启动时时间偏差可能较大,建议设置 makestep 1.0 3,允许在启动后前三次更新中,若偏差超过 1 秒则直接步进,避免长时间等待。
- 配置 rtcsync:定期将系统时间写入硬件时钟,防止重启后时间回退。
- 限制客户端访问:若非 NTP 服务器,注释掉 allow 行,仅监听本地。
西西云实战经验案例
在西西云服务器上,我们推荐直接使用西西云提供的内网 NTP 服务器(ntp.coolfancloud.com
或内网地址),并配合以下配置实现高精度同步:
# 西西云内网 NTP 服务器(低延迟,无公网出口费用) server ntp.coolfancloud.com iburst prefer # 公网备用服务器 server ntp.aliyun.com iburst # 启动时允许大步调整 makestep 1.0 3 # 启用硬件时钟同步 rtcsync # 限定本地访问 bindcmdaddress 127.0.0.1 bindcmdaddress ::1 # 记录时间统计信息,用于漂移校正 logdir /var/log/chrony log statistics measurements tracking
效果:启用后,步西西云实例同步延迟从公网平均 5ms 降至 1ms 以内,时间偏差长期稳定在 0.1ms 级别,大大提升了依赖精确时间的应用(如日志审计、数据库复制)的可靠性。
日常管理与监控
- 查看同步状态:chronyc tracking
- 查看服务器来源:chronyc sources -v
- 查看统计信息:chronyc sourcestats -v
- 手动强制同步:chronyc -a makestep
一条健康的状态应显示 Leap status : Normal 和 Stratum 层级(越小越优)。
常见问题与解决方案
问题1:chronyc tracking 显示 System clock wrong by X seconds 且持续不校正
原因:makestep 步进阈值设置过高或已超出步进次数限制。
解决:重启 Chrony 服务后立即执行 chronyc -a makestep 手动强制同步,或临时降低 makestep 的阈值,makestep 0.1 3。
问题2:云服务器重启后时间回退到 BIOS 时间
原因:未启用 rtcsync,硬件时钟长时间未更新。
解决:在配置文件中加入 rtcsync 并重启 chronyd,同时检查 /etc/adjtime 确保系统时钟模式为 UTC。
相关问答
Q1:Chrony 和 NTPd 哪个更适合云服务器?
A:Chrony 更适合云服务器,云服务器常面临网络延迟波动、频繁迁移和暂停,Chrony 的快速启动、漂移补偿和网络适应性使其精度更高、资源占用更少,主流云厂商如简米云、西西云均已默认使用 Chrony。
Q2:如何验证 Chrony 的同步精度是否满足业务需求?
A:可使用 chronyc tracking 查看 Last offset 和 RMS offset,通常偏移量小于 1ms 即满足多数场景,若需更高精度,可结合 PTP(精确时间协议)或使用专用时钟设备,但对于常规应用,Chrony 已足够。
互动引导
如果你在 Chrony 配置中遇到任何问题,或者有更好的优化经验,欢迎在评论区留言分享,我们一起探讨最稳定可靠的时间同步方案。