Centos 集群时间同步chrony

实验环境

系统          角色        IP
Centos7.6    Server    192.168.14.217
Centos7.6    Client    192.168.14.218

一、Server端配置

1、Centos7系统已经默认安装chrony服务,没有再执行以下命令

[root@server ~]# yum install -y chrony

2、启动服务

[root@server ~]# systemctl start chronyd
[root@server ~]# systemctl enable chronyd

3、修改配置文件

[root@server ~]# vi /etc/chrony.conf 

Centos 集群时间同步chrony_第1张图片

4、查看时间同步源(^*表示已经同步)

[root@server ~]# chronyc sources -v
210 Number of sources = 4

  .-- 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               
===============================================================================
^- sv1.ggsrv.de                  2   6   327    88    +26ms[  +26ms] +/-  131ms
^- ntp8.flashdance.cx            2   6   377    18  +3759us[+3759us] +/-  152ms
^- 119.28.183.184                2   6   317    26   -653us[ -653us] +/-   49ms
^* 120.25.115.20                 2   6   377    89    +50us[ +119us] +/- 4323us

二、Clinet端配置

1、修改配置文件

[root@client ~]# cat /etc/chrony.conf |grep -v "^$"|grep -v "^#"
server server iburst
driftfile /var/lib/chrony/drift
makestep 1.0 3
rtcsync
logdir /var/log/chrony

注释默认的server地址,添加本地时间同步地址

Centos 集群时间同步chrony_第2张图片

2、修改主机名解析

#底部添加一条记录
[root@client ~]# vi /etc/hosts
192.168.14.217 server

3、重启服务

[root@client ~]# systemctl restart chronyd

4、查看时间是否同步

Centos 集群时间同步chrony_第3张图片

5、就算chronyc sources -v显示^*,但是如果NTP显示no也是不会同步时间的。(解决方法是重启服务)

Centos 集群时间同步chrony_第4张图片

6、模拟时间不同步,随意修改一个时间

[root@client ~]# date -s "2020-06-29 08:00:00"

7、查看时间同步状态(^?没同步,NTP状态为no)

Centos 集群时间同步chrony_第5张图片

8、NTP状态为不会自动变为yes,需要重启服务

Centos 集群时间同步chrony_第6张图片

9、因此可以编辑脚本,添加到自动任务

#当检测NTP synchronized状态为no的时候,自动执行重启服务
[root@client ~]# vi time.sh 
#!/bin/bash
status=`timedatectl | grep "NTP synchronized" | awk -F' ' '{print $3}'`
if [ "$status" =  "no" ]; then
 systemctl restart  chronyd
fi

#添加到自动任务,一分钟执行一次
[root@client ~]# crontab -e
*/1 * * * * /root/time.sh

#查看日志
[root@client ~]# tail -f /var/log/cron 

10、再次查看时间同步状态,至此完成

Centos 集群时间同步chrony_第7张图片

 

你可能感兴趣的:(#,shell脚本练习,Linux)