当前位置:首页 > 文章列表 > 文章 > linux > Linux配置时间同步 – chrony

Linux配置时间同步 – chrony

来源:良许Linux教程网 2025-01-12 13:48:07 0浏览 收藏

一分耕耘,一分收获!既然打开了这篇文章《Linux配置时间同步 – chrony》,就坚持看下去吧!文中内容包含等等知识点...希望你能在阅读本文后,能真真实实学到知识或者帮你解决心中的疑惑,也欢迎大佬或者新人朋友们多留言评论,多给建议!谢谢!

一、chrony概述

 

chrony是一款开源的NTP时间同步软件,被广泛应用于Unix-like操作系统(比如Linux、BSD和macOS)以提供高精度的时间同步服务。该软件专注于性能和可靠性,在时间同步中具有低延迟、低CPU占用率和低内存消耗等优势。chrony由两个关键组件组成,分别是chronyd(服务器端)和chronyc(客户端)。

  • chronyd:作为一个后台运行的守护进程,负责调整系统时钟并与时钟服务器同步,它通过平滑调整计算机的时钟增减速率来确保时间的准确性。
  • chronyc:提供用户友好的界面,用于监控性能指标和灵活配置。它可在与chronyd实例相同的计算机上运行,也可以在远程计算机上运行以进行相关操作。

二、实验环境

2.1 实验拓扑

如图,两台服务器Server1、Server2连接到同一网络

Linux配置时间同步 – chrony

2.2 本地环境规划

主机名 IP地址 操作系统版本 内核版本
Server1 172.16.0.134/24 Rocky Linux 8.9 (Green Obsidian) Linux 4.18.0-513.5.1.el8_9.x86_64
Server2 172.16.0.150/24 Rocky Linux 8.9 (Green Obsidian) Linux 4.18.0-513.5.1.el8_9.x86_64

 

Net1网络中配置了NAT(网络地址转换),两台服务器均可以访问公网

三、配置时间同步

3.1 安装chrony

[root@Server1 ~]# rpm -qa | grep chrony
chrony-4.2-1.el8.rocky.1.0.x86_64

Rokcy Linux 8.9版本默认安装了chrony,验证安装状态:

3.2 配置Server1从公网时间源服务器同步时间

编辑“/etc/chrony.conf”文件:

[root@Server1 ~]# vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please
 consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.rocky.pool.ntp.org iburst    
  # 注释该行,添加如下两行,理论上想添加多少时间服务器都可以
Server ntp.aliyun.com iburst            # 阿里时间源服务器
Server time1.cloud.tencent.com iburst    # 腾讯时间源服务器

重启chronyd服务,并设置开机自启:

[root@Server1 ~]# systemctl restart chronyd
[root@Server1 ~]# systemctl enable chronyd
[root@Server1 ~]# systemctl is-active chronyd      # 查看chronyd服务是否正常运行
active
[root@Server1 ~]#

查看时间同步状态:

[root@Server1 ~]# chronyc sources
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6    37    63    +49us[+2956us] +/-   23ms
^- 106.55.184.199                2   6   127    60  +1891us[+1891us] +/-   47ms
[root@Server1 ~]# 
[root@Server1 ~]# chronyc sources -v

  .-- Source mode  '^' = server, '=' = peer, '#' = local clock.
 / .- Source state '*' = current best, '+' = combined, '-' = not combined,
| /             'x' = may be in error, '~' = too variable, '?' = unusable.
||                                                 .- 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               
===============================================================================
^* 203.107.6.88                  2   6    77     3  -3557us[-3824us] +/-   26ms
^+ 106.55.184.199                2   6   257     1  +2021us[+2021us] +/-   46ms
[root@Server1 ~]#

chronyc sources输出结果解析:

 

M

这表示信号源的模式。^表示服务器,=表示对等方,#表示本地连接的参考时钟。

S

此列指示源的状态。

* 表示chronyd当前同步到的源。

+ 表示可接受的信号源,与选定的信号源组合在一起。

– 表示被合并算法排除的可接受源。

?指示已失去连接性或其数据包未通过所有测试的源。它也显示在启动时,直到从中至少收集了3个样本为止。

x 表示chronyd认为是虚假行情的时钟(即,其时间与大多数其他来源不一致)

〜 表示时间似乎具有太多可变性的来源。

Name/IP address

这显示了源的名称或IP地址,或参考时钟的参考ID。

Stratum

这显示了来源的层,如其最近收到的样本中所报告的那样。层1表示一台具有本地连接的参考时钟的计算机。与第1层计算机同步的计算机位于第2层。与第2层计算机同步的计算机位于第3层,依此类推。

Poll

这显示轮询源的速率,以秒为单位的时间间隔的以2为底的对数。因此,值为6表示每64秒进行一次测量。chronyd会根据当前情况自动更改轮询速率。

Reach

这显示了源的可达性寄存器以八进制数字打印。寄存器有8位,并在每个从源接收或丢失的数据包上更新。值377表示从最后八次传输中收到了对所有用户的有效答复。

LastRx

此列显示多长时间前从来源接收到了最后一个好的样本(在下一列中显示)。未通过某些测试的测量将被忽略。通常以秒为单位。字母m,h,d或y表示分钟,小时,天或年。

Last sample

此列显示上次测量时本地时钟与源之间的偏移。方括号中的数字表示实际测得的偏移量。可以用ns(表示纳秒),us (表示微秒),ms(表示毫秒)或s(表示秒)作为后缀。方括号左侧的数字表示原始测量值,已调整为允许此后施加于本地时钟的任何摆度。

+/-指示器后面的数字表示测量中的误差范围。正偏移表示本地时钟位于源时钟之前。

例如:现有时钟服务器time_server:它的层级是2,一台主机node1从time_server同步时间,那么node1主机的层级就是3,以此类推另一台在node1同步时间,那它的层级就是4。

Linux配置时间同步 – chrony

3.3 配置Server2从Server1时间源同步时间

Server1上再次编辑“/etc/chrony.conf”文件:

[root@Server1 ~]# vim /etc/chrony.conf 
# Use public servers from the pool.ntp.org project.
# 
Please consider joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.rocky.pool.ntp.org iburst
Server ntp.aliyun.com iburst
Server time1.cloud.tencent.com iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum 
number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client acc
ess from local network.
#allow 192.168.0.0/16
allow 172.16.0.0/24    # 配置访问规则,仅允许该网络的客户端访问

# Serve time even if not synchronized to a time source.
#local stratum 10
local stratum 10      # 即使未同步到时间源,也要提供时间同步服务,当前系统层级为10

# Specify file containing keys for NTP authentication.
keyfile /etc/chrony.keys

# Get TAI-UTC offset and leap seconds from the system tz database.
leapsectz right/UTC

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

重启chronyd服务:

[root@Server1 ~]# systemctl restart chronyd

防火墙放行ntp服务:

[root@Server1 ~]# firewall-cmd --add-service=ntp --permanent 
success
[root@Server1 ~]# firewall-cmd --reload
success

Server2上编辑“/etc/chrony.conf”文件:

[root@Server2 ~]# vim /etc/chrony.conf
# Use public servers from the pool.ntp.org project.
# Please consid
er joining the pool (http://www.pool.ntp.org/join.html).
# pool 2.rocky.pool.ntp.org iburst    # 注释该行,添加下面一行
Server 172.16.0.134 iburst

重启chronyd服务,并设置开机自启:

[root@Server2 ~]# systemctl restart chronyd
[root@Server2 ~]# systemctl enable chronyd

查看时间同步状态:

Linux配置时间同步 – chrony

今天关于《Linux配置时间同步 – chrony》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于Linux,Linux系统,Shell脚本,Linux命令,linux入门,linux教程,linux学习,嵌入式Linux的内容请关注golang学习网公众号!

版本声明
本文转载于:良许Linux教程网 如有侵犯,请联系study_golang@163.com删除
linux node.js有哪些优势linux node.js有哪些优势
上一篇
linux node.js有哪些优势
现代 CSS 的顶级功能改变了网页设计
下一篇
现代 CSS 的顶级功能改变了网页设计
查看更多
最新文章
查看更多
课程推荐
  • 前端进阶之JavaScript设计模式
    前端进阶之JavaScript设计模式
    设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
    542次学习
  • GO语言核心编程课程
    GO语言核心编程课程
    本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
    508次学习
  • 简单聊聊mysql8与网络通信
    简单聊聊mysql8与网络通信
    如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
    497次学习
  • JavaScript正则表达式基础与实战
    JavaScript正则表达式基础与实战
    在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
    487次学习
  • 从零制作响应式网站—Grid布局
    从零制作响应式网站—Grid布局
    本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
    484次学习
查看更多
AI推荐
  • AI Make Song:零门槛AI音乐创作平台,助你轻松制作个性化音乐
    AI Make Song
    AI Make Song是一款革命性的AI音乐生成平台,提供文本和歌词转音乐的双模式输入,支持多语言及商业友好版权体系。无论你是音乐爱好者、内容创作者还是广告从业者,都能在这里实现“用文字创造音乐”的梦想。平台已生成超百万首原创音乐,覆盖全球20个国家,用户满意度高达95%。
    8次使用
  • SongGenerator.io:零门槛AI音乐生成器,快速创作高质量音乐
    SongGenerator
    探索SongGenerator.io,零门槛、全免费的AI音乐生成器。无需注册,通过简单文本输入即可生成多风格音乐,适用于内容创作者、音乐爱好者和教育工作者。日均生成量超10万次,全球50国家用户信赖。
    7次使用
  •  BeArt AI换脸:免费在线工具,轻松实现照片、视频、GIF换脸
    BeArt AI换脸
    探索BeArt AI换脸工具,免费在线使用,无需下载软件,即可对照片、视频和GIF进行高质量换脸。体验快速、流畅、无水印的换脸效果,适用于娱乐创作、影视制作、广告营销等多种场景。
    6次使用
  • SEO标题协启动:AI驱动的智能对话与内容生成平台 - 提升创作效率
    协启动
    SEO摘要协启动(XieQiDong Chatbot)是由深圳协启动传媒有限公司运营的AI智能服务平台,提供多模型支持的对话服务、文档处理和图像生成工具,旨在提升用户内容创作与信息处理效率。平台支持订阅制付费,适合个人及企业用户,满足日常聊天、文案生成、学习辅助等需求。
    13次使用
  • Brev AI:零注册门槛的全功能免费AI音乐创作平台
    Brev AI
    探索Brev AI,一个无需注册即可免费使用的AI音乐创作平台,提供多功能工具如音乐生成、去人声、歌词创作等,适用于内容创作、商业配乐和个人创作,满足您的音乐需求。
    14次使用
微信登录更方便
  • 密码登录
  • 注册账号
登录即同意 用户协议隐私政策
返回登录
  • 重置密码