Centos8中如何使用Chrony同步時間

夢共裡醉發表於2022-08-03
在 伺服器中如果我們希望所有Linux伺服器都具有正確的時間,則必須配置一些NTP客戶端,該客戶端將始終從遠端NTP伺服器獲取正確的時間。
安裝chrony

使用下面 在 8中安裝chrony:

[root@server1 ~]# yum -y install chrony

chrony安裝完成之後,會有兩個可執行程式:

  • chronyc: chrony 行工具
  • chronyd: chrony的守護程式
Chrony的配置檔案

Chrony的配置檔案是 /etc/chrony.conf,下面列出了示例chrony.conf檔案:

[root@server1 ~]# cat /etc/chrony.conf

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間

pool 2.centos.pool.ntp.org iburst chrony將從中獲取時間的遠端NTP伺服器。

driftfile /var/lib/chrony/drift 系統時脈頻率都有小小的誤差,這個就是為什麼計算機執行一段時間後時間會不精確。NTP會自動來監測我們時鐘的誤差值並予以調整,所以它會把記錄下來的誤差先寫入driftfile,重新啟動系統後,之前的計算結果也就不會丟失了。

keyfile /etc/chrony.keys 該檔案包含用於NTP身份驗證的金鑰。

logdir /var/log/chrony 它是記錄Chrony的日誌檔案。

測試chrony

就像 ntpdate命令一樣,我們可以使用chronyd手動將Linux伺服器的時間與遠端NTP伺服器進行同步。

語法:

chronyd -q ‘server {ntp_server_name} iburst’

下面使用例項:

[root@server1 ~]# chronyd -q 'server s1a.time.edu.cn iburst'
2021-05-25T01:59:38Z chronyd version 3.5 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
2021-05-25T01:59:38Z Initial frequency -4.035 ppm
2021-05-25T01:59:42Z System clock wrong by -0.006248 seconds (step)
2021-05-25T01:59:42Z chronyd exiting

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間
從上面的輸出中可以看到,chrony已校正了系統時間。

Start和Enable chronyd服務

執行以下命令以啟用chronyd服務:

[root@server1 ~]# systemctl enable chronyd
[root@server1 ~]# systemctl start chronyd

執行下面命令檢視chronyd的服務狀態:

[root@server1 ~]# systemctl status chronyd

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間

驗證chrony的同步

要驗證系統時間是否已使用chrony同步,使用以下命令檢視:

[root@server1 ~]# chronyc tracking 
Reference ID    : 4E2E66B4 (electrode.felixc.at)
Stratum         : 4
Ref time (UTC)  : Tue May 25 02:04:47 2021
System time     : 0.000002501 seconds slow of NTP time
Last offset     : +0.016273908 seconds
RMS offset      : 0.016273908 seconds
Frequency       : 98.064 ppm fast
Residual freq   : +1.774 ppm
Skew            : 155.311 ppm
Root delay      : 0.227135062 seconds
Root dispersion : 0.028634518 seconds
Update interval : 64.4 seconds
Leap status     : Normal


Reference ID 是系統時間當前同步到的伺服器的ID和名稱。

檢查chrony來源

要列出有關chronyd使用的當前時間源的資訊,請執行以下命令:

[root@server1 ~]# chronyc sources
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^- electrode.felixc.at           3   6   377    29    -14ms[  -14ms] +/-  137ms
^- ntp7.flashdance.cx            2   6   377    91  +2336us[+2505us] +/-  174ms
^? ntp8.flashdance.cx            0   6     0     -     +0ns[   +0ns] +/-    0ns
^* 111.230.189.174               2   6   377    28   +423us[ +648us] +/-   50ms

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間
要列出有關chronyd使用的每個源的漂移速度和偏移估計的資訊,請執行以下命令:

[root@server1 ~]# chronyc sourcestats  -v
210 Number of sources = 4
                             .- Number of sample points in measurement set.
                            /    .- Number of residual runs with same sign.
                           |    /    .- Length of measurement set (time).
                           |   |    /      .- Est. clock freq error (ppm).
                           |   |   |      /           .- Est. error in freq.
                           |   |   |     |           /         .- Est. offset.
                           |   |   |     |          |          |   On the -.
                           |   |   |     |          |          |   samples. \
                           |   |   |     |          |          |             |
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
electrode.felixc.at        12   5   527     -2.019     22.417    -13ms  2921us
ntp7.flashdance.cx         10   5   397     +1.957     29.018  +2410us  2684us
ntp8.flashdance.cx          0   0     0     +0.000   2000.000     +0ns  4000ms
111.230.189.174            12   9   527     -0.001     10.537    -60ns  1360us

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間

配置Chrony NTP服務

如果你要將Linux伺服器配置為所有內部系統的Chrony NTP伺服器。我們需要在 /etc/chrony.conf配置檔案中稍作修改:

[root@server1 ~]# sed -i "s/#local stratum 10/local stratum 10/g" /etc/chrony.conf
[root@server1 ~]# sed -i "s/#allow 192.168.0.0\/16/allow 192.168.0.0\/16/" /etc/chrony.conf

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間
當我們取消註釋 local stratum 10行時,則使我們的Linux伺服器成為實時NTP伺服器,即使它與網路斷開連線也可以繼續正常工作。而 allow 192.168.0.0/26表示允許該網段的裝置連線到我們的Chrony NTP伺服器以進行時間同步。

更改後,重啟chrony服務並跟蹤chrony:

[root@server1 ~]# systemctl restart chronyd ; watch chronyc tracking

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間
使用以下命令在防火牆中允許NTP服務:

[root@server1 ~]# firewall-cmd --permanent --add-service=ntp
success
[root@server1 ~]# firewall-cmd --reload
success

Centos8中如何使用Chrony同步時間Centos8中如何使用Chrony同步時間

總結

這就是本文的全部內容,希望你能瞭解如何使用chrony服務將Linux的時間與NTP伺服器同步。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31524109/viewspace-2908877/,如需轉載,請註明出處,否則將追究法律責任。

相關文章