美文网首页
时间同步服务 ntp 和 chrony

时间同步服务 ntp 和 chrony

作者: wayyyy | 来源:发表于2024-01-13 18:35 被阅读0次

    NTP 协议

    精确的时间对于网络,应用服务等至关重要,网络时间协议NTP(Network Time Protocol)是TCP/IP协议族里面的一个应用层协议,用来使客户端和服务器之间进行时钟同步,提供高精准度的时间校正。NTP服务器从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC,客户端再从服务器请求和接收时间。NTP基于UDP报文进行传输,使用的UDP端口号为123。

    NTP 时钟层级

    NTP允许客户端从服务器请求和接收时间,而服务器又从权威时钟源(例如原子钟、GPS)接收精确的协调世界时UTC。

    NTP以层级来组织模型结构,层级中的每层被称为Stratum。通常将从权威时钟获得时钟同步的NTP服务器的层数设置为Stratum 1,并将其作为主时间服务器,为网络中其他的设备提供时钟同步。
    而Stratum 2则从Stratum 1获取时间,Stratum 3从Stratum 2获取时间,以此类推。时钟层数的取值范围为1~16,取值越小,时钟准确度越高。层数为1~15的时钟处于同步状态;层数为16的时钟被认为是未同步的,不能使用的。

    image.png
    NTP 原理

    NTP最典型的授时方式是Client/Server方式,如下图所示:

    image.png
    1. 客户端首先向服务端发送一个NTP请求报文,其中包含了该报文离开客户端的时间戳t1
    2. NTP请求报文到达NTP服务器,此时NTP服务器的时刻为t2。当服务端接收到该报文时,NTP服务器处理之后,于t3时刻发出NTP应答报文。该应答报文中携带报文离开NTP客户端时的时间戳t1、到达NTP服务器时的时间戳t2、离开NTP服务器时的时间戳t3;
    3. 客户端在接收到响应报文时,记录报文返回的时间戳t4。

    客户端用上述4个时间戳参数就能够计算出2个关键参数:

    • NTP 报文从客户端到服务器的往返延迟delay
      delay = (t4 -t1) - (t3-t2)

    • 客户端与服务器之间的时间差offset
      t2 = t1 + offset + delay / 2
      t4 = t3 - offset + delay / 2

    可以解得时间差:
    offset = ((t2-t1) + (t3-t4)) / 2

    NTP客户端根据计算得到的offset来调整自己的时钟,实现与NTP服务器的时钟同步。


    NTP Server

    安装
    # yum install ntp -y
    

    NTP Server的主要配置文件为/etc/ntp.conf,日志存放在:/var/log/ntp/ntp.log

    管理命令
    • 查看本机和上层服务器时间同步结果

      # ntpq -p
      
    • 用来追踪某台时间服务器的对应关系

      # 
      

    chrony

    chrony相比于ntp server具有更精确的时间准确性,精度更高,同步时间更快。

    安装

    从 Centos 7.x 开始的最小发行版中都已经预装并开启了 Chrony,如果你的系统没有安装,可以用下面命令进行安装

    # yum install -chrony
    # systemctl start chronyd.service
    # systemctl enable chronyd.service
    

    chrony 有两个核心组件:

    • chronyd
      守护进程,主要用于调整内核中运行的系统是按和时间服务器同步。

    • chronyc
      命令行界面程序,用于查看何种性能监控及修改配置。

    常用命令
    • 显示时间同步源

      # chronyc sources  # -v 可查看详细
      
    • 查看时间同步源的状态

      # chronyc activity  
      
    • 查看当前系统的时间同步源状态信息(例如漂移率和偏移估算过程)

      # chronyc sourcestats
      
    配置文件解析

    chrony 的配置文件放置在:/etc/chrony.conf。


    参考资料
    1、https://info.support.huawei.com/info-finder/encyclopedia/zh/NTP.html
    2、
    3、https://www.cnblogs.com/edisonfish/p/17215427.html

    相关文章

      网友评论

          本文标题:时间同步服务 ntp 和 chrony

          本文链接:https://www.haomeiwen.com/subject/bcxqodtx.html