一篇文章看懂时间同步服务

news2025/5/9 20:59:10

Linux 系统时间与时区管理

一、时间与时钟类型

时钟类型说明管理工具
系统时钟由 Linux 内核维护的软件时钟,基于时区配置显示时间timedatectl
硬件时钟 (RTC)主板上的物理时钟,通常以 UTC 或本地时间存储,用于系统启动时初始化时间hwclock

二、核心管理命令详解

1. 设置系统时间

命令

sudo timedatectl set-time "YYYY-MM-DD HH:MM:SS"  

参数说明

  时间格式必须严格遵循 年-月-日 时:分:秒

  支持 24 小时制,秒可省略(默认为 00)

 设置系统时间为 2024 年 2 月 13 日 10:41:55  
sudo timedatectl set-time "2024-02-13 10:41:55"  

注意事项

  需要 root 权限

  若系统启用了 NTP 时间同步服务(如 chronyd 或 systemd-timesyncd),手动设置时间后可能被自动纠正

2. 查看与设置时区

2.1 列出所有可用时区

timedatectl list-timezones  

过滤示例

 查找亚洲时区  
timedatectl list-timezones | grep Asia  
 输出:  
 Asia/Shanghai  
 Asia/Tokyo  
 Asia/Dubai  
2.2 设置系统时区
sudo timedatectl set-timezone "时区名称"  

注意事项

  时区名称区分大小写

  修改时区后,系统时间和日志时间戳将自动转换

  推荐使用协调世界时 (UTC) 部署跨国服务器

3. 配置硬件时钟模式
sudo timedatectl set-local-rtc <0|1>  
参数说明
0硬件时钟使用 UTC 时间
1硬件时钟使用 本地时间

三、完整操作流程

查看当前时间配置

timedatectl  
 输出当前时区为 America/New_York  

修改时区

sudo timedatectl set-timezone Asia/Shanghai  

同步硬件时钟

sudo hwclock --systohc  

使用 Chrony 实现 NTP 时间同步

一、Chrony 架构与核心组件

Chrony 是 RHEL 9 默认的 NTP 客户端/服务器软件

组件运行模式核心功能
chronyd守护进程负责与 NTP 服务器通信,持续调整系统时钟频率,补偿时钟漂移,实现高精度同步
chronyc命令行工具提供实时监控、配置调整和同步状态查询的交互式界面

二、Chrony 客户端配置

1. 安装与基础配置
1.1 安装软件包
sudo dnf install -y chrony
2. 服务管理命令
操作命令说明
启动服务sudo systemctl start chronyd初始化时间同步进程
设置开机自启sudo systemctl enable chronyd确保重启后自动同步
查看服务状态sudo systemctl status chronyd验证服务是否正常运行
重载配置sudo systemctl reload chronyd应用配置变更无需重启服务
3. 时间与时区初始化设置
3.1 设置系统时间基准
 手动设定初始时间(可选,通常由 NTP 自动同步)
sudo timedatectl set-time "2024-02-13 10:41:55"
3.2 配置时区
 列出所有时区
timedatectl list-timezones
 设置为上海时区
sudo timedatectl set-timezone Asia/Shanghai
3.3 硬件时钟模式
 使用 UTC 模式(推荐,尤其多系统环境)
sudo timedatectl set-local-rtc 0
 同步硬件时钟
sudo hwclock --systohc

三、同步状态

时间源状态解读

通过 chronyc sources -v 查看详细时间源状态

符号状态解释
^Server(服务器模式)当前使用的上级 NTP 服务器
=Peer(对等模式)与其他节点互为时间源(用于集群环境)
#Local(本地时钟)本地参考时钟
*Current Synced(已同步)当前最佳时间源
+Acceptable(可接受)候选时间源,满足精度要求
-Rejected(拒绝)因偏差过大或不可达被排除
?Unreachable(不可达)网络连接失败或响应超时
xFalse Ticker(假时钟)被算法判定为不可信源
~High Variability(高波动)时间波动超出阈值

搭建 Chrony 时间同步服务器

一、Chrony 服务端核心特性

  端口使用

    UDP 323:Chrony 守护进程 (chronyd) 默认管理端口

    UDP 123:兼容 NTP 协议,用于与客户端通信(需开放)

  核心优势

     快速同步:初始同步仅需分钟级,传统 NTP 需数小时

     动态频率补偿:适应虚拟机时钟漂移和节能模式波动

     低资源占用:间歇性网络环境下仍保持高精度

     稳定性优化:抵抗网络拥塞和临时延迟影响

二、服务端配置文件详解

关键参数解析

参数功能说明安全建议
server <地址> iburst指定上游时间服务器,iburst 加速首次同步(发送 8 个探测包)至少配置 3 个不同源以提高可靠性
allow 0.0.0.0/0允许所有 IP 的客户端连接生产环境应限制为内网段
local stratum 10当上游服务器不可用时,以本地时钟作为第 10 层时间源(防止服务中断)层级值建议 ≥10,避免干扰合法源
driftfile存储系统时钟频率偏差数据,重启后快速补偿确保文件路径可写且权限为 600
rtcsync每 11 分钟将系统时间同步到硬件时钟 (RTC)双系统环境需配合 set-local-rtc 0
bindcmdaddress指定 chronyd 监听的接口(默认 0.0.0.0 全接口)内网服务器可绑定管理 IP

三、服务端部署流程

1. 安装与配置

​
 安装 Chrony
sudo dnf install -y chrony

 编辑配置文件
sudo vim /etc/chrony.conf
 添加以下内容:
server ntp.ntsc.ac.cn iburst
server ntp.aliyun.com iburst
allow 网段 限制内网访问
local stratum 10
driftfile /var/lib/chrony/drift
rtcsync

​
2. 防火墙配置
​
​
 开放 NTP 服务端口
sudo firewall-cmd --permanent --add-service=ntp
sudo firewall-cmd --reload

 验证端口监听
ss -tuln | grep -E '123|323'
 输出应包含:
 udp   UNCONN 0 0 0.0.0.0:123    0.0.0.0:*              
 udp   UNCONN 0 0 0.0.0.0:323    0.0.0.0:* 

​

​
3. 服务管理
 启动并启用服务
sudo systemctl enable --now chronyd

 检查服务状态
systemctl status chronyd
 预期输出:active (running)

 重载配置(无需重启)
sudo systemctl reload chronyd

四、服务端状态验证

1. 查看同步状态的

 跟踪同步状态
chronyc tracking
 关键指标:
 Reference ID    : 标识当前同步的服务器
 Stratum         : 层级(越小越接近权威源)
 System time     : 与参考源的偏移量(理想值接近 0)

 列出所有时间源
chronyc sources -v

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

12.模方ModelFun工具-立面修整

摘要&#xff1a;本文主要介绍模方ModelFun修模工具——立面修整的操作方法。 点击工具栏即可找到立面修整工具&#xff0c;点击可打开并使用该工具&#xff0c;如下图&#xff1a; 图 工具菜单栏 &#xff08;1&#xff09;截面绘制&#xff1a; 快速绘制竖直矩形&#xff1…

Docker 渡渡鸟镜像同步站 使用教程

Docker 渡渡鸟镜像同步站 使用教程 &#x1f680; 介绍 Docker.aityp.com&#xff08;渡渡鸟镜像同步站&#xff09;是一个专注于为国内开发者提供 Docker 镜像加速和同步服务的平台。它通过同步官方镜像源&#xff08;如 Docker Hub、GCR、GHCR 等&#xff09;&#xff0c;为…

火影bug,未保证短时间数据一致性,拿这个例子讲一下Redis

本文只拿这个游戏的bug来举例Redis&#xff0c;如果有不妥的地方&#xff0c;联系我进行删除 描述&#xff1a;今天在高速上打火影&#xff08;有隧道&#xff0c;有时候会卡&#xff09;&#xff0c;发现了个bug&#xff0c;我点了两次-1000的忍玉&#xff08;大概用了1千七百…

探索元生代:ComfyUI 工作流与计算机视觉的奇妙邂逅

目录 一、引言 二、蓝耘元生代和 ComfyUI 工作流初印象 &#xff08;一&#xff09;蓝耘元生代平台简介 &#xff08;二&#xff09;ComfyUI 工作流创建是啥玩意儿 三、计算机视觉是个啥 &#xff08;一&#xff09;计算机视觉的基本概念 &#xff08;二&#xff09;计算…

Unity-Shader详解-其五

关于Unity的Shader部分的基础知识其实已经讲解得差不多了&#xff0c;今天我们来一些实例分享&#xff1a; 溶解 效果如下&#xff1a; 代码如下&#xff1a; Shader "Chapter8/chapter8_1" {Properties{// 定义属性[NoScaleOffset]_Albedo("Albedo", 2…

【Java 专题补充】流程控制语句

流程控制语句是用来控制程序中各语句执行顺序的语句&#xff0c;是程序中既基本又非常关键的部分。流程控制语句可以把单个的语句组合成有意义的、能完成一定功能的小逻辑模块。最主要的流程控制方式是结构化程序设计中规定的三种基本流程结构。 1.1 结构化程序设计的三种基本流…

【ArcGIS微课1000例】0146:将多个文件夹下的影像移动到一个目标文件夹(以Landscan数据为例)

本文讲述将多个文件夹下的影像移动到一个目标文件夹,便于投影变换、裁剪等操作。 文章目录 一、数据准备二、解压操作三、批量移动四、查看效果五、ArcGIS操作一、数据准备 全球人口数据集Landscan2000-2023如下所示,每年数据位一个压缩包: 二、解压操作 首先将其解压,方…

【redis】分片方案

Redis分片&#xff08;Sharding&#xff09;是解决单机性能瓶颈的核心技术&#xff0c;其本质是将数据分散存储到多个Redis节点&#xff08;实例&#xff09;中&#xff0c;每个实例将只是所有键的一个子集&#xff0c;通过水平扩展提升系统容量和性能。 分片的核心价值 性能提…

springboot+mysql+element-plus+vue完整实现汽车租赁系统

目录 一、项目介绍 二、项目截图 1.项目结构图 三、系统详细介绍 管理后台 1.登陆页 2.管理后台主页 3.汽车地点管理 4.汽车类别 5.汽车品牌 6.汽车信息 7.用户管理 8.举报管理 9.订单管理 10.轮播图管理 11.交互界面 12.图表管理 汽车租赁商城 1.首页 2.汽…

Linux第四节:进程控制

一、进程创建 1.1 fork函数 1. fork函数有两个返回值问题 返回的本质就是写入&#xff01;所以&#xff0c;谁先返回&#xff0c;谁就先写入id&#xff0c;因为进程具有独立性&#xff0c;会发生写时拷贝&#xff0c;父进程和子进程各自指向return语句。 2. fork返回后&#x…

Qt 编译 sqldrivers之psql

编译postgres pgsql驱动 下载驱动源码修改配置文件编译 下载驱动源码 // 源代码下载 https://download.qt.io/archive/qt/5.15/5.15.2/submodules/驱动目录:qtbase-everywhere-src-5.15.2\src\plugins\sqldrivers 修改配置文件 打开pro文件 右键点击添加库 此处的为debu…

观测云:安全、可信赖的监控观测云服务

引言 近日&#xff0c;“TikTok 遭欧盟隐私监管机构调查并处以 5.3 亿欧元”一案&#xff0c;再次引发行业内对数据合规等话题的热议。据了解&#xff0c;仅 2023 年一年就产生了超过 20 亿美元的 GDPR 罚单。这凸显了在全球化背景下&#xff0c;企业在数据隐私保护方面所面临…

【PostgreSQL数据分析实战:从数据清洗到可视化全流程】5.3 相关性分析(PEARSON/SPEARMAN相关系数)

&#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 &#x1f449; 点击关注不迷路 文章大纲 5.3 相关性分析&#xff08;PEARSON/SPEARMAN相关系数&#xff09;5.3.1 相关性分析理论基础5.3.1.1 相关系数定义与分类5.3.1.2 Pearson相关系数&#xff08; Pearson Corr…

python基础:序列和索引-->Python的特殊属性

一.序列和索引 1.1 用索引检索字符串中的元素 # 正向递增 shelloworld for i in range (0,len(s)):# i是索引print(i,s[i],end\t\t) print(\n--------------------------) # 反向递减 for i in range (-10,0):print(i,s[i],end\t\t)print(\n--------------------------) print(…

java反射(2)

package 反射;import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.Method; import java.util.Arrays;public class demo {public static void main(String[] args) throws Exception {// 通过类的全限定名获取对应的 Class 对象…

自由学习记录(58)

Why you were able to complete the SpringBoot MyBatisPlus task smoothly: Clear logic flow: Database → Entity → Service → Controller → API → JSON response. Errors are explicit, results are verifiable — you know what’s broken and what’s fixed. Sta…

《MATLAB实战训练营:从入门到工业级应用》高阶挑战篇-《5G通信速成:MATLAB毫米波信道建模仿真指南》

《MATLAB实战训练营&#xff1a;从入门到工业级应用》高阶挑战篇-5G通信速成&#xff1a;MATLAB毫米波信道建模仿真指南 &#x1f680;&#x1f4e1; 大家好&#xff01;今天我将带大家进入5G通信的奇妙世界&#xff0c;我们一起探索5G通信中最激动人心的部分之一——毫米波信…

工程师 - 汽车分类

欧洲和中国按字母对汽车分类&#xff1a; **轴距**&#xff1a;简单来说&#xff0c;就是前轮中心点到后轮中心点之间的距离&#xff0c;也就是前轮轴和后轮轴之间的长度。根据轴距的大小&#xff0c;国际上通常把轿车分为以下几类&#xff08;德国大众汽车习惯用A\B\C\D分类&a…

57.[前端开发-前端工程化]Day04-webpack插件模式-搭建本地服务器

Webpack常见的插件和模式 1 认识插件Plugin 认识Plugin 2 CleanWebpackPlugin CleanWebpackPlugin 3 HtmlWebpackPlugin HtmlWebpackPlugin 生成index.html分析 自定义HTML模板 自定义模板数据填充 4 DefinePlugin DefinePlugin的介绍 DefinePlugin的使用 5 mode模式配置…

K8S - 金丝雀发布实战 - Argo Rollouts 流量控制解析

一、金丝雀发布概述 1.1 什么是金丝雀发布&#xff1f; 金丝雀发布&#xff08;Canary Release&#xff09;是一种渐进式部署策略&#xff0c;通过逐步将生产流量从旧版本迁移至新版本&#xff0c;结合实时指标验证&#xff0c;在最小化风险的前提下完成版本迭代。其核心逻辑…