信息发布→ 登录 注册 退出

Linux系统时钟同步教程_NTPChrony时间漂移处理

发布时间:2026-01-03

点击量:
Linux系统时间不准需用Chrony或NTP同步,推荐Chrony;检查time、hwclock、timedatectl状态;安装配置国内NTP源;手动chronyc makestep校准;虚拟机优先用宿主机同步,RTC偏差执行hwclock --systohc。

Linux系统时间不准,常见于虚拟机、云服务器或长时间未联网的设备,会导致日志混乱、证书失效、分布式服务异常等问题。解决核心是用NTP或Chrony做时钟同步,Chrony更适应网络不稳定或虚拟化环境,推荐优先使用。

确认当前时间状态和同步服务

先检查系统时间是否准确、是否已启用同步服务:

  • 查看当前时间与硬件时钟:运行 datehwclock --show,对比两者差异是否超过1秒
  • 查同步状态:执行 timedatectl status,关注“System clock synchronized”是否为 yes,“NTP service”是否为 active
  • 识别后端服务:多数新版发行版(如CentOS 8+/RHEL 8+/Ubuntu 20.04+)默认用 chronyd;老系统可能用 ntpd。可用 ps aux | grep -E "(chronyd|ntpd)" 确认

安装并启用Chrony(推荐方案)

若系统未预装Chrony,先安装并配置可靠上游时间源:

  • 安装sudo apt install chrony(Debian/Ubuntu)或 sudo yum install chrony(RHEL/CentOS 7)或 sudo dnf install chrony(RHEL/CentOS 8+)
  • 编辑配置sudo nano /etc/chrony.conf,注释掉默认 pool 行,添加国内可信源(例如):
    server ntp.aliyun.com iburst
    server ntp1.aliyun.com iburst
    server cn.pool.ntp.org iburst

    iburst 可加速初始同步
  • 重启并启用服务sudo systemctl restart chronyd && sudo systemctl enable chronyd

手动强制同步与验证效果

安装配置后,可立即触发一次校准,并持续观察稳定性:

  • 手动同步(仅限chrony):sudo chronyc makestep —— 强制将系统时间一步调准(跳变允许,适用于偏差>3秒)
  • 查看同步状态chronyc tracking 查看偏移(Offset)、估计误差(Skew)、同步源;chronyc sources -v 查看所有NTP服务器连接详情
  • 长期监控建议:运行 watch -n 10 'chronyc tracking' 每10秒刷新一次,观察Offset是否稳定在±50ms内

处理严重时间漂移与特殊场景

若系统时间偏差极大(如数小时以上),或运行在KVM/Xen/VMware等虚拟环境中,需额外注意:

  • 虚拟机慎用系统时钟同步:宿主机可能通过 hypervisor 向客户机注入时间(如VMware Tools或QEMU guest agent),此时应禁用chrony/ntpd,改用宿主机时间同步机制,避免冲突
  • 硬件时钟(RTC)校准:若每次重启时间都严重偏移,说明硬件时钟不准,同步后执行 sudo hwclock --systohc 将系统时间写入硬件时钟
  • 禁止时间跳跃的场景(如数据库、金融交易系统):用 makestep 1 -1 配置chrony.conf,让chronyd只对≤1秒偏差做渐进调整,更大偏差则不自动修正,需人工干预
标签:# 数据库  # 时应  # 只对  # 仅限  # 不稳定  # 适用于  # 长时间  # 更大  # 机时  # 国内  # 重启  # 云服务器  # 虚拟化  # debian  # linux  # date  # 分布式  # 虚拟环境  # linux系统  # 金融  # dnf  # 后端  # ubuntu  # vmware  # 虚拟机  # 云服务  # centos  
在线客服
服务热线

服务热线

4008888355

微信咨询
二维码
返回顶部
×二维码

截屏,微信识别二维码

打开微信

微信号已复制,请打开微信添加咨询详情!