要配置chrony實(shí)現(xiàn)網(wǎng)絡(luò)時(shí)間同步,首先安裝chrony服務(wù),在debian/ubuntu執(zhí)行sudo apt update && sudo apt install chrony,centos/rhel使用sudo yum install chrony或sudo dnf install chrony;安裝后確認(rèn)chronyd狀態(tài)并啟動(dòng)、啟用服務(wù);接著修改/etc/chrony.conf文件,將server行替換為可信時(shí)間服務(wù)器如ntp.aliyun.com等,并添加優(yōu)化選項(xiàng)如keyfile、driftfile、rtcsync、makestep和logdir;保存后重啟chronyd服務(wù);最后通過(guò)chronyc sources -v查看對(duì)等節(jié)點(diǎn)狀態(tài),chronyc tracking檢查同步情況,必要時(shí)用chronyc makestep強(qiáng)制同步;此外需確保udp 123端口出站開放,局域網(wǎng)可設(shè)內(nèi)部時(shí)間服務(wù)器,虛擬機(jī)環(huán)境注意宿主機(jī)時(shí)間同步影響。
在linux系統(tǒng)中,保持時(shí)間準(zhǔn)確非常重要,尤其是在服務(wù)器環(huán)境中。chrony 是一個(gè)比 ntp 更輕量、更靈活的時(shí)間同步服務(wù),適合各種網(wǎng)絡(luò)環(huán)境使用。下面介紹如何配置 chrony 來(lái)實(shí)現(xiàn)網(wǎng)絡(luò)時(shí)間同步。
安裝 chrony 服務(wù)
大多數(shù)主流 Linux 發(fā)行版默認(rèn)已經(jīng)安裝了 chrony,如果沒有,可以通過(guò)包管理器手動(dòng)安裝:
-
Debian/Ubuntu:
sudo apt update && sudo apt install chrony
-
centos/RHEL:
sudo yum install chrony # 或者使用 dnf(適用于較新版本) sudo dnf install chrony
安裝完成后,chrony 通常會(huì)自動(dòng)啟動(dòng)并設(shè)置為開機(jī)自啟??梢杂靡韵旅畲_認(rèn)狀態(tài):
sudo systemctl status chronyd
如果沒運(yùn)行,就啟動(dòng)它并設(shè)為開機(jī)啟動(dòng):
sudo systemctl start chronyd sudo systemctl enable chronyd
配置 chrony 時(shí)間源
chrony 的主配置文件是 /etc/chrony.conf,我們主要就是修改這個(gè)文件來(lái)指定時(shí)間服務(wù)器和一些行為參數(shù)。
打開配置文件后,找到 server 行,默認(rèn)可能有類似這樣的內(nèi)容:
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
你可以將這些替換成你信任的時(shí)間服務(wù)器,比如國(guó)內(nèi)常用的 NTP 源:
server ntp.aliyun.com iburst server ntp1.aliyun.com iburst server time1.cloud.tencent.com iburst
iburst 參數(shù)表示在初次連接時(shí)快速同步時(shí)間,建議保留。
還可以添加一些通用優(yōu)化選項(xiàng):
keyfile /etc/chrony.keys driftfile /var/lib/chrony/drift rtcsync makestep 1.0 3 logdir /var/log/chrony
保存退出后,重啟 chrony 生效:
sudo systemctl restart chronyd
查看與驗(yàn)證同步狀態(tài)
配置完成后,我們可以用幾個(gè)常用命令來(lái)檢查當(dāng)前時(shí)間同步情況:
-
查看對(duì)等節(jié)點(diǎn)狀態(tài):
chronyc sources -v
看輸出中的 ^* 標(biāo)記,代表當(dāng)前正在使用的主時(shí)間源。
-
查看時(shí)間偏差和同步狀態(tài):
chronyc tracking
-
如果發(fā)現(xiàn)時(shí)間差得太多,可以強(qiáng)制同步一次:
sudo chronyc makestep
正常情況下,chrony 會(huì)自動(dòng)調(diào)整時(shí)間漂移,不需要頻繁干預(yù)。
其他注意事項(xiàng)
- 防火墻設(shè)置:確保允許 UDP 123 端口出站訪問,否則無(wú)法連接遠(yuǎn)程 NTP 服務(wù)器。
- 局域網(wǎng)內(nèi)部同步:如果你有多臺(tái)機(jī)器,可以讓其中一臺(tái)做時(shí)間服務(wù)器,其他機(jī)器指向它作為 source。
- 虛擬機(jī)或容器環(huán)境:某些云廠商的虛擬機(jī)會(huì)自動(dòng)同步宿主機(jī)時(shí)間,此時(shí) chrony 可能只是輔助作用。
基本上就這些。chrony 的配置雖然不復(fù)雜,但容易忽略的是選擇合適的時(shí)間源以及定期檢查同步狀態(tài)。只要做好這兩點(diǎn),系統(tǒng)時(shí)間就能一直保持準(zhǔn)確。