美文网首页
centos7搭建NTP服务并实现机器间同步

centos7搭建NTP服务并实现机器间同步

作者: 至爱雅鸿_e631 | 来源:发表于2020-02-18 14:44 被阅读0次

    1.前言

    当管理集群服务器时,各个主机之间的时间统一是很有必要的,某些中间件也强依赖于系统的时间,因此研究了NTP服务的搭建。

    2.安装NTP服务

    2.1机器准备
    机器名称 机器ip
    授时机器 10.0.0.1
    客户端1 10.0.0.2
    客户端2 10.0.0.3
    2.2各个机器安装NTP

    一般机器都是未安装NTP的,所以直接用下面的命令安装
    如果机器无法联网需要离线配置yum源参见 [https://www.jianshu.com/p/857e5e6b5db9](https://www.jianshu.com/p/857e5e6b5db9)

    yum install -y ntp
    
    2.3授时机器配置

    编辑文件 /etc/ntp.conf 将下面的内容直接覆盖原内容记得修改为自己的ip段,或者将源文件备份新建文件

    driftfile /var/lib/ntp/drift
    restrict default kod nomodify notrap nopeer noquery
    restrict -4 default kod nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict -6 ::1
    
    ## 此处为允许10.0.0网段的机器可以访问授时服务
    restrict 10.0.0.0 mask 255.255.255.0 nomodify notr
    
    ## 由于机器禁止连接互联网因此将外部授时注释掉,直接从本地获取时间
    # restrict time1.aliyun.com nomodify notrap noquery
    # restrict ntp1.aliyun.com nomodify notrap noquery
    
    ## 表示从本机同步时间
    server 127.127.1.0
    fudge 127.127.1.0 stratum 8
    includefile /etc/ntp/crypto/pw
    keys /etc/ntp/keys
    

    修改后重启ntp服务 systemctl restart ntpd.service

    2.4客户端机器配置

    直接编辑自动生成的配置文件 vim /ect/ntp.conf,直接将服务端地址更改为授时机器的ip即可

    # Use public servers from the pool.ntp.org project.
    # Please consider joining the pool (http://www.pool.ntp.org/join.html).
    server 10.0.0.1 iburst
    

    修改后重启ntp服务 systemctl restart ntpd.service

    2.5检查配置是否成功

    使用 ntpstat 命令来检查同步是否成功,成功提示如下:

    synchronised to NTP server (10.0.0.1) at stratum 10 
       time correct to within 42 ms
       polling server every 1024 s
    

    同步有一定延迟需要等几分钟,我的方法是重启后如果多次检查仍未同步时间,就再次重启ntp客户端,然后执行检查,一般几十秒内就同步成功了

    2.6其他配置和指令

    server 10.26.12.2 iburst minpoll 4 maxpoll 6
    控制ntp的polling时间间隔,minpoll最小值(下限为4),maxpoll最大值(上线为17),两个值表示为2n次方,即最小是为16s,最大值为36小时。
    watch ntpq -np 查看ntp的运行状态

    image.png
    • remote 表示提供时间来源的服务器地址。

    • refid 表示提供时间来源的服务器的上层时间来源服务器地址。

    • st 表示stratum,即remote的层级。

    • t 表示类型 (u: unicast(单播) 或 manycast(选播) 客户端, b: broadcast(广播) 或 multicast(多播) 客户端, l: 本地时钟, s: 对称节点(用于备份), A: 选播服务器, B: 广播服务器, M: 多播服务器。

    • when 表示最后一次同步距离现在过去了多长时间 (默认单位为秒, “h”表示小时,“d”表示天)。

    • poll 表示同步的频率,根据rfc5905建议在 ntp版本4系列,这个值的范围在 4 (16秒) 至 17 (36小时) 之间(即2的指数次秒)。

    • reach 一个8位的左移移位寄存器值,用来测试能否和服务器连接,每成功连接一次它的值就会增加,以 8 进制显示。

    • delay 表示本地到remote的延迟,即建立通信往返所用的时间,单位是毫秒。

    • offset 表示本地与remote的时间偏移量,offset 越接近于0,本地与remote的时间越接近,单位为毫秒。

    • jitter 表示本地与remote同步的时间源的平均偏差(多个时间样本中的 offset 的偏差,单位是毫秒),这个数值的绝对值越小,主机的时间就越精确。

    3.参考文章

    centos7.6 实现ntp时间同步服务
    ntp的基础知识
    ntp的中级知识
    【NTP】关于ntp配置详解

    相关文章

      网友评论

          本文标题:centos7搭建NTP服务并实现机器间同步

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