NTP/NTPD-时间同步服务

本文详细介绍了NTP服务(ntpd和ntpdate)的工作原理、区别,以及在Linux系统中排查NTP不同步问题的步骤,包括检查服务状态、配置文件、网络连接、防火墙设置和时间同步状态等。

NTP/NTPD

1、简介

1.1、ntpd

ntpd服务,拥有cs二合一性质,在本地对上级就是c端,对下级就是s端。新版的ntp不再对ntp cs端做区分了,只有ntpd端。配置文件在/etc/ntp.conf文件中

# /etc/ntp.conf内,restrict部分为server配置,server部分为client配置
主动更新时间由每64s更新一次,到最高1024s更新一次#这两可以通过 minpoll和maxpoll 字段进行配置

ntpd并不能在任何情况下保持同步。当上级服务器时间与本地差距大于1000s,本地ntp服务会判断为硬件有问题(bios的cmos电池有问题,这个是最常见的)从而停止服务,这时需要人工使用ntpdate 进行时钟同步

1.2、ntpdate

ntpdate只是一个时间同步命令、与ntp同步方式完全不同,只会盲目听信上级ntp服务器。这就非常容易导致,如果上级服务器是错的,那么下级也会跟着错。且相比于ntpd,更加的不安全性。

大部分执行程序是以来连续时钟的(如数据库的事务),即默认时间不会进行跃变,但ntpdate这个命令可以轻易就做到跃变,这会导致程序错误

2、排查步骤

在Linux系统中排查NTP不同步的问题,可以按照以下步骤进行排查:

  1. 检查NTP服务状态:运行命令 systemctl status ntpservice ntp status 查看NTP服务是否正在运行。如果服务未运行,可以使用 systemctl start ntpservice ntp start 启动NTP服务。

  2. 检查NTP配置文件:通常NTP的配置文件位于 /etc/ntp.conf。可以使用编辑器打开该文件,并检查以下几个关键配置项:

    • server 配置项:确认配置了正确的NTP服务器地址。
    • restrict 配置项:确保设置了适当的访问限制规则,以防止未授权的访问。
    • driftfile 配置项:检查该文件路径是否正确。
  3. 检查网络连通性:确保Linux系统能够正常连接到NTP服务器。可以尝试使用 ping 命令测试网络连通性,如 ping ntp.example.com

  4. 检查防火墙设置:如果系统上运行有防火墙,需要确保防火墙允许NTP流量通过。可以使用 iptablesfirewalld 命令配置防火墙规则,以允许NTP流量通过。

  5. 检查时间同步状态:运行命令 ntpq -p 查看当前系统与NTP服务器之间的时间同步状态。正常情况下,reach 列应显示为 377,表示与服务器的同步良好。

    ntpq -p #用于确认与上级ntp服务器的通讯情况,会按照列表逐个列出具体情况,下面会讲解对应列的字段含义
      remote: 远程使用的上级ntp服务器ip或者主机名,最主要则是最左边的符号
               * 表示目前正在作用的上级ntp服务器
               + 表示作为*的候选上级ntp
               - 表示该服务器不合乎链接规格
               x 表示不可用
      refild: 目前链接的ntp服务器的上级ntp服务器,即以当前服务器为基准上级的上级
      st:     距离最顶层的时钟(ntp服务母节点,参考java的超类)距离,可抽象为到母节点还有几个上级服务器,数值越低越精确
      t:      本地ntp与上级ntp节点的通讯方式#u单播或者广播、b广播、l本地通讯没节点
      when:   与上级ntp最后一次同步时间,一般没有单位,默认s
      poll:   同步频率
      reach:  当前本地ntp与上级ntp成功连接次数,8进制,成功就会增加次数
      delay:  当前本地与上级ntp成功通讯,本地从发起到接收的往返时间(毫秒)
      offset: 当前本地到上级ntp时间偏移量,最小值为0,这个越低越准确。 负数表示快了,正数表示慢了
      jitter: 当前本地到上级ntp平均时间偏移量,最小值为0,这个越低越准确。
    
  6. 重启NTP服务:如果以上步骤都没有解决问题,可以尝试重启NTP服务,运行命令 systemctl restart ntpservice ntp restart

  7. 如以上都没有解决,需要抓取网络包进一步分析

    1、网络包首先排查ntp是否发送报文
    2、其次接收端是否处理
    3、之后依照发送到处理的这段时间是多少,默认情况下ntpd主动更新时间间隔是64s-1024s左右
    

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值