Chrony使用阿里云的 NTP 服務(wù)器
為什么需要 Chrony?
日志時(shí)間錯(cuò)亂,難以排查問題。
使用阿里云的 NTP 服務(wù)器
server ntp.aliyun.com iburst
allow 192.168.1.0/24
當(dāng)時(shí)間偏差超過 1 秒時(shí),立即調(diào)整
回到頂部
^+ ntp1.aliyun.com 2 6 377 45 -10us[-145us] +/- 25ms
示例輸出:
Reference ID : 123.456.789.101 (ntp.aliyun.com)
System time : 0.000123 seconds slow of NTP time
Residual freq : +0.001 ppm
Skew : 0.012 ppm
Root delay : 0.023456 seconds
Root dispersion : 0.001234 seconds
- 檢查 Chrony 的活動(dòng)狀態(tài)
200 OK
0 sources with unknown address - 手動(dòng)調(diào)整時(shí)間
- 檢查 Chrony 的版本
chronyc -v
? jvDoc git:(main) ? rm doc && vim doc
? jvDoc git:(main) ? python3 insertUrl.py
在現(xiàn)代計(jì)算機(jī)系統(tǒng)中,時(shí)間同步是至關(guān)重要的無論是分布式系統(tǒng)、數(shù)據(jù)庫(kù)集群,還是日志記錄,時(shí)間不一致都可能導(dǎo)致嚴(yán)重的問題而 Chrony,作為一款高性能的時(shí)間同步工具,正在成為越來越多系統(tǒng)管理員的首選它不僅比傳統(tǒng)的 ntpd 更快、更精準(zhǔn),還能在網(wǎng)絡(luò)不穩(wěn)定的情況下保持出色的表現(xiàn)今天,我們就來深入探討 Chrony 的強(qiáng)大功能,以及如何用它來讓你的服務(wù)器時(shí)間精準(zhǔn)到微秒級(jí)!
回到頂部
為什么需要 Chrony?
在分布式系統(tǒng)中,時(shí)間同步的重要性不言而喻如果服務(wù)器之間的時(shí)間不一致,可能會(huì)導(dǎo)致以下問題:
日志時(shí)間錯(cuò)亂,難以排查問題
數(shù)據(jù)庫(kù)事務(wù)沖突,數(shù)據(jù)一致性被破壞-
分布式鎖失效,系統(tǒng)出現(xiàn)不可預(yù)知的錯(cuò)誤
而 Chrony 正是為了解決這些問題而生的它通過以下特性脫穎而出:
快速同步:在網(wǎng)絡(luò)條件良好的情況下,Chrony 可以在幾秒內(nèi)完成時(shí)間同步
高精度:支持微秒級(jí)的時(shí)間同步,滿足高精度需求
適應(yīng)性強(qiáng):即使在網(wǎng)絡(luò)波動(dòng)或高延遲的環(huán)境中,Chrony 也能保持穩(wěn)定同步
低資源占用:適合資源受限的設(shè)備,如嵌入式系統(tǒng)或虛擬機(jī)-
回到頂部
Chrony 的核心優(yōu)勢(shì)
-
比 ntpd 更快、更精準(zhǔn)
Chrony 的設(shè)計(jì)目標(biāo)之一就是比傳統(tǒng)的 ntpd 更快地完成時(shí)間同步它通過智能算法和 iburst 選項(xiàng),在初始同步時(shí)發(fā)送多個(gè)請(qǐng)求,從而大幅縮短同步時(shí)間 -
適應(yīng)網(wǎng)絡(luò)波動(dòng)
如果你的服務(wù)器位于網(wǎng)絡(luò)不穩(wěn)定的環(huán)境中(比如云服務(wù)器或移動(dòng)設(shè)備),Chrony 的表現(xiàn)會(huì)更加出色-它能夠動(dòng)態(tài)調(diào)整同步策略,減少網(wǎng)絡(luò)波動(dòng)對(duì)時(shí)間同步的影響 -
支持離線模式
即使在沒有網(wǎng)絡(luò)連接的情況下,Chrony 也能依靠本地時(shí)鐘的漂移率來保持時(shí)間的準(zhǔn)確性這對(duì)于需要離線運(yùn)行的系統(tǒng)來說非常實(shí)用 -
低資源占用
Chrony 的資源占用非常低,適合在嵌入式設(shè)備或虛擬機(jī)中運(yùn)行它不會(huì)對(duì)系統(tǒng)性能造成明顯影響
回到頂部
如何配置 Chrony?
Chrony 的配置文件通常位于 /etc/chrony.conf,以下是一個(gè)簡(jiǎn)單的配置示例:
使用阿里云的 NTP 服務(wù)器
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
允許本地網(wǎng)絡(luò)訪問
allow 192.168.1.0/24
當(dāng)時(shí)間偏差超過 1 秒時(shí),立即調(diào)整
makestep 1.0 3
使用本地時(shí)鐘作為備用源
local stratum 10
配置完成后,啟動(dòng) Chrony 服務(wù):
sudo systemctl start chronyd
sudo systemctl enable chronyd
回到頂部
Chrony 的常用命令
Chrony 提供了一個(gè)強(qiáng)大的命令行工具 chronyc,用于監(jiān)控和管理時(shí)間同步-以下是一些常用命令:
- 查看時(shí)間服務(wù)器狀態(tài)
chronyc sources -v
顯示當(dāng)前配置的時(shí)間服務(wù)器及其狀態(tài)-
^* 表示當(dāng)前正在使用的服務(wù)器
^+ 表示可用的備用服務(wù)器-
示例輸出:
MS Name/IP address Stratum Poll Reach LastRx Last sample
^* ntp.aliyun.com 2 6 377 46 +12us[-123us] +/- 23ms
^+ ntp1.aliyun.com 2 6 377 45 -10us[-145us] +/- 25ms
2. 查看同步狀態(tài)
chronyc tracking
顯示當(dāng)前系統(tǒng)的時(shí)鐘同步狀態(tài),包括時(shí)間偏差、頻率偏移等
示例輸出:
Reference ID : 123.456.789.101 (ntp.aliyun.com)
Stratum : 3
Ref time (UTC) : Tue Jan 16 12:34:56 2025
System time : 0.000123 seconds slow of NTP time
Last offset : +0.000045 seconds
RMS offset : 0.000012 seconds
Frequency : 1.234 ppm slow
Residual freq : +0.001 ppm
Skew : 0.012 ppm
Root delay : 0.023456 seconds
Root dispersion : 0.001234 seconds
Update interval : 64.2 seconds
Leap status : Normal
3. 手動(dòng)同步時(shí)間
chronyc makestep
強(qiáng)制立即同步系統(tǒng)時(shí)間,適用于時(shí)間偏差較大的情況
4. 檢查客戶端訪問
chronyc clients
顯示當(dāng)前連接到 Chrony 的客戶端信息
示例輸出:
Hostname NTP Drop Int IntL Last
192.168.1.100 2 0 6 - 45
192.168.1.101 2 0 6 - 50
5. 查看時(shí)間服務(wù)器的詳細(xì)信息
chronyc sourcestats -v
顯示時(shí)間服務(wù)器的統(tǒng)計(jì)信息,包括延遲、偏差等
示例輸出:
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
ntp.aliyun.com 12 7 100 +0.001 0.012 +45us 12us
ntp1.aliyun.com 10 6 100 -0.002 0.015 -30us 15us
6. 添加或刪除時(shí)間服務(wù)器
添加時(shí)間服務(wù)器:
chronyc add server ntp2.aliyun.com
刪除時(shí)間服務(wù)器:
chronyc delete ntp2.aliyun.com
7. 檢查 Chrony 的活動(dòng)狀態(tài)
chronyc activity
顯示當(dāng)前 Chrony 的活動(dòng)狀態(tài),包括正在使用的服務(wù)器數(shù)量
示例輸出:
200 OK
4 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
8. 手動(dòng)調(diào)整時(shí)間
chronyc settime "2025-1-16 12:34:56"
手動(dòng)設(shè)置系統(tǒng)時(shí)間(需謹(jǐn)慎使用)
9. 檢查 Chrony 的版本
chronyc -v
顯示 Chrony 的版本信息
10. 重啟 Chrony 服務(wù)
sudo systemctl restart chronyd
重啟 Chrony 服務(wù)以應(yīng)用配置更改
回到頂部
Chrony vs. ntpd:誰(shuí)更適合你?
特性 Chrony ntpd
同步速度 更快 較慢
網(wǎng)絡(luò)適應(yīng)性 適應(yīng)網(wǎng)絡(luò)波動(dòng) 對(duì)網(wǎng)絡(luò)穩(wěn)定性要求較高
資源占用 低 較高
配置復(fù)雜度 簡(jiǎn)單 較復(fù)雜
離線模式支持 支持 不支持
如果你的系統(tǒng)需要快速、精準(zhǔn)的時(shí)間同步,并且可能面臨網(wǎng)絡(luò)不穩(wěn)定的情況,那么 Chrony 無疑是更好的選擇
回到頂部
總結(jié)
Chrony 是一款強(qiáng)大而靈活的時(shí)間同步工具,能夠?yàn)槟愕姆?wù)器提供高精度的時(shí)間同步服務(wù)無論是數(shù)據(jù)中心、云服務(wù)器,還是嵌入式設(shè)備,Chrony 都能輕松應(yīng)對(duì)通過簡(jiǎn)單的配置和管理,你可以讓系統(tǒng)時(shí)間精準(zhǔn)到微秒級(jí),徹底告別時(shí)間不一致帶來的煩惱!
如果你還沒有嘗試過 Chrony,現(xiàn)在就動(dòng)手安裝吧!相信它會(huì)成為你系統(tǒng)管理工具箱中的又一利器
-
浙公網(wǎng)安備 33010602011771號(hào)