TencentOS Server 时间与 NTP 同步

如何在 TencentOS Server 3/4 上配置和管理系统时间,包括使用 Chrony 进行 NTP 时间同步。

相关产品
TencentOS Server 产品页,含版本规格、价格与购买入口。

一、Chrony 概述

Chrony 是一款高精度的 NTP(Network Time Protocol)客户端和服务器实现,也是 TencentOS Server 的默认时间同步工具。相比传统的 ntpd,Chrony 具备以下优势:

·更快的初始同步:数分钟内完成同步,而非数小时

·更好的虚拟机支持:能适应不稳定时钟环境(如虚拟机)

·连续平滑校时:通过加快/减慢时钟逐渐校准,避免时间跳变

·间歇网络友好:即使网络不稳定,也能保持较好的同步精度

Chrony 包含两个核心组件:

·chronyd:守护进程,负责与 NTP 服务器同步并调整系统时钟

·chronyc:命令行客户端,用于监控 chronyd 状态并进行配置

二、注意事项

·权限要求:root 权限或具有 sudo 权限的账号

·网络要求:确保可访问 NTP 服务器(内网或公网)

三、安装 Chrony

TencentOS Server 默认已安装 Chrony。如未安装,执行以下命令:

dnf install -y chrony

四、配置 Chrony

Chrony 的默认配置文件为 /etc/chrony.conf,以下介绍常用配置项。

五、配置 NTP 服务器

编辑 /etc/chrony.conf,修改 server 配置项:

vi /etc/chrony.conf

添加腾讯云 NTP 服务器地址(腾讯云镜像已默认配置):

# NTP 服务器(腾讯云内部)server time1.tencentyun.com iburstserver time2.tencentyun.com iburstserver time3.tencentyun.com iburstserver time4.tencentyun.com iburstserver time5.tencentyun.com iburst# 腾讯公网 NTP 服务器server ntp.tencent.com iburstserver ntp1.tencent.com iburstserver ntp2.tencent.com iburstserver ntp3.tencent.com iburst# 公共 NTP 服务器(备用)server cn.pool.ntp.org iburst

六、完整配置示例

# NTP 服务器(腾讯云内部)server time1.tencentyun.com iburstserver time2.tencentyun.com iburstserver time3.tencentyun.com iburstserver time4.tencentyun.com iburstserver time5.tencentyun.com iburst# 腾讯公网 NTP 服务器server ntp.tencent.com iburstserver ntp1.tencent.com iburstserver ntp2.tencent.com iburstserver ntp3.tencent.com iburst# 时钟漂移记录文件driftfile /var/lib/chrony/drift# 允许步进校时(前3次同步若偏差超过1秒则直接跳变)makestep 1.0 3# 将系统时钟写回硬件时钟rtcsync# 从系统时区数据库获取 TAI-UTC 偏移leapsectz right/UTC# 日志目录logdir /var/log/chrony

七、常用配置项说明

参数 说明
server <地址> iburst 指定 NTP 服务器,iburst 加速初次同步(头四次请求间隔缩短为 2 秒)
driftfile <路径> 记录时钟漂移补偿值的文件,默认 /var/lib/chrony/drift
makestep 1.0 3 前3次同步偏差超过1秒时直接步进校时
rtcsync 将系统时钟同步到硬件时钟(RTC)
logdir <路径> 日志目录,默认 /var/log/chrony

八、启动和管理 Chrony 服务

# 启动 chronyd 服务systemctl start chronyd# 设置开机自启动systemctl enable chronyd# 查看服务状态systemctl status chronyd# 重启服务(修改配置后)systemctl restart chronyd

九、查看同步状态

chronyc tracking

输出示例:

Reference ID : A9FE0050 (169.254.0.80)Stratum : 3Ref time (UTC) : Fri Aug 21 07:08:58 2026System time : 0.000010930 seconds fast of NTP timeLast offset : +0.000018760 secondsRMS offset : 0.000018760 secondsFrequency : 23.578 ppm slowResidual freq : -1.007 ppmSkew : 39.788 ppmRoot delay : 0.001493059 secondsRoot dispersion : 0.031474017 secondsUpdate interval : 2.0 secondsLeap status : Normal

关键字段说明:

·System time:系统时钟与 NTP 时钟的偏差

·Last offset:上次同步的偏差量

·Update interval:最近两次同步的时间间隔

·Leap status:Normal 表示正常同步

十、查看 NTP 源列表

chronyc sources -v

输出示例:

MS Name/IP address Stratum Poll Reach LastRx Last sample ===============================================================================^+ 169.254.0.79 2 6 77 11 +635us[ +635us] +/- 42ms^+ 169.254.0.80 2 6 77 11 +649us[ +649us] +/- 43ms^+ 169.254.0.81 2 6 77 12 +440us[ +440us] +/- 30ms^+ 169.254.0.82 2 6 77 11 +515us[ +515us] +/- 37ms^* 169.254.0.83 2 6 77 13 +640us[ +879us] +/- 42ms

输出中的状态标记含义:

标记 含义
* 当前正在使用的同步源
+ 已选中的备用源
– 已排除(不参与当前同步)
? 无法联系的源

十一、查看 NTP 服务器统计信息

chronyc sourcestats -v

十二、查看在线/离线源数量

chronyc activity

输出示例:

200 OK10 sources online0 sources offline0 sources doing burst (return to online)0 sources doing burst (return to offline)0 sources with unknown address

十三、立即强制同步时钟

注意:警告:

注意:立即步进同步会造成时间跳变,在生产环境中请谨慎使用。

chronyc makestep

十四、查看 chronyd 日志

journalctl -u chronyd

十五、配置系统时区

·查看当前时区和时间信息:

timedatectl

输出示例:

Local time: 五 2026-08-21 15:14:24 CST Universal time: 五 2026-08-21 07:14:24 UTC RTC time: 五 2026-08-21 07:14:24 Time zone: Asia/Shanghai (CST, +0800)System clock synchronized: yes NTP service: active RTC in local TZ: no

·查看所有可用时区:

timedatectl list-timezones | grep Asia

·设置时区为北京时间(东八区):

timedatectl set-timezone Asia/Shanghai

·确认 NTP 同步已启用:

timedatectl set-ntp true

十六、验证

# 1. 确认 chronyd 运行正常systemctl is-active chronyd# 2. 确认已与 NTP 服务器同步(System time 应小于 1 秒)chronyc tracking | grep "System time"# 3. 确认时区正确date

十七、常见问题

问题: chronyc tracking 显示 "Not synchronised"

原因:chronyd 尚未完成初次同步,或无法连接 NTP 服务器。

处理方案:排查网络问题

# 查看 chronyd 日志排查网络问题journalctl -u chronyd -n 50# 测试 NTP 服务器连通性ping -c 4 time1.tencentyun.com# 检查防火墙是否放行 UDP 123 端口firewall-cmd –list-all | grep ntp

如需放行 NTP 服务,执行以下命令:

firewall-cmd –permanent –add-service=ntpfirewall-cmd –reload

问题:系统时间与实际时间偏差较大

处理方案:排查偏差量,并立即同步

# 立即强制同步(谨慎在有强一致性要求的系统上操作)chronyc makestep# 查看偏差量chronyc tracking | grep offset

问题:虚拟机时间经常不准确

处理方案:在 /etc/chrony.conf 中将 makestep 参数调整为不限次数步进:

# 只要偏差超过 1 秒就步进校时(不限次数)makestep 1.0 -1

赞 (0)
上一篇 4天前
下一篇 4天前