在集群中同步時(shí)間有著十分重要的作用,負(fù)載均衡集群或高可用集群如果時(shí)間不一致,在服務(wù)器之間的數(shù)據(jù)誤差就會(huì)很大,尋找數(shù)據(jù)便會(huì)成為一件棘手的事情。備份是一個(gè)合格的運(yùn)維工程師的基本功,若是時(shí)間無法同步,那么就算是備份了數(shù)據(jù),你也可能無法在正確的時(shí)間將正確的數(shù)據(jù)備份。那損失可就大了。
時(shí)間同步服務(wù)器就是來同步時(shí)間的,是一種高科技智能化、可獨(dú)立基于NTP/SNTP協(xié)議工作。原理就是從GPS衛(wèi)星上獲取標(biāo)準(zhǔn)時(shí)鐘信號(hào)信息,將這些信息在網(wǎng)絡(luò)中傳輸,網(wǎng)絡(luò)中需要時(shí)間信號(hào)的設(shè)備如計(jì)算機(jī),控制器等設(shè)備就可以與標(biāo)準(zhǔn)時(shí)間源同步。
同步的基本原理包括時(shí)間發(fā)出和接收時(shí)間信息的記錄,并且對(duì)每一條信息增加一個(gè)“時(shí)間戳”。有了時(shí)間記錄,接收端就可以計(jì)算出自己在網(wǎng)絡(luò)中的時(shí)鐘誤差和延時(shí)。為了管理這些信息,PTP協(xié)議定義了4種多點(diǎn)傳送的報(bào)文類型和管理報(bào)文,包括同步報(bào)文(Sync),跟隨報(bào)文(Follow_up),延遲請(qǐng)求報(bào)文(Delay_Req),延遲應(yīng)答報(bào)文(Delay_Resp)。收到的信息回應(yīng)是與時(shí)鐘當(dāng)前的狀態(tài)有關(guān)的。同步報(bào)文是從主時(shí)鐘周期性發(fā)出的(一般為每?jī)擅胍淮?,它包含了主時(shí)鐘算法所需的時(shí)鐘屬性??偟膩碚f同步報(bào)文包含了一個(gè)時(shí)間戳,精確地描述了數(shù)據(jù)包發(fā)出的預(yù)計(jì)時(shí)間。
為什么linux不能像Windows一樣快速同步時(shí)間呢?在Windwos中,系統(tǒng)時(shí)間的設(shè)置很簡(jiǎn)單,界面操作,通俗易懂,而且設(shè)置后,重啟,關(guān)機(jī)都沒關(guān)系。系統(tǒng)時(shí)間會(huì)自動(dòng)保存在BIOS時(shí)鐘里面,啟動(dòng)計(jì)算機(jī)的時(shí)候,系統(tǒng)會(huì)自動(dòng)在BIOS里面取硬件時(shí)間,以保證時(shí)間的不間斷。但在Linux下,默認(rèn)情況下,系統(tǒng)時(shí)間和硬件時(shí)間并不會(huì)自動(dòng)同步。在Linux運(yùn)行過程中,系統(tǒng)時(shí)間和硬件時(shí)間以異步的方式運(yùn)行,互不干擾。硬件時(shí)間的運(yùn)行,是靠BIOS電池來維持,而系統(tǒng)時(shí)間,是用CPUTick來維持的。在系統(tǒng)開機(jī)的時(shí)候,會(huì)自動(dòng)從BIOS中取得硬件時(shí)間,設(shè)置為系統(tǒng)時(shí)間。所以在Linux搭建時(shí)間同步服務(wù)器是非常重要的,尤其是現(xiàn)在集群化的時(shí)代。一組服務(wù)器對(duì)外表現(xiàn)為一個(gè)整體去提供服務(wù)。