一、为什么要实现时间同步
多主机协作工作时,各个主机的时间同步很重要,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等,利用NTP(Network Time Protocol) 协议使网络中的各个计算机时间达到同步。目前NTP协议属于运维基础架构中必备的基本服务之一。
时间同步可用ntp包或chrony包实现,由于chrony包更精准,且同步效率高,因此推荐使用chrony包实现时间同步。
二、如何使用chrony包实现时间同步
准备四台服务器:
一台为时钟服务器:172.16.0.1
一台为中间服务器:192.168.37.7(CentOs7)
两台为客户端服务器:192.168.37.6,192.168.37.17(CentOs6)
如何通过中间服务器实现客户端与时钟服务器的时间同步?
1、时钟服务器172.16.0.1上的相关操作
#查询本机时间date
2、中间服务器192.168.37.7上的相关操作
#安装chrony包yum install chrony#查询chrony包生成的所有文件rpm -ql chrony#修改配置文件vim /etc/chrony.confserver 172.16.0.1 iburst#使本机时间与时钟服务器172.16.0.1同步allow 192.168.37.0 /24#允许192.168.37.0的所有网段访问本机,0.0.0.0/0表示允许所有机器与之同步local stratum 10#即使时钟服务器不可用,也可将本机时间授时给其他客户端#查询chronyd服务的启动状态(未启动)systemctl status chronyd#模拟date -s “-1 year”#启动chronyd服务systemctl start chronyd#将chronyd服务设为开机自启systemctl enable chronyd#验证时间是否同步date#查看端口信息(123、323)(123端口为chrony内置的ntpd服务)ss -nutl
3、客户端服务器192.168.37.6,192.168.37.17上的相关操作
#临时使时间与中间服务器192.168.37.7同步(命令法)ntpdate 192.168.37.7#永久使时间与中间服务器192.168.37.7同步(没有chronyd服务用自带的ntpd服务u也可以)vim /etc/ntp.confserver 192.168.37.7 iburst#使本机时间与中间服务器192.168.37.7同步#查询ntpd服务的启动状态(未启动)service ntpd status#查询开机自启状态(默认off)chkconfig --list ntpd#模拟date -s “-2 year”#启动ntpd服务service ntpd start#将ntpd服务设为开机自启chkconfig ntpd on#查询同步情况(*表示同步成功)ntpq -p或chronyc sources -V#验证时间是否同步date
4、截图示例
chrony服务端查看端口监听情况:
#323为chrony端口,123为chrony自带的ntp端口,外界使用ntp同步时用123端口
chrony客户端查看与服务端同步情况,*表示同步成功
#master1与10.94.21.56进行时间同步,其他节点与master1进行时间同步