chrony配置



chrony既可作時間服務器服務端,也可作客戶端。性能比ntp好,且配置管理方便。
chrony由兩個程序組成,分別是chronyd和chronyc。chronyd是一個后台運行的守護進程,
用於調整內核中運行的系統時鍾和時鍾服務器同步。它確定計算機增減時間的比率,並對此進行補償。
chronyc提供了一個用戶界面,用於監控性能並進行多樣化的配置。它可以在chronyd實例控制的
計算機上工作,也可以在一台不同的遠程計算機上工作。

◆編輯/etc/selinux/config文件,關閉selinux
SELINUX=disabled


●安裝及配置
①yum install chrony -y --RHEL7默認已安裝chrony,而沒有安裝ntpd.

②systemctl status chronyd --查看chronyd服務狀態
③systemctl enable chronyd --開機啟動

④vi /etc/chrony.conf --修改配置文件
#server 0.rhel.pool.ntp.org iburst --注釋這4行,內網環境,無法跟外部時間同步。
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.0.1 iburst --添加這一行,表示與本機同步時間

local stratum 10 --取消該行注釋

# Allow NTP client access from local network.
allow 192.168.0.0/24 --允許那個網段的機器到這台服務器同步時間


⑤systemctl restart chronyd --修改完配置文件后,重啟chronyd服務

★查看使用的端口,需要開放udp705端口。
⑥ netstat -antulp | grep chronyd

【配置文件示例】
server ntp1.aliyun.com
server time1.aliyun.com
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
allow 192.168.0.0/24
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
local stratum 10
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony


調整時間/檢查配置
1.命令
timedatectl
# timedatectl status #兩條命令效果等同

[root@rhel1 ~]# timedatectl

注意NTP synchronized:yes值,只有時間服務器自己同步完成時間之后,
才能為其它服務器提供時間同步服務。

2.設置日期與時間

timedatectl set-time "YYYY-MM-DD HH:MM:SS"
timedatectl set-time "YYYY-MM-DD"
timedatectl set-time "HH:MM:SS"

3.查看所有可用的時區

timedatectl list-timezones
# 亞洲
timedatectl list-timezones | grep -E "Asia/S.*"

4.設置時區

timedatectl set-timezone Asia/Shanghai

5.設置硬件時間

# 硬件時間默認為UTC
timedatectl set-local-rtc 1 # 兩條命令效果等同
OR
hwclock --systohc --localtime

6.啟用NTP時間同步

timedatectl set-ntp yes #此處設置為yes后,手動修改時間會報錯。
# yes或no; 1或0也可以
#把NTP enabled 修改為yes時,表示開啟自動同步時間,此時,是不能手動修改時間的。

7、查看時間源信息

▪查看時間同步源:
chronyc sources
chronyc sources -v

▪查看時間同步源狀態:
chronyc sourcestats -v


●客戶端時間同步配置
①yum install chrony –y
②修改配置文件
vi /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.rhel.pool.ntp.org iburst --注釋這4行
#server 1.rhel.pool.ntp.org iburst
#server 2.rhel.pool.ntp.org iburst
#server 3.rhel.pool.ntp.org iburst
server 192.168.0.1 iburst ---添加該行,表示到此服務器同步時間。

③重啟chronyd並設置開機啟動
systemctl restart chronyd.service
systemctl enable chronyd.service

④查看時間同步狀態
# timedatectl

NTP synchronized: yes --為yes表示已同步

重啟chronyd服務后,需要過幾分鍾才會自動完成同步。


★如果需要手動同步,可使用下面的命令:
#ntpdate 192.168.0.1
如果同步失敗,則可能是服務端的時間未同步。即服務端NTP synchronized 為no。

★手動修改時間時,必須把NTP enabled設置為no,表示關閉自動同步時間。
執行:set-ntp no
然后再執行:
timedatectl set-time "YYYY-MM-DD HH:MM:SS"


★注:
可以在客戶端配置時間同步服務器。
1.使用命令行工具:chronyc
2.圖形界面工具:system_config_date

-----------------------------------------
★Chrony配置參數說明(/etc/chrony.conf)

server: 該參數可以多次用於添加時鍾服務器,必須以"server "格式使用。可以添加任意個時間服務器。
stratumweight: stratumweight指令設置當chronyd從可用源中選擇同步源時,每個層應該添加多少距離到同步距離。
默認情況下,CentOS中設置為0,讓chronyd在選擇源時忽略源的層級。

driftfile: 根據實際時間計算出計算機增減時間的比率,將它記錄到一個文件中是最合理的,
在重啟后為系統時鍾作出補償,甚至可能的話,會從時鍾服務器獲得較好的估值。

rtcsync: rtcsync指令將啟用一個內核模式,在該模式中,系統時間每11分鍾會拷貝到實時時鍾(RTC)。

allow/deny: 這里你可以指定一台主機、子網,或者網絡以允許或拒絕NTP連接到扮演時鍾服務器的機器。
例:
allow 192.168.0.10
deny 192.168.2.10

cmdallow/cmddeny: 指定哪個IP地址或哪台主機可以通過chronyd使用控制命令。

bindcmdaddress : 該指令允許你限制chronyd監聽哪個網絡接口的命令包(由chronyc執行)。
該指令通過cmddeny機制提供了一個除上述限制以外可用的額外的訪問控制等級。
例:
bindcmdaddress 127.0.0.1
bindcmdaddress ::1

makestep: chronyd將根據需求通過減慢或加速時鍾,使得系統逐步糾正所有時間偏差。在某些特定情況下,
系統時鍾可能會漂移過快,導致該調整過程消耗很長的時間來糾正系統時鍾。該指令強制chronyd在調整期
大於某個閥值時步進調整系統時鍾,但只有在因為chronyd啟動時間超過指定限制(可使用負值來禁用限制),
沒有更多時鍾更新時才生效。
-----------------------------------------
★chronyc命令
可以通過運行chronyc命令來修改設置。

accheck:檢查NTP訪問是否對特定主機可用。
activity:該命令會顯示有多少NTP源在線/離線。
add server:手動添加一台新的NTP服務器。
clients:在客戶端報告已訪問到服務器。
delete:手動移除NTP服務器或對等服務器。
settime:手動設置守護進程時間。
tracking:顯示系統時間信息。
-----------------------------------------


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM