在NTP服務器配置過程中,有時發現客戶端明明已經啟動ntpd進程,但為什么ntpd進程在運行幾分鐘后,客戶端時間沒有和HJ210時鐘服務器同步,ntpd進程還僵死了?
NTPD服務自身有多種保護機制,其中一種是客戶端和HJ210時間同步服務器偏差超限保護。當客戶端和HJ210時鐘服務器偏差在1000秒以內,客戶端可以采用緩慢調或者啟動ntp服務和HJ210時鐘服務器同步;當偏差超過1000秒,客戶端開始會假同步,此時客戶端只是檢查客戶端和HJ210時鐘服務器的偏差,實際上并不會同步。當經過5*poll個時間后,客戶端發現偏差超限,將會使ntpd進程僵死,以保護自身時間不被修改。
所以在配置ntp的時候,要先用命令求出客戶端和HJ210時鐘服務器的偏差。根據偏差結果看采用何種配置和HJ210時鐘服務器同步。
二、客戶端常見求偏差的命令
2.1ntpdate命令求偏差
命令格式:ntpdate–d xxx.xxxx.xxx.xxx
說明:最后一行顯示的offset值335.809185 sec為系統與NTP服務器的時間偏差值。即本機時間+offset=服務器時間,此表示客戶端時間慢于HJ210時鐘服務器。
此命令在執行時注意-d參數,如果沒有-d參數會使客戶端和HJ210時鐘服務器直接同步,請操作時注意。
2.2sntp命令求偏差
命令格式:sntpxxx.xxxx.xxx.xxx
此偏差為快與服務器28618.307136秒。
實際上此命令是調用sntp服務和HJ210時鐘服務器求取的偏差,ntpdate命令調用的ntp的算法,實際上ntpdate是發送4次數據查詢,然后調用ntp的算法求出的偏差值,此值比ntpq–p參數顯示的offset值更準確。
2.3clockdiff命令求偏差
[root@localhost ~]# clockdiff -o 192.168.5.21.
host=192.168.5.21 rtt=750(187)ms/0ms delta=-282069ms/-282069ms Fri Jan 15 10:32:58 2016
此偏差為快與服務器28618.307136秒,
此命令是調用ip報文的首部和ICMP報文的首部的時間戳數據,來測算目的主機和本地主機的系統時間差。此命令有時不生效,因路由忽略ICMP或IP時間戳。
此命令有兩個參數:
-o:使用IP時間戳選項來測量系統時間差。時間戳只用3個。
-o1:使用IP時間戳選項來測量系統時間差。用4個時間戳。如果-o和-o1都沒有設置,那么就是用ICMP時間戳來測試系統時間差。
2.4window設備求偏差
通過w32tm /stripchart /computer:10.48.3.182來顯示客戶端和HJ210時鐘服務器的偏差值。O后面的是現實的偏差值。
命令發展
一般來說NTP服務器是系統的基礎服務器,一般客戶端在出廠時已經預裝。一般來說建議優先使用ntpdate命令求偏差,如何ntpdate命令沒有,可以使用sntp命令。不過一些系統將這兩個命令都裁減,比如suse系統。rhel6以上版本使用chrony服務代替ntpd服務,故NTP的命令也就沒有了。
掃一掃咨詢微信客服