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

Chronyd与NTP

一 介绍

1 简介

        集群中节点之间需要时间同步,Chronyd不依赖外部的时间服务NTP,在内部搭建时间服务器。

        Chrony是网络时间协议(NTP)的一种实现,是一个类Unix系统上NTP客户端和服务器的替代品。Chrony客户端可以与NTP servers同步系统时间,也可以与参考时钟(例如:GPS接受设备)进行同步,还与手动输入的时间进行同步。同样Chrony也可以作为一个NTPv4(RFC 5905) server为其他计算机提供时间同步服务。
        Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Chrony在Internet上同步的两台机器之间的典型精度在几毫秒内,而在LAN上的机器之间的精度在几十微秒内。chronyd 更小、更节能,它占用更少的内存且仅当需要时它才唤醒 CPU。即使网络拥塞较长时间,它也能很好地运行。它支持 Linux 上的硬件时间戳,允许在本地网络进行极其准确的同步。Chrony 是自由开源的,并且支持 GNU/Linux 和 BSD 衍生版(比如 FreeBSD、NetBSD)、macOS 和 Solaris 等。

2 与ntpd对比

(1)chronyd做的比ntpd好的

  • chronyd可以在时断时续访问参考时间源的环境下工作,而ntpd需要定期轮询参考时间源才能正常工作。
  • 即使网络拥塞时间更长,chronyd也可以运行良好。
  • chronyd通常可以更快、更准确地同步时钟。
  • chronyd能够快速适应晶体振荡器温度变化引起的时钟频率的突然变化,而ntpd可能需要很长时间才能稳定下来。
  • 在默认配置下,为了不影响其他正在运行的程序,chronyd从不在系统启动同步时钟之后执行时间步进。ntpd也可以配置为从不步进时间,但它必须使用不同的方法来调整时钟,这有一些缺点,包括对时钟精度的负面影响。
  • chronyd可以在更大的范围内调整Linux系统上的时钟频率,这使得它甚至可以在时钟损坏或不稳定的机器上运行。例如,在一些虚拟机上。
  • chronyd体积更小,占用的内存更少,而且只有在必要的时候才会唤醒CPU,这对于节能来说是更好的选择。

(2)chronyd能做的但ntpd做不到的

  • chronyd提供了对孤立网络的支持,在孤立网络中,时间校正的唯一方法就是手动输入。例如,由管理员查看时钟。chronyd可以检查在不同的更新中修正的错误,从而估算出计算机增加或减少时间的速度,并在随后使用这个估算来调整计算机时钟。
  • chronyd可以计算RTC时钟(在计算机关闭时保持时间的时钟)的增益和损耗率。它可以在系统启动时使用这些计算的数据,以及从RTC时钟获取的时间调整值来设置系统时间。RTC时钟设备目前仅在Linux系统上可用。
  • 支持Linux上的硬件时间戳,允许在本地网络上进行非常精确的同步。

(3)ntpd做得到但chronyd做不到的

  • ntpd支持NTP v4(RFC 5905)的所有同步模式,包括broadcast、multicast和manycast clients and servers模式。请注意,broadcast和multicast模式(即使有身份验证)与普通servers and clients模式相比,更不精确、更不安全,通常应避免使用。
  • ntpd支持使用公钥加密的Autokey协议(RFC 5906)对服务器进行身份验证。注意,该协议已被证明是不安全的,可能会被Network Time Security(NTS)取代。
  • ntpd包含很多参考时间源的驱动程序,而chronyd依赖于其他程序(例如gpsd),以使用共享内存(SHM)或Unix domain socket(SOCK)访问参考时间源的数据。

二 内网安装

  1. # 安装chrony,设置开机启动
  2. [root@192 ~]# yum install chrony
  3.  Loaded plugins: fastestmirror, langpacks
  4.  Loading mirror speeds from cached hostfile
  5.  * base: mirrors.tuna.tsinghua.edu.cn
  6.  * extras: mirrors.163.com
  7.  * updates: mirrors.163.com
  8.  Package chrony-3.4-1.el7.x86_64 already installed and latest version
  9.  Nothing to do

 

  1. [root@192 ~]# systemctl start chronyd
  2.  [root@192 ~]# systemctl enable chronyd

 

    1. # server配置,vim /etc/chrony.conf 添加以下两项
    2.  # Allow NTP client access from local network.
    3.  allow all # 允许所有主机从server端同步时间
  1. # Serve time even if not synchronized to a time source.
  2.  local stratum 10 # 即使server端无法从互联网同步时间,也同步本机时间至client
  1. # client配置,vim /etc/chrony.conf 注释原server配置,改为prod1机器IP地址
  2.  # Please consider joining the pool (http://www.pool.ntp.org/join.html).
  3.  #server 0.centos.pool.ntp.org iburst
  4.  #server 1.centos.pool.ntp.org iburst
  5.  #server 2.centos.pool.ntp.org iburst
  6.  #server 3.centos.pool.ntp.org iburst
  7.  server 192.168.247.136 iburs

# 都重启服务
[root@192 ~]# systemctl restart chronyd
# 服务端查看server端在线情况和时间同步情况
[root@192 ~]# chronyc activity
200 OK
0 sources online
0 sources offline
1 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@192 ~]# chronyc tracking
Reference ID : B65C0C0B (time5.aliyun.com)
Stratum : 3
Ref time (UTC) : Tue Dec 28 08:56:41 2021
System time : 0.000352393 seconds fast of NTP time
Last offset : +0.000411336 seconds
RMS offset : 0.000915787 seconds
Frequency : 1.113 ppm slow
Residual freq : -0.518 ppm
Skew : 55.244 ppm
Root delay : 0.024603928 seconds
Root dispersion : 0.003826973 seconds
Update interval : 64.2 seconds
Leap status : Normal

# 客户端查看server端(也就是本地服务器)在线情况和时间同步情况
[root@192 ~]# chronyc activity
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@192 ~]# chronyc tracking
Reference ID : C0A8F788 (192.168.247.136)
Stratum : 4
Ref time (UTC) : Tue Dec 28 08:55:38 2021
System time : 0.000000145 seconds slow of NTP time
Last offset : +0.000075000 seconds
RMS offset : 0.000075000 seconds
Frequency : 31.362 ppm slow
Residual freq : +0.119 ppm
Skew : 198.082 ppm
Root delay : 0.024361094 seconds
Root dispersion : 0.004769796 seconds
Update interval : 2.0 seconds
Leap status : Normal

三 为处于孤立网络中的系统配置chrony         孤立网络指的是不连接到互联网的网络。为处于孤立网络中的系统配置chrony,我们首先需要选择一台计算机作为master timeserver。网络中的其他计算机都作为客户端与master同步时间,或者作为客户端的客户端与master的客户端同步时间。在master上,必须用系统时钟的平均偏移率手动设置drift文件。加入master重启,它将会从周围的系统上获取时间数据,并计算平均值来设置它的系统时间。然后它基于drift文件恢复调整系统时间。drift文件会在使用settime命令后自动更新。

# 在master上,编辑/etc/chrony.conf配置文件如下
driftfile /var/lib/chrony/drift #指定存储chronyd计算的系统时钟增益和损耗数据的drift文件位置。
commandkey 1
keyfile /etc/chrony.keys #ntp数据包验证密钥文件
initstepslew 10 client1 client3 client6
local stratum 8
manual #使得可以在chronyc中使用settime命令手动设置时间
allow 192.0.2.0 #其中192.0.2.0是允许连接到master的客户端的网络地址。


# 在master的客户端上,编辑/etc/chrony.conf配置文件如下:
server master #设置master为同步时间源
driftfile /var/lib/chrony/drift
logdir /var/log/chrony
log measurements statistics tracking
keyfile /etc/chrony.keys
commandkey 24
local stratum 10
initstepslew 20 master
allow 192.0.2.123 #192.0.2.123是master的ip地址



# 客户端的chrony.conf配置与以上客户端的配置类似,但是没有local和allow指令。

 

http://www.jsqmd.com/news/343275/

相关文章:

  • 这6款由AI驱动的专业工具,为论文写作提供了更快的速度和更高的质量保障
  • AI赋能的6款实用工具,让论文写作变得更加流畅,同时大幅改善最终成果质量
  • 国产时序数据库的云原生实践:Apache IoTDB 与 TimechoDB 在物联网场景的深度应用
  • AI效率工具基础版与专业版的核心差异详解:涵盖10款工具
  • 剑桥大学定义图形世界:神经网络让纹理压缩像画家调色一样自然
  • 开发报销单自动填写工具,导入发票信息(金额,日期,品类),自动填充报销单,核对无误后导出,支持按公司规范调整,节省报销时间。
  • 李想汽车研究院:让AI从“工具使用者“进化为“工具创造者“
  • Advanced Genetics|作物杂种优势遗传机理的定量解析
  • 情人节公众号 SVG 交互设计方案整理:适合 2/14 的几种常用组件模型(以 E2 编辑器为例)
  • 【个人成长笔记】在 Windows 11 上使用 MemTest86 11.6(免费版)进行 DDR 内存测试(实操篇)
  • Python的基础类型,模块,存储类型
  • 批判的瘾:当“不自在”成为思想进化的第一推动力
  • 2026太空舱厂家推荐,本土智造品牌舱体研发与量产能力大盘点 - 品牌鉴赏师
  • 探索大数据领域数据目录的最佳实践方法
  • 解决SLAM14讲第九节initial.ply不能显示的问题
  • 论文生成PPT工具排行榜:7大软件+一键转化推荐
  • 提示工程架构师的故障注入测试:风险评估与应对
  • 2026年有实力的轮式高空作业平台,剪刀式高空作业平台厂家采购参考手册 - 品牌鉴赏师
  • 推荐 5 个好用的 AI 简历优化工具
  • PCIe-Link Status Dependencies
  • 推荐能做“简历 + JD 匹配”的工具
  • 2026微高压氧舱厂家权威推荐,舱体稳定性与续航能力深度评测 - 品牌鉴赏师
  • UVM-Dual Top Architecture
  • 【课程设计/毕业设计】基于php+vue大学生奖学金评定系统基于php+vue的高校资助管理系统的设计与实现【附源码、数据库、万字文档】
  • 2026年安全靠谱的零食品牌怎么选?从原料到品控为你提供全方位参考 - Top品牌推荐
  • 利用小波分解信号,再重构(matlab代码)
  • 2026年口碑好的大庆装饰,大庆全包装修公司实力推荐 - 品牌鉴赏师
  • 【课程设计/毕业设计】基于NodeJS大学生二手交易平台基于nodejs的校园二手市场的设计与实现【附源码、数据库、万字文档】
  • 深入解析:熟练版本控制 (Git)、CI/CD 流程。
  • 2026年2月安全靠谱的零食品牌推荐:8大零食品质品牌盘点与安全消费指南 - Top品牌推荐