您好,欢迎访问这里是深圳市硕远科技有限公司!
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
联系我们
戴尔服务器价格_IBM联想配置_浪潮代理-深圳市硕远科技有限公司
邮箱:2324898850@qq.com
电话:400-080-6079
地址:深圳市龙华区河背工业区108创业园A301
当前位置:主页 > 新闻动态 > 企业新闻 >

企业新闻

Linux学习之时间同步

发布时间:2022-10-08 08:03:08浏览次数:
时间同步介绍 简介

百度百科:时间同步就是通过对本地时钟的某些操作,达到为分布式系统提供一个统一时间标度的过程。在集中式系统中,由于所有进程或者模块都可以从系统唯一的全局时钟中获取时间,因此系统内任何两个事件都有着明确的先后关系。而在分布式系统中,由于物理上的分散性,系统无法为彼此间相互独立的模块提供一个统一的全局时钟,而由各个进程或模块各自维护它们的本地时钟。由于这些本地时钟的计时速率、运行环境存在不一致性,因此即使所有本地时钟在某一时刻都被校准,一段时间后,这些本地时钟也会出现不一致。为了这些本地时钟再次达到相同的时间值,必须进行时间同步操作,时间不一致会造成很多重要应用的故障,如:加密协议,日志,集群等。

但是这个地方就有一个疑问,我们为什么需要一台时间同步服务器,所有的服务器向公网同步时间不就好了吗?其实就是因为如果每台服务器都去同步公网的时间服务器,这样势必会有延迟的情况,受到网络等因素的影响较大,所以我们一般需要搭建自己的时间同步服务器

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
400-080-6079