【Linux】NTP时间服务器Chrony配置详解
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁
🪁🍁 希望本文能够给您带来一定的帮助🌸文章粗浅,敬请批评指正!🍁🐥
🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁🍁🪁🍁🪁 🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁🪁🍁
🪁🍁🍁🪁🍁🪁🍁 感谢点赞和关注 ,每天进步一点点!加油!🪁🍁🍁🪁🍁🪁🍁
目录
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁
一、NTP和chrony概述
二、Chrony安装与配置
2.1 安装chrony
2.2 修改配置
2.3 timedatectl 查看时间同步
2.4 chronyc 命令
三、NTPServer 为本机(内网 )
四、NTPServer 从阿里云同步时间(外网)
一、NTP和chrony概述
网络时间协议,英文名称:Network Time Protocol(NTP)是用来使计算机时间同步化的一种协议,它可以使计算机对其服务器或时钟源(如石英钟,GPS等等)做同步化,它可以提供高精准度的时间校正(LAN上与标准间差小于1毫秒,WAN上几十毫秒),且可介由加密确认的方式来防止恶毒的协议攻击。NTP的目的是在无序的Internet环境中提供精确和健壮的时间服务。
Chrony 是网络时间协议 (NTP) 的通用实现。Chrony是一个开源的软件,如果在chrony配置文件中指定了ntp服务器的地址,那么chrony就是一台客户端,会去同步ntp服务器的时间,如果在chrony配置了允许某些客户端来向自己同步时间,则chrony也充当了一台服务器,所以,安装了chrony即可充当客户端也可以充当服务端。
Chrony有两个核心组件,分别是:
- chronyd:是守护进程,主要用于调整内核中运行的系统时间和时间服务器同步。它确定计算机增减时间的比率,并对此进行调整补偿。
- chronyc:提供一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。
二、Chrony安装与配置
2.1 安装chrony
yum install chrony -y
测试服务器
hostname | IP | NTP 角色 |
hdp103 | 192.168.2.152 | client |
hdp104 | 192.168.2.153 | NTP Server |
hdp105 | 192.168.2.154 | client |
2.2 修改配置
配置/etc/chrony.conf文件。如果是做客户端,那么指定一下同步的时间服务器就好了;如果是做服务端,配置允许同步的客户端网段,配置当时间服务器的网络不可用时,采用服务器自身的时间同步,配置基本采用默认即可。
配置详细解释:
[root@hdp105 ~]# cat /etc/chrony.conf
# 使用 hdp104 为公共服务器,可配置多台
server hdp104 iburst# 根据实际时间计算出服务器增减时间的比率,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整。
driftfile /var/lib/chrony/drift# chronyd根据需求减慢或加速时间调整,在某些情况下系统时钟可能漂移过快,导致时间调整用时过长
# 该指令强制chronyd调整时期,大于某个阀值时步进调整系统时钟。
# 如果系统时钟的偏移量大于1秒,则允许系统时钟在前三次更新中步进
makestep 1.0 3# 启用实时时钟(RTC)的内核同步
rtcsync# 通过使用 hwtimestamp 指令启用硬件时间戳
#hwtimestamp *# 增加调整系统时钟所需的最小可选源数
#minsources 2# 指定一台主机、子网,或者网络以允许或拒绝NTP连接到扮演时钟服务器的机器
#allow 192.168.2.0/24# 即使未同步到时间源,也要提供时间。取值范围1-15,当默认时钟源无法同步,则当前系统层级为10
#local stratum 10# 指定包含 NTP 身份验证密钥的文件
#keyfile /etc/chrony.keys# 日志文件的目录
logdir /var/log/chrony# 选择日志文件要记录的信息。
#log measurements statistics tracking
重启chronyd服务 ,一般时间服务器器都会开机启动的。
systemctl restart chronyd
systemctl enable chronyd
NTP cliennt hdp103 配置文件chrony.conf
[root@hdp103 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server hdp104 iburst
NTP cliennt hdp105 配置文件chrony.conf
[root@hdp105 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server hdp104 iburst
2.3 timedatectl 查看时间同步
timedatectl是一个时间配置工具,用于设定时间、与时间相关的配置等。
timedatectl status --- 时间同步状态, 输入timedatectl 默认为时间同步状态
timedatectl set-ntp true --- 开启网络时间同步
输出说明:
Local time: Tue 2023-10-10 13:52:22 CST # 本地时间Universal time: Tue 2023-10-10 05:52:22 UTC # 协调世界时间RTC time: Tue 2023-10-10 05:52:22 # 硬件时间Time zone: Asia/Shanghai (CST, +0800) # 时区NTP enabled: yes # NTP时间同步是否开启,yes表示是
NTP synchronized: yes # yes #如果和远程NTP服务器成功同步,显示为yesRTC in local TZ: no # #no表示硬件时钟设置为协调世界时(UTC),yes表示硬件时钟设置为本地时间,终端输入:timedatectl set-local-rtc yes,yes可写为no DST active: n/a
常见用法:
- 查看当前时间/日期/时区:timedatectl 或者 timedatectl status
- 设定系统时区为亚洲上海timedatectl set-timezone “Asia/Shanghai”
- 设置日期时间:timedatectl set-time “YYYY-MM-DD HH:MM:SS”
- 启动NTP时间同步(启用NTP服务或者Chrony服务):timedatectl set-ntp true
- 设置硬件时钟为本地时间:timedatectl set-local-rtc 1
- 设置硬件时钟为UTC时间:timedatectl set-local-rtc 0
2.4 chronyc 命令
# 查看 ntp_servers
chronyc sources -v# 查看 ntp_servers 状态
chronyc sourcestats -v# 查看 ntp_servers 是否在线
chronyc activity -v# 查看 ntp 详细信息
chronyc tracking -v# 强制同步下系统时钟
chronyc -a makestep# 查看哪些ip连接我的ntp时间了
chronyc clients
chrony sources -v,查看时间的同步情况
[root@hdp103 ~]# chronyc sources -v
210 Number of sources = 1.-- Source mode '^' = server, '=' = peer, '#' = local clock./ .- Source state '*' = current synced, '+' = combined , '-' = not combined,
| / '?' = unreachable, 'x' = time may be in error, '~' = time too variable.
|| .- xxxx [ yyyy ] +/- zzzz
|| Reachability register (octal) -. | xxxx = adjusted offset,
|| Log2(Polling interval) --. | | yyyy = measured offset,
|| \ | | zzzz = estimated error.
|| | | \
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^* hdp104 11 10 377 764 +73us[ +45us] +/- 323ms
输出信息说明:
(1)M
这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。
(2)S
此列指示源的状态。
- * 表示chronyd当前同步到的源。
- + 表示可接受的信号源,与选定的信号源组合在一起
- - 表示被合并算法排除的可接受源。
- ? 指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。
- x 表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)。
- 〜 表示时间似乎具有太多可变性的来源。
(3)Name/IP address
这显示了源的名称或IP地址,或参考时钟的参考ID。
(4)Stratum
这显示了来源的层,如其最近收到的样本中所报告的那样。层1表示一台具有本地连接的参考时钟的计算机。与第1层计算机同步的计算机位于第2层。与第2层计算机同步的计算机位于第3层,依此类推。
(5)Poll
这显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。
(6)Reach
这显示了源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。
(7)LastRx
此列显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母m,h,d或y表示分钟,小时,天或年。
(8)Last sample
此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us (表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。
+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。
查看 NTP Client 同步的client Server:
三、NTPServer 为本机(内网 )
[root@hdp104 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server hdp104 iburst
说明:chrony服务部署:三台机器
a: hdp104机器将自身时间作为时间服务,也就是同步自身时间,hdp103、hdp105 作为 NTP Client 从 hdp104 同步时间;
b: hdp104服务器使用系统时间作为hdp103、hdp105服务器的时钟源;
hdp104 NTFServer 层级为10,自身时间从NTPServer同步,所以层级为 (11), hdp104作为 NTP Server ,hdp103、hdp105 作为 NTP Client 从 hdp104 同步时间,则hdp103、hdp105层级是(12),一般NTPServer 会同步网络时间也就是不会使用自身时间作为时间源。
查看 NTPServer hdp104 层级
查看hdp103和hdp105 层级
四、NTPServer 从阿里云同步时间(外网)
说明:chrony服务部署:三台机器
a: hdp104机器从阿里云同步时间,主机hdp104 从time_server 同步时间
b: hdp103、hdp105 作为 NTP Client 从 hdp104 同步时间
[root@hdp104 ~]# cat /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server ntp.aliyun.com iburst
时钟服务器time_server:它的层级是2,主机hdp104 从time_server 同步时间,那么hdp104 主机的层级就是3,以此类推另外两台台在hdp104同步时间,那它的层级就是4。
hdp103 从 hdp104 同步时间,层级为 4
强制同步系统时钟(特定条件才能进行,超过步进时间则无法同步)
date -s "2023-09-11 11:30"
chronyc -a makestep
systemctl restart chronyd --- 需重启chronyd服务才可同步# 或者
timedatectl set-ntp no
timedatectl set-time "2022-02-28 17:13:55"
timedatectl set-ntp yes
ntpdate 192.168.2.104 -- 客户端立即获取
总结: 以上内网和外网的配置文件我只修改配置文件 chrony.conf 中的 server信息,客户端的配置文件不用做特殊修改。
参考原文链接:linux上外网和内网环境配置NTP时间同步详解~【基于chrony服务,效率更高的方法】、chrony不能同步时间排错详解、timedatactl命令修改时间和时区等说明【4.7万字符详细说明】_内网ntp服务器时间修改-CSDN博客
linux进阶 --- chrony服务器_chrony安装-CSDN博客
相关文章:

【Linux】NTP时间服务器Chrony配置详解
🍁 博主 "开着拖拉机回家"带您 Go to New World.✨🍁 🦄 个人主页——🎐开着拖拉机回家_大数据运维-CSDN博客 🎐✨🍁 🪁🍁 希望本文能够给您带来一定的帮助🌸文…...

今年的秋招面试,确实有点难。
不可否认的是,今年秋招确实有点难 从今年的形势来看,好的 offer 都掌握在少数人的手里,想要秋招找到理想的工作,要么学历好,要么技术功底很扎实,这两样都不占的话,就业压力就会比较大。 如何从…...

Rn使用FlatList导航栏自动回到中间
import { useState, useRef } from react import { FlatList, View, Text, StyleSheet, TouchableOpacity } from react-nativeconst Center () > {const tabs ["语文", "数学", "英语", "政治", "历史", "地理&q…...

单例模式中的线程安全问题
小王学习录 本日鸡汤:单例模式什么是单例模式如何实现单例模式饿汉模式懒汉模式单例模式下的线程安全问题为什么在单例模式下会出现线程安全问题如何解决单例模式中的线程安全问题本日鸡汤: 志在山顶的人, 不会贪恋山腰的风景 单例模式 单例模式是设计模式中的一种, 所谓设计…...

Android 13 骁龙相机点击拍照流程分析(一)——点击拍照到更新到左下角缩略图
一.背景 由于最近客户定制需要将文件挂载类型修改为sdcardfs,由于修改了文件挂载类型,导致了骁龙相机拍照后不能点击进入相册,故对骁龙相机从点击事件开始进行问题的排查,此处不介绍最终的sdcardfs挂载后的问题解决方案 二.流程介绍 拍照的流程大概分为几个阶段:打开相机…...

Docker 的网络与数据管理
Docker 网络实现原理 Docker使用Linux桥接,在宿主机虚拟一个Docker容器网桥(docker0),Docker启动一个容器时会根据Docker网桥的网段分配给容器一个IP地址,称为Container-IP,同时Docker网桥是每个容器的默认网关。因为在同一宿主机…...

在QGIS中给矢量数据属性编号的一种方法
目录 写在文章前 一、给要素编号用哪些功能 二、实现一个最简单的编号 1.数据准备 2.编辑字段计算器表达式 3.查看编号结果 三、更加复杂的编号 1.使用UUID编号 2.根据单个属性排序后编号 3.根据多个属性排序后编号 4.拼接字符串进行编号 5.根据时间编号及实现 写在…...

对一个变速器原理的分析
背景 原本是朋友在调试一个看起来比较新的变速器驱动,整体来说支持两种变速模式,一种是进程级,这种用了HOOK,中规中矩的实现,原理网上都有。另一种是”系统级内核全局变速“,这个模式初步看了下有些特殊&a…...

秒验:可以自定义UI的一键登录服务
一键登录如今成为越来越多移动应用的首选,但千篇一律的登陆界面在引发用户担忧其安全性的同时,也容易让用户在不同APP切换时产生误解。因此,由国内知名移动应用开发服务商MobTech打造的一键登录工具——秒验,通过允许开发者自定义…...

pmm最新版本v2.40.0尝鲜体验
1 概述 PMM 是一款免费开源的企业级的数据库监控工具,可用来监控 MySQL、MongoDB 和 PostgreSQL 等数据库。除了指标监控,针对MySQL还具备SQL语句的性能监控。 官方地址是https://docs.percona.com/percona-monitoring-and-management,最新版…...

2023年中国数据存储市场现状及发展前景预测分析
中商情报网讯:当前,新一代信息技术快速发展推动信息产业发生了重大变革,数据存储行业将很快成为信息领域一个重要的产业分支。生成式人工智能催生算力需求,各种新兴应用场景对数据存储的容量、效率、流动性和安全性等方面提出了更…...

xlsx冻结单元格
说明 因为最近需要实现前端导出 excel 文件,并且对导出文件的样式进行一些修改,比如颜色、字体、合并单元格等,所以我找到了xlsx-style这个项目,它可以对导出的 excel 文件进行一些样式上的修改,这个项目是SheetJs的一…...

yolov8剪枝实践
本文使用的剪枝库是torch-pruning ,实验了该库的三个剪枝算法GroupNormPruner、BNScalePruner和GrowingRegPruner。 安装使用 安装依赖库 pip install torch-pruning 把 https://github.com/VainF/Torch-Pruning/blob/master/examples/yolov8/yolov8_pruning.py&…...

功能基础篇6——系统接口,操作系统与解释器系统
系统 os Python标准库,os模块提供Python与多种操作系统交互的接口 import os import stat# 文件夹 print(os.mkdir(r./dir)) # None 新建单级空文件夹 print(os.rmdir(r./dir)) # None 删除单级空文件夹 print(os.makedirs(r.\dir\dir\dir)) # None 递归创建空…...

由于导线材质不同绕组直流电阻不平衡率超标
实测证明, 有的变压器绕组的直流电阻偏大, 有的偏差较大, 其主要原因是某些导线的铜和银的含量低于国家标准规定限额。 有时即使采用合格的导线, 但由于导线截面尺寸偏差不同, 也可以导致绕组直流电阻不平衡率超标。 …...

选择智慧公厕解决方案,开创智慧城市公共厕所新时代
在城市建设和发展中,公厕作为一个不可或缺的城市基础设施,直接关系到城市形象的提升和居民生活品质的改善。然而,传统的公厕存在着管理不便、卫生状况差、设施陈旧等问题。为了解决这些困扰着城市发展的难题,智慧公厕源头厂家广州…...

FFmpeg 基础模块:AVIO、AVDictionary 与 AVOption
目录 AVIO AVDictionary 与 AVOption 小结 思考 我们了解了 AVFormat 中的 API 接口的功能,从实际操作经验看,这些接口是可以满足大多数音视频的 mux 与 demux,或者说 remux 场景的。但是除此之外,在日常使用 API 开发应用的时…...
代数——第3章——向量空间
第三章 向量空间(Vector Spaces) fmmer mit den einfachsten Beispielen anfangen. (始终从最简单的例子开始。) ------------------------------David Hilbert 3.1 (R^n)的子空间 我们的向量空间的基础模型(本章主题)是n 维实向量空间 的子空间。我们将在本节讨论它。…...

2023年软考网工上半年下午真题
试题一: 阅读以下说明,回答问题1至问题4,将解答填入答题纸对应的解答栏内。 [说明] 某企业办公楼网络拓扑如图1-1所示。该网络中交换机Switch1-Switch 4均是二层设备,分布在办公楼的各层,上联采用干兆光纤。核心交换…...

Flutter 直接调用so动态库,或调用C/C++源文件内函数
开发环境 MacBook Pro Apple M2 Pro | macOS Sonoma 14.0 Android Studio Giraffe | 2022.3.1 Patch 1 XCode Version 15.0 Flutter 3.13.2 • channel stable Tools • Dart 3.1.0 • DevTools 2.25.0 先说下历程,因为我已经使用了Flutter3的版本,起初…...

elasticsearch(ES)分布式搜索引擎03——(RestClient查询文档,ES旅游案例实战)
目录 3.RestClient查询文档3.1.快速入门3.1.1.发起查询请求3.1.2.解析响应3.1.3.完整代码3.1.4.小结 3.2.match查询3.3.精确查询3.4.布尔查询3.5.排序、分页3.6.高亮3.6.1.高亮请求构建3.6.2.高亮结果解析 4.旅游案例4.1.酒店搜索和分页4.1.1.需求分析4.1.2.定义实体类4.1.3.定…...

198、RabbitMQ 的核心概念 及 工作机制概述; Exchange 类型 及 该类型对应的路由规则
JMS 也是一种消息机制 AMQP ( Advanced Message Queuing Protocol ) 高级消息队列协议 ★ RabbitMQ的核心概念 Connection: 代表客户端(包括消息生产者和消费者)与RabbitMQ之间的连接。 Channel: 连接内部的Channel。 Exch…...

系统架构设计:18 论基于DSSA的软件架构设计与应用
目录 一 特定领域软件架构DSSA 1 DSSA 2 DSSA的基本活动和产物 (1)DSSA的基本活动和产物...

Android原生实现控件outline方案(API28及以上)
Android控件的Outline效果的实现方式有很多种,这里介绍一下另一种使用Canvas.drawPath()方法来绘制控件轮廓Path路径的实现方案(API28及以上)。 实现效果: 属性 添加Outline相关属性,主要包括颜色和Stroke宽度&…...

ROS学习笔记(六)---服务通信机制
1. 服务通信是什么 在ROS中,服务通信机制是一种点对点的通信方式,用于节点之间的请求和响应。它允许一个节点(服务请求方)向另一个节点(服务提供方)发送请求,并等待响应。 服务通信机制在ROS中…...

常见的C/C++开源QP问题求解器
1. qpSWIFT qpSWIFT 是面向嵌入式和机器人应用的轻量级稀疏二次规划求解器。它采用带有 Mehrotra Predictor 校正步骤和 Nesterov Todd 缩放的 Primal-Dual Interioir Point 方法。 开发语言:C文档:传送门项目:传送门 2. OSQP OSQP&#…...

前端axios发送请求,在请求头添加参数
1.在封装接口传参时,定义形参,params是正常传参,name则是我想要在请求头传参 export function getCurlList (params, name) {return request({url: ********,method: get,params,name}) } 2.接口调用 const res await getCurlList(params,…...

CTF Misc(3)流量分析基础以及原理
前言 流量分析在ctf比赛中也是常见的题目,参赛者通常会收到一个网络数据包的数据集,这些数据包记录了网络通信的内容和细节。参赛者的任务是通过分析这些数据包,识别出有用的信息,例如登录凭据、加密算法、漏洞利用等等 工具安装…...

Telink泰凌微TLSR8258蓝牙开发笔记(二)
在开发过程中遇到了以下问题,记录一下 1.在与ios手机连接后,手机app使能notify,设备与手机通过write和notify进行数据交换,但是在连接传输数据一端时间后,设备收到write命令后不能发出notify命令,打印错误…...
vue3+elementPlus:el-tree复制粘贴数据功能,并且有弹窗组件
在tree控件里添加contextmenu属性表示右键点击事件。 因右键自定义菜单事件需要获取当前点击的位置,所以此处绑定动态样式来控制菜单实时跟踪鼠标右键点击位置。 //html <div class"box-list"><el-tree ref"treeRef" node-key"id…...