当前位置: 首页 > news >正文

【学习笔记】NTP服务客户端配置

【学习笔记】NTP服务客户端配置

需要实现客户端的时间改变之后,尽快进行时间同步,不需要步进同步,一下子大步同步就可以。

主要的配置选项:配置文件 /etc/chrony.conf

server 192.168.0.115 iburst prefer minpoll 2 maxpoll 2makestep 0.1 -1
maxslewrate 0   rtcsync
driftfile /var/lib/chrony/drift

主备切换的时候需要修改IP即可。

配置解释:

1、server 192.168.0.115 iburst prefer

连接服务器主要配置,server后面跟服务器IP。

iburst 是一个优化参数,作用是: chronyd 启动或与该服务器重新建立连接时,短时间内快速发送 8 个 NTP 请求(默认间隔约 2 秒),而非默认的单个请求。

  • 效果:通常 NTP 同步需要多次通信才能稳定,iburst 能通过 “批量请求” 快速获取可靠的时间数据,大幅缩短初始同步的耗时(从几分钟缩短到几秒)。
  • 适用场景:特别适合需要快速完成时间校准的场景(如系统启动后、网络恢复后)。

prefer 用于将该服务器标记为 “优先时间源”。当配置了多个 NTP 服务器时:

  • chronyd 会优先选择标记 prefer 的服务器作为主要同步源(即使其他服务器的层级或稳定性略好);
  • 只有当该优先服务器不可达或出现异常时,chronyd 才会切换到其他备用服务器。

2、minpoll 2 maxpoll 2

minpollmaxpollchronyd 中用于控制与 NTP 服务器同步时间的间隔范围的核心参数,它们的值表示 “2 的 n 次方秒”(即同步间隔 = 2^n 秒)。

  • minpoll:限制 “最小同步间隔”,避免过于频繁地向服务器发送请求(防止网络和服务器负载过高)。
  • maxpoll:限制 “最大同步间隔”,确保时间不会因太久不同步而产生过大偏差。

3、makestep 0.1 -1

控制 chronyd 在系统时间与参考时间(NTP 服务器时间)偏差较大时,是否允许 “大步调整”(step adjustment)而非缓慢 “ slew 调整”(平滑微调)。

第一个值 0.1:表示 “偏差阈值”(单位:秒)。当系统时间与参考时间的偏差超过 0.1 秒时,触发大步调整。

第二个值 1:表示 “时间窗口”(单位:秒)。仅在 chronyd 启动后的 1 秒内,允许执行上述大步调整。超过这个时间窗口后,即使偏差超过 0.1 秒,也不再使用大步调整,而是采用 slew 方式缓慢修正。-1表示任意时间。

4、maxslewrate 0

限制 chronyd 对系统时间的 “最大平滑调整速率”(slew rate),单位为 “秒 / 秒”(即每秒最多调整多少秒)。值 0 表示将最大平滑调整速率设置为 0,即完全禁用 “slew 平滑调整” 功能

5、rtcsync

rtcsyncchronyd 配置中用于自动同步系统时间到硬件时钟(RTC) 的参数,其核心作用是确保系统重启后,硬件时钟(RTC)能保持较准确的时间。

时间同步测试:

1、验证客户端和服务器4s同步时间

客户端:tcpdump -i any udp port 123 -n -c 10

服务端:sudo tcpdump -i any udp port 123 -n -vv

可以看见服务器每过四秒就会收到客户端的请求并且回包。

2、客户端修改时间验证同步

修改客户端时间:date -s “+60 seconds” date -s “2026-08-15 16:30:00”

修改客户端时间:date -s “-60 seconds” date -s “2024-08-15 16:30:00”

查看客户端实时时间变化:watch -n 0.5 chronyc tracking

查看服务器实时时间变化: watch -n 1 date

可以看见客户端时间四秒左右就会恢复和服务器时间一致。验证成功。

http://www.lryc.cn/news/622303.html

相关文章:

  • 9.对象介绍
  • 2025年COR SCI2区,泊位分配、岸桥分配与引航调度的集成规划,深度解析+性能实测
  • 下载及交叉编译zlib库,记录
  • 解决 MySQL 查询速度缓慢的问题
  • 力扣400:第N位数字
  • 【CUDA 编程思想】FusedQKVProj-分组量化矩阵乘法高效实现全流程解析
  • AutoSar AP平台中EM,CM,SM,PHM,LT等AP基础软件都有宿主进程吗
  • 【swift】SwiftUI动画卡顿全解:GeometryReader滥用检测与Canvas绘制替代方案
  • 超分——对比学习(Contrastive Learning)
  • mysql-DDLy语句案例
  • Unity 实现逼真书本翻页效果
  • 电子电气架构 --- 线束设计一些事宜
  • Linux软件编程-进程(2)及线程(1)
  • TDengine IDMP 高级功能(2. 事件模板)
  • 低资源语言翻译:数据增强与跨语言迁移学习策略
  • 第二十四天:虚函数与纯虚函数
  • 订单状态定时处理(Spring Task 定时任务)
  • OpenTelemetry WebSocket 监控终极方案:打通最后一公里
  • liteflow
  • kubernetes(4) 微服务
  • C#文件复制异常深度剖析:解决“未能找到文件“之谜
  • 大白话解析 Solidity 中的防重放参数
  • 大白话解析 Solidity 中的数据位置关键字 memory
  • [激光原理与应用-284]:理论 - 波动光学 - 无线电波,无线通信的频谱
  • 人工智能与社会治理:从工具到生态的范式重构
  • 数据民主化×智能进阶化:AI+BI不可逆的决策革命已至
  • Python 高级语法与用法详解 —— 提升编程效率与代码质量
  • JUC LongAdder并发计数器设计
  • Manus AI与多语言手写识别
  • 项目生命周期