百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术资源 > 正文

一文带你了解Chrony时间同步服务:让你的设备时间完美同步!

lipiwang 2024-10-28 17:29 9 浏览 0 评论

一、软件介绍

Chrony 是一个开源的自由软件,它能帮助你保持系统时钟与时钟服务器同步,因此让你的时间保持精确。它由两个程序组成,分别是 chronyd 和 chronyc。

服务器列表 - 全球可用的NTP服务器列表与解析服务 - ntp.org.cn

工作模式

  • chronyd是一个后台运行的守护进程,用于调整内核中运行的系统时钟和时钟服务器同步。它确定计算机增减时间的比率,并对此进行补偿。
  • chronyc提供了一个用户界面,用于监控性能并进行多样化的配置。它可以在chronyd实例控制的计算机上工作,也可以在一台不同的远程计算机上工作。

软件优势

  • 在初始同步后,它不会停止时钟,以防对需要系统时间保持单调的应用程序造成影响。
  • 在应对临时非对称延迟时(例如,在大规模下载造成链接饱和时)提供了更好的稳定性。
  • 无需对服务器进行定期轮询,因此具备间歇性网络连接的系统仍然可以快速同步时钟。
  • 能够更好地响应时钟频率的快速变化,这对于具备不稳定时钟的虚拟机或导致时钟频率发生变化的节能技术而言非常有用。
  • 更快的同步只需要数分钟而非数小时时间,从而最大程度减少了时间和频率误差,这对于并非全天 24 小时运行的台式计算机或系统而言非常有用。

二、安装启用

CentOS7 已经默认安装有 Chrony 工具,其既可作时间服务器服务端,也可作客户端。而且性能比 ntp 要好很多、配置简单、管理方便。

[1] 安装启动

#安装服务
yum install -y chrony

# 启动服务
systemctl start chronyd.service

# 设置开机自启动,默认就是enable的
systemctl enable chronyd.service

[2] 防火墙配置

# 因NTP使用123/UDP端口协议,所以允许NTP服务即可
firewall-cmd --add-service=ntp --permanent
firewall-cmd --reload
chronyc -a makestep

[3] 设置时区

# 查看日期时间、时区及NTP状态
timedatectl

# 查看时区列表
timedatectl list-timezones

# 修改时
timedatectl set-timezone Asia/Shanghai

# 修改日期时间
timedatectl set-time "2023-11-21 11:50:00"

# 设置完时区后,强制同步下系统时钟
chronyc -a makestep

三、主要配置

当 Chrony 启动时,它会读取 /etc/chrony.conf 配置文件中的设置,配置内容格式和 ntpd 服务基本相似。

[root@localhost ~]# cat /etc/chrony.conf |grep -v ^#|grep -v ^$
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst
stratumweight 0
driftfile /var/lib/chrony/drift
rtcsync
makestep 10 3
bindcmdaddress 127.0.0.1
bindcmdaddress ::1
keyfile /etc/chrony.keys
commandkey 1
generatecommandkey
noclientlog
logchange 0.5
logdir /var/log/chrony

四、查看状态

  • [1] 检查 ntp 源服务器状态
[root@bogon ~]# chronyc sourcestats
210 Number of sources = 6
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         15   7   910     +3.964     20.053    -29ms  4416us
ntp.jxust.edu.cn           19  11   978     -0.014      7.182  -1702ns  2772us
ntp8.flashdance.cx         15  10   983     -2.895     23.856    -26ms  7556us
ntp6.flashdance.cx         13   5   853     +1.580     15.504    -21ms  3510us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             2   0    64     +0.000   2000.000  +2276us  4000ms
  • [2] 检查 ntp 详细同步状态
[root@bogon ~]# chronyc sources -v
210 Number of sources = 5

  .-- 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               
===============================================================================
^? ntp1.flashdance.cx            2   6     1    62    -30ms[  -30ms] +/-  162ms
^* ntp.jxust.edu.cn              2   6   177     5   -666us[-1389us] +/-   51ms
^- ntp8.flashdance.cx            2   6   177     4    -10ms[  -10ms] +/-  174ms
^- ntp6.flashdance.cx            2   6   252   192    -29ms[  -25ms] +/-  140ms
^? 36.154.179.82                 0   8     0     -     +0ns[   +0ns] +/-    0ns

[3] 设置硬件时间

# 硬件时间默认为UTC
$ timedatectl set-local-rtc 1

# 启用或关闭NTP时间同步
$ timedatectl set-ntp yes|flase

# 校准时间服务器
$ chronyc tracking

五、工具使用

可以通过运行 chronyc 命令来修改设置,以下是常用命令。

  • accheck 检查 NTP 访问是否对特定主机可用
  • activity 该命令会显示有多少 NTP 源在线/离线
  • add server 手动添加一台新的 NTP 服务器
  • clients 在客户端报告已访问到服务器
  • delete 手动移除 NTP 服务器或对等服务器
  • settime 手动设置守护进程时间
  • tracking 显示系统时间信息
  • help 可以查看更多 chronyc 的交互命令
root@bogon ~]# chronyc
chrony version 3.1
Copyright (C) 1997-2003, 2007, 2009-2017 Richard P. Curnow and others
chrony comes with ABSOLUTELY NO WARRANTY.  This is free software, and
you are welcome to redistribute it under certain conditions.  See the
GNU General Public License version 2 for details.


chronyc> activity
200 OK
5 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
chronyc> add server  edu.ntp.org.cn
200 OK
chronyc> 
chronyc> sourcestats
210 Number of sources = 6
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         14   7   845     +3.192     23.874    -30ms  4568us
ntp.jxust.edu.cn           19  11   978     -0.014      7.182   -286ns  2772us
ntp8.flashdance.cx         15  10   983     -2.895     23.856    -25ms  7556us
ntp6.flashdance.cx         13   5   853     +1.580     15.504    -21ms  3510us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             1   0     0     +0.000   2000.000     +0ns  4000ms
chronyc> add server  cn.ntp.org.cn
200 OK
chronyc> sourcestats
210 Number of sources = 7
Name/IP Address            NP  NR  Span  Frequency  Freq Skew  Offset  Std Dev
==============================================================================
ntp1.flashdance.cx         16   8   975     +1.588     18.059    -30ms  4475us
ntp.jxust.edu.cn           20  12  1108     +0.074      5.875  +3349ns  2595us
ntp8.flashdance.cx         16  11  1114     -0.945     20.762    -24ms  7371us
ntp6.flashdance.cx         14   6  1110     -0.308     10.407    -23ms  3311us
36.154.179.82               0   0     0     +0.000   2000.000     +0ns  4000ms
time.neu.edu.cn             3   3   129    +22.397   7720.335  +4764us   915us
58.220.133.132              1   0     0     +0.000   2000.000     +0ns  4000ms

相关推荐

Java 实体映射工具 MapStruct(jpa实体类映射类)

简介:让你的DO(业务实体对象),DTO(数据传输对象)数据转换更简单强大前言在软件架构中,分层式结构是最常见,各层之间有其独立且隔离的业务逻辑,也因而各层有自己的输入输出对象,也就是代码中见到各...

@Date不管用怎么办,想少写get和setter方法,怎么办

学习交流群:293911833,有遇到问题的,可以加一下群,大家互相交流,一起进步今天在使用lombok的时候,为什么@Date不管用,是我映射没做好吗?还是其他的,后来查了一些大佬的资料终于找到问...

Spring系列之集成MongoDB的2种方法

MongoDB是最流行的NoSQL数据库,SpringBoot是使用Spring的最佳实践。今天带大家讲一讲SpringBoot集成MongoDB的两种方式,MongoDB的安装自行去官网查询,本地开...

Spring Boot集成SLF4j详解(springboot集成knife4j)

SpringBoot集成SLF4j详解:从基础到高级实践SLF4j(SimpleLoggingFacadeforJava)是一个日志门面框架,提供统一的日志接口,允许开发者灵活切换底层...

自定义代码生成器(上)(代码自动生成器)

1概述1.1介绍在项目开发过程中,有很多业务模块的代码是具有一定规律性的,例如controller控制器、service接口、service实现类、mapper接口、model实体类等等,这部分代...

Java系统开发从入门到精通第四讲(文字版)

课程目标:了解重要的JavaAPI和一些必备框架的使用,这些都是系统开发的标配需要掌握日期时间APIJava8通过发布新的Date-TimeAPI(JSR310)来进一步加强对日期与时间...

重拾JAVA:这种编程语言为什么不行了?

全文共2322字,预计学习时长6分钟为了应对新工作,笔者在过去两周一直在重新熟悉一位老朋友:JAVA。我以JAVA开启了我的软件事业,与之共行了两年半左右的时间。但是随着容器和微服务的出现,JAVA很...

一款提高Java开发效率的工具(java怎么提高技术)

今天来介绍一款Java常用插件:Lombokhttps://projectlombok.org/通常在用Java代码开发项目过程中,都会建立各种各种的Bean类,如下:publicclassSea...

JDK从8升级到21的问题集(jdk1.6升级到1.8要考虑的因素)

一、背景与挑战1.升级动因oOracle长期支持策略o现代特性需求:协程、模式匹配、ZGC等o安全性与性能的需求oAI新技术引入的版本要求2.项目情况o100+项目并行升级的协同作战o多技术栈并存o持...

Lombok:让Java代码变得优雅简洁的秘密武器

Lombok:让Java代码变得优雅简洁的秘密武器在Java的世界里,代码量往往是一个开发者幸福感的重要衡量指标。代码写得越少,出错的可能性就越小,同时维护起来也更轻松。而Lombok正是这样一个让J...

SpringToolSuite(STS)安装lombok插件

一、打开maven仓库,找到lombok所在的文件夹二、在命令行中运行java-jarlombok-1.18.20.jar,打开lombok插件安装的可视化界面。三、选择STS安装目录,点击Ins...

年末将至,Java 开发者必须了解的 15 个Java 顶级开源项目

专注于Java领域优质技术,欢迎关注作者:SnailClimbStar的数量统计于2019-12-29。1.JavaGuideGuide哥大三开始维护的,目前算是纯Java类型项目中Sta...

相见恨晚,一个架构师也不会用的Lombok注解

原创:不羡鸳鸯不羡仙,一行代码调半天。小姐姐味道(微信公众号ID:xjjdog),欢迎分享,转载请保留出处。我见过很多反对Lombok的同学,背地里又偷偷的把插件添加了进去,这是真香原理在搞鬼。嘴上说...

第二弹!安排!安利几个让你爽到爆的IDEA必备插件

作者:Guide哥来自:JavaGuide大家好,我是Guide哥。上一篇关于IDEA插件推荐的文章:《第一弹!安排!安利10个让你爽到爆的IDEA必备插件!》收到了很多小伙伴的好评,时隔大半个月...

Java @Data注解(java @order注解)

1、@Data注解是lombok.jar包下的注解,该注解通常用在实体bean上,不需要写出set和get方法,但是具备实体bean所具备的方法,简化编程提高变成速度。2、@Data相当于@Gette...

取消回复欢迎 发表评论: