國產麒麟系統下基於衛星的NTP網路時間伺服器方案
國產麒麟系統下基於衛星的NTP網路時間伺服器方案
國產麒麟系統下基於衛星的NTP網路時間伺服器方案
京準電子科技官微——ahjzsz
1、 麒麟系統NTP授時方案
設計思路:
在通用的麒麟伺服器內部固定一塊北斗衛星接收模組並引出衛星天線介面,衛星模組接收北斗衛星資料並解碼輸出時間資料(NMEA0183串列埠資料),並將時間資料輸入到系統主機板的串列埠上;麒麟系統串列埠接收時間資料解碼時間資訊並同步麒麟系統時間,確保麒麟系統的時間與準確。為了實現麒麟系統的NTP授時服務,需要在系統內執行NTPD授時程式。
重點:
(1)內建北斗衛星接收模組;
(2)串列埠輸入到麒麟作業系統
(3)麒麟作業系統的時間同步
(4)麒麟系統的NTP授時服務
2、網路拓撲圖
在中心機房配置1臺麒麟系統NTP伺服器,麒麟NTP伺服器直接獲取北斗衛星時間資料實現本地系統的時間同步,通過NTP網路時間同步協議對外提供授時服務。系統內的辦公裝置、堡壘機、防火牆、虛擬化叢集、容災備份系統、儲存伺服器及其他終端裝置通過NTP時間協議同步到麒麟NTP伺服器。麒麟NTP伺服器和北斗衛星直接同步,這就保證了整個系統的時間準確、穩定和可靠性。
在實際的專案使用中,推薦使用2臺或3臺NTP伺服器,在NTP客戶端配置多個NTP伺服器IP地址,NTP實時訪問各個NTP伺服器,通過內部時間同步演算法自動切換時間基準,任何一臺NTP伺服器故障不影響NTP客戶端的時間同步,這種做法可以規避單點故障。
3、網路時間同步策略
NTP C/S授時原理
網路時延:
delay=(T4-T2)+(T3-T1)
客戶端計算機時間偏差:
offset = ((T3-T1)-(T4-T2) )/2
客戶機修正時間為T+offset
(Device A為客戶端,Device B為NTP伺服器)
Device A傳送一個NTP報文給Device B,該報文帶有它離開Device A時的時間戳,該時間戳為10:00:00am(T1)。
當此NTP報文到達Device B時,Device B加上自己的時間戳,該時間戳為11:00:01am(T2)。
當此NTP報文離開Device B時,Device B再加上自己的時間戳,該時間戳為11:00:02am(T3)。
當Device A接收到該響應報文時,Device A的本地時間為10:00:03am(T4)。
至此,Device A已經擁有足夠的資訊來計算兩個重要的引數:
NTP報文的往返時延Delay=(T4-T1)-(T3-T2)=2秒。
Device A相對Device B的時間差offset=((T2-T1)+(T3-T4))/2=1小時。
4、客戶端配置
大部分伺服器在出廠時都安裝了NTP協議,在NTP實施時只需將NTP源指向現有NTP服務即可。
AIX、Solaris、HP-UNIX等UNIX 和Linux系統使用系統自帶的NTP服務。在原有配置檔案(/etc/ntp.conf),增加如下語句,重新啟動NTP程序即可。
server 主時鐘IP minpoll 4 maxpoll 4 prefer
server 備時鐘IP minpoll 4 maxpoll 4
server 備時鐘IP minpoll 4 maxpoll 4
tinker step 0 #linux使用
其中, Linux使用tinker step 0配置緩慢調整,Aix使用slewalways yes配置緩慢調整,緩慢調整可規避閏秒時間調整對系統產生的影響。
備註:麒麟系統需包含串列埠的相關驅動程式!