Chrony是一個(gè)開(kāi)源的自由軟件,它能幫助你保持系統(tǒng)時(shí)鐘與時(shí)鐘服務(wù)器(NTP)同步,因此讓你的時(shí)間保持精確。它由兩個(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ī)上工作。
在像CentOS 7之類(lèi)基于RHEL的操作系統(tǒng)上,已經(jīng)默認(rèn)安裝有Chrony。
Chrony配置
當(dāng)Chrony啟動(dòng)時(shí),它會(huì)讀取/etc/chrony.conf配置文件中的設(shè)置。CentOS 7操作系統(tǒng)上最重要的設(shè)置有:
server - 該參數(shù)可以多次用于添加時(shí)鐘服務(wù)器,必須以"server "格式使用。一般而言,你想添加多少服務(wù)器,就可以添加多少服務(wù)器。
server 0.centos.pool.ntp.org
server 3.europe.pool.ntp.org
stratumweight - stratumweight指令設(shè)置當(dāng)chronyd從可用源中選擇同步源時(shí),每個(gè)層應(yīng)該添加多少距離到同步距離。默認(rèn)情況下,CentOS中設(shè)置為0,讓chronyd在選擇源時(shí)忽略源的層級(jí)。
driftfile - chronyd程序的主要行為之一,就是根據(jù)實(shí)際時(shí)間計(jì)算出計(jì)算機(jī)增減時(shí)間的比率,將它記錄到一個(gè)文件中是最合理的,它會(huì)在重啟后為系統(tǒng)時(shí)鐘作出補(bǔ)償,甚至可能的話,會(huì)從時(shí)鐘服務(wù)器獲得較好的估值。
rtcsync - rtcsync指令將啟用一個(gè)內(nèi)核模式,在該模式中,系統(tǒng)時(shí)間每11分鐘會(huì)拷貝到實(shí)時(shí)時(shí)鐘(RTC)。
allow / deny - 這里你可以指定一臺(tái)主機(jī)、子網(wǎng),或者網(wǎng)絡(luò)以允許或拒絕NTP連接到扮演時(shí)鐘服務(wù)器的機(jī)器。
allow 192.168.4.5
deny 192.168/16
cmdallow / cmddeny - 跟上面相類(lèi)似,只是你可以指定哪個(gè)IP地址或哪臺(tái)主機(jī)可以通過(guò)chronyd使用控制命令
bindcmdaddress - 該指令允許你限制chronyd監(jiān)聽(tīng)哪個(gè)網(wǎng)絡(luò)接口的命令包(由chronyc執(zhí)行)。該指令通過(guò)cmddeny機(jī)制提供了一個(gè)除上述限制以外可用的額外的訪問(wèn)控制等級(jí)。
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
makestep - 通常,chronyd將根據(jù)需求通過(guò)減慢或加速時(shí)鐘,使得系統(tǒng)逐步糾正所有時(shí)間偏差。在某些特定情況下,系統(tǒng)時(shí)鐘可能會(huì)漂移過(guò)快,導(dǎo)致該調(diào)整過(guò)程消耗很長(zhǎng)的時(shí)間來(lái)糾正系統(tǒng)時(shí)鐘。該指令強(qiáng)制chronyd在調(diào)整期大于某個(gè)閥值時(shí)步進(jìn)調(diào)整系統(tǒng)時(shí)鐘,但只有在因?yàn)閏hronyd啟動(dòng)時(shí)間超過(guò)指定限制(可使用負(fù)值來(lái)禁用限制),沒(méi)有更多時(shí)鐘更新時(shí)才生效。
使用chronyc
你也可以通過(guò)運(yùn)行chronyc命令來(lái)修改設(shè)置,命令如下:
accheck - 檢查NTP訪問(wèn)是否對(duì)特定主機(jī)可用
activity - 該命令會(huì)顯示有多少NTP源在線/離線
add server - 手動(dòng)添加一臺(tái)新的NTP服務(wù)器。
clients - 在客戶(hù)端報(bào)告已訪問(wèn)到服務(wù)器
delete - 手動(dòng)移除NTP服務(wù)器或?qū)Φ确?wù)器
settime - 手動(dòng)設(shè)置守護(hù)進(jìn)程時(shí)間
tracking - 顯示系統(tǒng)時(shí)間信息
你可以通過(guò)使用幫助命令查看完整的命令列表: