新聞中心
Chrony是NTP(Network Time Protocol,網(wǎng)絡(luò)時(shí)間協(xié)議,服務(wù)器時(shí)間同步的一種協(xié)議)的另一種實(shí)現(xiàn),與ntpd不同,它可以更快且更準(zhǔn)確地同步系統(tǒng)時(shí)鐘,最大程度的減少時(shí)間和頻率誤差。

創(chuàng)新互聯(lián)公司專注于霍爾果斯企業(yè)網(wǎng)站建設(shè),響應(yīng)式網(wǎng)站設(shè)計(jì),商城網(wǎng)站建設(shè)?;魻柟咕W(wǎng)站建設(shè)公司,為霍爾果斯等地區(qū)提供建站服務(wù)。全流程按需定制,專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,創(chuàng)新互聯(lián)公司專業(yè)和態(tài)度為您提供的服務(wù)
Chrony有兩個(gè)核心組件,分別是:chronyd:是守護(hù)進(jìn)程,主要用于調(diào)整內(nèi)核中運(yùn)行的系統(tǒng)時(shí)間和時(shí)間服務(wù)器同步。它確定計(jì)算機(jī)增減時(shí)間的比率,并對此進(jìn)行調(diào)整補(bǔ)償。chronyc:提供一個(gè)用戶界面,用于監(jiān)控性能并進(jìn)行多樣化的配置。它可以在chronyd實(shí)例控制的計(jì)算機(jī)上工作,也可以在一臺不同的遠(yuǎn)程計(jì)算機(jī)上工作。
OS環(huán)境:
10.28.204.65 客戶端
10.28.204.66 服務(wù)端
CentOS Linux release 7.4.1708 (Core)
情況說明:兩臺機(jī)器都是內(nèi)網(wǎng),將204.66作為NTP時(shí)間服務(wù)器,204.65到此機(jī)器上同步時(shí)間。
1.安裝Chrony
系統(tǒng)默認(rèn)已經(jīng)安裝,如未安裝,請執(zhí)行以下命令安裝:
$ yum install chrony -y
2.啟動并加入開機(jī)自啟動
$ systemctl enable chronyd.service
$ systemctl restart chronyd.service
$ systemctl status chronyd.service
3.Firewalld設(shè)置
$ firewall-cmd --add-service=ntp --permanent
$ firewall-cmd --reload
因NTP使用123/UDP端口協(xié)議,所以允許NTP服務(wù)即可。
4.配置Chrony
以下是系統(tǒng)默認(rèn)配置文件,我對此加以說明:
$ cat /etc/chrony.conf
# 使用pool.ntp.org項(xiàng)目中的公共服務(wù)器。以server開,理論上你想添加多少時(shí)間服務(wù)器都可以。
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
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
# 根據(jù)實(shí)際時(shí)間計(jì)算出服務(wù)器增減時(shí)間的比率,然后記錄到一個(gè)文件中,在系統(tǒng)重啟后為系統(tǒng)做出最佳時(shí)間補(bǔ)償調(diào)整。
driftfile /var/lib/chrony/drift
# chronyd根據(jù)需求減慢或加速時(shí)間調(diào)整,
# 在某些情況下系統(tǒng)時(shí)鐘可能漂移過快,導(dǎo)致時(shí)間調(diào)整用時(shí)過長。
# 該指令強(qiáng)制chronyd調(diào)整時(shí)期,大于某個(gè)閥值時(shí)步進(jìn)調(diào)整系統(tǒng)時(shí)鐘。
# 只有在因chronyd啟動時(shí)間超過指定的限制時(shí)(可使用負(fù)值來禁用限制)沒有更多時(shí)鐘更新時(shí)才生效。
makestep 1.0 3
# 將啟用一個(gè)內(nèi)核模式,在該模式中,系統(tǒng)時(shí)間每11分鐘會拷貝到實(shí)時(shí)時(shí)鐘(RTC)。
rtcsync
# Enable hardware timestamping on all interfaces that support it.
# 通過使用hwtimestamp指令啟用硬件時(shí)間戳
#hwtimestamp eth0
#hwtimestamp eth1
#hwtimestamp *
# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2
# 指定一臺主機(jī)、子網(wǎng),或者網(wǎng)絡(luò)以允許或拒絕NTP連接到扮演時(shí)鐘服務(wù)器的機(jī)器
#allow 192.168.0.0/16
#deny 192.168/16
# Serve time even if not synchronized to a time source.
local stratum 10
# 指定包含NTP驗(yàn)證密鑰的文件。
#keyfile /etc/chrony.keys
# 指定日志文件的目錄。
logdir /var/log/chrony
# Select which information is logged.
#log measurements statistics tracking
5.設(shè)置時(shí)區(qū)
查看當(dāng)前系統(tǒng)時(shí)區(qū):
$ timedatectl
Local time: Fri 2018-2-29 13:31:04 CST
Universal time: Fri 2018-2-29 05:31:04 UTC
RTC time: Fri 2018-2-29 08:17:20
Time zone: Asia/Shanghai (CST, +0800)
NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
DST active: n/a
如果你當(dāng)前的時(shí)區(qū)不正確,請按照以下操作設(shè)置。
查看所有可用的時(shí)區(qū):
$ timedatectl list-timezones
篩選式查看在亞洲S開的上??捎脮r(shí)區(qū):
$ timedatectl list-timezones | grep -E "Asia/S.*"
Asia/Sakhalin
Asia/Samarkand
Asia/Seoul
Asia/Shanghai
Asia/Singapore
Asia/Srednekolymsk
設(shè)置當(dāng)前系統(tǒng)為Asia/Shanghai上海時(shí)區(qū):
$ timedatectl set-timezone Asia/Shanghai
設(shè)置完時(shí)區(qū)后,強(qiáng)制同步下系統(tǒng)時(shí)鐘:
$ chronyc -a makestep
200 OK
6.服務(wù)器集群之間的系統(tǒng)時(shí)間同步
在生產(chǎn)環(huán)境中,其網(wǎng)絡(luò)都是內(nèi)網(wǎng)結(jié)構(gòu),那么內(nèi)網(wǎng)如何保證服務(wù)器之間的時(shí)間同步呢?其實(shí)這個(gè)問題很簡單,只需要搭建一臺內(nèi)網(wǎng)時(shí)間服務(wù)器,然后讓所有計(jì)算機(jī)都到服務(wù)端(10.28.204.66)去同步時(shí)間即可。
具體操作:在服務(wù)端注釋以下內(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
并添加以下內(nèi)容:(表示與本機(jī)同步時(shí)間)
server 10.28.204.66 iburst
這樣我們需求的一臺內(nèi)網(wǎng)時(shí)間服務(wù)器已經(jīng)配置完畢。
同樣在客戶端注釋掉其他server,并在客戶端(10.28.204.65)添加以下:
server 10.28.204.66 iburst
到此已經(jīng)完成系統(tǒng)時(shí)間的同步。如有多臺機(jī)器,操作也是如此。
7.常用命令
查看時(shí)間同步源:
$ chronyc sources -v
查看時(shí)間同步源狀態(tài):
$ chronyc sourcestats -v
設(shè)置硬件時(shí)間
硬件時(shí)間默認(rèn)為UTC:
$ timedatectl set-local-rtc 1
啟用NTP時(shí)間同步:
$ timedatectl set-ntp yes
校準(zhǔn)時(shí)間服務(wù)器:
$ chronyc tracking
最后需要注意的是,配置完/etc/chrony.conf后,需重啟chrony服務(wù),否則可能會不生效。
本文題目:詳解Linux Chrony使用方法
本文URL:http://fisionsoft.com.cn/article/dpjeogi.html


咨詢
建站咨詢
