centos 7 基于 chrony 时间同步(同步外网时间,然后再同步到内网)
centos 7 基于 chrony 时间同步(同步外网时间,然后再同步到内网)
说明
IP | 说明 |
---|---|
192.168.0.100 | ntp 服务端(时钟服务器) |
192.168.0.102 | 客户端(也就是需要同步的服务器) |
1.先安装chrony
,命令如下(centos 7 已经默认安装
)
yum install -y chrony
2. 启动并且加入开机自启
# 把chronyd设置成开机自启,由于centos7 默认是开启,这不可以省略
systemctl enable chronyd.service
# 重启
systemctl restart chronyd.service
# 查看运行状态
systemctl status chronyd.service
3. 关闭防火墙(也可以不关闭,不关闭自己开启对应端口)
# 停止防火墙
systemctl stop firewalld
# 禁用防火墙开机自启
systemctl disable firewalld
4. 在ip为 192.168.0.100
服务上配置/etr/chrony.conf
配置文件,配置内容如下
# 时钟同步NTP服务器地址,这里使用阿里云
server ntp1.aliyun.com iburst minpoll 1 maxpoll 1
server ntp2.aliyun.com iburst minpoll 1 maxpoll 1
# 个人理解为计算时间误差存放到文件,为后续重启做时间补偿
driftfile /var/lib/chrony/drift
# 配置当时间误差超过一秒时,系统时钟前进的位数,这个要设置大些,不然设置误差比较大的时候平滑同步会很慢
# 我这里配置当时间超过1秒,系统时钟前进或者后退30000个时钟
makestep 1.0 30000
# 将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)。
rtcsync
# 绑定对应的网卡,这里表示监听所有
#hwtimestamp *
# 这个我理解最小数据源需要2个,保留默认(我对这个还不是很理解,有大佬看到的,可以指导我下。谢谢)
#minsources 2
# 允许客户端访问的IP段
allow 10.192.22.0/24
# 表示当 server 指定的NTP服务不可用,使用自己本地时间,给客户端做时间同步
local stratum 10
# 同步加密的文件,保留默认即可
#keyfile /etc/chrony.keys
# 日志存放路径
logdir /var/log/chrony
# 需要记录那些日志信息,保留默认
#log measurements statistics tracking
5. 设置系统时区(这里使用上海时区)
timedatectl set-timezone Asia/Shanghai
6.重启chronyd.service
systemctl restart chronyd.service
7. 强制同步时钟
hronyc -a makestep
8. 客户端配置(192.168.0.101),和192.168.0.100配置一致,只需要修改 server
和allow
即可,其它不变
# 时钟同步NTP服务器地址,使用内网地址,也就是192.168.0.100
server 192.168.0.100 iburst minpoll 1 maxpoll 1
# 个人理解为计算时间误差存放到文件,为后续重启做时间补偿
driftfile /var/lib/chrony/drift
# 配置当时间误差超过一秒时,系统时钟前进的位数,这个要设置大些,不然设置误差比较大的时候平滑同步会很慢
# 我这里配置当时间超过1秒,系统时钟前进或者后退30000个时钟
makestep 1.0 30000
# 将启用一个内核模式,在该模式中,系统时间每11分钟会拷贝到实时时钟(RTC)。
rtcsync
# 绑定对应的网卡,这里表示监听所有
#hwtimestamp *
# 这个我理解最小数据源需要2个,保留默认(我对这个还不是很理解,有大佬看到的,可以指导我下。谢谢)
#minsources 2
# 允许客户端访问的IP段 (这里注销即可)
#allow 10.192.22.0/24
# 表示当 server 指定的NTP服务不可用,使用自己本地时间,给客户端做时间同步
local stratum 10
# 同步加密的文件,保留默认即可
#keyfile /etc/chrony.keys
# 日志存放路径
logdir /var/log/chrony
# 需要记录那些日志信息,保留默认
#log measurements statistics tracking
9. 重启
systemctl restart chronyd.service
10.启用NTP
时间同步
timedatectl set-ntp yes
11.常用命令
-
查看时间同步源
chronyc sources -v
-
查看时间同步源状态
chronyc sourcestats -v
-
校准时间服务器
chronyc tracking
说明
时间同步不成功,需要检查服务器之间的chrony
版本是否一致 ,可以通过 chrony -v
查看