龙空技术网

一文详细了解一下 Linux NTP: Chrony

it清泉流水 1802

前言:

眼前各位老铁们对“centosntp版本查看”大体比较关切,咱们都需要学习一些“centosntp版本查看”的相关资讯。那么小编在网络上收集了一些有关“centosntp版本查看””的相关内容,希望我们能喜欢,兄弟们一起来学习一下吧!

在当前的分布式系统中,越来越依赖 NTP 协议来保持节点间的时钟同步,从而实现分布式系统的一致性,今天就来详细说一下 NTP。

在 CentOS/RHEL 7 中,NTP 可以在 ntpd 和 chrony 之间任意选择使用,在随后的 8、9 版本中,NTP 协议由 chrony 实现。

一般情况下,如果通过互联网同步时钟,节点之间的准确性通常在几毫秒之内,而在一个数据中心内,一般可以达到微秒级,完全满足日常使用的需要。

Chrony 简介

chrony 是 网络时间协议(NTP) 的一种实现。主要用途:

将系统时钟与 NTP 服务器同步;将系统时钟与 GPS 时钟源同步;作为 NTPv4(RFC 5905) 服务器或对等服务器,为网络中的其他计算机提供时间服务。

chrony 包括 chronyd(运行在用户空间的守护进程)和 chronyc(监控和更改 chronyd 参数的命令行程序)两个组件。

chrony 守护进程 chronyd 可以由命令行工具 chronyc 监控和控制,这个工具提供了一个命令提示,允许输入各种参数来查询 chronyd 的当前状态并修改其配置。在默认情况下,chronyd 只接受来自本地chronyc 实例的命令,但它也可以被配置为接受来自远程主机的监控命令。

chrony在CentOS/RHEL 6 ~ 9 版本均可以使用。

Chrony 配置

通过YUM可以直接安装chrony:

$ yum install chrony

chrony 守护进程的默认位置为 /usr/sbin/chronyd,命令行工具安装到 /usr/bin/chronyc。

检查 chronyd 的状态:

$ systemctl status chronyd● chronyd.service - NTP client/server Loaded: loaded (/usr/lib/systemd/system/chronyd.service; enabled; vendor preset: enabled) Active: inactive (dead) Docs: man:chronyd(8) man:chrony.conf(5)

启动 chronyd,并设置开机启动:

$ systemctl start chronyd$ systemctl enable chronyd

服务器端配置:

$ vim /etc/chrony.conf:server ntp.aliyun.com iburstserver s1a.time.edu.cn iburstallow 192.168.0.0/16

重启服务:

$ systemctl restart chronyd

检查是否同步:

$ chronyc sources210 Number of sources = 2MS Name/IP address Stratum Poll Reach LastRx Last sample  ===============================================================================^* 203.107.6.88 2 6 377 19 -954us[-1475us] +/- 17ms^? st0-bupt-1.ntp.edu.cn 0 8 0 - +0ns[ +0ns] +/- 0ns

客户端配置,直接指定server即可:

$ vim /etc/chrony.conf:server 192.168.1.182 iburst
检查

检查是否同步:

$ chronyc tracking

sources 命令显示 chronyd 正在访问的当前时间源的信息:

$ chronyc sources

sourcestats 命令显示目前被 chronyd 检查的每个源的偏移率和误差估算过程的信息:

$ chronyc sourcestats

查看可用的同步服务器

$ chronyc activity200 OK2 sources online0 sources offline0 sources doing burst (return to online)0 sources doing burst (return to offline)0 sources with unknown address
交互模式下使用 chronyc

要在互动模式中使用命令行工具 chronyc 来更改本地 chronyd 实例 :

# chronycchrony version 3.5Copyright (C) 1997-2003, 2007, 2009-2019 Richard P. Curnow and otherschrony comes with ABSOLUTELY NO WARRANTY. This is free software, andyou are welcome to redistribute it under certain conditions. See theGNU General Public License version 2 for details.chronyc>

要列出所有的命令,请输入 help即可:

chronyc> help

在非交互命令模式下调用命令,如执行chronyc tracking:

chronyc> trackingReference ID : CB6B0658 (203.107.6.88)Stratum : 3Ref time (UTC) : Sun Jan 08 15:06:36 2023System time : 0.000121202 seconds fast of NTP timeLast offset : -0.000044809 secondsRMS offset : 0.000820639 secondsFrequency : 1.696 ppm slowResidual freq : +0.005 ppmSkew : 1.370 ppmRoot delay : 0.026516199 secondsRoot dispersion : 0.001782139 secondsUpdate interval : 258.2 secondsLeap status : Normal

注意,如果通过 chronyc 修改配置,更改不具有持久性,它们会在 chronyd 重启后丢失。

配置远程监控访问

出于安全层面考虑,一般很少启用chronyc远程访问,这里简单了解即可。

使用 chronyc 远程访问 chronyd,在配置文件/etc/chrony.conf 中增加以下配置允许远程访问: bindcmdaddress 0.0.0.0

使用 cmdallow 指令允许来自远程 IP 地址: cmdallow 192.168.1.0/24

迁移脚本

chrony 中默认有个 ntp2chrony.py 脚本,这个脚本会自动将已有的 ntp 配置转换为 chrony配置,这个在某些场景下会使用到,具体用法如下:

$ python3 /usr/share/doc/chrony/ntp2chrony.py -b -vReading /etc/ntp.confReading /etc/ntp/crypto/pwReading /etc/ntp/keysWriting /etc/chrony.confWriting /etc/chrony.keys

** 持续发布, 欢迎 +关注 **

标签: #centosntp版本查看