數(shù)據(jù)中心的時間有兩個維度含義,一個是相對時間。比如很多的網(wǎng)絡(luò)設(shè)備要啟用OSPF、ARP、MAC等各種協(xié)議,每種協(xié)議都有各種各樣的定時器,以便實時判斷協(xié)議狀態(tài)是否有變化。OSPF鄰居要通過一定間隔時間收發(fā)Hello報文保持鄰居狀態(tài)為Full,一旦超過三個Hello報文的發(fā)送時間間隔,一個Hello報文也沒有收到,就認為這個鄰居狀態(tài)發(fā)生了變化,鄰居狀態(tài)由Full切換到Init或Down,記錄Hello報文超時的時間定時器要準確,周期性地記錄每個Hello報文的收時間,以便統(tǒng)計準確;另一個是絕對時間,就是北京標準時間,每天我們在新聞聯(lián)播時看到的時間,2000年的千年蟲事件以及2017年元旦全球多一秒事件都說的是這個時間。數(shù)據(jù)中心有很多設(shè)備,這些設(shè)備運行中會產(chǎn)生很多的日志和告警信息,所有的信息都有時間紀錄,只有這個時間準確,才能通過這些時間來進行分析問題。比如數(shù)據(jù)中心發(fā)生了業(yè)務(wù)中斷,我們首先要知道是什么時候中斷的,持續(xù)多長時間,與哪些設(shè)備有關(guān),然后再去查找這個時間點,設(shè)備上留下的相關(guān)紀錄,時間的準確性對于分析業(yè)務(wù)中斷原因非常關(guān)鍵,如果沒有各個設(shè)備的準確運行時間,就無法判斷哪些信息是中斷時報出的,哪些信息與故障有關(guān),故障將很難分析出結(jié)果,所以絕對時間也非常重要。
無論是相對時間,還是絕對時間,對于數(shù)據(jù)中心運行都非常重要,同時也要保證兩個時間的準度,如果精度太差,也會產(chǎn)生不少問題。上面也有介紹,會導(dǎo)致網(wǎng)絡(luò)協(xié)議的各種定時器判斷不準確,發(fā)生故障時無法明確哪些是故障時間報出的,這只是舉個示例,其實還有更多的方面。如果相對時間不準,誤差大,服務(wù)器上的應(yīng)用系統(tǒng)也會出問題,如果要是銀行的存取款業(yè)務(wù)系統(tǒng),每存一筆錢時間都慢慢將誤差拉大,可能到最后,連儲戶上的錢數(shù)數(shù)據(jù)記錄都出現(xiàn)錯誤,甚至出現(xiàn)丟失的情況。如果相對時間不準,二三層轉(zhuǎn)發(fā)網(wǎng)絡(luò),表項老化的時間都不一致,有長有短,導(dǎo)致表項學(xué)習(xí)不穩(wěn)定,流量轉(zhuǎn)發(fā)出現(xiàn)丟包,嚴重的會導(dǎo)致表項無法學(xué)習(xí),造成網(wǎng)絡(luò)中斷;如果是絕對時間不準,數(shù)據(jù)中心所有設(shè)備記錄的信息都是不準確的,各個設(shè)備之間的信息也沒有可對比性,相互之間的影響和作用就無法從時間軸上分得清楚。在一些重要變更和操作時,由于絕對時間的不準確,會導(dǎo)致操作的時機不是最優(yōu)的,在變更和設(shè)備準確上不同步,從而會產(chǎn)生這樣那樣的問題。
既然時間準度對數(shù)據(jù)中心這么重要,那就要提升時間準度了。不過,提升時間準度可不是一件輕松的事兒。首先,對于相對時間,這個和北京時間無關(guān),與個體設(shè)備有關(guān),這個只能靠設(shè)備內(nèi)部的實現(xiàn)來保證。很多網(wǎng)絡(luò)設(shè)備在內(nèi)部會設(shè)定很多定時器,這些定時器專門記錄各種協(xié)議的運行時間,以便判斷協(xié)議的狀態(tài)是否正常,這個時間一般通過CPU的晶振頻率計算獲得。這樣相對時間的準確度和設(shè)備的CPU性能有很大關(guān)系,往往是越高端的設(shè)備采用的CPU晶振頻率越準,當然這類設(shè)備的價格也要高很多。其次,對于絕對時間,為保證數(shù)據(jù)中心內(nèi)部所有設(shè)備的時間一致,可以通過將所有設(shè)備的時間對一遍,盡量做到時間同步,不過每個設(shè)備的時間準度不同,有的設(shè)備運行個一年半載,偏差可能達到數(shù)十秒,而有的設(shè)備偏差卻很小,這樣雖然當初時間都對過,不同設(shè)備的運行時間是一致的,隨著運行時間越來越長,誤差變得越來越大,所以這種方式不可行。更多的數(shù)據(jù)中心是通過設(shè)定一個NTP服務(wù)器,這個服務(wù)器可以是網(wǎng)絡(luò)設(shè)備也可以服務(wù)器,甚至是專用的授時設(shè)備,然后數(shù)據(jù)中心里所有設(shè)備都通過這臺設(shè)備來獲取時間,從而整個數(shù)據(jù)中心里的設(shè)備運行時間是完全一致的。如果采用一般的網(wǎng)絡(luò)設(shè)備做NTP服務(wù)器,運行個幾個月,這些服務(wù)器運行時間與實際時間偏差可能達到數(shù)十秒,雖然這些時間偏差比較大,但仍能保證這些設(shè)備之間的相對時間是一致的,并不妨礙各種工作的開展,包括問題定位。不過,有的時候數(shù)據(jù)中心業(yè)務(wù)對時間要求比較高,這時就需要使用專用的授時設(shè)備做NTP服務(wù)器。授時設(shè)備運行時間誤差小,精度可以達到毫秒甚至微秒級,與北京時間保持完全一致,即使運行時間久了,偏差也在微秒級,這就保證了數(shù)據(jù)中心里所有設(shè)備與實際北京時間完全一致,避免因為時間不準確,導(dǎo)致這樣那樣的問題。除了授時系統(tǒng),還有時間頻率基準,守時用原子鐘,星載原子鐘等技術(shù),采用這些技術(shù)都可以大幅提升數(shù)據(jù)中心的時間準度。
時間準度已經(jīng)成為數(shù)據(jù)中心運行中至關(guān)重要的參量,一切的數(shù)據(jù)中心活動都和時間準度有密切關(guān)系。數(shù)據(jù)中心對高精度時間頻率的需求越來越強烈,需要一系列精度越來越高的計時器具,同時要在各個設(shè)備之間做好時間同步工作,保持設(shè)備之間時間的一致性,以便于開展各種數(shù)據(jù)中心運維工作。