操作系统: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 ~]#