天天看點

CentOS7、紅帽7安裝NTP服務(小白也能看的懂!!!)1、關于CentOS7和紅帽7的說明2、什麼是NTP?3、什麼是時間?時間的刻度都有哪些?4、NTP服務的配置5、如果你還不懂,請看這裡!!!

CentOS7或紅帽7安裝NTP服務(小白也能看的懂!!!)

  • 1、關于CentOS7和紅帽7的說明
  • 2、什麼是NTP?
  • 3、什麼是時間?時間的刻度都有哪些?
  • 4、NTP服務的配置
  • 5、如果你還不懂,請看這裡!!!

在頭條上偶然看到一篇關于超市伺服器(紅帽7Linux系統)同步現實時間的文章,希望這篇部落格能幫到他。

1、關于CentOS7和紅帽7的說明

  • 衆所周知,CentOS7和紅帽7都是紅帽公司的,紅帽7去除紅帽的服務和商标後,就是CentOS7,這兩個系統在架構上沒太大差别。安裝ntp服務的步驟沒有差別。

2、什麼是NTP?

  • NTP的全稱是Network Time Protocol,也就是網絡時間協定,常用于伺服器中。它的原理很簡單,例如下圖,A、B、C伺服器是我們自己的叢集,叢集中有一台主伺服器A,需要與D的時間同步。
  • 這時,A發送一個NTP封包給D,該封包帶有它離開A時的時間戳,該時間戳為10:00:00am(T1)
  • 當此NTP封包到達D時,D在封包中加上自己的時間戳,該時間戳為11:00:01am(T2)
  • 當此NTP封包離開D時,D再在封包中加上自己的時間戳,該時間戳為11:00:02am(T3)
  • 當A接收到該響應封包時,A的本地時間為10:00:03am(T4)
  • 至此,A已經擁有足夠的資訊來計算它與D的時間差

    NTP封包的往返時延=(T4-T1)-(T3-T2)=2秒

    A相對D的時間差=((T2-T1)+(T3-T4))/2=1小時

  • 知道了時間差,伺服器A與D很容易就可以同步時間了。
    CentOS7、紅帽7安裝NTP服務(小白也能看的懂!!!)1、關于CentOS7和紅帽7的說明2、什麼是NTP?3、什麼是時間?時間的刻度都有哪些?4、NTP服務的配置5、如果你還不懂,請看這裡!!!
  • 同理,我們也可以用這個方法同步A與B、A與C之間的時間。

3、什麼是時間?時間的刻度都有哪些?

  • 我們要進行伺服器時間同步,不免就要有一個疑問,什麼是時間?抛開神學和民科中的時間不談,我們隻談談哲學與實體中時間的定義。國小科學老師告訴我們鐘表秒針走一刻度是1秒,分針走一刻度是一分,時針走一刻度是一小時,1小時有60分鐘,有3600秒,不論哪個指針,它隻能順着轉。這其中其實蘊含着深奧的哲學定義,時間是物質存在和運動的持續性、順序性的展現。時間的一維性有兩方面的含義:①标明物質運動的時間,隻需一個數值。②時間隻能沿着過去、現在和将來一個方向延續,具有不可逆性。除此之外,時間還具有公約性,它需要大家的共同約定一套共用的刻度标準,才能實作它在科學、社會、政治、經濟等領域的意義。
  • 現在來探讨一下實體學中對時間刻度的定義。國際中,目前有三套使用最為廣泛的标準,一個是格林尼治時間,另一個是原子時,最後一個是協調世界時。
  • 格林尼治時間是1884年在國際子午線會議上決定的,它的制定與地球自轉息息相關,具體的标準請參考百度百科:格林尼治時間,這裡不多贅述。格林尼治時間基本上已經被現代社會所棄用,但它對現代社會産生了巨大的影響。
  • 原子時的初始曆元規定為 1958年1月1日格林尼治時間的0時,原子時對秒長的定義為铯 -133 原子基态的兩個超精細能級間在零磁場下躍遷輻射9192631770周所持續的時間,原子時可以精确到納秒,原子時常用于對時間精度要求較高的科研領域。
  • 協調世界時是為了協調格林尼治時間和原子時而産生的,衆所周知,地球自轉是在逐漸變慢的,是以格林尼治時間對一天的定義也是在變長的,而原子時對一天時長的定義是絕對不變的。這就造成了格林尼治時間和原子時越差越大,是以國際社會在1972年就制定了協調世界時的标準,并由位于巴黎的國際地球自轉中央事務局決定何時加入閏秒。協調世界時被廣泛用于現代社會各領域。新聞聯播、手機、電腦、平闆、伺服器等等都是用的協調世界時。但是在現代社會中,協調世界時常常被誤認為是格林尼治時間。。。

4、NTP服務的配置

  • 熟悉NTP的都知道NTP服務分為NTP伺服器和NTP客戶機,NTP客戶機可以同步NTP伺服器的時間。而NTP客戶機服務又分為ntpdate和ntpd兩種。這裡為了友善小白,隻講解最簡單的ntpdate服務。注意,以下操作需要伺服器聯網,如果連網絡都沒有就别想聯網授時了!!!
  • 首先更新一下yum,防止yum版本過老導緻ntp安裝出錯,指令:

    yum -y upgrade

    (解釋:隻更新所有包,不更新軟體和系統核心)
  • 然後利用yum指令安裝ntpdate服務,指令:

    yum install ntpdate -y

  • 如果安裝成功,應該出現以下字樣。
    CentOS7、紅帽7安裝NTP服務(小白也能看的懂!!!)1、關于CentOS7和紅帽7的說明2、什麼是NTP?3、什麼是時間?時間的刻度都有哪些?4、NTP服務的配置5、如果你還不懂,請看這裡!!!
    · 安裝成功後,我們可以使用指令:

    ntpdate -u ip

    來同步伺服器時間。
  • 參數解釋:
  • -u

    :越過防火牆與授時伺服器同步
  • ip

    :授時伺服器的ip,這裡有兩種選擇,第一種使用國際公認的授時服務IP或域名,第二種是使用自己伺服器叢集中主伺服器的IP位址。如果想看常用的免費ntp伺服器有哪些,可以參考這篇文章:國内外常用公共NTP網絡時間伺服器
  • 防止小白看不懂這條指令如何書寫,這裡我寫一個使用中國科學院國家授時中心的樣例,指令:

    ntpdate -u ntp.ntsc.ac.cn

5、如果你還不懂,請看這裡!!!

  • 如果之前沒用過Linux系統,或者是在不會安裝ntp服務的,我建議你直接放棄使用ntp,用寶塔面闆吧,寶塔面闆可以可視化管理伺服器,寶塔面闆社群版是免費的。寶塔面闆可以一鍵同步網絡時間,但是網上有人說寶塔面闆出現過同步後時間依然不準的情況。并且寶塔的時間精度不高,如果伺服器叢集需要配置高精度時間,就不能用寶塔面闆,但是超市的進銷存系統應該是不需要納秒級别的吧?我實習的時候配置大資料伺服器叢集也沒用到過這麼高的精度。。。

    下面這張圖就是我的寶塔面闆,可以看到可以直接同步網絡時間。

    CentOS7、紅帽7安裝NTP服務(小白也能看的懂!!!)1、關于CentOS7和紅帽7的說明2、什麼是NTP?3、什麼是時間?時間的刻度都有哪些?4、NTP服務的配置5、如果你還不懂,請看這裡!!!
  • 附:
  • 寶塔官網:點選通路
  • 寶塔Linux安裝教程(官方):點選通路