• ntpdate server时出错原因及解决


    错误1.Server dropped: Strata too high

    在ntp客户端运行ntpdate serverIP,出现no server suitable for synchronization found的错误,如下所示

    zhj@test:~$ sudo ntpdate weblbserver-1
    28 Dec 15:22:33 ntpdate[4444]: no server suitable for synchronization found
    zhj@test:~$

    在ntp客户端用ntpdate –d serverIP查看,参数是-d是指debug模式,它会将ntpdate同步时的一些信息打印出来,而且即使从ntp server那里获取到了国际

    原子时,也不会写入客户端的osclock。可以看到,错误信息中有“stratum 16”。stratum是ntp服务器层级,正常情况下stratum的值为“0~15”。而

    stratum=16是因为NTP server还没有和它的上层NTP server同步上。

    zhj@appserver-1:~$ sudo ntpdate -d weblbserver-1
    28 Dec 15:22:06 ntpdate[4434]: ntpdate 4.2.6p5@1.2349-o Wed Oct  9 19:08:07 UTC 2013 (1)
    Looking for host weblbserver-1 and service ntp
    host found : 192.168.0.7
    transmit(192.168.0.7)
    receive(192.168.0.7)
    transmit(192.168.0.7)
    receive(192.168.0.7)
    transmit(192.168.0.7)
    receive(192.168.0.7)
    transmit(192.168.0.7)
    receive(192.168.0.7)
    192.168.0.7: Server dropped: strata too high
    server 192.168.0.7, port 123
    stratum 16, precision -18, leap 11, trust 000
    refid [192.168.0.7], delay 0.02667, dispersion 0.00003
    transmitted 4, in filter 4
    reference time:    00000000.00000000  Mon, Jan  1 1900  0:00:00.000
    originate timestamp: d84a9ea5.06da4607  Sun, Dec 28 2014 15:22:13.026
    transmit timestamp:  d84a9ea5.07d57eae  Sun, Dec 28 2014 15:22:13.030
    filter delay:  0.02667  0.02675  0.02678  0.02696
             0.00000  0.00000  0.00000  0.00000
    filter offset: -0.00457 -0.00453 -0.00467 -0.00468
             0.000000 0.000000 0.000000 0.000000
    delay 0.02667, dispersion 0.00003
    offset -0.004574
    
    28 Dec 15:22:13 ntpdate[4434]: no server suitable for synchronization found
    zhj@appserver-1:~$

    那我们怎样知道weblbserver-1这个NTP server是否与它的上层NTP server是否同步上了呢?用ntpq -p命令(注:ntpq即ntp query,参数-p是print),

    如下在weblbserver执行ntpq -p

    zhj@weblbserver-1:~$ ntpq -p
         remote           refid      st t when poll reach   delay   offset  jitter
    ==============================================================================
     dns1.synet.edu. 202.118.1.46     2 u  915 1024    1   43.464  -134.79   0.004
     golem.canonical 192.93.2.20      2 u  914 1024    1  433.083  -198.90   0.004
    zhj@weblbserver-1:~$

    这里简单说一下when,poll,reach几个参数,

    when —— 上次同步时间到现在的距离,单位是秒。当然,如果ntp服务是刚启动,还没同步过,那这个参数就是ntp服务启动后到现在的距离

    poll   —— 同步周期,单位为秒

    reach —— 它是八进制数,正常情况下值为[0, 1, 3, 7, 17, 37, 77, 177, 377],对应的二进制为[0, 1, 11, 111, 1111, 11111, 111111, 1111111, 11111111],

                   ntp服务启动后,reach就以poll值为周期与ntp server通信,为了方便理解,我们可以简单的认为每次ping一下上层ntp server,如果成功,那

                   reach就向左移一位,右边补1,如果失败,则右边补0,所以如果reach不是上面给出的枚举值,那就是在通信过程中出错了。当reach 达到17时

                 (对应1111,即最近的四次通信都成功了),那才开始同步时间,这时,remote项对应的域名或IP列表有,其中一个前面会有*号,表示该IP就是

                   NTP server。而在开始同步时间之前,当客户端访问weblbserver-1这个NTP server时,都会出现stratum 16,no server suitable for

                   nchronization found这样的错误。也就是说如果你在NTP server主机上重启了ntp服务,那要等4*poll秒(在前四次通信都是成功的前提下),

                   该NTP server才与上层NTP server开始同步时间,而且只有当开始同步时,该NTP server才能为其它客户端提供NTP服务。因此,你在/etc/ntp.conf

                   中设置的同步周期minpoll maxpoll不能太大,因为每次ntp服务重启后,要等4倍长的时间才能开始同步。 

    错误2.Server dropped: no data

    从客户端执行netdate –d时有错误信息如下:

    transmit(192.168.30.22)
    
    transmit(192.168.30.22)
    
    transmit(192.168.30.22)
    
    transmit(192.168.30.22)
    
    transmit(192.168.30.22)
    
    192.168.30.22: Server dropped: no data
    
    server 192.168.30.22, port 123
    
    
    
    .....
    
    28 Jul 17:42:24 ntpdate[14148]: no server suitable for synchronization found

    出现这个问题的原因可能有2:

    1.  检查ntp的版本,如果你使用的是ntp4.2(包括4.2)之后的版本,在restrict的定义中使用了notrust的话,会导致以上错误。

    使用以下命令检查ntp的版本:

    # ntpq -c version

    下面是来自ntp官方网站的说明:
    The behavior of notrust changed between versions 4.1 and 4.2.

    In 4.1 (and earlier) notrust meant "Don't trust this host/subnet for time".

    In 4.2 (and later) notrust means "Ignore all NTP packets that are not cryptographically authenticated." This forces remote time servers to

    authenticate themselves to your (client) ntpd

    解决办法:把notrust去掉。


    2.  检查ntp server的防火墙。可能是server的防火墙屏蔽了upd 123端口。

       可以用命令 来关掉iptables服务后再尝试从ntp客户端的同步,如果成功,证明是防火墙的问题,需要更改iptables的设置。

    #service iptables stop

    参考:http://www.xiangqian.org/jishucangku/240.html

  • 相关阅读:
    maven 创建web项目出错
    poj1699--Best Sequence(dfs+剪枝)
    HDU-1042-N!(Java大法好 && HDU大数水题)
    “XXX.Index”不扩展类“System.Web.UI.Page”,因此此处不同意的问题
    scala模式匹配
    scala匿名函数
    scala特质
    group by的使用
    liux之我用过的zip解压命令
    liunx之zip格式的解压命令
  • 原文地址:https://www.cnblogs.com/ajianbeyourself/p/4190883.html
Copyright © 2020-2023  润新知