yuan-er

导航

 

使用NTP配置时间同步

操作场景

为了保证时间误差在要求范围以内,推荐使用NTP(Network Time Protocol)来自动同步待配置时间同步的服务器节点的系统时间,可参考以下操作步骤进行配置。

操作步骤

通常使用系统自带的NTP服务可以同步时间。如果当前机器环境有稳定可靠的NTP服务器,则选它作为所有服务器的NTP源。

如果没有,则选固定的一台服务器,把它作为NTP源。

  1. 以root用户登录到待配置时间同步的所有服务器节点。
  2. 执行命令ntpq -p,检查是否安装了ntp。

     

    • 如果未回显“command not found”,则表示已经安装了ntp。继续执行后续步骤。
    • 如果回显“command not found”,则表示当前未安装ntp,执行以下命令进行安装。
      • 如果软件包管理器为yum源,则执行以下命令,进行安装。

        yum install ntp ntpdate -y

      • 如果软件包管理器为zypper源,则执行以下命令,进行安装。

        zypper install ntp

        如果回显“Choose from above solutions by number or cancel [1/2/3/c] (c):”,键入包含“install xx (with vendor change)”显示的Solution数字即可。

        如果回显“Continue? [y/n/...? shows all options] (y):”,键入“y”即可。

     

  3. 配置ntp.conf文件,配置前做好备份。

     

    【NTP服务器的搭建】

    在NTP服务端/etc/ntp.conf文件的最后,添加如下内容,其中:

    restrict 192.168.0.0 mask 255.255.0.0中:192.168.0.0需要替换为所配置NTP服务端IP地址对应的网段。

    [root@* /]# vi /etc/ntp.conf
    restrict default ignore
    restrict 127.0.0.1
    restrict 192.168.0.0 mask 255.255.0.0
    
    driftfile /var/lib/ntp/drift
    pidfile /var/run/ntpd.pid
    #logfile /var/log/ntp.log
    
    # local clock
    server 127.127.1.0
    fudge 127.127.1.0 stratum 10
     

    【NTP客户端的搭建】

    在NTP客户端/etc/ntp.conf文件的最后,添加如下内容,其中:

    • restrict 192.168.0.0 mask 255.255.0.0中:192.168.0.0需要替换为所配置NTP客户端IP地址对应的网段。
    • server 192.168.*.* iburst minpoll 4 maxpoll 6中:192.168.*.*需要替换为上述所配置的NTP服务端的IP地址。
    • fudge 192.168.*.* stratum 10中:192.168.*.*需要替换为上述所配置的NTP服务端的IP地址。
    [root@* /]# vi /etc/ntp.conf
    restrict default [ignore]
    restrict 127.0.0.1
    restrict 192.168.0.0 mask 255.255.0.0
    
    driftfile /var/lib/ntp/drift
    pidfile /var/run/ntpd.pid
    #logfile /var/log/ntp.log
    
    # local clock
    server 192.168.*.* iburst minpoll 4 maxpoll 6
    fudge 192.168.*.* stratum 10
     

    参数解释:

    • restrict:用于指定IP地址的相关时间同步命令权限。

      restrict [客户端IP] mask [netmask_IP] [parameter]

      其中parameter包括ignore、nomodify、noquery、notrap和notrust等。

      • ignore:默认指拒绝所有类型的NTP同步。
      • nomodify:客户端不能更改服务端的时间参数,但是客户端可以通过服务端进行网络校时。
      • notrust:客户端除非通过认证,否则该客户端来源将被视为不信任子网。
      • noquery:不提供客户端的时间查询:用户端不能使用ntpq,ntpc等命令来查询NTP服务器。
      • notrap:不提供trap远端登录:拒绝为匹配的主机提供模式6控制消息陷阱服务。陷阱服务是ntpdq控制消息协议的子系统,用于远程事件日志记录程序。
    • server:用于指定上层NTP源服务器。

      server [IP or hostname] [prefer]

      如果没有上层NTP源服务器,可以设置为127.127.1.0,即本机作为NTP源服务器。

     

  4. 重启NTP同步服务。

     

    systemctl restart ntpd

    systemctl status ntpd

    执行systemctl restart ntpd,如果出现“Failed to restart ntpd.service: Unit ntpd.service not found.”的回显,请参照如下步骤配置。
    • 执行systemctl list-unit-files --type=service命令,检查服务列表里是否有ntpdate.service服务。
    • 如果有ntpdate.service服务,执行systemctl daemon-reload命令。如果没有ntpdate.service服务,请检查ntp是否安装成功。
    • 重启NTP同步服务。

     

  5. 检查NTP同步状态。

     

    ntpq -p

    回显如下:
    remote          refid       st  t  when  poll reach delay offset jitter
    ========================================================================
    LOCAL(0)        .LOCL.      10  l  589   64   0     0.000 0.000  0.000
    *192.168.*.*  10.10.10.1  2   u  18    64   377   1.591 0.249  0.054
     

    其中:

    • remote:表示使用的NTP服务器。
      • *表示目前选择的NTP服务器。
      • LOCAL表示本机。
      • x表示已不再使用。
      • -表示已不再使用。
      • +良好的优先考虑的。
      • #良好的但未使用的。
    • refid:远程NTP服务器使用的更高一级NTP服务器。INIT表示还在获取。
    • st:远程NTP服务器的Stratum(级别)。
    • when:最后一次同步到现在的时间(默认为秒,h表示小时,d表示天)。
    • poll:同步的频率,单位:秒。
    • delay:从本机到远程NTP服务器的往返时间(单位毫秒)。
    • offset:本机与远程NTP服务器的时间偏移量(单位毫秒)。
    • jitter:本机与远程NTP服务器的时间偏移量平均偏差(单位毫秒)。

     

  6. 最终检查方法。

     

    在客户端与服务端分别使用如下命令查询,如服务端与客户端时间保持一致说明时钟源配置成功。

    date

    回显如下:

    Thu Sep 14 02:03:11 UTC 2023
     

     

  7. (可选)手动同步方法。

     

    如果时间总是有很大误差,可以使用以下命令手动订正时间。这个与自动同步服务是冲突的,需要先停掉NTP服务。

    systemctl stop ntpd

    ntpdate -u 192.168.*.*

    回显如下:

    18 Apr 14:54:20 ntpdate[108001]: adjust time server 192.168.*.* offset -0.000180 sec
     

    如果这个方法有效,则配置到系统的crontab下。

    crontab -e

    回显如下:

    * * * * * root /sbin/ntpdate -u 192.168.*.* 2>&1 1>>/tmp/ntpupdate.log
     

     

 
posted on 2025-04-21 10:15  数据库笔记  阅读(7)  评论(0)    收藏  举报