当前位置: 首页 > 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.xdnf.cn/news/1300915.html

相关文章:

  • Go语言中安全停止Goroutine的三种方法及设计哲学
  • 前瞻性技术驱动,枫清科技助力制造企业借助大模型完成生产力转化
  • zabbix部署问题后常见问题
  • 新手入门Makefile:FPGA项目实战教程(二)
  • 【CV 目标检测】②R-CNN模型
  • 【Redis】分布式系统的演化过程
  • MyBatis的基本用法和配置方式
  • Highcharts Dashboards | 打造企业级数据仪表板:从图表到数据驾驶舱
  • 全球电商业财一体化:让出海品牌实现“看得见的增长“
  • demo 通讯录 + 城市选择器 (字母索引左右联动 ListItemGroup+AlphabetIndexer)笔记
  • Nginx反向代理与缓存实现
  • 人工智能与社会治理:从工具到生态的范式重构
  • Kafka生产者——提高生产者吞吐量
  • 切换VSCODE 中的默认 shell
  • GitHub 上 Star 数量前 18 的开源 AI Agent 项目
  • 制造装配、仓储搬运、快递装卸皆适配!MinkTec 弯曲形变传感器助力,让人体工学改变劳动生活
  • Vue3从入门到精通: 4.5 数据持久化与同步策略深度解析
  • Elasticsearch 深分页问题
  • 计算图的力量:从 PyTorch 动态图到 TensorFlow 静态图的全景与实战
  • Nginx蜘蛛请求智能分流:精准识别爬虫并转发SEO渲染服务
  • 【Java EE进阶 --- SpringBoot】初识Spring(创建SpringBoot项目)
  • iceberg 底层存储HDFS与juiceFS的区别
  • nflsoi 8.14 题解
  • 集成电路学习:什么是Video Processing视频处理
  • 《量子雷达》第4章 量子雷达的检测与估计 预习2025.8.14
  • ATAM:基于场景的软件架构权衡分析法
  • 解剖HashMap的put <三> JDK1.8
  • Linux入门指南:基础开发工具---yum/apt
  • MacOS 系统计算机专业好用工具安装
  • P5967 [POI 2016] Korale 题解