当前位置: 首页 > news >正文

准确--CentOS 7 配置 Chrony 同步阿里云 NTP 时间服务器及手动同步指南

本文档介绍如何在 CentOS 7 系统上配置 chrony 服务,使其与阿里云 NTP 时间服务器保持时间同步,并说明如何在需要时手动触发一次立即同步。

前提条件:

  • 拥有一台 CentOS 7 服务器。
  • 拥有 root 权限或可以使用 sudo 命令。
  • 服务器可以访问互联网 (使用公共 NTP 地址) 或阿里云内网 (使用内网 NTP 地址)。

第一部分:配置 Chrony 与阿里云 NTP 服务器同步

  1. 安装 Chrony (如果尚未安装)
    检查 chrony 是否已安装:

    rpm -q chrony
    

    如果未安装,使用 yum 进行安装:

    sudo yum install chrony -y
    
  2. 配置 Chrony 使用阿里云 NTP 服务器

    • 备份原始配置文件 (推荐)

      sudo cp /etc/chrony.conf /etc/chrony.conf.bak
      
    • 编辑配置文件

      sudo vi /etc/chrony.conf
      
    • 修改服务器地址
      找到以 server 开头的行,将它们注释掉(在行首加 #)或删除。然后添加阿里云的 NTP 服务器地址。iburst 选项有助于加快初始同步速度。

      • 选项 A: 使用阿里云公共 NTP 服务器 (适用于任何网络环境)
        # 注释掉或删除默认服务器
        # server 0.centos.pool.ntp.org iburst
        # server 1.centos.pool.ntp.org iburst
        # server 2.centos.pool.ntp.org iburst
        # server 3.centos.pool.ntp.org iburst# 添加阿里云公共 NTP 服务器
        server ntp1.aliyun.com iburst
        server ntp2.aliyun.com iburst
        server ntp3.aliyun.com iburst
        server ntp4.aliyun.com iburst
        server ntp5.aliyun.com iburst
        server ntp6.aliyun.com iburst
        server ntp7.aliyun.com iburst
        
  3. 启动并设置 Chrony 服务开机自启

    • 启动 chronyd 服务
      sudo systemctl start chronyd
      
    • 设置 chronyd 服务开机自启
      sudo systemctl enable chronyd
      
    • 重启 chronyd 服务 (使配置生效)
      如果服务已在运行,修改配置后需重启:
      sudo systemctl restart chronyd
      
  4. 验证同步状态
    等待片刻让 chrony 开始同步,然后检查:

    • 检查服务状态:
      sudo systemctl status chronyd
      
      确保状态为 active (running)
    • 查看同步源:
      chronyc sources -v
      
      观察 S 列,应有 * (主同步源) 或 + (备选源)。Reach 值应逐渐增长至 377Last sample 显示时间偏差。
    • 查看跟踪信息:
      chronyc tracking
      
      查看 Reference ID, Stratum, Last offset 等信息。Last offset 应逐渐趋近于零。
    • 检查系统时间:
      date
      

第二部分:手动立即同步时间

通常 chronyd 会在后台平滑地调整时间(slewing)。但如果初始时间偏差较大(例如几秒钟),或者你希望立即将时间校准,可以手动触发一次时间步进(stepping)。

  • 方法一:使用 chronyc makestep (推荐)
    这是与正在运行的 chronyd 服务交互的标准方法。

    1. 确保 chronyd 正在运行: sudo systemctl status chronyd
    2. 执行命令强制同步:
      sudo chronyc makestep
      
      此命令会指示 chronyd 立即将系统时间调整到它认为正确的最新时间。
    3. 再次验证时间:
      date
      chronyc tracking
      
      Last offset 应非常接近零。
    • 注意: 时间步进会导致系统时间瞬间跳变,可能影响对时间跳变敏感的应用。但对于几秒的调整通常是安全的。
  • 方法二:使用 ntpdate (不推荐,除非 chronyd 无法使用)
    ntpdate 是一个旧工具,会强制设置时间,但不能与 chronyd 同时运行。

    1. 停止 chronyd: sudo systemctl stop chronyd
    2. 使用 ntpdate 同步 (选择一个阿里云服务器):
      sudo ntpdate ntp1.aliyun.com
      # 或内网地址 (如果在ECS上):
      # sudo ntpdate ntp.cloud.aliyuncs.com
      
    3. 重新启动 chronyd: sudo systemctl start chronyd
    • 注意: 此方法中断了 chrony 的连续监控和调整,一般不推荐在已配置 chrony 的系统上使用。

第三部分:防火墙配置 (通常不需要)

  • chrony 作为客户端,通常只需要允许 出站 UDP 端口 123 的流量。
  • CentOS 7 默认的 firewalld 防火墙通常允许所有出站连接,因此一般无需额外配置。
  • 如果你的防火墙策略非常严格,限制了出站流量,请确保允许 chronyd 进程或目标端口为 UDP 123 的出站连接。

相关文章:

  • 代理设计模式:从底层原理到源代码的详细解释
  • opencv图像的梯度处理,边缘检测
  • 基于国产 FPGA+ 龙芯2K1000处理器+翼辉国产操作系统继电保护装置测试装备解决方案
  • 联邦元学习实现个性化物联网的框架
  • 类加载器与jvm的内存
  • 【数学建模】孤立森林算法:异常检测的高效利器
  • 3.1goweb框架gin下
  • 大模型学习笔记------Llama 3模型架构之分组查询注意力(GQA)
  • 轻量级别的htpp客户端--Forest
  • Mysql 读写分离(3)之 schema.xml基本配置
  • Linux系统之----进程的概念
  • 【动手学强化学习】番外8-IPPO应用框架学习与复现
  • [预备知识]4. 概率基础
  • DES、3DES、SM4 加密算法简介
  • 【RuleUtil】适用于全业务场景的规则匹配快速开发工具
  • Post-Processing PropertySource instance详解 和 BeanFactoryPostProcessor详解
  • 信息系统项目管理师_第十三章 项目干系人管理
  • MySQL 双主复制架构入门
  • Sentinel数据S2_SR_HARMONIZED连续云掩膜+中位数合成
  • JDK安装超详细步骤
  • 怎样更加贴近中国消费者,运动品牌给出“本地化”选择
  • 外卖价格、速度哪家强?记者实测美团、饿了么、京东三大平台
  • 如何做大中国拳击产业的蛋糕?这项赛事给出办赛新思考
  • 全国首例!上市公司董监高未履行公开增持承诺,投资者起诉获赔
  • 安徽一交通事故责任认定引质疑:民警和司法鉴定人被处罚,已中止诉讼
  • 2025年两院院士增选工作启动,名额均不超过100名