Linux时间同步:chrony与ntp配置

闻溪
闻溪
发布时间:2026-09-10| 3人浏览过
原创

理解Linux时间同步与chrony/ntp选择

Linux系统中的时间分为硬件时间(RTC,存储在主板CMOS中)与系统时间(内核维护的软件时钟)。系统启动时,内核会读取硬件时间初始化系统时钟,随后两者独立运行。NTP(网络时间协议)通过UDP 123端口与上游时间服务器交互,利用算法计算网络延迟并校准系统时间,防止时钟漂移。在同步服务选择上,传统ntp(ntpd)采用渐进式调整,适合网络稳定、长期在线的物理服务器;而chrony专为现代环境设计,支持快速初始同步、间歇性网络补偿及虚拟机时间漂移修正,且内存占用更低。目前主流发行版如RHEL/CentOS 8及以上、Ubuntu 20.04+均已将chrony设为默认时间同步方案。实际部署时,应根据服务器运行环境(物理机/虚拟机、网络稳定性)合理选择,避免盲目沿用旧版ntp。

安装并配置chrony与NTP服务

安装与配置需严格区分发行版包管理器。在RHEL/CentOS系中执行`sudo dnf install chrony`,Debian/Ubuntu系执行`sudo apt install chrony`。若需使用传统ntp,则替换包名为`ntp`。配置文件通常位于`/etc/chrony.conf`或`/etc/ntp.conf`。以chrony为例,使用`vi /etc/chrony.conf`编辑,在文件头部添加上游服务器地址,如`server ntp.aliyun.com iburst`与`server cn.pool.ntp.org iburst`,其中`iburst`参数可在网络恢复时加速首次同步。若本机需为内网其他设备提供时间服务,需添加`allow 192.168.1.0/24`放行对应网段。配置完成后,执行`sudo systemctl enable --now chronyd`实现开机自启并立即运行。务必注意:chrony与ntp服务不可同时运行,否则将争夺UDP 123端口并导致时间跳变,启用新服务前需彻底卸载或禁用旧服务。

该节需要什么真实配图:Linux终端中编辑chrony.conf或ntp.conf并配置NTP服务器的实际截图。
Linux终端使用Nano编辑/etc/chrony/chrony.conf,并配置NTP Pool时间源。

启动服务并验证时间同步状态

服务启动后,需通过多维度命令验证同步状态。首先执行`systemctl status chronyd`确认服务处于active (running)状态。核心验证命令为`chronyc sources -v`,输出中`*`表示当前正在同步的主服务器,`+`为候选备用源,`?`表示不可达或同步失败。右侧Stratum列代表时间源层级,0为本地原子钟,1为直连原子钟的服务器,数值越小精度越高。进一步执行`chronyc tracking`可查看详细同步指标,重点关注`System time`(系统时间与NTP时间的偏差)与`Last offset`(最近一次校准偏移量),若偏差在毫秒级且持续稳定,说明同步正常。对于传统ntp,可使用`ntpq -p`查看类似信息,其中`remote`列带`*`号即为同步源。最后通过`timedatectl`核对系统时间与RTC时间是否一致,确保整个时间链路闭环无误。

该节需要什么真实配图:终端展示chronyc sources、chronyc tracking或ntpq -p成功同步结果的真实截图。
终端执行chronyc sources -v,显示NTP源、Stratum、Reach等状态并标出当前最佳同步源。

常见故障、避坑与配置建议

时间同步故障排查需遵循“网络-服务-配置-环境”逻辑。若同步失败,首先检查防火墙是否放行UDP 123端口,使用`sudo firewall-cmd --add-service=ntp --permanent`(firewalld)或`sudo ufw allow 123/udp`(ufw)开放端口。其次验证DNS解析与网络连通性,执行`ping ntp.aliyun.com`确认上游可达。当初始时间偏差超过1000秒时,chrony默认拒绝步进调整,此时可临时执行`chronyd -q 'server ntp.aliyun.com iburst'`强制单次同步,或调整配置添加`makestep 1.0 3`允许前三次大步进。服务冲突是常见隐患,务必通过`systemctl list-units --type=service | grep -E 'chrony|ntp'`排查残留进程。此外,虚拟机环境易受宿主机时间漂移影响,建议关闭VMware Tools或VirtualBox Guest Additions的自动时间同步功能,交由chrony独立接管。最后,时区配置错误会导致显示时间异常,应使用`timedatectl set-timezone Asia/Shanghai`修正,而非直接修改系统时钟。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。