Linux服务器时间同步
需求:两台以上服务器之间的时间同步,以其中一台服务器为时间源,其余服务器同步这台时间源服务器的时间
其中,时间源服务器需要有访问外网权限,不然时间源服务器无法同互联网同步最新的时间,这样的时间后面可能还是会不准
其余服务器有无互联网网络环境都可,只要保证和时间源服务器同一局域网即可
配置准备
首先确保chrony已安装启动
# RHEL7默认已安装chrony
yum install chrony -y
# 查看chronyd服务状态
systemctl status chronyd
# 开机启动
systemctl enable chronyd
配置开始
服务端配置
可访问互联网,通过同步互联网时间的时间源服务器是服务端
需要关闭防火墙或者允许NTP服务,2选1即可:
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service
#允许NTP服务,建议这种方式
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
编辑chrony.conf
文件
#可先备份下该文件
cp /etc/chrony.conf /etc/chrony.conf.bak
vim /etc/chrony.conf
修改如下:
cn.pool.ntp.org
公网的地址也可以百度找其他的
allow 允许的IP有多个的话就换行写多个,要么就0.0.0.0/0不限制
重启chronyd服务
修改完成保存重启chrond服务
systemctl restart chronyd
客户端配置
其他需要同步时间源服务器时间的机子都是客户端,要是其他机子也可以访问互联网,可以直接按照服务端配置了,不配置成客户端也行。
客户端的防火墙好像不关闭也行,如果不行的话,先关闭同步完成后再开启防火墙
同样修改/etc/chrony.conf
编辑chrony.conf
文件
#可先备份下该文件
cp /etc/chrony.conf /etc/chrony.conf.bak
vim /etc/chrony.conf
修改如下:
重启chronyd服务
修改完成保存重启chrond服务
systemctl restart chronyd
验证
chronyc tracking
显示Normal就表示操作成功
如果显示Not synchronised
说明同步过程出错,检查一下配置文件是否有误
也可执行以下命令,查看是否生效
查看时间同步源:
chronyc sources -v
手动同步
chronyc -a makestep
查看时间同步源状态:
chronyc sourcestats -v