RedHat NTP时间服务器配置Chrony(所有节点时间跟主节点时间同步)

NTP

NTP(Network Time Protocol)是一种用于在计算机网络中同步时钟的协议。它的主要目的是确保网络中的各个设备具有准确的时间参考,以便协调事件顺序、安全通信和日志记录等应用。它通过分层体系结构、时间同步算法和准确的时间参考源来确保网络设备具有一致和准确的时间,为各种应用提供可靠的时间参考。

  • 分层体系结构:NTP使用分层的时间源结构。在该结构中,Stratum 1服务器作为最高层级,从高精度的时间源(如原子钟)获取时间信息。其他设备(如Stratum 2、Stratum 3等)通过与更高层级的服务器同步其时钟来获取时间信息。

  • 时间同步算法:NTP使用一种称为"时钟滤波"的算法来对时间进行同步。该算法通过与多个时间源进行比较,并使用加权平均值来计算最准确的时间。

  • 时钟偏移和延迟:NTP不仅考虑了时钟的偏移(即时间的差异),还考虑了时钟的延迟(即网络传输时间)。通过测量和补偿这些因素,NTP能够提供更准确的时间同步。

  • NTP服务器和客户端:NTP协议涉及两种类型的设备:服务器和客户端。NTP服务器是具有准确时间源的设备,它向客户端提供时间信息。NTP客户端是需要同步时间的设备,它通过与服务器通信来获取准确的时间。

  • 时间参考源:NTP可以使用多种时间参考源,包括原子钟、GPS接收器、互联网上的其他NTP服务器等。选择可靠和精确的时间参考源对于保持准确的时间同步非常重要。

Chrony

Chrony是一种用于网络时间同步的软件,它提供了与NTP(Network Time Protocol)兼容的功能。Chrony旨在提供准确的时钟同步,特别适用于具有不稳定网络连接或无法访问高精度时间源的环境。它通过适应性算法、时钟源选择和预测性补偿等功能,提供准确和稳定的时钟同步。Chrony广泛应用于各种环境中,包括个人计算机、服务器、嵌入式系统和云计算平台等。

  • 网络适应性:Chrony使用一种称为"时钟漂移"的算法来适应网络延迟和不稳定性。它能够检测和衡量网络延迟,以动态地调整时钟同步策略,从而提供更准确的时间同步。

  • 时钟源选择:Chrony支持多种时钟源选择策略。它可以使用本地时钟、参考时钟(如GPS接收器)或远程NTP服务器作为时间参考源。Chrony能够根据时钟源的准确性、可用性和可信度进行选择,并自动切换到最佳的时间源。

  • 预测性补偿:Chrony使用预测性补偿来减少网络延迟对时钟同步的影响。它通过分析网络延迟的变化模式来预测未来的延迟,并采取相应的补偿措施,以提供更准确的时间同步。

  • 精确度和稳定性:Chrony旨在提供高精度和稳定性的时钟同步。它使用一种双向时钟校准算法,可以减少时钟的偏移和抖动,并提供亚毫秒级别的时间同步。

  • 日志记录和监控:Chrony提供详细的日志记录和监控功能,可以记录时间同步的状态、偏移量和延迟等信息。这些信息对于故障排除和性能监控非常有用。

安装chrony

在所有的节点上安装chrony,注意安装的chrony版本,最好一致。

yum install chrony
systemctl start chronyd
systemctl enable chronyd

配置主节点

vim /etc/chrony.conf 

需要修改的地方有两个,第一个红框位置可以添加互联网时间源ntp1.aliyun.com;​​​ntp.sjtu.edu.cn;或者直接使用主节点的本地时间。​​第二个红框位置允许allow NTP client access from local network。

在这里插入图片描述

重启chrony服务。

systemctl restart chronyd

其他节点

修改chrony.conf 配置文件,添加主节点地址192.168.120.1作为时间源:

vim /etc/chrony.conf 

在这里插入图片描述
重启chrony服务。

systemctl restart chronyd

查看时间同步状态。

chronyc sources -v 

时间未同步开启防火墙端口

systemctl status firewalld # 检查firewalld服务

主节点和其他节点开放NTP协议的UDP123端口。

firewall-cmd  --permanent --add-port=123/udp
firewall-cmd  --reload 

查看时间同步状态。

chronyc sources -v 

手动调整同步

chronyc -a makestep

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/210048.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

最近整理一份steam搬砖的项目操作细节和详细要求

csgo饰品搬砖Steam饰品搬砖全套操作流程之如何卖货 一、国外Steam游戏装备汇率差项目 这个项目的基本原理是 购买国外Steam游戏平台上的装备,再在国内网易Buff平台上或国际站csgo饰品平台进行售卖。从充值汇率和两个平台的装备价格差中获得利润。 二、需要准备的硬…

chatGPT plugins 为什么看不到“Develop your own plugin” 没有解决

在做plugins测试时,为什么没有“Develop your own plugin”? Can access plugin, but can’t find “develop your own plug-in option” 还是没有解决。 https://github.com/openai/plugins-quickstart/issues/12

单片机调试技巧--修改bin文件实现断点

fromelf --text -a -c --outputall.dis F103_Moduel\F103_Moduel.axffromelf --bin --outputtest.bin F103_Moduel\F103_Moduel.axf 在启动文件中,修改UsageFault_Handler UsageFault_Handler\PROC; get current contextTST lr, #0x04 ; if(!EXC_RETURN[2])ITE…

什么软件可以做报表?

报表在现代企业和组织中扮演着重要角色。它们是数据汇总、分析和展示的重要工具,为管理层和决策者提供洞察和指导。但是,报表的制作并非易事。使用Excel或手写代码开发报表可能会带来一系列痛点,而现代化的解决方案——比如VeryReport报表软件…

内网穿透隐秘隧道搭建

别低头,皇冠会掉;别流泪,贱人会笑。 本文首发于先知社区,原创作者即是本人 0x00 前言 构建内网隐蔽通道,从而突破各种安全策略限制,实现对目标服务器的完美控制。 当我们从外网成功获得攻击点的时候&…

每日一题:LeetCode-589.N叉树的前序遍历序列构造二叉树

每日一题系列(day 01) 前言: 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 🌈 &#x1f50e…

第二证券:北证50指数一枝独秀 短剧游戏概念股持续活跃

周三,沪深两市三大指数颤动调整,北证50指数“鹤立鸡群”,大涨超8%。到收盘,上证综指报3043.61点,跌0.79%;深证成指报9855.66点,跌1.41%;创业板指报1950.01点,跌1.73%。沪…

工业交换机具备哪些功能?

在工业网络中,工业交换机起着至关重要的作用,具备多样功能和广泛的应用。 1、工业交换机的作用是实现不同网络设备之间的互联。它能够连接各种不同类型的设备,如计算机、服务器、传感器和监控设备,实现设备间的相互通信和数据传输…

注册并实名认证华为开发者账号

首先 我们访问 https://www.harmonyos.com/ 访问鸿蒙官方网站 右上角 我们点击 登录 然后 我们选择注册 然后 注册方式 有邮箱和手机号的注册 这边 看大家需要 如果像我不怎么登邮箱这种 建议还是选择手机号注册 这里 居住地区 应该就是默认中国吧 然后 手机号 验证码 密码…

安卓毕业设计基于安卓android微信小程序的培训机构系统

项目介绍 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对培训机构管理系统进行需求分析,得出培训机构管理系统主要功能。接着对培训机构管理系统 进行…

JSP EL表达式获取list/Map集合与java Bean对象

上文 JSP EL表达式基本使用 中 我们对EL表达式做了一个基本的了解 也做了基础的字符串数据使用 那么 我们可以来看一下我们的集合 首先 list 这个比较简单 我们直接这样写代码 <% page import"java.util.ArrayList" %> <% page import"java.util.Lis…

【Docker】从零开始:8.Docker命令:Commit提交命令

【Docker】从零开始&#xff1a;8.Docker命令:Commit命令 基本概念镜像镜像分层什么是镜像分层为什么 Docker 镜像要采用这种分层结构 本章要点commit 命令命令格式docker commit 操作参数实例演示1.下载一个新的ubuntu镜像2.运行容器3.查看并安装vim4.退出容器5提交自己的镜像…