Chrony時間同步服務(wù)
1.時間同步基本概念
1.1 什么是時間同步
時間同步,就是將本地時間與互聯(lián)網(wǎng)時間進行校對,為系統(tǒng)提供一個統(tǒng)一時間;
由于本地時間的計時速率、運行環(huán)境不一致性;所有本地時鐘縱使在某一刻被校準了 ,一段時間后,這些本地時鐘也會出現(xiàn)不一致。為了本地時鐘再次達到相同的時間值,所以需要進行時間同步的操作;
1.2 為什么需要時間同步
? 在運維工作的場景當中,存在著眾多主機協(xié)同完成不同的任務(wù);
? 比如LNMP架構(gòu),它們可以分別部署在三臺不同的主機上;那么這三臺主機在工作時,由于分別位于不同的主機之上,它們需要根據(jù)文件或者數(shù)據(jù)流所生成的時間,來決定響應(yīng)給客戶端的結(jié)果該如何進行展示;此時就需要統(tǒng)一網(wǎng)絡(luò)中的主機時間一致;
? 但這個時間一致并不是說一定得是正確的,如果現(xiàn)在當前時間是下午2點,但是這三臺主機的時間精確一致是昨天凌晨5點,這也沒有什么問題;
? 但對于有些場景時間不正確也不行,比如https應(yīng)用;客戶端與服務(wù)端通訊時,如果客戶端時間是準確的,而服務(wù)端時間來自昨天,或者來自未來的響應(yīng),則會提示存在風險,而不予接受;
1.3 時間同步是如何完成
? 假設(shè)服務(wù)器啟動起來后,發(fā)現(xiàn)時間慢了24小時,那么他如何將自己的時間調(diào)整正確呢
? 如果是手表該如何校對時間呢?(波動表針,調(diào)整時間的正常邏輯)
? 如果是date命令是如何校對時間呢?(直接跳躍時間,跳躍的過程中造成部分文件出現(xiàn)空白段)
?NTP時間服務(wù)(CentOS6):
? 邏輯:讓時間校對像手表一樣波動的快一點,而不是像date命令直接跳躍過去:其他服務(wù)器一分鐘60s,而ntp一分鐘30s,來實現(xiàn)時間的校對;
? 問題:為了趕上慢的24小時,可能需要花費非常長的時間來進行校對;
?Chrony時間服務(wù)(CentOS7、RockyLinux9):
? 邏輯:Chrony是NTP的替代品,能更精確、更快的同步時鐘,傳統(tǒng)ntp需要幾小時,而chrony僅需要數(shù)秒種或數(shù)毫秒即可完成時間同步;調(diào)整時間的速度就像波動表針的速度一樣快;
2.Chrony時間服務(wù)
2.1 Chrony介紹
?chrony是基于ntp協(xié)議的實現(xiàn)時間同步服務(wù),它既可以當做服務(wù)端,也可以充當客戶端;
? 1、chrony是NTP的替代品,能更精確的時間和更快的速度同步時鐘;
? 2、chrony占用系統(tǒng)資源少,只有被喚起時才占用少部分CPU,chrony兼容ntpdate;
? 3、chrony允許本地網(wǎng)絡(luò)其他主機像本地進行時間同步;
2.2 為何需要Chrony
? 所有服務(wù)器直接同步公網(wǎng)上的時間不就可以了嗎,為何需要自己搭建一臺時間服務(wù)器呢?
? 如果每臺服務(wù)器都去同步公網(wǎng)時間服務(wù)器,且服務(wù)器較多,會帶來如下問題:
? 1、造成延遲
? 2、浪費帶寬
? 解決方法:搭建內(nèi)網(wǎng)時間服務(wù)器,來同步公網(wǎng)時間,然后所有服務(wù)器來與這臺服務(wù)器進行時間同步
? 1、減小服務(wù)器之間的誤差,提升同步速度
? 2、減少網(wǎng)絡(luò)帶寬損耗
image.png
2.3 Chrony服務(wù)安裝
[root@chrony ~]# yum install chrony -y
? 主配置文件:/etc/chrony.conf
? 客戶端程序:/usr/bin/chronyc
? 服務(wù)端程序:/usr/sbin/chronyd
2.4 Chrony服務(wù)端
? 默認配置
[root@chrony ~]#cat/etc/chrony.conf #使用同步的遠程時鐘源,理論上可以同步無限個 # iburst配置選項,它表示在啟動時快速嘗試多次同步,以便更快地獲得準確的時間 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 #存儲系統(tǒng)時鐘與真實時間之間的偏差信息,然后記錄到一個文件中,在系統(tǒng)重啟后為系統(tǒng)做出最佳時間補償調(diào)整,以便更準確地調(diào)整時間。 driftfile /var/lib/chrony/drift #如果系統(tǒng)時鐘的偏移量大于1秒,那么在前3次同步時,系統(tǒng)時鐘將立即進行調(diào)整,而不是逐步調(diào)整。 makestep 1.0 3 #啟用實時時鐘(RTC)的內(nèi)核同步 rtcsync #通過使用 hwtimestamp 指令啟用硬件時間戳 #hwtimestamp * #增加調(diào)整所需的可選擇源的最小數(shù)量 #minsources 2 # 允許指定網(wǎng)絡(luò)的主機同步時間,不指定就是允許所有,默認不開啟。 allow 192.168.0.0/16 # 默認情況下本地服務(wù)器無法同步互聯(lián)網(wǎng)時間時,可能會出現(xiàn)不精確,所以會拒絕提供授時服務(wù); # 開啟此選項,則表示允許接受不精確時間,繼續(xù)為客戶端提供授時服務(wù); localstratum 10 #指定包含 NTP 身份驗證密鑰的文件 #keyfile /etc/chrony.keys #指定日志文件 logdir /var/log/chrony #選擇日志文件要記錄的信息 logmeasurements statistics tracking
1.Chrony服務(wù)端配置,修改/etc/chrony.conf文件三處,設(shè)定外部時間服務(wù)器、允許內(nèi)網(wǎng)同步此服務(wù)端、設(shè)置斷網(wǎng)繼續(xù)同步
[root@chrony ~]# vim /etc/chrony.conf # Please consider joining the pool (http://www.pool.ntp.org/join.html). server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst # Allow NTP client access from local network. allow 172.16.1.0/24 # Serve time even if not synchronized to a time source. localstratum 10
2.重啟Chrony服務(wù)
[root@chrony ~]# systemctl restart chronyd
2.5 Chrony客戶端
1.客戶端使用ntpdate或chronyc命令的方式進行手動同步
# ntpdate [root@chrony ~]# yum install ntpsec -y [root@chrony ~]# ntpdate 172.16.1.62 # chronyc [root@chrony ~]# chronyc -a makestep 200 OK
2.客戶端使用chrony守護進程方式進行時間自動化同步
[root@chrony ~]# yum install chrony -y [root@chrony ~]# vim /etc/chrony.conf # 指向至服務(wù)端 server 172.16.1.62 iburst [root@chrony ~]# systemctl restart chronyd
3.查看時間同步是否正常
[root@chrony ~]# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 172.16.1.62 3 6 77 24 -926us[-2077us] +/- 19ms [root@chrony ~]# chronyc sources -v
鏈接:https://blog.csdn.net/Sunfeiyanghtml/article/details/140091806
-
互聯(lián)網(wǎng)
+關(guān)注
關(guān)注
55文章
11240瀏覽量
106025 -
時間同步
+關(guān)注
關(guān)注
1文章
168瀏覽量
10287
原文標題:告別時間漂移!Chrony高精度時間同步配置與調(diào)優(yōu)
文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
自動駕駛:揭秘高精度時間同步技術(shù)(一)

康謀方案 | BEV感知技術(shù):多相機數(shù)據(jù)采集與高精度時間同步方案

cc2640如何與節(jié)點時間高精度同步?
中國移動高精度時間同步1PPS和TOD接口規(guī)范詳細說明

docker部署NTP時間服務(wù)器chrony
如何實現(xiàn)更高精度的同步測量?如何做好同步數(shù)據(jù)采集的時間校準?
康謀技術(shù) | 自動駕駛:揭秘高精度時間同步技術(shù)(二)

兆越打造 | GPS/北斗高精度時間同步網(wǎng)絡(luò)方案

ptp和GPS時間同步的對比
方案分享 | 高精度時間同步技術(shù)的實現(xiàn)與應(yīng)用

評論