首頁 > 軟體

Chrony時間同步服務使用說明

2020-06-16 17:01:51

1.1.1 chrony簡介

  Chrony是一個開源的自由軟體,它能保持系統時鐘與時鐘伺服器(NTP)同步,讓時間保持精確。

  它由兩個程式組成:chronyd和chronyc。

  chronyd是一個後台執行的守護行程,用於調整核心中執行的系統時鐘和時鐘伺服器同步。它確定計算機增減時間的比率,並對此進行補償。

    chronyCentOS7.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

這裡你可以指定一台主機、子網,或者網路以允許或拒絕NTP連線到扮演時鐘伺服器的機器

cmdallow/cmddeny

跟上面相類似,只是你可以指定哪個IP地址或哪台主機可以通過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存取是否對特定主機可用

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較為簡單,使用方便。

  參考 http://www.linuxidc.com/Linux/2017-10/147962.htm

本文使用的系統版本為: CentOS Linux release 7.4.1708 (Core) 核心版本為: 3.10.0-693.el7.x86_64

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-11/148668.htm


IT145.com E-mail:sddin#qq.com