centos 7默认使用chronyd而非ntpd,因此必须修改/etc/chrony.conf而非/etc/ntp.conf;注释默认server行并添加如ntp.aliyun.com等国内源,配合iburst参数提升同步速度,通过chronyc reload sources热重载配置,避免restart中断服务,并启用hwclock同步确保重启后时间准确。

直接改 /etc/chrony.conf 里的 server 行,注释掉默认的,换上国内可用源——这是最稳妥、最符合 CentOS 7 默认机制的做法。
为什么不能只改 /etc/ntp.conf?
CentOS 7 默认用 chronyd,不是 ntpd。即使你装了 ntp 包,ntpd 和 chronyd 会冲突;系统启动时只会拉起一个,且 chronyd 优先级更高。若你修改了 /etc/ntp.conf 却没停 chronyd,配置完全不生效。
-
chronyd读的是/etc/chrony.conf,和ntp相关配置文件互不干扰 - 运行
systemctl list-unit-files | grep time可确认当前启用的是chronyd.service - 执行
ps aux | grep chronyd或ss -uln | grep :123能验证哪个服务真正在监听 NTP 端口
怎么安全替换服务器池?
编辑 /etc/chrony.conf,重点处理 server 指令行:
CentOS Linux 7.9.2009是传统CentOS Linux 7的最后主要版本,也是很多企业历史服务器中仍可能遇到的系统版本。它以稳定、兼容RHEL 7生态、文档丰富和软件支持广泛著称,曾长期用于Web服务、数据库、虚拟化节点和企业内部业务系统。不过CentOS Linux 7已于2024年6月30日停止维护,现在继续使用会面临安全补丁缺失风险。该版本更适合旧业务迁移、历史环境恢复或离
- 把默认的
server 0.centos.pool.ntp.org iburst这类四行全用#注释掉 - 添加国内稳定源(推荐至少两个,避免单点失效):
server ntp.aliyun.com iburstserver ntp1.tencent.com iburst -
iburst必须保留——它让 chrony 在首次同步时发 8 个包,大幅缩短收敛时间 - 不要加
prefer:chrony 不支持该参数,加了会导致chronyd启动失败(日志报Syntax error)
改完必须 reload,不是 restart
配置更新后,别用 systemctl restart chronyd——这会中断时间同步几秒,可能触发应用层告警。正确做法是热重载:
-
sudo chronyc reload sources:立即加载新 server 列表,不中断服务 - 再跑
chronyc sources -v确认新源已出现在列表中,状态为^*(当前选定源)或^+(备用源) - 如果看到
NOPE或延迟显示-,说明该源不可达,需检查防火墙(UDP 123 端口)或 DNS 解析是否正常
容易被忽略的硬件时钟同步
chrony 默认只调系统时钟,但断电重启后系统时钟会丢,靠硬件时钟(RTC)恢复。若 RTC 本身不准,每次开机都偏移。
- 确保启用了
hwclock同步:检查/etc/sysconfig/chronyd是否含HARDWARECLOCK=utc(CentOS 7 默认就是) - 手动同步一次硬件时钟:
sudo hwclock --systohc,避免下次重启回退 - 注意:不要在虚拟机里盲目执行此命令——云厂商通常禁用 RTC 更新,强行写反而导致时间跳变










