使用chrony查看同步情况

一、chrony的基本介绍

chrony是一款可选的时间同步软件,它支持使用现代的NTP协议进行时间同步,并且能够处理网络延迟、变化的网络状况和时钟漂移问题。在默认情况下,chrony会自动与可用的时间服务器同步,并且能够提供本机时间与UTC的偏差信息。因此,它经常被用于在Linux系统中维护准确的时间。

二、安装和配置

1、安装chrony

“`bash
$ sudo apt-get install chrony
“`

2、配置chrony。可以在/etc/chrony/chrony.conf文件中配置chrony的选项。可以更改服务器的同步选项、源、限制等。下面是一个示例配置文件:

# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
server 0.pool.ntp.org iburst
server 1.pool.ntp.org iburst
server 2.pool.ntp.org iburst
server 3.pool.ntp.org iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/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 NTP measurements (ITP: Ignore Tally Packet)
# Also add a delay of 30 seconds to minimize the impact of IP rate limiting.
#minsources 2
#maxdistance 86400
#makestep 0.1 -1

# Allow NTP client access from local network.
allow 192.168.0.0/16
allow 10.0.0.0/8

# Serve time even if not synchronized to a time source.
local stratum 10

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

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

# Selectively log NTP clients logs on trust/untrust basis
#nologall
#log client

在这里,它使用了四个ntp服务器源,并记录时钟漂移。它还允许在前三个同步更新时使用步进模式。它允许内部网络的设备同步,即允许192.168.0.0/16和10.0.0.0/8网络的设备同步。最后,它指定了日志文件的存放位置。

三、chronyc命令

可以通过typing “chronyc”来使用chronyc的交互式shell。下面是一些常用的chronyc命令:

1、tracking

tracking命令用于查看服务器与本地时钟的同步情况。

“`bash
$ sudo chronyc tracking
Reference ID : 1.2.3.4 (server.example.com)
Stratum : 3
Ref time (UTC) : Fri Sep 28 23:48:35 2018
System time : 0.000001307 seconds slow of NTP time
Last offset : -0.000034705 seconds
RMS offset : 0.000022875 seconds
Frequency : 15.401 ppm slow
Residual freq : +0.000 ppm
Skew : 0.276 ppm
Root delay : 0.214196 seconds
Root dispersion : 0.000236 seconds
Update interval : 64.0 seconds
Leap status : Normal
“`

在这个例子中,Reference ID和Stratum是服务器的信息。Ref time是在参考时刻中参考服务器的UTC时间。System time是本地时钟相对于NTP时钟慢的时间。RMS offset是样本中所有偏移量的平均值,Frequency是本地时钟的频率偏差。

2、sources

sources命令可以查看系统当前使用的源。

“`bash
$ sudo chronyc sources
210 Number of sources = 4
MS Name/IP address Stratum Poll Reach LastRx Last sample
===============================================================================
^+ 192.168.1.1 2 6 7 27 -180us[-210us] +/- 19ms
^* ntp.sjtu.edu.cn 2 6 7 27 -175us[-201us] +/- 28ms
^- ntp.hit.edu.cn 2 6 7 31 +1424us[+1421us] +/- 18ms
^- ntp.zju.edu.cn 2 6 7 27 -1489us[-1487us] +/- 24ms
“`

这个例子中有4个源。ms是首选服务器,还有3个客户端连接在同步上。Stratum是服务器的层级深度,Poll表示同步频率,Reach表示服务器与客户端的联系状态。LastRx是最后一次从服务器接到同步信息的时间,Last sample是最后的样本偏差。

3、sourcestats

sourcestats命令可以查看每个源的同步总次数、丢失总次数和错误总数,以及每个源在使用之前的延迟。

“`bash
$ sudo chronyc sourcestats
210 Number of sources = 4
Name/IP Address NP NR Span Frequency Freq Skew Offset Std Dev
==============================================================================
192.168.1.1 9 6 41ms -14.075 0.010 -262us 152us
ntp.sjtu.edu.cn 10 7 40ms -22.637 0.067 -5ms 104us
ntp.hit.edu.cn 9 7 58ms +19.838 0.118 +603us 228us
ntp.zju.edu.cn 8 6 42ms +6.259 0.107 -50ms 73us
“`

这个例子中,NP和NR分别表示服务器发送的包的次数和服务器接收的包的次数。Span表示时间跨度,frequency是服务器产生信号的平均频率,而freq skew表示相对于平均频率的时间偏移量。Offset表示服务器的时钟与真实时钟之间的平均时间差异,而标准差是一组样本值的离散程度的一种度量。

4、rtcdata

rtcdata命令提供本地实时时钟(RTC)的精度数据。

“`bash
$ sudo chronyc rtcdata
Last measurement 936us, day since Jan 01 1968 = 18463
“`

在这个例子中,它显示了自RTC上一次校准以来经过的时间,并给出了最近一次时间精度测试的数据。

5、waitsync

waitsync命令将等待NTP装置时间。如果菜单中没有电子时钟,也可以使用这个命令手动同步。可以使用这个命令手动将计算机与NTP服务器同步到准确的时间。

“`bash
$ sudo chronyc waitsync 1
“`

四、结论

综上所述,通过chrony提供的命令和配置选项,我们可以很方便地查看系统当前的时间同步情况,并进行必要的维护和手动同步。借助chrony的强大的网络延迟,变化的网络状况、时钟漂移问题处理能力,我们可以确保Linux系统保持准确的时间。

原创文章,作者:EVGNO,如若转载,请注明出处:https://www.506064.com/n/361712.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
EVGNOEVGNO
上一篇 2025-02-25 18:17
下一篇 2025-02-25 18:17

相关推荐

  • CentOS7查看端口情况详解

    一、CentOS7查看端口占用情况 CentOS7系统中,我们可以使用以下命令查看端口占用情况: netstat -anp | grep LISTEN | grep -E “(tc…

    编程 2025-04-24
  • usg6000v默认用户名密码情况分析

    一、密码重置 usg6000v默认用户名密码是admin/admin,这是设备安装完成后的默认登录账号密码,但是为了设备的安全性,建议首次使用时应该立即修改默认密码。如果忘记密码,…

    编程 2025-04-18
  • CMD查看端口占用情况指南

    一、什么是端口 在计算机网络中,端口是用来标识不同应用程序和服务的数字。一个端口号是一个16位的整数,它的范围是0到65535。计算机使用端口与外部世界通信,每个打开的网络连接都会…

    编程 2025-04-12
  • Windows查看端口被占用的情况

    一、使用Windows命令行 Windows命令行提供了几种命令来查看端口被占用的情况,包括netstat、tasklist和taskkill。 1、使用netstat命令 net…

    编程 2025-02-15
  • 用Python计算余弦函数,了解余弦为0的情况

    一、余弦函数简介 余弦函数是三角函数的一种,用来描述一个角的对边与斜边的比值,即cosθ=对边/斜边。在数学和物理上有着广泛的应用,如在几何、三角测量、信号处理等领域。 余弦函数的…

    编程 2025-01-16
  • 使用chk命令快速检测Linux系统的磁盘空间使用情况

    一、chk命令简介 chk是Linux系统下一个常用的磁盘空间检测工具,它可以快速地检测出系统中所有磁盘分区的空间使用情况,并以直观的方式呈现给用户。 首先,我们需要使用chk命令…

    编程 2025-01-14
  • linux查看php占用内存,php查看内存使用情况

    本文目录一览: 1、如何使用PHP实时监控Linux服务器的cpu,内存,硬盘信息 2、升级php7.3 linux服务器cpu 突然很高? 3、一个php-cgi占用系统多大内存…

    编程 2025-01-07
  • 使用netstat -apn命令查看Linux系统端口占用情况

    一、netstat命令简介 netstat -apn netstat是Linux系统下非常重要的网络命令工具之一,可以用来查看当前系统的网络连接状态,找出网络问题等。常用的参数包括…

    编程 2025-01-04
  • java中多态的分类(java多态分为几种情况)

    本文目录一览: 1、什么是多态性?Java中的多态包含哪些类型? 2、在JAVA中有两种多态指的是什么 3、java实现多态有几种方式?分别是什么? 4、java中多态的定义是什么…

    编程 2025-01-04
  • 未来计算机的研制情况

    一、量子计算机的发展 随着量子计算机的出现,未来计算机的研制将会进入全新的时代。 量子计算机的最大特点就是运算速度极快,通过量子比特(qubit)的并行运算,能够完成传统计算机无法…

    编程 2025-01-03

发表回复

登录后才能评论