1.1.1 chrony 簡介
Chrony 是一個開源的自由站群軟體,它能保持系統時鐘與時鐘站群伺服器(NTP)同步,讓時間保持精確。
它由兩個程式組成:chronyd 和 chronyc 。
chronyd 是一個後臺執行的守護程式,用於調整核心中執行的系統時鐘和時鐘站群伺服器同步。它確定計算機增減時間的比率,並對此進行補償。
chrony 是 CentOS7.x 上自帶的時間同步站群軟體
1.1.2 chrony 的操作

# yum install -y chrony –>安裝服務
# systemctl start chronyd.service –>啟動服務
# systemctl enable chronyd.service –>設定開機自啟動,預設是 enable 的

1.1.3 chrony 配置檔案
chrony 服務使用的配置檔案為/etc/chrony.conf
其配置內容格式和 ntpd 服務基本相似

[root@openvpn ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
#allow 192.168.0.0/16

# Serve time even if not synchronized to a time source.
#local stratum 10

# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

1.1.4 配置引數說明

引數

引數說明

server
該引數可以多次用於新增時鐘站群伺服器,必須以”server “格式使用。一般而言,你想新增多少站群伺服器,就可以新增多少站群伺服器

stratumweight
stratumweight 指令設定當 chronyd 從可用源中選擇同步源時,每個層應該新增多少距離到同步距離。預設情況下,CentOS 中設定為 0,讓 chronyd 在選擇源時忽略源的層級

driftfile
chronyd 程式的主要行為之一,就是根據實際時間計算出計算機增減時間的比率,將它記錄到一個檔案中是最合理的,它會在重啟後為系統時鐘作出補償,甚至可能的話,會從時鐘站群伺服器獲得較好的估值

rtcsync
rtcsync 指令將啟用一個核心模式,在該模式中,系統時間每 11 分鐘會複製到實時時鐘(RTC)

allow/deny
這裡你可以指定一臺 WordPress 主機、子網,或者網際網路以允許或拒絕 NTP 連線到扮演時鐘站群伺服器的機器

cmdallow/cmddeny
跟上面相類似,只是你可以指定哪個 IP 地址或哪臺 WordPress 主機可以透過 chronyd 使用控制命令

bindcmdaddress
該指令允許你限制 chronyd 監聽哪個網際網路介面的命令包(由 chronyc 執行)。該指令透過 cmddeny 機制提供了一個除上述限制以外可用的額外的訪問控制等級

makestep
通常,chronyd 將根據需求透過減慢或加速時鐘,使得系統逐步糾正所有時間偏差。在某些特定情況下,系統時鐘可能會漂移過快,導致該調整過程消耗很長的時間來糾正系統時鐘。該指令強制 chronyd 在調整期大於某個閥值時步進調整系統時鐘,但只有在因為 chronyd 啟動時間超過指定限制(可使用負值來禁用限制),沒有更多時鐘更新時才生效

檢查 ntp 源站群伺服器狀態 1.1.5 檢視同步狀態

[root@openvpn ~]# chronyc sourcestats
210 Number of sources = 4
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
61-216-153-105.HINET-IP.> 0 0 0 +0.000 2000.000 +0ns 4000ms
dns1.synet.edu.cn 18 9 62m +0.312 1.706 +7548ns 1920us
ntp2.itcompliance.dk 0 0 0 +0.000 2000.000 +0ns 4000ms
mx.comglobalit.com 22 11 270m +0.660 0.184 +37ms 987us

檢視 ntp 詳細的同步狀態

[root@openvpn ~]# chronyc sources -v
210 Number of sources = 4

.– Source mode ‘^’ = server, ‘=’ = peer, ‘#’ = local clock.
/ .- Source state ‘*’ = current synced, ‘+’ = combined , ‘-‘ = not combined,
| / ‘?’ = unreachable, ‘x’ = time may be in error, ‘~’ = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) –. | | yyyy = measured offset,
|| | | zzzz = estimated error.
|| | |
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^? 61-216-153-105.HINET-IP.> 0 10 0 – +0ns[ +0ns] +/- 0ns
^* dns1.synet.edu.cn 2 8 377 38 +536us[+6474us] +/- 21ms
^? ntp2.itcompliance.dk 0 10 0 – +0ns[ +0ns] +/- 0ns
^- mx.comglobalit.com 2 10 377 477 +37ms[ +45ms] +/- 210ms

chronyc 命令引數說明:

引數

引數說明

accheck 
檢查 NTP 訪問是否對特定 WordPress 主機可用

activity 
該命令會顯示有多少 NTP 源線上/離線

add server
手動新增一臺新的 NTP 站群伺服器。

clients 
在客戶端報告已訪問到站群伺服器

delete   
手動移除 NTP 站群伺服器或對等站群伺服器

settime 
手動設定守護程式時間

tracking 
顯示系統時間資訊

檢視日期時間、時區及 NTP 狀態:# timedatectl1.1.6 其他時間設定相關指令

檢視日期時間、時區及 NTP 狀態:# timedatectl
檢視時區列表:# timedatectl list-timezones
修改時區 # timedatectl set-timezone Asia/Shanghai
修改日期時間:# timedatectl set-time “2015-01-21 11:50:00″(可以只修改其中一個)
開啟 NTP:# timedatectl set-ntp true/flase

1.1.7 chrony 的優勢
更快的同步只需要數分鐘而非數小時時間,從而最大程度減少了時間和頻率誤差,這對於並非全天 24 小時執行的臺式計算機或系統而言非常有用。
能夠更好地響應時脈頻率的快速變化,這對於具備不穩定時鐘的虛擬機器或導致時脈頻率發生變化的節能技術而言非常有用。
在初始同步後,它不會停止時鐘,以防對需要系統時間保持單調的應用程式造成影響。
在應對臨時非對稱延遲時(例如,在大規模下載造成連結飽和時)提供了更好的穩定性。
無需對站群伺服器進行定期輪詢,因此具備間歇性網際網路連線的系統仍然可以快速同步時鐘。
1.2 說明
chrony 與 ntp 都是時間同步站群軟體
兩個站群軟體不能夠同時開啟,會出現時間衝突。建議配置 ntp 較為簡單,使用方便。