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

Linux 时间同步服务:Chrony 深度笔记

Linux 时间同步服务Chrony 深度笔记NTP 时间服务器与 Chrony 的关系1. 什么是 NTP 时间服务器NTPNetwork Time Protocol网络时间协议是用于在网络中通常是互联网或局域网同步计算机时钟的一种标准协议。核心作用确保网络中所有设备的系统时间保持一致避免因时间偏差导致的安全认证失败如 Kerberos、日志分析困难、数据库事务错乱等问题。层级结构StratumNTP 采用分层架构来保证时间的准确性和稳定性。Stratum 0高精度时间源如原子钟、GPS 接收器。它们不直接连接网络。Stratum 1直接连接到 Stratum 0 设备的计算机时间服务器作为网络中的主时间源。Stratum 2从 Stratum 1 服务器同步时间的计算机以此类推。Stratum 16表示未同步或同步失败。2. NTP 与 Chrony 的关系简单来说NTP 是“协议”而 Chrony 是实现该协议的“软件”。NTP协议是一套规则和标准定义了时间如何传输和同步。Chrony软件是 NTP 协议的一种现代化实现守护进程。它完全兼容 NTP 协议可以与传统 NTP 服务器或客户端通信。3. 为什么现代 Linux 倾向于使用 Chrony 而非传统的ntpd虽然传统的ntpd是 NTP 协议的经典实现但 Chrony 在以下方面表现更优因此成为 RHEL/CentOS 7、Ubuntu 18.04 等现代系统的默认选择特性传统 NTP (ntpd)Chrony (chronyd)优势说明同步速度较慢需长时间稳定连接极快适合间歇性联网Chrony 能在几秒内完成同步ntpd可能需要几分钟。时钟漂移依赖持续连接支持离线估算Chrony 能记录时钟漂移率断网后仍能保持较准时间。资源占用相对较高轻量级Chrony 占用更少的 CPU 和内存适合嵌入式或虚拟机。大偏差处理拒绝同步或缓慢调整快速校正即使时间偏差很大Chrony 也能通过makestep快速修正。虚拟化支持一般优秀Chrony 对虚拟机时钟频率变化有更好的适应性。总结Chrony 是 NTP 协议的“升级版”实现它解决了传统ntpd在不稳定网络、虚拟化环境和快速启动场景下的痛点是目前企业级 Linux 时间同步的首选方案。1. Chronyd 简介1.1 什么是 Chronydchronyd是一个开源的自由软件用于保持系统时钟与 NTP 服务器同步。它是chrony软件包的核心组件。1.2 主要作用时间同步自动与 NTP 服务器同步系统时间保持高精度。快速收敛即使系统时钟偏差较大也能快速、平滑地校正避免时间跳变。低资源占用适合嵌入式设备、虚拟机和间歇性联网的主机。支持离线校正断网后仍能根据历史数据估算时间漂移。1.3 核心特点对比特性说明启动快系统启动后几秒内即可同步时间适应性强对网络延迟抖动容忍度高适合不稳定的网络硬件时钟可校准系统时钟漂移通过chronyc tracking查看安全性支持 NTP 认证、访问控制1.4 常用组件chronyd后台守护进程服务端/客户端。chronyc命令行工具用于查看状态、手动同步等。1.5 适用场景虚拟机或云服务器时钟易漂移。笔记本电脑或间歇联网设备。对时间精度要求较高的服务器如日志、数据库、Kubernetes 集群。2. 环境准备与基础检查2.1 实验环境规划为了演示服务端与客户端的配置我们规划两台主机主机名角色IP 地址说明server时间服务器192.168.194.11同步阿里云时间供内网使用client客户端192.168.194.12同步 server 的时间2.2 基础配置 (Hostname IP)Server 端配置# 修改主机名hostnamectl set-hostname server# 修改 IP (示例网卡为 ens160)nmcli c modify ens160 ipv4.method manual ipv4.addresses192.168.194.11/24 ipv4.gateway192.168.194.2 ipv4.dns223.5.5.5 connection.autoconnectyesnmcli c up ens160Client 端配置# 修改主机名hostnamectl set-hostname client# 修改 IPnmcli c modify ens160 ipv4.method manual ipv4.addresses192.168.194.12/24 ipv4.gateway192.168.194.2 ipv4.dns223.5.5.5 8.8.8.8connection.autoconnectyesnmcli c up ens1602.3 软件检查与服务状态大多数现代 Linux 发行版默认已安装。查看安装文件rpm -ql chrony查看配置文件rpm -qc chrony(主要关注/etc/chrony.conf)查看服务状态systemctl status chronyd# 确保状态为 active (running) 且 enabled (开机自启)2.4 核心进程解析chronyd后台守护进程负责处理时间同步逻辑。chronyc交互式命令行工具用于监控和配置chronyd。进入交互模式输入chronyc查看帮助在提示符下输入help3. 配置时间同步服务端 (Server)目标让 Server 同步阿里云时间并允许 Client 同步自己。3.1 修改配置文件编辑/etc/chrony.confvim/etc/chrony.conf关键配置项说明配置指令说明server ntp.aliyun.com iburst指定上游时间源iburst表示启动时快速发送多个包以加快同步。driftfile /var/lib/chrony/drift记录时钟漂移速率的文件。makestep 1.0 3如果前3次更新偏差超过1秒则直接跳跃调整时间而非缓慢调整。rtcsync开启内核模式每11分钟将系统时间同步给硬件时钟(RTC)。allow 192.168.194.0/24重要允许该网段的客户端进行同步。local stratum 10(可选) 当上游不可用时将自己作为时间源层级设为10。3.2 重启并验证# 重启服务systemctl restart chronyd# 查看时间源状态chronyc sources-v输出解读 (sources -v)^*表示当前正在同步的最佳源。^表示合格的源会被合并计算。^?表示不可达或未同步。4. 配置时间同步客户端 (Client)目标让 Client 指向内网的 Server 进行同步。4.1 修改配置文件编辑/etc/chrony.conf注释掉默认的 pool添加内网 Server IP。vim/etc/chrony.conf# 修改内容如下#pool 2.rhel.pool.ntp.org iburst -- 注释掉默认源server192.168.194.11 iburst-- 添加内网 Server IP4.2 重启并验证# 重启服务systemctl restart chronyd# 查看同步状态chronyc sources-v预期结果你应该能看到192.168.194.11前面有^*或^标记表示同步成功。5. 常用管理命令速查5.1 查看跟踪信息显示系统时间当前的同步详细信息。chronyc trackingReference ID当前参考的时间源 IP。Stratum层级数值越小越接近原子钟通常 2-4 为正常。System time系统时间偏差量。5.2 查看源统计信息显示对每个时间源收集的测量统计信息。chronyc sourcestats-vNP样本数量。Frequency时钟频率误差。Offset估计的偏移量。5.3 强制立即同步如果时间偏差过大可以使用以下命令强制立即校准chronyc makestep6. 故障排查 Tips防火墙问题如果 Client 无法同步 Server请检查 Server 端防火墙是否放行了 UDP 123 端口。命令firewall-cmd --add-servicentp --permanent firewall-cmd --reload网络连通性确保 Client 能ping通 Server。配置生效修改配置文件后必须执行systemctl restart chronyd。状态码含义如果chronyc sources显示?通常意味着网络不通或配置未生效。如果显示x表示该时间源被认为是“微秒级错误”或不可靠。

相关文章:

Linux 时间同步服务:Chrony 深度笔记

Linux 时间同步服务:Chrony 深度笔记 NTP 时间服务器与 Chrony 的关系 1. 什么是 NTP 时间服务器 NTP(Network Time Protocol,网络时间协议)是用于在网络中(通常是互联网或局域网)同步计算机时钟的一种标准…...

实测!用DiskGenius和Boot-Repair搞定移动硬盘Ubuntu启动难题(附最新软件版本)

移动硬盘Ubuntu系统全兼容实战:从分区原理到多机启动修复 当你想把Ubuntu系统装进移动硬盘实现随身携带时,可能会遇到一个尴尬问题——在自己电脑上安装顺利,换台机器却无法启动。这背后涉及UEFI引导机制、分区表类型和ESP分区位置等多个技术…...

边缘计算中大语言模型量化技术解析与实践

1. 边缘大语言模型量化技术现状与挑战在边缘计算场景部署大语言模型(LLM)面临的核心矛盾是:模型参数量呈指数级增长与边缘设备有限计算资源之间的冲突。以LLaMA3.1-70B为例,其FP16格式的原始权重需要140GB存储空间,远超…...

自定义AppBar在Flutter中的应用

在Flutter开发中,AppBar是我们常用到的组件之一。通常情况下,我们直接使用Scaffold的appBar属性来设置应用的顶部导航栏。然而,当我们需要自定义AppBar时,可能会遇到一些类型问题。本文将通过一个实际案例,展示如何解决在Flutter中自定义AppBar时可能遇到的类型错误。 背…...

Renesas RZ/T2H工业MPU:异构架构与实时控制解析

1. Renesas RZ/T2H工业级MPU深度解析 Renesas RZ/T2H作为RZ/T2系列中最强大的实时微处理器,专为工业自动化领域设计。这款芯片采用了独特的异构架构,将四核Cortex-A55应用处理器与双核Cortex-R52实时控制器集成在同一硅片上,为工业设备提供了…...

Flutter BLoC模式中的全局状态管理

在Flutter应用开发中,状态管理是核心问题之一。BLoC(Business Logic Component)模式是处理状态管理的一种有效方法。它通过将业务逻辑从视图层中分离出来,提高了代码的可维护性和可测试性。本文将通过一个实际的TODO应用案例,介绍如何使用BLoC模式实现全局状态管理,避免在…...

手把手教你用FUSB302芯片给单片机实现PD快充(附完整C代码)

从零构建PD快充系统:FUSB302芯片实战指南 1. PD协议与FUSB302芯片基础解析 在现代电子设备快速迭代的今天,电源管理技术正经历着革命性的变化。USB Power Delivery(PD)协议作为当前最先进的快充标准之一,已经广泛应用于…...

R语言corrplot包的进阶使用技巧

在数据分析和可视化领域,R语言凭借其强大的包生态系统成为首选工具之一。其中,corrplot包以其直观的相关系数矩阵图而备受数据科学家青睐。然而,在使用过程中,我们常常会遇到一些看似细小但影响可视化效果的问题,比如相关系数的小数位数显示不完整。本文将结合实际案例,探…...

Edge浏览器油猴插件安装与脚本管理保姆级教程(含离线备份与迁移指南)

Edge浏览器油猴插件全场景管理指南:从安装到跨设备无缝迁移 油猴插件(Tampermonkey)作为浏览器脚本管理的瑞士军刀,早已成为效率工具爱好者的标配。但大多数教程止步于基础安装,对于多设备同步、离线环境部署、脚本批…...

Win11Debloat:三步完成Windows 11终极系统优化与隐私保护指南

Win11Debloat:三步完成Windows 11终极系统优化与隐私保护指南 【免费下载链接】Win11Debloat A simple, lightweight PowerShell script that allows you to remove pre-installed apps, disable telemetry, as well as perform various other changes to declutter…...

【万字】抛开 RAG 谈蒸馏.skill,大概率是形式主义

上周我拜访了前老板,他们应该是国内做 AI 应用最深的一批公司,相应着整个团队对 AI 的应用及理解都很到位,于是乎我问了他一个问题: 老板你觉得什么是 AI 原生团队/应用,对应着团队的组织结构会有什么变化吗&#xff1…...

ROS开发效率翻倍:告别屏幕切换,用SSH+VSCode远程连接ROS小车并调试Rviz

ROS开发效率革命:VSCodeSSH全链路远程调试实战 想象一下这样的场景:你正在调试一台ROS移动机器人,左手是SSH终端窗口,右手是本地IDE编辑器,中间还要不断切换Rviz可视化界面——这种碎片化的工作流是否让你效率低下&…...

从攻击者视角看防御:一次对老旧JBoss服务的“体检”实战记录(附检测脚本)

企业安全实战:老旧JBoss服务漏洞检测与应急响应指南 发现公司内网遗留的JBoss服务器时,安全团队往往会心头一紧。这些"古董级"应用服务就像定时炸弹,可能因为长期无人维护而存在严重安全漏洞。本文将带您模拟一次完整的安全体检过程…...

如何检测失效的SQL视图_检查依赖对象的完整性

...

Scroll Reverser:终极指南!解决macOS多设备滚动方向混乱的免费神器

Scroll Reverser:终极指南!解决macOS多设备滚动方向混乱的免费神器 【免费下载链接】Scroll-Reverser Per-device scrolling prefs on macOS. 项目地址: https://gitcode.com/gh_mirrors/sc/Scroll-Reverser 你是否在Mac上同时使用触控板和鼠标时…...

别再重装系统了!手把手教你在一台X86电脑上同时拥有UOS和麒麟V10(保姆级分区指南)

国产操作系统双系统实战:UOS与麒麟V10共存的终极分区方案 每次切换操作系统都要重装系统?对于需要在UOS和麒麟V10之间频繁切换的开发者来说,这简直是噩梦。本文将彻底解决这个痛点,通过精心设计的双系统方案,让你在一台…...

QtScrcpy:电脑玩手游神器!3分钟实现安卓投屏+键鼠映射

QtScrcpy:电脑玩手游神器!3分钟实现安卓投屏键鼠映射 【免费下载链接】QtScrcpy Android real-time display control software 项目地址: https://gitcode.com/GitHub_Trending/qt/QtScrcpy 想在电脑大屏幕上畅玩手游吗?想用键盘鼠标获…...

从MTBF到泊松分布:构建硬盘可靠性评估与预测的实战指南

1. 硬盘可靠性评估的基础指标 当你管理着成千上万块硬盘的数据中心时,最怕听到的就是"硬盘坏了"这四个字。作为从业多年的运维工程师,我深知硬盘故障带来的不仅是数据丢失风险,更是真金白银的损失。要有效预防这些问题,…...

Altium Designer实战:PCB安全间距规则设置保姆级教程(含工艺边、V-CUT避坑)

Altium Designer实战:PCB安全间距规则设置保姆级教程(含工艺边、V-CUT避坑) 在PCB设计领域,安全间距设置是确保电路板可靠性和可制造性的关键环节。作为一名长期使用Altium Designer(以下简称AD)的工程师&a…...

区块链共识算法详解

区块链共识算法详解 区块链技术的核心在于其去中心化的特性,而共识算法则是确保分布式网络中所有节点达成一致的关键机制。无论是比特币的工作量证明(PoW),还是以太坊转向的权益证明(PoS),共识…...

从思科转战Juniper SRX防火墙?这份命令对照表帮你快速上手

思科工程师的Juniper SRX防火墙快速上手指南 对于习惯了思科IOS操作方式的网络工程师来说,初次接触Juniper SRX防火墙时,最大的挑战莫过于适应完全不同的命令体系。本文将为你提供一份详尽的命令对照表,帮助你快速跨越两种设备之间的鸿沟。 1…...

从“全链路刹车”到“精准限速”:图解PFC与ECN如何重塑数据中心网络流量

从“全链路刹车”到“精准限速”:图解PFC与ECN如何重塑数据中心网络流量 现代数据中心网络如同繁忙的都市交通系统,当海量数据包在光纤"高速公路"上奔涌时,如何避免"交通瘫痪"成为架构师的核心挑战。传统方案如同粗暴的交…...

告别手动点击!用Windows任务计划+Kitchen.bat搞定Kettle作业定时调度(附完整bat脚本)

告别手动点击!用Windows任务计划Kitchen.bat搞定Kettle作业定时调度(附完整bat脚本) 每天重复点击Kettle Spoon界面执行相同作业的ETL工程师们,是否已经厌倦了这种低效的手动操作?当数据处理成为日常,自动化…...

《隐藏(Hide)》

《隐藏(Hide)》 引言 在人类社会中,隐藏是一种普遍存在的现象。无论是为了保护隐私、逃避责任,还是出于其他原因,隐藏行为无处不在。本文将探讨隐藏的多种形式、原因及其影响,以期为读者提供全面而深入的理解。 隐藏的定义与形式 定义 隐藏,即指故意隐瞒、掩饰某些…...

FF14副本动画跳过插件终极指南:大幅提升游戏效率

FF14副本动画跳过插件终极指南:大幅提升游戏效率 【免费下载链接】FFXIV_ACT_CutsceneSkip 项目地址: https://gitcode.com/gh_mirrors/ff/FFXIV_ACT_CutsceneSkip FFXIV_ACT_CutsceneSkip 是一款专为《最终幻想XIV》中国服务器玩家设计的强大插件&#xff…...

终极指南:5分钟快速解锁浏览器中的完整微信体验

终极指南:5分钟快速解锁浏览器中的完整微信体验 【免费下载链接】wechat-need-web 让微信网页版可用 / Allow the use of WeChat via webpage access 项目地址: https://gitcode.com/gh_mirrors/we/wechat-need-web 还在为无法在浏览器中使用微信而烦恼吗&am…...

大语言模型推理加速:SPEQ技术与硬件协同优化

1. 大语言模型推理加速的现状与挑战大语言模型(LLM)在各类任务中展现出惊人能力的同时,其庞大的参数量也带来了显著的推理延迟问题。以Llama3.1-8B模型为例,在1024个token的预填充和1024个token的解码场景下,权重加载操…...

反激电源设计避坑指南:电解电容选型如何平衡寿命与成本(附实测数据)

反激电源电解电容选型实战:从寿命计算到成本优化的工程决策框架 在反激电源设计中,电解电容如同心脏起搏器中的储能单元,其选型质量直接决定了整个系统的可靠性与经济性。当我们拆解市面上80%的电源故障案例时,会发现电解电容失效…...

golang如何实现项目错误码规范_golang项目错误码规范实现指南

...

LinuxCNC实战指南:从实时性能调优到五轴联动控制的完整方案

LinuxCNC实战指南:从实时性能调优到五轴联动控制的完整方案 【免费下载链接】linuxcnc LinuxCNC controls CNC machines. It can drive milling machines, lathes, 3d printers, laser cutters, plasma cutters, robot arms, hexapods, and more. 项目地址: https…...