当前位置: 首页 > 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.dtcms.com/a/333842.html

相关文章:

  • 医疗领域名词标准化工具
  • 二分算法(模板)
  • Vue插槽---slot详解
  • RAGFlow入门
  • 大麦APP抢票揭秘
  • 亚马逊新品推广的智能突围:从传统SP广告到DeepBI策略革新
  • 结合项目对AOP的实践和理论讲解-AOP八股
  • 第十四节:物理引擎集成:Cannon.js入门
  • Windows Server Core智能调优
  • 智能体开发实战:用Deepseek做一个生成思维导图的智能体
  • SSH协议的GIT转换
  • 访问者模式C++
  • Day55 Java面向对象09 super关键字详解
  • MySQL 高效查询五虎将——分页、排序、分组、去重、聚合函数实战手册
  • 解决HFSS许可证激活错误的实用方法
  • QT开发中QString是怎么转char*类型的
  • 轴机械臂cad【7张】三维图+设计说明书
  • 子进程资源回收与线程相关概念
  • 机器视觉助力柔性屏贴合工艺升级,精度可达0.01mm
  • 文章数据发布到苹果CMS(MacCMS)网站技巧
  • 深入理解Transformer:从训练机制到长文本处理的核心问题
  • Erlang notes[2]
  • Fastadmin后台列表导出到表格
  • 从理论到实战:KNN 算法与鸢尾花分类全解析
  • [Pyro概率编程] 推理算法Infer | 随机变分推断SVI | MCMC采样机制
  • linux 设备驱动的分层思想
  • MySQL的学习笔记
  • Python 常用库速查手册
  • 小红书帖子评论的nodejs爬虫脚本
  • C++编程学习(第24天)