时间同步介绍
简介
百度百科:时间同步就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。在集中式系统中,由于所有进程或者模块都可以从系统唯一的全局时钟中获取时间,因此系统内任何两个事件都有着明确的先后关系。而在分布式系统中,由于物理上的分散性,系统无法为彼此间相互独立的模块提供一个统一的全局时钟,而由各个进程或模块各自维护它们的本地时钟。由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有本地时钟在某一时刻都被校准,一段时间后,这些本地时钟也会出现不一致。为了这些本地时钟再次达到相同的时间值,必须进行时间同步操作,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等。
但是这个地方就有一个疑问,我们为什么需要一台时间同步服务器,所有的服务器向公网同步时间不就好了吗?其实就是因为如果每台服务器都去同步公网的时间服务器,这样势必会有延迟的情况,受到网络等因素的影响较大,所以我们一般需要搭建自己的时间同步服务器
NTP
简介
NTP全称为Network Time Protocol,即网络时间协议。是用来使计算机时间同步的一种协议。它可以使计算机对服务器或时钟源做同步,可以提供高精度的时间校正(LAN 上与标准时间小于1毫秒,WAN上几十毫秒),而且可以由加密确认的方式防止恶意的协议攻击
配置
1、我们首先准备两台服务器,查看当前的时间是一致的
2、在两个服务器上安装ntp服务
3、我们让ntp1这台机器充当我们的时间服务器,这台机器以阿里云时钟源为准,让ntp2这台机器来同步ntp1的时间,先来修改ntp1这台服务器的ntp配置文件 vim /etc/ntp.conf,将以下几行注释掉
restrict 127.0.0.1restrict ::1restrict default nomodify notrap nopeer noqueryserver 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst
在配置文件中添加一行
server ntp.aliyun.com iburst
4、重启ntp服务
systemctl restart ntpd
5、查看同步状况 ntpq -p
6、修改ntp2的配置文件 vim /etc/ntp.conf,将下面几行注释掉
restrict 127.0.0.1restrict ::1restrict default nomodify notrap nopeer noqueryserver 0.centos.pool.ntp.org iburstserver 1.centos.pool.ntp.org iburstserver 2.centos.pool.ntp.org iburstserver 3.centos.pool.ntp.org iburst
在配置文件中添加一行
server 192.168.77.130 iburst
7、为了显示出同步效果,我们手动把ntp1的时间改到明天
8、重启ntp2的ntp服务
systemctl restart ntpd
9、可以看到ntp2的时间也已经和ntp1同步了
chrony
简介
chrony 的优势:
1、更快的同步,从而最大程度减少了时间和频率误差
2、能够更好地响应时钟频率的快速变化
3、在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响
4、在应对临时非对称延迟时提供了更好的稳定性
5、无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟
配置
1、两台机器分别安装chrony
2、我们还是以ntp1这台服务器当作时间同步服务器,修改其配置文件/etc/chrony.conf,在如下位置添加一行
3、重启ntp1的chrony服务
systemctl restart chronyd
4、修改ntp2服务器的配置文件
5、重启ntp2的chronyd服务
systemctl restart chronyd