企業網D1Net 3月6日 在日常生活的工作、學習、會議中,我們都會與別人約定時間,在固定的時間做特定的事情,因此準確的時間對于我們非常重要。數據中心涉及多個重要的系統,時間對于數據中心更為重要,而且數據中心對時間精度要求很高,有的系統要求達到毫秒甚至納秒級,一旦時間有誤差就會引起系統運行異常。準確的時間對于數據中心正常運行、事故分析、故障排查都至關重要,所以在數據中心里為保持一致精準的時間,有著不少的時間同步技術。
數據中心里的所有電子設備自己都會有時鐘芯片,所以任何設備都有自己的運行時鐘,通過配置可以讓設備的時間與實際時間即世界標準時間同步開始走。由于不同設備的時鐘芯片精度、運行穩定性不同,就算最開始所有的設備設置的時間都完全一致,走著走著時間就出現了差距,有些設備甚至由于出現故障會失去時間,這就讓整個數據中心很難正常運行。有些軟件系統對時間誤差做了考慮,但基本也是毫秒級、幾秒,如果時間相差的太大將使軟件無法正常工作,尤其是分布式系統、基于虛擬化技術的系統。這種采用電子設備自身時鐘芯片運行的時間,適用于中小型的數據中心,業務對時間不敏感的地方。數據中心設備采用的時鐘芯片類型有很多。比如服務器,主要采用廉價的震蕩電路或石英鐘作為基礎,每天的誤差就可達到數秒,經過一段時間的累積就會出現較大的誤差,網絡設備主要的是采用晶振芯片,相對誤差小些,但也不夠準確。這些芯片實際上并不向外提供我們日常看到的年月日時分秒的時間,而是提供一個震動的頻率,設備軟件還需要根據這個震動頻率來換算成時間,由于軟件計算存在時間延遲,也使得這類時鐘芯片提供的時間精度不高。
為了能夠讓數據中心里的所有設備在同一個時間工作,設備運行時間相對準確,不可能將所有的設備都安裝帶有高精度的時鐘芯片,但我們可以在數據中心里找到一個運行時間最準的設備,然后由這個設備提供時間,其它設備采用這個設備的時間,這樣數據中心的所有設備運行時間都會一致,要實現這樣的功能,就需要NTP(Network Time Protocol)技術,這是一種專用于數據中心的授時技術,精度在50毫秒以下。除此之外,在各行各業也都有時間同步技術,比如GPS授時、SDH傳輸網授時、電話撥號授時、長短波授時等等,時間同步儼然已經成為了一個相對獨立的技術門類。NTP來自于RFC 1350標準,還有Time協議、Daytime協議也是數據中心時間同步技術,但遠沒有NTP使用廣泛。
NTP技術其實非常簡答,首先要在數據中心內選定一臺時間最為準確的設備,用這臺設備做時鐘源,其它所有的設備都采用這臺設備運行的時間。時間按距離時鐘源的等級傳播。按照離時鐘源的遠近將所有設備納入不同的Stratun(層)中。Stratum-1在頂層,直接連接時鐘源,而Stratum-2則從Stratum-1獲取時間,Stratum-3從Stratum-2獲取時間,以此類推,但Stratum層的總數限制在15以內,層數越多的地方時間精度越低,所有設備在邏輯上形成階梯式的架構相互連接。數據中心內除了時鐘源設備,其它都是NTP客戶端,其會向時鐘源發出時間請求,與時鐘源交換時間,這樣客戶端口就能計算出時間的延遲,它的彌補值,并調整與時鐘源同步,最終達到整個數據中心設備時間同步。NTP這種時間同步技術完全依賴數據中心網絡的穩定,如果網絡不穩定,客戶端經常與時鐘源失去聯系,就會導致時間不準。NTP同步對客戶端和時鐘源的時間誤差也有一定要求,如果兩者時間差過大,將無法進行同步。在具體實現上,NTP支持三種模式:對稱模式、客戶/服務器模式、廣播模式。這三種模式分別適用于點到點、點到多點的模式,廣播模式精度最低。
近些年由于數據中心的各項業務對時間的依賴越來越高,對精度的要求也越來越高。NTP協議所能提供的時間精度僅在10MS,這樣的精度無法滿足測量儀器和工業控制所需的準確度,從而IEEE1588V2標準誕生。IEEE1588協議的全稱是“網絡測量和控制系統的精密時鐘同步協議標準”,是通用的提升網絡系統定時同步能力的規范,使分布式通信網絡能夠具有嚴格的定時同步,時間精度可達0.1MS。相比NTP,時間精度提升了100倍,不過目前支持IEEE 1588V2的設備很少,部署成本也很高,所以未能普及應用。
前面提到,要實現全局時間同步,需要精確的時鐘源。若沒有條件,可以選擇一臺時間相對準確的設備作為時鐘源,如果有條件,可以引進一臺專門的授時設備。這個設備可以向外提供準確的時間,并可以通過NTP/IEEE1588V2協議向外界提供時間同步。當然這個授時設備本身的時間也是從外界獲得,比如從GPS地球同步衛星、1PPS秒脈沖、B碼等,這些地方的時間精度最高,通過授時設備轉換,然后就可以向其它設備提供時間同步服務。由于實現難度不大,做授時設備的廠家多如牛毛,很多企業的產品也沒有形成品牌。包括IBM、HP這些服務器廠商也出售一些授時設備,考量一臺授時設備的好壞的標準,首先當然是時間也準確,另外就是運行要非常穩定,一旦授時設備故障,整個數據中心的設備時間都會出現錯亂,因此運行穩定非常重要。
隨著不斷增加的云計算、大數據應用,各種電子郵件系統、文件系統、C/S應用等等,對時間的準確性依賴越來越高,很多文件、程序都會用時間戳來標識其唯一性,若時間不準確,那么程序可能就會出錯,從而引起異常。所以,擁有準確的時間系統對于數據中心非常重要。