Centos7 chrony 時間同步管理工具

chrony 是什麼?

Chrony是一個開源的自由軟件,像CentOS 7或基於RHEL 7操作系統,已經是默認服務,默認配置文件在 /etc/chrony.conf 它能保持系統時間與時間服務器(NTP)同步,讓時間始終保持同步。相對於NTP時間同步軟件,佔據很大優勢。其用法也很簡單。

Chrony有兩個核心組件,分別是:chronyd:是守護進程,主要用於調整內核中運行的系統時間和時間服務器同步。它確定計算機增減時間的比率,並對此進行調整補償。chronyc:提供一個用戶界面,用於監控性能並進行多樣化的配置。它可以在chronyd實例控制的計算機上工作,也可以在一臺不同的遠程計算機上工作。

ntp 時間同步的缺點

  1. ntpd 有一個自我保護設置: 如果本機與上源時間相差太大, ntpd 不運行. 所以新設置的時間服務器一定要先 ntpdate 從上源取得時間初值, 然後啓動 ntpd服務。ntpd服務 運行後, 先是每64秒與上源服務器同步一次, 根據每次同步時測得的誤差值經複雜計算逐步調整自己的時間, 隨着誤差減小, 逐步增加同步的間隔. 每次跳動, 都會重複這個調整的過程.
  2. 如果時間時間和ntp 時間相差特別多的化需要手動同步一下時間,所以要麼你把時間設置回去,要麼先做一個手動同步,以減少同步時間

chrony 的優勢

  1. 更快的同步,從而最大程度減少了時間和頻率誤差,對於並非全天 24 小時運行的虛擬計算機而言非常有用
  2. 能夠更好地響應時鐘頻率的快速變化,對於具備不穩定時鐘的虛擬機或導致時鐘頻率發生變化的節能技術而言非常有用
  3. 在初始同步後,它不會停止時鐘,以防對需要系統時間保持單調的應用程序造成影響
  4. 在應對臨時非對稱延遲時(例如,在大規模下載造成鏈接飽和時)提供了更好的穩定性
  5. 無需對服務器進行定期輪詢,因此具備間歇性網絡連接的系統仍然可以快速同步時鐘

chrony 的使用

安裝

系統默認已經安裝,如過沒有安裝

yum install chrony -y

啓動與停止

systemctl start chronyd.service
systemctl stop chronyd.service

開機自啓動
systemctl enable chronyd.service

防火牆設置

firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload

配置文件說明

cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
pool.ntp.org項目中的公共服務器。以server開,理論上你想添加多少時間服務器都可以。

# 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  // 將啓用一個內核模式,在該模式中,系統時間每11分鐘會拷貝到實時時鐘(RTC)
# 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
local stratum 10

// 指定一臺主機、子網,或者網絡以允許或拒絕NTP連接到扮演時鐘服務器的機器
allow 0.0.0.0/0  
allow ::/0

配置內網 chrony 時間服務器

在server 端配置文件 etc/chrony.conf 修改如下,

server 10.15.10.66 iburst

其他客戶端配置文件指明如下,刪除或註釋公用的ntp 服務器

server 10.15.10.66 iburst # 指明

重啓服務chronyd

查看同步狀態

chronyc sources -v

Centos7 chrony 時間同步管理工具

查看時間同步源狀態:

chronyc sourcestats -v

檢查 同步狀態
timedatectl

當 NTP synchronized: yes
設置硬件時間

硬件時間默認爲UTC:

timedatectl set-local-rtc 1

啓用NTP時間同步:
timedatectl set-ntp yes

校準時間服務器:
chronyc tracking

參考博客:https://www.cnblogs.com/zhoul/p/9924656.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章