CentOS7搭建時間服務器-chrony


CentOS7搭建時間服務器-chrony
 
操作系統:CentOS7
防火牆:  關閉防火牆和selinux
時間軟件:chrony

CentOS7我們一直用的ntp時間服務器,雖然到CentOS7上也可以裝ntp。chrony與ntp都是時間同步軟件,兩個軟件不能夠同時開啟,會出現時間沖突.但是由於各種問題,所以建議CentOS7使用chrony同步工具。

Chrony是一個開源的自由軟件,它能幫助你保持系統時鍾與時鍾服務器(NTP)同步,因此讓你的時間保持精確。

Chrony它由兩個程序組成,分別是chronyd和chronyc。

chronyd是一個后台運行的守護進程,用於調整內核中運行的系統時鍾和時鍾服務器同步。它確定計算機增減時間的比率,並對此進行補償。

chronyc提供了一個用戶界面,用於監控性能並進行多樣化的配置。它可以在chronyd實例控制的計算機上工作,也可以在一台不同的遠程計算機上工作。


在CentOS7之類基於RHEL的操作系統上,已經默認安裝有Chrony。

stratumweight - stratumweight指令設置當chronyd從可用源中選擇同步源時,每個層應該添加多少距離到同步距離。默認情況下,CentOS中設置為0,讓chronyd在選擇源時忽略源的層級。


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



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



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

local stratum 10
————————————————


【服務端配置】
1.安裝chrony軟件
[root@server ~]# yum install chrony -y

2.修改配置文件
[root@server ~]# vim /etc/chrony.conf

server 0.centos.pool.ntp.org iburst     #可以修改ntp的服務器,最好用國內的。
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst

allow 192.168.0.0/24                    #打開允許同步的IP
local stratum 10

或者修改為阿里的如下內容:
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst

allow 192.168.0.0/24
local stratum 10

3.啟動、開機自啟動、查看狀態、查看同步源
[root@server ~]# systemctl start chronyd
[root@server ~]# systemctl enable chronyd
[root@server ~]# systemctl status chronyd
[root@server ~]# systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2021-07-25 12:33:58 CST; 6min ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 11281 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 11277 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 11279 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─11279 /usr/sbin/chronyd

7月 25 12:33:57 server systemd[1]: Starting NTP client/server...
7月 25 12:33:58 server chronyd[11279]: chronyd version 3.4 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCFILTER +SIGND +ASYNCDNS +SECHASH +IPV6 +DEBUG)
7月 25 12:33:58 server chronyd[11279]: Frequency 8.760 +/- 2.817 ppm read from /var/lib/chrony/drift
7月 25 12:33:58 server systemd[1]: Started NTP client/server.
7月 25 12:34:23 server chronyd[11279]: Selected source 120.25.115.20
7月 25 12:34:25 server chronyd[11279]: Selected source 203.107.6.88
7月 25 12:35:29 server chronyd[11279]: Selected source 120.25.115.20
[root@server ~]#



【客戶端配置】
1. 安裝chrony
[root@client ~]# yum install chrony -y

2. 修改配置文件
[root@client ~]# vim /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.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
server 192.168.0.100 iburst                     #添加本地server

3.啟動、開機自啟動、查看狀態、查看同步源
[root@client ~]# date
Sat Sep  9 00:00:02 CST 2017

[root@client ~]#  systemctl start chronyd
[root@client ~]#  systemctl enable chronyd
[root@client ~]#  systemctl status chronyd
● chronyd.service - NTP client/server
   Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled)
   Active: active (running) since 四 2020-01-02 00:03:07 CST; 1 years 5 months ago
     Docs: man:chronyd(8)
           man:chrony.conf(5)
  Process: 5590 ExecStartPost=/usr/libexec/chrony-helper update-daemon (code=exited, status=0/SUCCESS)
  Process: 5586 ExecStart=/usr/sbin/chronyd $OPTIONS (code=exited, status=0/SUCCESS)
 Main PID: 5589 (chronyd)
   CGroup: /system.slice/chronyd.service
           └─5589 /usr/sbin/chronyd

1月 02 00:03:07 client systemd[1]: Starting NTP client/server...
1月 02 00:03:07 client chronyd[5589]: chronyd version 3.2 starting (+CMDMON +NTP +REFCLOCK +RTC +PRIVDROP +SCF...DEBUG)
1月 02 00:03:07 client chronyd[5589]: Frequency -5.594 +/- 6.413 ppm read from /var/lib/chrony/drift
1月 02 00:03:07 client systemd[1]: Started NTP client/server.
1月 02 00:03:12 client chronyd[5589]: Selected source 192.168.0.104
1月 02 00:03:12 client chronyd[5589]: System clock wrong by 45777777.135097 seconds, adjustment started
6月 14 20:06:09 client chronyd[5589]: System clock was stepped by 45777777.135097 seconds
[root@client ~]#

[root@client ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.0.104                 3   6    37    21  +4979ns[ +340us] +/-   26ms
[root@client ~]#
[root@dbserver ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.0.111                 3   6   377    34  -1615us[ -7960d] +/-   34ms
[root@dbserver ~]# chronyc sources -v
210 Number of sources = 1

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| /   '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
||                                                 .- xxxx [ yyyy ] +/- zzzz
||      Reachability register (octal) -.           |  xxxx = adjusted offset,
||      Log2(Polling interval) --.      |          |  yyyy = measured offset,
||                                \     |          |  zzzz = estimated error.
||                                 |    |           \
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* 192.168.0.111                 3   6   377    42  -1615us[ -7960d] +/-   34ms
[root@dbserver ~]#


##################
^* #已同步
^? #未同步



手動修改客戶端時間后,在客戶端執行如下命令,看到NTP synchronized: no,需要重新啟動chronyd服務即可
[root@client ~]#  timedatectl
      Local time: 四 2020-01-02 00:01:26 CST
  Universal time: 三 2020-01-01 16:01:26 UTC
        RTC time: 一 2021-06-14 12:04:24
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: no
 RTC in local TZ: no
      DST active: n/a
[root@client ~]#

[root@client ~]#  systemctl restart chronyd

[root@client ~]#  date
2021年 06月 14日 星期一 20:07:19 CST
[root@dbserver ~]# timedatectl
      Local time: 一 2021-06-14 20:07:23 CST
  Universal time: 一 2021-06-14 12:07:23 UTC
        RTC time: 一 2021-06-14 12:07:23
       Time zone: Asia/Shanghai (CST, +0800)
     NTP enabled: yes
NTP synchronized: yes
 RTC in local TZ: no
      DST active: n/a
[root@client ~]#




免責聲明!

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



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