一 什么是時間同步
時間同步:
多個主機協作工作時,各個主機的時間同步很重要,時間不一致會造成 很多重要應用的故障,如:加密協議,日志,集群等,
利用NTP(Network Time Protocol) 協議使網絡中的各個計算機時間達到同步。目前NTP協議屬於運維架構中必備的基本服務之一
二時間同步實現的方式
時間同步實現的兩種方式:ntp和chrony
ntp服務和chrony默認在Centos7系統上都默認存在
chrony默認只在Centos7上存在
三 chrony
這里我們介紹chrony進行實現。
3.1 chrony是什么?
chrony是實現時間同步的一種方式。
3.2 chrony 的優勢:
更快的同步只需要數分鍾而非數小時時間,從而最大程度減少了時間和頻率 誤差,對於並非全天 24 小時運行的虛擬計算機而言非常有用
能夠更好地響應時鍾頻率的快速變化,對於具備不穩定時鍾的虛擬機或導致 時鍾頻率發生變化的節能技術而言非常有用
在初始同步后,它不會停止時鍾,以防對需要系統時間保持單調的應用程序 造成影響
在應對臨時非對稱延遲時(例如,在大規模下載造成鏈接飽和時)提供了更 好的穩定性
無需對服務器進行定期輪詢,因此具備間歇性網絡連接的系統仍然可以快速 同步時鍾
3.3 chrony程序具體內容
server - 可用於時鍾服務器,iburst 選項當服務器可達時,發送一個八個數據包而不是通常的一個數據包。包間隔時間通常為2秒,可以加快初始同步速度。
driftfile - 根據實際時間計算出計算機增減時間的比率。將它記錄到一個文件中,會在重啟后為系統時鍾做出補償。
rtcsync - 啟用內核模式,系統時間每11分鍾會拷貝到實時時鍾(RTC)
allow/deny - 指定一台主機,子網,或者網絡以允許或者拒絕訪問本服務器
cmdallow /cmddeny - 可以指定哪台主機可以通過chronyd使用控制命令
bindcmdaddress -允許chronyd監聽哪個接口來接收由chronyc執行的命令。
makestep - 通常chronyd根據需求通過減慢后者加速時鍾,使得系統逐步糾正所有時間偏差。在某些特定情況下,系統時鍾可能會漂移過快,導致該調整過程消耗很長的時間來糾正系統時鍾。該指令強制chronyd在調整期大於某個閾值調整系統時間
local stratum 10 - 即使server 指令中時間服務器不可用,也允許將本地時間作為標准時間授予其他客戶端。
四 chrony服務器搭建和配置
准備工作:
服務器端: 192.168.233.150 系統:centos7
客戶端:192.168.233.151 系統: centos6
4.1 chrony服務器端搭建
4.1.1 安裝和啟用
yum install chrony systemctl start chronyd systemctl enable chronyd
4.1.2 進行chrony.conf配置
[root@localhost ~]# cat /etc/chrony.conf |sed '/^$/d'|sed '/^#/d' server 192.168.233.150 iburst #修改為NTP服務器的IP或者域名 driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync allow 192.168.233.0/16 #設置允許的IP段 local stratum 10 #開啟,即使server指令中時間服務器不可用,也允許將本地時間作為標准時間授予其他客戶端 logdir /var/log/chrony
4.2 客戶端設置
系統為centos6
yum install -y chrony service chronyd start chkconfig chronyd on
修改配置文件:
vim /etc/chrony.conf server chrony服務器IP iburst #只需要修改此處就可以。
4.3 進行測試
修改客戶端的時間
然后,重啟chrony服務
查看時間已經恢復了正常
也通過如下命令:
chronyc sources -v 查看同步時間的狀態
查看
至此,安裝配置結束。
五 其他
5.1 從Centos7 開始,新增了一條時間查詢命令:timedatectl
5.2 chronyc命令