一、文档信息
| 项目 | 内容 |
|---|---|
| 适用系统 | RHEL/CentOS 7.9 |
| 服务名称 | chronyd |
| 端口 | UDP 123 |
| 配置文件 | /etc/chrony.conf |
二、时间同步检查流程
2.1 快速状态检查
# 1. 检查系统时间同步状态
timedatectl期望输出:
System clock synchronized: yesNTP service: active
# 2. 检查 chrony 服务状态
systemctl status chronyd期望输出:
Active: active (running)
2.2 详细 NTP 源检查
# 1. 查看 NTP 服务器源状态
chronyc sources -v状态符号说明:
^*= 当前最佳源(系统正在使用)^+= 良好备用源^-= 被排除的源^?= 源不可达或不可用^x= 被认为错误的源^~= 时间波动太大
# 2. 查看时间同步详情
chronyc tracking关键指标:
- Stratum:层级(1–15,越小越准确)
- System time:与 NTP 时间的偏差
- Leap status:Normal(正常)
2.3 网络连通性检查
# 测试内部 NTP 服务器连通性
ping -c 3 10.113.128.1
# 测试外部 NTP 服务器连通性
ping -c 3 ntp.aliyun.com三、Chrony 服务管理
3.1 服务启停
# 启动 chrony 服务
systemctl start chronyd
# 停止 chrony 服务
systemctl stop chronyd
# 重启 chrony 服务
systemctl restart chronyd
# 重新加载配置(不重启服务)
systemctl reload chronyd
# 设置开机自启
systemctl enable chronyd
# 删除开机自启
systemctl disable chronyd3.2 服务状态检查
# 查看服务状态
systemctl status chronyd
# 查看服务日志(实时)
journalctl -u chronyd -f
# 查看最近 50 行日志
journalctl -u chronyd --no-pager | tail -50四、Chrony 配置管理
4.1 标准配置文件(/etc/chrony.conf)
# 内部 NTP 服务器(主)
server 10.113.128.1 iburst
# 外部公共 NTP 服务器(备用)
server ntp.aliyun.com iburst
server ntp1.tencent.com iburst
server cn.pool.ntp.org iburst参数说明:
iburst:加速初始同步minpoll 6:最短轮询间隔 64 秒(2⁶)maxpoll 10:最长轮询间隔 1024 秒(2¹⁰)prefer:标记为首选服务器noselect:监控但不使用该源
4.2 配置文件修改流程
# 1. 备份原配置
cp /etc/chrony.conf /etc/chrony.conf.bak_$(date +%Y%m%d)
# 2. 编辑配置文件
vi /etc/chrony.conf
# 3. 检查配置文件语法(部分版本支持)
chronyc -c reload sources
# 4. 重新加载或重启服务
systemctl restart chronyd
# 或
systemctl reload chronyd4.3 紧急手动时间设置
# 查看当前时间
date
# 手动设置时间(格式:YYYY-MM-DD HH:MM:SS)
timedatectl set-time "2025-12-06 10:30:00"五、故障排查流程
5.1 常见问题及解决方案
| 问题现象 | 可能原因 | 解决方案 |
|---|---|---|
| System clock synchronized: no | 1. chronyd 未运行 2. 无 NTP 服务器配置 3. 网络不通 | 1. systemctl start chronyd2. 编辑 /etc/chrony.conf3. 检查网络 / DNS |
| chronyc sources 显示 ^? | NTP 服务器不可达 | 1. 检查网络连通性 2. 检查防火墙 3. 更换 NTP 服务器 |
| 时间偏差很大 | 初始时间设置错误 | 1. 手动设置近似时间 |
| 服务启动失败 | 配置文件语法错误 | 1. 检查配置文件 2. 查看日志 journalctl -u chronyd |
| 层级(Stratum)过高 | 时间源质量差 | 1. 添加更多 NTP 服务器 2. 设置 prefer 标记优选服务器 |
5.2 防火墙配置
# 检查防火墙状态
systemctl status firewalld
firewall-cmd --state
# 放行 NTP 服务(UDP 123)
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
# 验证规则
firewall-cmd --list-services | grep ntp5.3 DNS 配置检查
# 检查 DNS 解析
nslookup ntp.aliyun.com
nslookup 10.113.128.1
# 临时设置 DNS
echo "nameserver 114.114.114.114" >> /etc/resolv.conf
echo "nameserver 8.8.8.8" >> /etc/resolv.conf六、监控与维护
6.1 日常监控命令
# 监控时间同步状态(每 10 秒刷新)
watch -n 10 'chronyc sources -v; echo "---"; chronyc tracking'
# 查看时间偏差趋势
chronyc sourcestats6.2 日志检查
# 实时查看日志
journalctl -u chronyd -f
# 查看错误日志
journalctl -u chronyd -p err
# 查看最近 100 行日志
journalctl -u chronyd -n 1006.3 性能指标
| 指标 | 正常范围 | 检查命令 |
|---|---|---|
| 时间偏差 | < 100ms | chronyc tracking |
| 层级(Stratum) | 2–5 | chronyc tracking |
| 服务器可达性 | 377(八进制) | chronyc sources |
| 轮询间隔 | 64–1024 秒 | chronyc sources |
七、应急恢复流程
7.1 Chrony 完全故障恢复
# 1. 停止服务
systemctl stop chronyd
# 2. 备份并重置配置
cp /etc/chrony.conf /etc/chrony.conf.bak
cat > /etc/chrony.conf << EOF
server 10.113.128.1 iburst
server ntp.aliyun.com iburst
server ntp1.tencent.com iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
keyfile /etc/chrony.keys
leapsectz right/UTC
logdir /var/log/chrony
local stratum 10
EOF
# 3. 清除状态文件
rm -f /var/lib/chrony/*
# 4. 启动服务
systemctl start chronyd
# 5. 强制同步
chronyc -a makestep7.2 时间严重偏差恢复
# 1. 停止 chrony
systemctl stop chronyd
# 2. 使用 ntpdate 手动同步
ntpdate -u 10.113.128.1
# 3. 启动 chrony
systemctl start chronyd
# 4. 检查状态
chronyc sources -v八、附录
8.1 常用命令速查表
| 命令 | 功能 | 示例 |
|---|---|---|
timedatectl | 查看时间状态 | timedatectl |
chronyc sources | 查看 NTP 源 | chronyc sources -v |
chronyc tracking | 查看同步详情 | chronyc tracking |
chronyc activity | 查看活动状态 | chronyc activity |
chronyc ntpdata | 查看 NTP 数据 | chronyc ntpdata |
systemctl status chronyd | 服务状态 | systemctl status chronyd |
journalctl -u chronyd | 查看日志 | journalctl -u chronyd -f |
8.2 国内推荐 NTP 服务器
# 阿里云
ntp.aliyun.com
ntp1.aliyun.com
ntp2.aliyun.com
# 腾讯云
ntp1.tencent.com
ntp2.tencent.com
time1.cloud.tencent.com
# 国内公共 NTP 池
cn.pool.ntp.org
# 教育网
ntp.tuna.tsinghua.edu.cn
s1a.time.edu.cn8.3 配置验证清单
- [ ] chronyd 服务状态为
active (running) - [ ]
timedatectl显示System clock synchronized: yes - [ ]
chronyc sources至少有一个^*源 - [ ]
chronyc tracking显示Leap status: Normal - [ ] 时间偏差小于 100ms
- [ ] 防火墙已放行 UDP 123 端口
- [ ] DNS 可解析 NTP 服务器域名
- [ ] 日志无错误信息
评论