一文详细了解一下 Linux NTP: Chrony
nanshan 2024-11-13 11:32 24 浏览 0 评论
在当前的分布式系统中,越来越依赖 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 iburst
server s1a.time.edu.cn iburst
allow 192.168.0.0/16
重启服务:
$ systemctl restart chronyd
检查是否同步:
$ chronyc sources
210 Number of sources = 2
MS 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 activity
200 OK
2 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
要在互动模式中使用命令行工具 chronyc 来更改本地 chronyd 实例 :
# chronyc
chrony version 3.5
Copyright (C) 1997-2003, 2007, 2009-2019 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>
要列出所有的命令,请输入 help即可:
chronyc> help
在非交互命令模式下调用命令,如执行chronyc tracking:
chronyc> tracking
Reference ID : CB6B0658 (203.107.6.88)
Stratum : 3
Ref time (UTC) : Sun Jan 08 15:06:36 2023
System time : 0.000121202 seconds fast of NTP time
Last offset : -0.000044809 seconds
RMS offset : 0.000820639 seconds
Frequency : 1.696 ppm slow
Residual freq : +0.005 ppm
Skew : 1.370 ppm
Root delay : 0.026516199 seconds
Root dispersion : 0.001782139 seconds
Update interval : 258.2 seconds
Leap 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 -v
Reading /etc/ntp.conf
Reading /etc/ntp/crypto/pw
Reading /etc/ntp/keys
Writing /etc/chrony.conf
Writing /etc/chrony.keys
** 持续发布, 欢迎 +关注 **
相关推荐
- ubuntu24.04下kubernetes1.30环境搭建
-
设置root用户密码#在Ubuntu系统中,默认情况下root用户是被禁用的(没有设置密码)#而是通过sudo命令让普通用户临时获取管理员权限,#如果需要启用或修改root密...
- Canonical 在 Ubuntu 24.10 发布之前对 Snap 进行了更多改进
-
作为Ubuntu桌面临时工程总监,OliverSmith介绍了Ubuntu24.10的最新进展。在Ubuntu24.10功能冻结之前,GNOME47测试版已经登陆Ubuntu...
- Ubuntu Touch OTA-5手机系统发布:细化电源配置等
-
IT之家8月2日消息,UBports基金会于7月30日发布UbuntuTouch20.04OTA-5版本更新,距离上次OTA-4更新发布相隔6个月时间。Ubuntu...
- Ubuntu更契合英特尔酷睿Ultra,综合性能比Win11高15%
-
IT之家12月23日消息,英特尔本月推出酷睿UltraMeteorLake处理器,那么Win11和Ubuntu发行版两者时间,谁能更好地发挥其性能呢?国外科技媒体phoron...
- 针对英特尔酷睿CPU优化,Canonical发布Ubuntu实时内核
-
IT之家7月27日消息,Canonical今天宣布针对支持时序协调运算(TCC)和时间敏感网络(IEEETSN)的英特尔酷睿处理器,推出优化版实时Ubuntu内核。Canonical...
- 在Ubuntu/Debian上设置永久DNS域名服务器
-
在Linux上设置自定义DNS服务器可以提高性能和安全性,甚至可以通过DNS阻止一些使用地理屏蔽的网站。有几种方法可以做到这一点,包括在许多Linux发行版中包括的NetworkManagerGUI...
- 宣布延期:Ubuntu 24.04 LTS第一个版本发布推迟两周
-
Ubuntu开发团队原计划于8月19日星期四发布Ubuntu24.04.1LTS。然而,由于发现几个重大升级错误,发布被推迟。Ubuntu24.04.1LTS的新发布日期现定为...
- Ubuntu系统已经十岁了 10月新推14.10版
-
|责编:李鑫比较非主流的Ubuntu系统刚刚推出了14.10版,同时大家也可能不知道其实它已经十岁了!它的第一次公布时间为2004年的10月呢。在这次十周年更新中,Ubuntu为用...
- wsl2在休眠后的时间偏差问题的修复
-
笔记本电脑在日常使用中,常常会有进入休眠状态的情况。休眠对于wsl2而言,却造成了时间偏差的问题,休眠期间wsl2的时间停止了。这个问题的根治,需要等微软。本文提供的是一种简单的修复办法。ntp是网络...
- 基于Ubuntu22.04源码安装配置RabbitVCS过程记录
-
基于Ubuntu22.04源码安装配置RabbitVCS过程记录安装开始时间开始时间:2025年7月18日17:09(北京时间)系统:Ubuntu22.04用户:itgather时区:A...
- GNOME 46桌面环境发布,Ubuntu 24.04 LTS和Fedora 40率先预装
-
IT之家3月21日消息,GNOME团队今天发布公告,正式推出代号为“Kathmandu”的GNOME46桌面环境,并已经开放下载。Fedora40发行版将于4月发布,率先预装...
- 如果大家同意的话 Ubuntu可能很快就会有一个新的垃圾桶图标
-
Ubuntu贡献者目前正在构思一个新的垃圾桶图标,该图标最早可能在10月份Ubuntu25.10发布时出现在Dock栏中。关于Ubuntu垃圾桶图标外观的讨论在2019年持续进...
- Ubuntu 25.10 通过更安全地获取时间来提供进一步的安全性提升
-
Canonical宣布将从Ubuntu25.10开始使用一款名为chrony的软件,以实现更安全的时间管理。最终用户无需过于担心这一变化,但它将增强系统安全性,尤其是在加密操作和证书验证方...
- Linux 修改系统时间的两种方式
-
一:更新系统时间的方式1、手动修改通过相关工具来手动修改系统的时间。2、自动同步使用NTP自动同步系统时间。二:手动修改系统时间1、date工具作用:显示和设置系统时间选项:-d<字符串&g...
- Ubuntu计划下版本为RISC-V设置RVA23基线,大量硬件无法升级
-
IT之家7月14日消息,主要Linux发行版之一的Ubuntu计划在其接下来的一个大版本25.10中将对RISC-V处理器的准入门槛设置从此前的RVA20配置文件更新至最新...
你 发表评论:
欢迎- 一周热门
-
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
手机如何设置与显示准确时间的详细指南
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
一加手机与电脑互传文件的便捷方法FileDash
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
- 最近发表
-
- ubuntu24.04下kubernetes1.30环境搭建
- Canonical 在 Ubuntu 24.10 发布之前对 Snap 进行了更多改进
- Ubuntu Touch OTA-5手机系统发布:细化电源配置等
- Ubuntu更契合英特尔酷睿Ultra,综合性能比Win11高15%
- 针对英特尔酷睿CPU优化,Canonical发布Ubuntu实时内核
- 在Ubuntu/Debian上设置永久DNS域名服务器
- 宣布延期:Ubuntu 24.04 LTS第一个版本发布推迟两周
- Ubuntu系统已经十岁了 10月新推14.10版
- wsl2在休眠后的时间偏差问题的修复
- 基于Ubuntu22.04源码安装配置RabbitVCS过程记录
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)