教你如何在 Centos8 中使用 Chrony 同步時(shí)間
在Linux服務(wù)器中如果我們希望所有Linux服務(wù)器都具有正確的時(shí)間,則必須配置一些NTP客戶端,該客戶端將始終從遠(yuǎn)程N(yùn)TP服務(wù)器獲取正確的時(shí)間。
安裝 chrony
使用下面命令在Centos8中安裝chrony:
[root@server1 ~]# yum -y install chrony
chrony安裝完成之后,會(huì)有兩個(gè)可執(zhí)行程序:
- chronyc: chrony命令行工具
- chronyd: chrony的守護(hù)進(jìn)程
Chrony 的配置文件
Chrony的配置文件是/etc/chrony.conf,下面列出了示例chrony.conf文件:
[root@server1 ~]# cat /etc/chrony.conf
pool 2.centos.pool.ntp.org iburst chrony將從中獲取時(shí)間的遠(yuǎn)程N(yùn)TP服務(wù)器。driftfile /var/lib/chrony/drift 系統(tǒng)時(shí)鐘頻率都有小小的誤差,這個(gè)就是為什么計(jì)算機(jī)運(yùn)行一段時(shí)間后時(shí)間會(huì)不精確。NTP會(huì)自動(dòng)來(lái)監(jiān)測(cè)我們時(shí)鐘的誤差值并予以調(diào)整,所以它會(huì)把記錄下來(lái)的誤差先寫入driftfile,重新啟動(dòng)系統(tǒng)后,之前的計(jì)算結(jié)果也就不會(huì)丟失了。keyfile /etc/chrony.keys 該文件包含用于NTP身份驗(yàn)證的密鑰。logdir /var/log/chrony 它是記錄Chrony的日志文件。
測(cè)試 chrony
就像ntpdate命令一樣,我們可以使用chronyd手動(dòng)將Linux服務(wù)器的時(shí)間與遠(yuǎn)程N(yùn)TP服務(wù)器進(jìn)行同步。語(yǔ)法:
chronyd -q ‘server {ntp_server_name} iburst’
下面使用實(shí)例:
[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
從上面的輸出中可以看到,chrony已校正了系統(tǒng)時(shí)間。
Start 和 Enable chronyd 服務(wù)
運(yùn)行以下命令以啟用chronyd服務(wù):
[root@server1 ~]# systemctl enable chronyd
[root@server1 ~]# systemctl start chronyd
運(yùn)行下面命令查看chronyd的服務(wù)狀態(tài):
[root@server1 ~]# systemctl status chronyd
驗(yàn)證 chrony 的同步
要驗(yàn)證系統(tǒng)時(shí)間是否已使用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 是系統(tǒng)時(shí)間當(dāng)前同步到的服務(wù)器的ID和名稱。
檢查 chrony 來(lái)源
要列出有關(guān)chronyd使用的當(dāng)前時(shí)間源的信息,請(qǐng)運(yùn)行以下命令:
[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
要列出有關(guān)chronyd使用的每個(gè)源的漂移速度和偏移估計(jì)的信息,請(qǐng)運(yùn)行以下命令:
[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
配置 Chrony NTP 服務(wù)
如果你要將Linux服務(wù)器配置為所有內(nèi)部系統(tǒng)的Chrony NTP服務(wù)器。我們需要在/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
當(dāng)我們?nèi)∠⑨宭ocal stratum 10行時(shí),則使我們的Linux服務(wù)器成為實(shí)時(shí)NTP服務(wù)器,即使它與網(wǎng)絡(luò)斷開連接也可以繼續(xù)正常工作。而allow 192.168.0.0/26表示允許該網(wǎng)段的設(shè)備連接到我們的Chrony NTP服務(wù)器以進(jìn)行時(shí)間同步。更改后,重啟chrony服務(wù)并跟蹤chrony:
[root@server1 ~]# systemctl restart chronyd ; watch chronyc tracking
使用以下命令在防火墻中允許NTP服務(wù):
[root@server1 ~]# firewall-cmd --permanent --add-service=ntp
success
[root@server1 ~]# firewall-cmd --reload
success
總 結(jié)
這就是本文的全部?jī)?nèi)容,希望你能了解如何使用chrony服務(wù)將Linux的時(shí)間與NTP服務(wù)器同步。