一、Chrony 是什么?
chrony
是一個開源的網絡時間同步工具,主要由兩個組件組成:
chronyd
:后臺服務進程,負責與時間服務器交互,同步系統時鐘。chronyc
:命令行工具,用于手動查看或修改時間同步狀態。
相比 ntpd
,Chrony 啟動快、占用資源少、在網絡不穩定或斷網環境下也能較好地校正本地時間,適合虛擬機、容器、筆記本等多種場景。
二、安裝 Chrony
在大多數 Linux 發行版中,Chrony 都可以通過包管理器直接安裝。
CentOS / RHEL
sudo yum install chrony -y
Ubuntu / Debian
sudo apt update
sudo apt install chrony -y
三、配置 Chrony
Chrony 的主配置文件是 /etc/chrony.conf
,我們可以根據實際情況添加或修改時間服務器。
時間服務器節點:
vim /etc/chrony.conf
# 注銷以下行(避免重復時間源):
# 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# 添加外部時間服務器:
server ntp.aliyun.com iburst
# 自身也作為時間服務器(本地硬件時鐘參考):
local stratum 10
# 允許指定的網絡(61段)訪問:
allow 192.168.61.0/24# 服務重啟
systemctl restart chronyd
# 設置開機自啟
sudo systemctl enable chronyd
# 查看狀態
sudo systemctl status chronyd
# 查看連接狀態
chronyc sources
提示:如果
chronyc sources
的輸出中左側出現^*
,說明同步成功。如果是^?
,請檢查連通性或嘗試其他時間服務器。
其他連接該時間服務器的節點:
vim /etc/chrony.conf
# 注銷以下行(避免重復時間源):
# 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# 添加 Controller 節點為時間源:
server controller iburst
# controller 改為上方實際時間服務器節點IP地址或域名# 服務重啟
systemctl restart chronyd
# 設置開機自啟
sudo systemctl enable chronyd
# 查看狀態
sudo systemctl status chronyd
# 查看連接狀態
chronyc sources
其他配置參考(可選):
# 保存調校數據文件
driftfile /var/lib/chrony/drift# 記錄日志
logdir /var/log/chrony
iburst
參數:加快啟動時的同步速度,非常適合首次連接。
四、Chrony 與 ntpd 的區別
功能對比 | Chrony | ntpd |
---|---|---|
啟動速度 | 快 | 慢 |
對網絡環境依賴 | 低 | 高 |
精度 | 高 | 一般 |
對虛擬化環境支持 | 好 | 一般 |
易用性 | 較好 | 一般 |
ntp
同步命令比較簡單:ntpdate 時間服務器地址
就一句命令就可以實現時間同步,但要實現
ntpdate
自動同步時間還得結合定時任務crontab
。
總結
Chrony 是現代 Linux 系統中推薦的時間同步工具,具備輕量、精度高、適應性強等優點。通過簡單的配置和管理命令,就可以保障系統時間的準確性,對于運維工作來說是非常實用的基礎工具之一。