实际的生产环境中,多主机协同工作,主机间的时间同步很重要。时间不一致会导致很多重要应用的故障,如:日志,加密协议,集群等。
chrony可以替代ntp搭建时间服务器,ntpdate 这个时间同步命令已经在CentOS8上淘汰了。
chrony既可作时间服务器服务端,也可作客户端。
监听端口:服务端 123/udp 客户端:323/udp
服务unit文件 /usr/lib/systemd/system/chronyd.service
对应的的配置文件 Ubuntu系统 /etc/chrony/chrony.conf
Centos系统 /etc/chrony.conf
常用的公共的NTP服务器地址及IP
210.72.145.44 (国家授时中心服务器IP地址)
133.100.11.8 日本 福冈大学
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
阿里云的时间服务器 ntp.aliyun.com
ntp1—7.aliyun.com
打开配置文件/etc/chrony.conf 其中的主要的指令有:
server #可用于时钟服务器,iburst 选项当服务器可达时,发送8个数据包而不是1个数据包。包间隔通常为2秒,可以加快初始同步速度
pool #语法和server 语法相似,不同之处在于它用于指定NTP服务器池而不是单个的NTP服务器。池名解析随时间的变化会有多个地址。如在centos的配置文件可以看到 pool 2.centos.pool.ntp.org iburst
allow /deny #可以允许或拒绝哪台主机、子网来访问本服务器
**********************************************************************************************************************
1、先把CenOS8作为客户端来进行配置,来验证时间的同步效果。IP为10.0.0.132
在配置文件 /etc/chrony.conf 里编辑加入几个常用的FTP服务器地址
然后重启服务 systemctl restart chronyd.service
好的,把时间故意修改成错误的时间,验证时间是否可以自动同步FTP服务器
查看时间同步源:# chronyc sources -v
查看时间同步源状态:# chronyc sourcestats -v
时间已经同步成功,是通过阿里云的服务器地址同步成功。客户端验证有效。
*************************************************************************************************************************************************************
2、客户端在本机验证,在本机配置文件可以成功,然后我们把客户端设置为服务端,
CentOS8作为服务端,IP是10.0.0.132
Ubuntu20.04作为客户端,IP是10.0.0.150
服务端配置只需要在文件 /etc/chrony.conf 添加 allow 10.0.0.0/24 或直接写客户端的IP地址 allow 10.0.0.150
对应的客户端的文件 /etc/chrony/chrony.conf 编辑写入 server 10.0.0.132 iburst 以10.0.0.132主机作为时间服务器。
配置完成后都需要重启服务,然后就可以在Ubuntu 上把时间故意修改错误,进行验证。
时间同步可以成功地址指向服务端地址10.0.0.132,但是发现具体时区是UTC时间,是零时区的时间,和北京时间相差8个小时。
CST时间,中央标准时间,China Standard Time UT+8:00(中国cst:加8个小时)
使用时间和时区管理工具 就可以修改命令 timedatectl
查看日期时间及NTP状态 # timedatectl
查看和配置时区 # timedatectl list-timezones
更改当前时区为东八区 # timedatectl set-timezone Asia/Shanghai