centos 7 基於 chrony 時間同步(同步外網時間,然后再同步到內網)
說明
IP |
說明 |
|---|---|
| 192.168.0.100 | ntp服務端(時鍾服務器) |
| 192.168.0.102 | 客戶端(也就是需要同步的服務器) |
1.先安裝chrony,命令如下(centos 7 已經默認安裝)
yum install -y chrony
2. 啟動並且加入開機自啟
# 把chronyd設置成開機自啟,由於centos7 默認是開啟,這不可以省略
systemctl enable chronyd.service
# 重啟
systemctl restart chronyd.service
# 查看運行狀態
systemctl status chronyd.service
3. 關閉防火牆(也可以不關閉,不關閉自己開啟對應端口)
# 停止防火牆
systemctl stop firewalld
# 禁用防火牆開機自啟
systemctl disable firewalld
4. 在ip為 192.168.0.100服務上配置/etr/chrony.conf配置文件,配置內容如下
# 時鍾同步NTP服務器地址,這里使用阿里雲
server ntp1.aliyun.com iburst minpoll 1 maxpoll 1
server ntp2.aliyun.com iburst minpoll 1 maxpoll 1
# 個人理解為計算時間誤差存放到文件,為后續重啟做時間補償
driftfile /var/lib/chrony/drift
# 配置當時間誤差超過一秒時,系統時鍾前進的位數,這個要設置大些,不然設置誤差比較大的時候平滑同步會很慢
# 我這里配置當時間超過1秒,系統時鍾前進或者后退30000個時鍾
makestep 1.0 30000
# 將啟用一個內核模式,在該模式中,系統時間每11分鍾會拷貝到實時時鍾(RTC)。
rtcsync
# 綁定對應的網卡,這里表示監聽所有
#hwtimestamp *
# 這個我理解最小數據源需要2個,保留默認(我對這個還不是很理解,有大佬看到的,可以指導我下。謝謝)
#minsources 2
# 允許客戶端訪問的IP段
allow 10.192.22.0/24
# 表示當 server 指定的NTP服務不可用,使用自己本地時間,給客戶端做時間同步
local stratum 10
# 同步加密的文件,保留默認即可
#keyfile /etc/chrony.keys
# 日志存放路徑
logdir /var/log/chrony
# 需要記錄那些日志信息,保留默認
#log measurements statistics tracking
5. 設置系統時區(這里使用上海時區)
timedatectl set-timezone Asia/Shanghai
6.重啟chronyd.service
systemctl restart chronyd.service
7. 強制同步時鍾
hronyc -a makestep
8. 客戶端配置(192.168.0.101),和192.168.0.100配置一致,只需要修改 server和allow即可,其它不變
# 時鍾同步NTP服務器地址,使用內網地址,也就是192.168.0.100
server 192.168.0.100 iburst minpoll 1 maxpoll 1
# 個人理解為計算時間誤差存放到文件,為后續重啟做時間補償
driftfile /var/lib/chrony/drift
# 配置當時間誤差超過一秒時,系統時鍾前進的位數,這個要設置大些,不然設置誤差比較大的時候平滑同步會很慢
# 我這里配置當時間超過1秒,系統時鍾前進或者后退30000個時鍾
makestep 1.0 30000
# 將啟用一個內核模式,在該模式中,系統時間每11分鍾會拷貝到實時時鍾(RTC)。
rtcsync
# 綁定對應的網卡,這里表示監聽所有
#hwtimestamp *
# 這個我理解最小數據源需要2個,保留默認(我對這個還不是很理解,有大佬看到的,可以指導我下。謝謝)
#minsources 2
# 允許客戶端訪問的IP段 (這里注銷即可)
#allow 10.192.22.0/24
# 表示當 server 指定的NTP服務不可用,使用自己本地時間,給客戶端做時間同步
local stratum 10
# 同步加密的文件,保留默認即可
#keyfile /etc/chrony.keys
# 日志存放路徑
logdir /var/log/chrony
# 需要記錄那些日志信息,保留默認
#log measurements statistics tracking
9. 重啟
systemctl restart chronyd.service
10.啟用NTP時間同步
timedatectl set-ntp yes
11.常用命令
-
查看時間同步源
chronyc sources -v -
查看時間同步源狀態
chronyc sourcestats -v -
校准時間服務器
chronyc tracking
說明
時間同步不成功,需要檢查服務器之間的chrony版本是否一致 ,可以通過 chrony -v查看

