yuan-er

导航

 

使用NTP配置时间同步

操作场景

为了保证时间误差在30秒以内,推荐使用NTP(Network Time Protocol)来自动同步各主机上的系统时间,使云数据库GaussDB管理平台(TPOPS)各服务器之间的时间保持正确和一致。可参考以下操作步骤进行配置。

操作步骤

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

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

  1. 在每台机器上通过yum包管理器安装NTP。

     

    yum install ntp ntpdate -y

     

  2. 配置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源服务器。

     

  3. 重启NTP同步服务。

     

    systemctl restart ntpd

    systemctl status ntpd

     

  4. 检查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服务器的时间偏移量平均偏差(单位毫秒)。

     

  5. 最终检查方法。

     

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

    date

    回显如下:

    Thu Sep 14 02:03:11 UTC 2023
     
     
    
    

     

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

     

    如果时间总是有很大误差,可以使用以下命令手动订正时间。这个与自动同步服务是冲突的,需要先停掉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 2024-12-25 09:33  数据库笔记  阅读(49)  评论(0)    收藏  举报