Ntp

配置 NTP 後的時間漂移

  • December 26, 2018

這是一個XenServer 7.1 CU1主機。NTP 的行為應該與任何其他Linux distro. 我們已經配置/etc/ntp.conf了以下伺服器(已經嘗試了其他具有類似結果的伺服器,並且這些伺服器在另一個環境中工作:

server 0.north-america.pool.ntp.org
server 1.north-america.pool.ntp.org
server 2.north-america.pool.ntp.org
server 3.north-america.pool.ntp.org

重新啟動服務後,我們檢查統計資訊:

[root@c0101 ~]# ntpq -p
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
*tock.usshc.com  .GPS.            1 u   56   64    1   32.936   36.036   0.000
www.tripout.tec 128.233.154.245  2 u   56   64    1   82.397   46.653   0.000
+t2.time.bf1.yah 98.139.133.62    2 u   57   64    1   17.589   26.316   0.000
mirrors.switch. 206.108.0.134    2 u   55   64    1   63.777   57.423   0.000

從這裡,我可以看到tock.usshc.com已選擇(有 * 星號),輪詢時間為 62 秒,由於源錯誤,這是最小值,偏移量很高(因為我在不同環境中檢查了伺服器,它只顯示 -0.81 ),抖動為 0,這看起來很奇怪,因為在所有情況下我都看到了至少一個低數字,例如0.1延遲看起來很正常。

大約十分鐘後,由於“不良來源”,沒有伺服器選擇(沒有 * 符號),偏移和抖動看起來也很糟糕:

[root@c0101 ~]# ntpq -c peers
    remote           refid      st t when poll reach   delay   offset  jitter
==============================================================================
tock.usshc.com  .GPS.            1 u   52   64  205   32.952  6021.94 4422.72
www.tripout.tec 128.233.154.245  2 u   64   64  377   82.473  5880.01 3724.85
t2.time.bf1.yah 98.139.133.62    2 u    3   64  377   17.812  6647.80 3704.53
mirrors.switch. 206.108.0.134    2 u    1   64  377   63.746  6678.59 3723.43

這是 ntp 日誌,我很難理解。

[root@c0101 ~]# cat /var/log/ntp.log
14 Sep 12:01:20 ntpd[3914]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
14 Sep 12:01:20 ntpd[3914]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen and drop on 1 v6wildcard :: UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen normally on 2 lo 127.0.0.1 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listen normally on 3 xapi1 10.131.250.22 UDP 123
14 Sep 12:01:20 ntpd[3914]: Listening on routing socket on fd #20 for interface updates
14 Sep 12:01:20 ntpd[3914]: 0.0.0.0 c016 06 restart
14 Sep 12:01:20 ntpd[3914]: 0.0.0.0 c012 02 freq_set kernel 500.000 PPM
14 Sep 12:01:21 ntpd[3914]: 0.0.0.0 c61c 0c clock_step +1014.260362 s
14 Sep 12:18:15 ntpd[3914]: 0.0.0.0 c614 04 freq_mode
14 Sep 12:18:16 ntpd[3914]: 0.0.0.0 c618 08 no_sys_peer
14 Sep 12:19:39 ntpd[3914]: ntpd exiting on signal 15
14 Sep 12:19:39 ntpd[4689]: ntp_io: estimated max descriptors: 1024, initial socket boundary: 16
14 Sep 12:19:39 ntpd[4689]: Listen and drop on 0 v4wildcard 0.0.0.0 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen and drop on 1 v6wildcard :: UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen normally on 2 lo 127.0.0.1 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listen normally on 3 xapi1 10.131.250.22 UDP 123
14 Sep 12:19:39 ntpd[4689]: Listening on routing socket on fd #20 for interface updates
14 Sep 12:19:39 ntpd[4689]: 0.0.0.0 c016 06 restart
14 Sep 12:19:39 ntpd[4689]: 0.0.0.0 c012 02 freq_set kernel 500.000 PPM
14 Sep 12:19:40 ntpd[4689]: 0.0.0.0 c61c 0c clock_step +1.067923 s
14 Sep 12:19:41 ntpd[4689]: 0.0.0.0 c614 04 freq_mode
14 Sep 12:19:42 ntpd[4689]: 0.0.0.0 c618 08 no_sys_peer
14 Sep 12:22:58 ntpd[4689]: 0.0.0.0 c628 08 no_sys_peer
14 Sep 12:26:11 ntpd[4689]: 0.0.0.0 c638 08 no_sys_peer

以下是我也試圖理解的其他輸出和其他輸出。ntpq -c as

我一直在使用此連結進行故障排除:http: //support.ntp.org/bin/view/Support/TroubleshootingNTP https://rags.wordpress.com/2011/10/17/how-to-debug-ntp-問題/

我們可以通過將時鐘源更改為 xen(管理程序)而不是 dom0(管理 VM)來解決此問題/opt/xensource/libexec/xen-cmdline --set-dom0 clocksource=xen

另一個更複雜的修復是調整滴答頻率,請參閱此連結

我沒有太多關於原因的資訊,除此之外 NTP 無法調整時鐘,因為由於目前版本中的一些錯誤以及某些戴爾硬體的使用,它漂移得太快。

這是在更新版本中發布修復程序時。

如果這是虛擬機,請確保:

  1. 您已tinker panic 0在 ntp.conf 中設置(**注意:**這必須是 conf 文件的第一行!)。如果時鐘漂移很遠,這將防止 ntpd 跳出。和…
  2. 確保您沒有在轉換模式下執行 (ntpd -x)。擺動模式將嘗試進行逐步調整,而不是逐步調整時鐘。如果時鐘漂移速度快於轉換速率,這可能是 VM 上的問題。

引用自:https://unix.stackexchange.com/questions/469160