Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
目錄
1、chrony簡(jiǎn)介
chrony是一個(gè)開(kāi)源自由的網(wǎng)絡(luò)時(shí)間協(xié)議 NTP 的客戶(hù)端和服務(wù)器軟軟件。它能讓計(jì)算機(jī)保持系統(tǒng)時(shí)鐘與時(shí)鐘服務(wù)器(NTP)同步,因此讓你的計(jì)算機(jī)保持精確的時(shí)間,Chrony也可以作為服務(wù)端軟件為其他計(jì)算機(jī)提供時(shí)間同步服務(wù)。
Chrony由兩個(gè)程序組成,分別是chronyd和chronyc;
chronyd是一個(gè)后臺(tái)運(yùn)行的守護(hù)進(jìn)程,用于調(diào)整內(nèi)核中運(yùn)行的系統(tǒng)時(shí)鐘和時(shí)鐘服務(wù)器同步。它確定計(jì)算機(jī)增減時(shí)間的比率,并對(duì)此進(jìn)行補(bǔ)償。
chronyc提供了一個(gè)用戶(hù)界面,用于監(jiān)控性能并進(jìn)行多樣化的配置。它可以在chronyd實(shí)例控制的計(jì)算機(jī)上工作,也可以在一臺(tái)不同的遠(yuǎn)程計(jì)算機(jī)上工作。
???????2、時(shí)間同步相關(guān)概念
硬件時(shí)間:硬件時(shí)間,也被稱(chēng)為實(shí)時(shí)時(shí)鐘(RTC),是指計(jì)算機(jī)主板上的一個(gè)獨(dú)立于操作系統(tǒng)的設(shè)備,它在電源關(guān)閉甚至斷電情況下也能保持運(yùn)行。其功能是記錄當(dāng)前的日期和時(shí)間。
# 查詢(xún)硬件時(shí)間 hwclock --show
# 將系統(tǒng)時(shí)間設(shè)置為硬件時(shí)間 hwclock --systohc
# 將硬件時(shí)間設(shè)置為系統(tǒng)時(shí)間 hwclock --hctosys
UTC:統(tǒng)時(shí)間通常使用協(xié)調(diào)世界時(shí)(UTC)表示。UTC是一種基于原子時(shí)鐘的時(shí)間標(biāo)準(zhǔn),全球各地的科學(xué)家通過(guò)精密測(cè)量來(lái)維護(hù)它。它與格林尼治標(biāo)準(zhǔn)時(shí)間(GMT)非常接近,但不受地球自轉(zhuǎn)速度變化的影響。
local time:本地時(shí)間是系統(tǒng)時(shí)間經(jīng)過(guò)時(shí)區(qū)轉(zhuǎn)換后的時(shí)間。
可以查詢(xún)本地時(shí)間(Local time)、系統(tǒng)時(shí)間( time)、硬件時(shí)間(RTC time)、時(shí)區(qū)(Time zone)等信息。
時(shí)間同步兩個(gè)目的:1、對(duì)外保證本地時(shí)間和國(guó)際通用時(shí)間保持同步,通過(guò)NTP同步
2、對(duì)內(nèi)保證系統(tǒng)時(shí)間和硬件時(shí)間同步,通過(guò)rtcsync同步
???????3、安裝與使用 服務(wù)端
yum -y install chrony
enable chronyd
start chronyd
修改服務(wù)端配置文件/etc/chrony.conf
# 根據(jù)實(shí)際時(shí)間計(jì)算出服務(wù)器增減時(shí)間的比率,然后記錄到一個(gè)文件中,在系統(tǒng)重啟后為系統(tǒng)做出最佳時(shí)間補(bǔ)償調(diào)整。
/var/lib/chrony/drift
# 如果系統(tǒng)時(shí)鐘的偏移量大于1秒,則允許系統(tǒng)時(shí)鐘在前三次更新中步進(jìn)。
1.0 3
# 啟用實(shí)時(shí)時(shí)鐘(RTC)的內(nèi)核同步。
rtcsync
# 指定 NTP 客戶(hù)端地址,以允許或拒絕連接到扮演時(shí)鐘服務(wù)器的機(jī)器
allow all
#Serve time even if not to a time source.
local stratum 10
注1:local指令用來(lái)允許將本地時(shí)間作為標(biāo)準(zhǔn)時(shí)間授時(shí)給其它客戶(hù)端,即使自己未能通過(guò)網(wǎng)絡(luò)時(shí)間服務(wù)器同步到真實(shí)時(shí)間。通常用在獨(dú)立網(wǎng)絡(luò)中,在某臺(tái)作為ntp服務(wù)器的主機(jī)上配置,為其他需要同步時(shí)間的ntp客戶(hù)端提供時(shí)間同步服務(wù)。該臺(tái)主機(jī)通過(guò)定期手動(dòng)輸入,來(lái)保持時(shí)間與真實(shí)時(shí)間一致。
注2:local stratum 10
值10可以被其他值取代,可選范圍為1到15。stratum 1表示計(jì)算機(jī)具有直接連接的真實(shí)時(shí)間的參考時(shí)間源,例如:GPS、原子鐘。這樣的計(jì)算機(jī)的時(shí)間與真實(shí)時(shí)間非常接近。stratum 2表示該計(jì)算機(jī)有一個(gè)stratum 1的計(jì)算機(jī)作為同步時(shí)間源;stratum 3表示該計(jì)算機(jī)有一個(gè)stratum 10的計(jì)算機(jī)作為同步時(shí)間源。選擇stratum 10,這個(gè)值是比較大的,表示距離具有真實(shí)時(shí)間的服務(wù)器比較遠(yuǎn),它的時(shí)間是不太可靠的。換句話(huà)說(shuō),假如該計(jì)算機(jī)可以連接到一臺(tái)最終與真實(shí)時(shí)間同步的計(jì)算機(jī),那么該計(jì)算機(jī)的stratum層級(jí)幾乎可以肯定比10小。因此,為local命令選取stratum 10這樣的大數(shù)值,可以防止機(jī)器本身的時(shí)間與真實(shí)時(shí)間混淆,可以保證該機(jī)器不會(huì)將本身的時(shí)間授時(shí)給那些可以連接同步到真實(shí)時(shí)間的ntp服務(wù)器的ntp客戶(hù)端。
客戶(hù)端
修改客戶(hù)端配置文件 /etc/chrony.conf
server 10.0.0.1 iburst
修改完配置文件需要重啟服務(wù)
restart chronyd
4、常用命令 chronyc sources -v 查看同步狀態(tài)
M 這表示信號(hào)源的模式。^表示服務(wù)器,=表示對(duì)等方,#表示本地連接的參考時(shí)鐘。
S 此列指示源的狀態(tài)。
* 表示chronyd當(dāng)前同步到的源。
+ 表示可接受的信號(hào)源,與選定的信號(hào)源組合在一起。
- 表示被合并算法排除的可接受源。
? 指示已失去連接性或其數(shù)據(jù)包未通過(guò)所有測(cè)試的源。它也顯示在啟動(dòng)時(shí),直到從中至少收集了3個(gè)樣本為止。
x 表示chronyd認(rèn)為是虛假行情的時(shí)鐘(即,其時(shí)間與大多數(shù)其他來(lái)源不一致)。
? 表示時(shí)間似乎具有太多可變性的來(lái)源。
Name/IP address
這顯示了源的名稱(chēng)或IP地址,或參考時(shí)鐘的參考ID。
Stratum
這顯示了來(lái)源的層,如其最近收到的樣本中所報(bào)告的那樣。層1表示一臺(tái)具有本地連接的參考時(shí)鐘的計(jì)算機(jī)。與第1層計(jì)算機(jī)同步的計(jì)算機(jī)位于第2層。與第2層計(jì)算機(jī)同步的計(jì)算機(jī)位于第3層,依此類(lèi)推。
Poll
這顯示輪詢(xún)?cè)吹乃俾?,以秒為單位的時(shí)間間隔的以2為底的對(duì)數(shù)。因此,值為6表示每64秒進(jìn)行一次測(cè)量。chronyd會(huì)根據(jù)當(dāng)前情況自動(dòng)更改輪詢(xún)速率。
Reach
這顯示了源的可達(dá)性寄存器以八進(jìn)制數(shù)字打印。寄存器有8位,并在每個(gè)從源接收或丟失的數(shù)據(jù)包上更新。值377表示從最后八次傳輸中收到了對(duì)所有用戶(hù)的有效答復(fù)。
LastRx
此列顯示多長(zhǎng)時(shí)間前從來(lái)源接收到了最后一個(gè)好的樣本(在下一列中顯示)。未通過(guò)某些測(cè)試的測(cè)量將被忽略。通常以秒為單位。字母m,h,d或y表示分鐘,小時(shí),天或年。
Last sample
此列顯示上次測(cè)量時(shí)本地時(shí)鐘與源之間的偏移。方括號(hào)中的數(shù)字表示實(shí)際測(cè)得的偏移量??梢杂胣s(表示納秒),us(表示微秒),ms(表示毫秒)或s(表示秒)作為后綴。方括號(hào)左側(cè)的數(shù)字表示原始測(cè)量值,已調(diào)整為允許此后施加于本地時(shí)鐘的任何擺度。
+/-指示器后面的數(shù)字表示測(cè)量中的誤差范圍。正偏移表示本地時(shí)鐘位于源時(shí)鐘之前。
???????
該參數(shù)為ntp服務(wù)狀態(tài), set-ntp yes/fauls,慎用,關(guān)閉不僅導(dǎo)致chronyd服務(wù)停止,同時(shí)關(guān)閉自啟動(dòng);
system clock 這個(gè)參數(shù)比較復(fù)雜,只有在時(shí)鐘源同步成功情況下,同時(shí)系統(tǒng)時(shí)間同步成功,才會(huì)顯示yes
如果chronyc 是本地源的話(huà),這個(gè)值一直是no
如果chronyc source沒(méi)有源,也是no
如果有 ^* 但是system time不是0也是no
???????chronyc
進(jìn)行時(shí)間同步狀態(tài)檢查
ID:你的系統(tǒng)正在與之同步的遠(yuǎn)程 NTP 服務(wù)器的地址或者 IP。
Stratum:表示你的系統(tǒng)在 NTP 層次中的級(jí)別。Stratum 1 服務(wù)器直接與原子鐘或 GPS 時(shí)鐘等準(zhǔn)確的時(shí)間源同步。Stratum 2 服務(wù)器與 Stratum 1 服務(wù)器同步,以此類(lèi)推。這個(gè)字段表示你的系統(tǒng)是與哪個(gè) stratum 的服務(wù)器同步。
Ref time (UTC):上一次從遠(yuǎn)程服務(wù)器接收到時(shí)間更新的時(shí)間(以 UTC 表示)。
System time:你的系統(tǒng)時(shí)間相對(duì)于 NTP 服務(wù)器時(shí)間的差異。如果顯示 "fast",表示你的系統(tǒng)時(shí)間比 NTP 時(shí)鐘快;如果顯示 "slow",表示你的系統(tǒng)時(shí)間比 NTP 時(shí)鐘慢。
Last offset:上一次時(shí)間同步時(shí),系統(tǒng)時(shí)間與 NTP 服務(wù)器時(shí)間的偏移量。
RMS offset:時(shí)間偏移量的均方根,是一個(gè)衡量時(shí)間同步精度的指標(biāo)。
:本地系統(tǒng)時(shí)鐘的速度,相對(duì)于完美的時(shí)間源,以每百萬(wàn)部分(ppm)表示。如果顯示 "fast",表示你的系統(tǒng)時(shí)鐘運(yùn)行得比完美的時(shí)鐘快;如果顯示 "slow",表示你的系統(tǒng)時(shí)鐘運(yùn)行得比完美的時(shí)鐘慢。
freq:在最后一次同步之后,已經(jīng)觀察到的本地時(shí)鐘頻率的改變。
Skew:本地時(shí)鐘頻率估計(jì)的不確定性。
Root delay:到同步源的往返時(shí)間。
Root :同步源的最大可能誤差。
Update :兩次連續(xù)更新之間的間隔時(shí)間(以秒為單位)。
Leap status:閏秒狀態(tài)??梢允?"Normal"、"Insert second" 或 "Delete second"。
5、常見(jiàn)問(wèn)題 ???????5.1遷移vm后時(shí)間差異較大,需要快速同步時(shí)間
解決:采用chronyc 0.1 3只允許逐步校正時(shí)鐘,時(shí)間較慢
可以采用chronyc -m 'burst 3/3' ' 0.1 3'立即同步時(shí)鐘
5.2???????當(dāng)集群時(shí)間源外網(wǎng)不可用時(shí),啟用本地模式,但客戶(hù)端無(wú)法同步時(shí)間
如果所有的server都無(wú)法連接自己的time source時(shí),local這種模式只能有一個(gè)server配置該參數(shù)
5.3???????chronyd服務(wù)都正常,但未進(jìn)行時(shí)間同步
chrony (3.2-2)版本的 調(diào)度程序腳本中有一個(gè) BUG。
臨時(shí):重啟chronyd服務(wù)
永久:升級(jí)3.4以上的版本
6、常用時(shí)鐘源
:項(xiàng)目是一個(gè)提供可靠易用的NTP服務(wù)的虛擬集群,
阿里云公共NTP服務(wù)器
Unix/linux類(lèi):,
windows類(lèi):
大學(xué)ntp服務(wù)
北京郵電大學(xué) 清華大學(xué) 北京大學(xué)
國(guó)家授時(shí)中心服務(wù)器
210.72.145.44
*請(qǐng)認(rèn)真填寫(xiě)需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。