同步时间,为什么我选 Chrony 而不是 NTP ?
初识 chrony
chrony 是网络时间协议(Network Time Protocol )的通用实现
它不但可以提供保持系统时间与 NTP 时钟服务器同步的服务,还能作为 NTP 服务器对其他服务器提供时间同步服务
chrony 特点:
任何情况下都能稳定良好运行(例如不稳定的网络中、不稳定的系统中或者虚拟机环境中)
精度高(精度通常以几十微秒为单位)
开源(白嫖多香)
官方文档:https://chrony.tuxfamily.org/index.html
chronyc & chronyd
chrony 有两个核心组件:
chronyd
守护进程,主要用于调整内核中运行的系统时间和时间服务器同步
chronyc
命令行界面程序,让用户能够对 chronyd 的性能进行监控以及改变各种参数
安装
从 Centos 7.x 开始的最小发行版中都已经预装并开启了 Chrony,如果你的系统没有安装,可以用下面命令进行安装
安装完毕后,使用下面命令来查看运行状态

chronyc 命令

常见 OPTION

常见 COMMAND
显示系统时钟性能的参数

显示时间同步源


查看当前系统的时间同步源状态信息(例如漂移率和偏移估算过程)

查看时间同步源的状态

chrony 配置
配置文件路径:/etc/chrony.conf
一些常用的配置项
server
假设你的 NTP 服务器名字为:haha.example.net、hehe.example.net
那么在配置文件里内容如下:

iburst:在头四次 NTP 请求以 2s 或者更短的间隔;minpoll x 指定最小的轮询间隔,默认值是 6,代表 64s;maxpoll x 默认值是 9,代表 512s
prefer,表示优先级最高,客户端会优先与添加了 prefer 字段的 时间同步源进行时间同步
driftfile

chrony 会根据实际时间来修正系统时间,而这个修正的值(即系统时钟相对于实时时间获得或失去时间的速率)会存放在一个指定文件里面,由 driftfile指定文件路径

rtcsync
rtcsync 表示启动内核实时时钟同步(RTC)
在 Linux 系统中,内核每 11 分钟执行一次 RTC 拷贝来同步时钟
makestep
通常情况下,chrony 会通过减缓或加快时钟来逐渐调整系统时间
但是 chrony 首次启动的时候,发现系统时间与实际时间偏差很大,以至于需要花费很长时间来纠正系统时间
而 makestep 字段可以使 chrony 跳跃式调整系统时间

表示在头三次校正时间的时候,如果发现时间偏差超过 1.0 s,就跳跃式校正,而非逐渐式
logdir
指定 chrony 日志文件路径

Why chrony and not NTP
我们知道,chrony 和 ntpd 都是网络时间协议的两种不同实现方式
在简单介绍完 chrony 的相关内容之后,我们回到文章题目:为什么用 chrony 而不是 NTP?
首先看下它们时间同步的准确性
以下是 chrony 官网中 chronyd 和 ntpd 的时间同步准确性详细对比
其他维度对比详情请到官网上查看



可以看到,chrony 具有更精确的时间准确性,精度更高
除此之外,我们来看下其他比较


可以看到,chrony 可以随机间歇性校准时间,而 NTP 需要定期轮询才能正常工作
而且 由于有更小的时间轮询间隔,chrony 可以更快的同步时钟
总结:
- chrony 具有更精确的时间准确性,精度更高,同步时间的速度更快,从而最大程度的减少时间和频率误差
- chrony 可以随机间歇性校准时间,而 NTP 需要定期轮询才能正常工作,因此 chrony 具备间歇性网络连接的系统仍然可以快速同步时钟
- chrony 对时间的校准是连续的,通过从而最大程度的减少时间和频率误差;而 ntp 需要搭配 crontab 来定时调整时间,会出现间断
- chrony 能够快速适应时钟速率的突然变化(例如,晶体振荡器的温度变化)。而 NTP可能需要很长时间才能再次稳定下来
- chrony 能够在网络拥堵的情况很好地执行
- chrony 占更小的内存,更加的轻量,而且只在必要时唤醒 CPU

同步时间,为什么我选 Chrony 而不是 NTP ?的更多相关文章
- Linux系列(40) - 自动同步时间chrony
前言 Centos8开始取消了ntp同步时间,改为chrony同步 chrony工具安装 yum -y install chrony 修改配置文件 将配置文件中的同步服务器修改为国内的时间服务器(推荐 ...
- linux用rdate命令实现同步时间
用rdate命令实现同步时间 前两天说到用ntp时间服务器和ntpdate命令同步时间,今天简单记录下用rdate同步时间 http://blog.csdn.net/wyzxg/archive/201 ...
- Linux自动同步时间
一.安装时间同步工具 yum -y install ntp 二.同步时间 1.修改时区 cp -y /usr/share/zoneinfo/Asia/Shanghai /etc/localtime v ...
- centos修改时区,同步时间
查看当前系统时区 ls -la /etc/localtime 查看支持的时区 timedatectl list-timezones # 查看所有时区 timedatectl list-timezone ...
- Linux自动同步时间的方法
介绍两种同步linux系统的时间方法: (1) 开启ntpd服务,即配置ntp服务器实现时间同步. (2) 利用ntp客户端程序,即ntpdate同步时间. 注意:因为ntp服务器本来就会与上层时间服 ...
- CentOS7安装chrony替代ntp同步时间
Chrony是一个开源的自由软件,它能保持系统时钟与时钟服务器(NTP)同步,让时间保持精确.它由两个程序组成:chronyd和chronyc:chronyd是一个后台运行的守护进程,用于调整内核中运 ...
- ntp-redhat 同步时间配置
1. 选作一个机器作为ntp 服务端,例如 ip 为192.168.0.1 1)安装 ntp服务 yum install ntp 2) 修改ntp.conf 文件 vi /etc/ntp.conf 注 ...
- 转载:linux同步时间信息
Linux - CentOS7上的时间同步 1. 时区的概念 1.1 时区简介 地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早.东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒 ...
- Centos7部署ntp服务器同步时间以及直接将本地时间同步为北京时间
一.查看配置 查看时区列表: timedatectl list-timezones|grep Asia 查看当前时间: date 查看当前设置: [root@localhost ~]# timedat ...
- 同步时间linux
针对对时间要求精确度高的服务器 1.安装时间服务器yum install ntp 2.同步时间ntpdate time.nist.gov 3.设置计划任务每隔10分钟同步一次 */10 * * * * ...
随机推荐
- MAUI Blazor 如何通过url使用本地文件
前言 上一篇文章 MAUI Blazor 显示本地图片的新思路 中, 提出了通过webview拦截,从而在前端中显示本地图片的思路.不过当时还不完善,随后也发现了很多问题.比如, 不同平台上的url不 ...
- 嵌入式linux主机通过分区镜像生成固件,DD备份分区后打包成固件,px30刷机教程 ,rockchip刷机教程
我这边有一个工控路由器因为刷机变砖了,网上下载不到固件,自己暂时还没有搞过编译.我找到了同型号的路由器,把它的系统制作成镜像. 具体操作分为三步: 第一步,直接用DD命令备份了几个分区,分区我暂时还不 ...
- 金蝶云星空与吉客云电商ERP数据对接
01 系统说明: 吉客云 吉客云: 从业务数字化和组织数字化两个方向出发,以生成流程的闭环为依归,致力于为企业的数字化升级提供落地工具.销售订单层面,吉客云对接了国内外主流的销售平台,兼容了电商渠道. ...
- 【结对作业】第一周 | 学习体会day03
昨天解决线路查询时遇到的type接受为空导致出现空指针异常抛出,后来发现是因为传递的数据类型出现了问题,更改数据类型之后问题就得到了解决今天在实现站点查询线路时遇到了乱码问题,在这之前我们单独编写代码 ...
- 地图选择器datav怎么使用?
DataV 是一款基于阿里云的数据可视化产品,它提供了丰富的组件和功能,其中包括地图选择器.下面是一个详细的介绍: 1. 了解 DataV: - DataV 是一款强大的数据可视化工具,能够帮助用户将 ...
- VM离线安装Centos 8以及配置
一.安装 1.预装准备 1.1. 硬件准备 物理内存:2G以上(这里指系统搭建所需占用空间) 物理外存:20G(这里指系统搭建所需占用空间) 1.2. 环境搭建准备 Window10系统电脑一台.Vm ...
- mysql之慢sql配置与分析
mysql的慢查询sql是通过日志记录慢SQL--(俗称慢查询日志)默认的情况下,MySQL数据库不开启慢查询日志(slow query log),需要手动把它打开 开启慢查询日志 SET GLOBA ...
- 🔥🔥Java开发者的Python快速实战指南:实用工具之PDF转DOCX文档(可视化界面)
首先,大家对Python语法的了解已经基本完成,现在我们需要开始进行各种练习.我为大家准备了一些练习题目,比如之前的向量数据库等,这些题目可以参考第三方的SDK来进行操作,文档也是比较完善的.这个过程 ...
- v-for和指令
. v-for 起遍历作用. 注意点: 1.遍历的里面第一个值是定义的元素的值,第二个值是值的名称,第三个值为下标 2.:key是v-blind:key的简写,是代码中的唯一标识,一般用id来定义 v ...
- Odoo16—权限控制
odoo的权限控制是通过用户组来实现的,在用户组中配置控制权限,然后再添加用户到用户组中,从而实现对用户的访问和操作权限控制.一个用户可以属于多个用户组,用户最终的权限范围取决于所属用户组权限的并集. ...