
chrony 簡介
chrony 是 RedHat 開發的,它是網絡時間協議(NTP)的另一種實現;
RHEL/CentOS 7.x 的默認時間同步工具,在 CentOS 6.8之后也添加上了這個工具;
chrony 可以同時做為 ntp 服務的客戶端和服務端;安裝完后有兩個程序 chronyd、chronyc:
chronyd 是一個 daemon 守護進程,chronyc 是用來監控 chronyd 性能和配置參數的命令行工具。
ntp pool
ntp 配置文件
/etc/ntp.conf
driftfile /var/lib/ntp/drift
pidfile /var/run/ntpd.pid
logfile /var/log/ntp.log
# Access Control Support
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict 192.168.0.0 mask 255.255.0.0 nomodify notrap nopeer noquery
restrict 172.16.0.0 mask 255.240.0.0 nomodify notrap nopeer noquery
restrict 100.64.0.0 mask 255.192.0.0 nomodify notrap nopeer noquery
restrict 10.0.0.0 mask 255.0.0.0 nomodify notrap nopeer noquery
# local clock
server 127.127.1.0
fudge 127.127.1.0 stratum 10
chrony 配置文件
/etc/chrony.conf
# 時鍾服務器地址
server ntp1.aliyun.com
# 指定包含 NTP 身份驗證密鑰的文件。
local stratum 8
# 指令設置當chronyd從可用源中選擇同步源時,每個層應該添加多少距離到同步距離。
# 默認情況下,CentOS中設置為0,讓chronyd在選擇源時忽略源的層級
stratumweight 0
# chronyd程序的主要行為之一,就是根據實際時間計算出計算機增減時間的比率,將它記錄到一個文件中是最合理的,它會在重啟后為系統時鍾作出補償。
# 甚至可能的話,會從時鍾服務器獲得較好的估值。
driftfile /var/lib/chrony/drift
# rtcsync指令將啟用一個內核模式,在該模式中,系統時間每11分鍾會拷貝到實時時鍾(RTC)。
rtcsync
# 如果系統時鍾的偏移量大於10秒,則允許系統時鍾在前三次更新中步進。
makestep 10 3
# allow / deny - 這里你可以指定一台主機、子網,或者網絡以允許或拒絕NTP連接到扮演時鍾服務器的機器。
allow all
# 指定包含 NTP 身份驗證密鑰的文件。
keyfile /etc/chrony.keys
# noclientlog
logchange 0.5
logdir /var/log/chrony
log measurements statistics tracking
chronyc 命令行工具
# 檢查NTP訪問是否對特定主機可用
chronyc accheck
# 查看 ntp_servers
chronyc sources
# 查看 ntp_servers 狀態
chronyc sourcestats
# 查看 ntp_servers 是否在線
chronyc activity
# 查看 ntp 詳細信息
chronyc tracking
# 報告已訪問到服務器的客戶端
chronyc clients:
修改時區
# 查看日期時間、時區及 NTP 狀態
timedatectl
# 查看時區列表
timedatectl list-timezones
timedatectl list-timezones | grep -E "Asia/Shanghai"
# 修改時區
timedatectl set-timezone Asia/Shanghai
# 修改日期時間(可以只修改其中一個)
timedatectl set-time "2020-04-11 16:51:10"
# 開啟 NTP
timedatectl set-ntp true/flase