Chrony高精度时间同步配置
Chrony时间同步服务
1.时间同步基本概念
1.1 什么是时间同步
时间同步,就是将本地时间与互联网时间进行校对,为系统提供一个统一时间;
由于本地时间的计时速率、运行环境不一致性;所有本地时钟纵使在某一刻被校准了 ,一段时间后,这些本地时钟也会出现不一致。为了本地时钟再次达到相同的时间值,所以需要进行时间同步的操作;
1.2 为什么需要时间同步
• 在运维工作的场景当中,存在着众多主机协同完成不同的任务;
• 比如LNMP架构,它们可以分别部署在三台不同的主机上;那么这三台主机在工作时,由于分别位于不同的主机之上,它们需要根据文件或者数据流所生成的时间,来决定响应给客户端的结果该如何进行展示;此时就需要统一网络中的主机时间一致;
• 但这个时间一致并不是说一定得是正确的,如果现在当前时间是下午2点,但是这三台主机的时间精确一致是昨天凌晨5点,这也没有什么问题;
• 但对于有些场景时间不正确也不行,比如https应用;客户端与服务端通讯时,如果客户端时间是准确的,而服务端时间来自昨天,或者来自未来的响应,则会提示存在风险,而不予接受;
1.3 时间同步是如何完成
• 假设服务器启动起来后,发现时间慢了24小时,那么他如何将自己的时间调整正确呢
• 如果是手表该如何校对时间呢?(波动表针,调整时间的正常逻辑)
• 如果是date命令是如何校对时间呢?(直接跳跃时间,跳跃的过程中造成部分文件出现空白段)
•NTP时间服务(CentOS6):
• 逻辑:让时间校对像手表一样波动的快一点,而不是像date命令直接跳跃过去:其他服务器一分钟60s,而ntp一分钟30s,来实现时间的校对;
• 问题:为了赶上慢的24小时,可能需要花费非常长的时间来进行校对;
•Chrony时间服务(CentOS7、RockyLinux9):
• 逻辑:Chrony是NTP的替代品,能更精确、更快的同步时钟,传统ntp需要几小时,而chrony仅需要数秒种或数毫秒即可完成时间同步;调整时间的速度就像波动表针的速度一样快;
2.Chrony时间服务
2.1 Chrony介绍
•chrony是基于ntp协议的实现时间同步服务,它既可以当做服务端,也可以充当客户端;
• 1、chrony是NTP的替代品,能更精确的时间和更快的速度同步时钟;
• 2、chrony占用系统资源少,只有被唤起时才占用少部分CPU,chrony兼容ntpdate;
• 3、chrony允许本地网络其他主机像本地进行时间同步;
2.2 为何需要Chrony
• 所有服务器直接同步公网上的时间不就可以了吗,为何需要自己搭建一台时间服务器呢?
• 如果每台服务器都去同步公网时间服务器,且服务器较多,会带来如下问题:
• 1、造成延迟
• 2、浪费带宽
• 解决方法:搭建内网时间服务器,来同步公网时间,然后所有服务器来与这台服务器进行时间同步
• 1、减小服务器之间的误差,提升同步速度
• 2、减少网络带宽损耗
image.png
2.3 Chrony服务安装
[root@chrony ~]# yum install chrony -y
• 主配置文件:/etc/chrony.conf
• 客户端程序:/usr/bin/chronyc
• 服务端程序:/usr/sbin/chronyd
2.4 Chrony服务端
• 默认配置
[root@chrony ~]#cat/etc/chrony.conf #使用同步的远程时钟源,理论上可以同步无限个 # iburst配置选项,它表示在启动时快速尝试多次同步,以便更快地获得准确的时间 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 #存储系统时钟与真实时间之间的偏差信息,然后记录到一个文件中,在系统重启后为系统做出最佳时间补偿调整,以便更准确地调整时间。 driftfile /var/lib/chrony/drift #如果系统时钟的偏移量大于1秒,那么在前3次同步时,系统时钟将立即进行调整,而不是逐步调整。 makestep 1.0 3 #启用实时时钟(RTC)的内核同步 rtcsync #通过使用 hwtimestamp 指令启用硬件时间戳 #hwtimestamp * #增加调整所需的可选择源的最小数量 #minsources 2 # 允许指定网络的主机同步时间,不指定就是允许所有,默认不开启。 allow 192.168.0.0/16 # 默认情况下本地服务器无法同步互联网时间时,可能会出现不精确,所以会拒绝提供授时服务; # 开启此选项,则表示允许接受不精确时间,继续为客户端提供授时服务; localstratum 10 #指定包含 NTP 身份验证密钥的文件 #keyfile /etc/chrony.keys #指定日志文件 logdir /var/log/chrony #选择日志文件要记录的信息 logmeasurements statistics tracking
1.Chrony服务端配置,修改/etc/chrony.conf文件三处,设定外部时间服务器、允许内网同步此服务端、设置断网继续同步
[root@chrony ~]# vim /etc/chrony.conf # Please consider joining the pool (http://www.pool.ntp.org/join.html). server ntp1.aliyun.com iburst server ntp2.aliyun.com iburst # Allow NTP client access from local network. allow 172.16.1.0/24 # Serve time even if not synchronized to a time source. localstratum 10
2.重启Chrony服务
[root@chrony ~]# systemctl restart chronyd
2.5 Chrony客户端
1.客户端使用ntpdate或chronyc命令的方式进行手动同步
# ntpdate [root@chrony ~]# yum install ntpsec -y [root@chrony ~]# ntpdate 172.16.1.62 # chronyc [root@chrony ~]# chronyc -a makestep 200 OK
2.客户端使用chrony守护进程方式进行时间自动化同步
[root@chrony ~]# yum install chrony -y [root@chrony ~]# vim /etc/chrony.conf # 指向至服务端 server 172.16.1.62 iburst [root@chrony ~]# systemctl restart chronyd
3.查看时间同步是否正常
[root@chrony ~]# chronyc sources 210 Number of sources = 1 MS Name/IP address Stratum Poll Reach LastRx Last sample =============================================================================== ^* 172.16.1.62 3 6 77 24 -926us[-2077us] +/- 19ms [root@chrony ~]# chronyc sources -v
链接:https://blog.csdn.net/Sunfeiyanghtml/article/details/140091806
- NVMe高速传输之摆脱XDMA设计13:PCIe请求模块设计(下)
- 芯海科技:BMS芯片出货超亿颗,系列新品强势夯筑第二增长曲线
- 赛思NTP服务器选型推荐,赛思NTP服务器云端助力“数智伊利”步入现实!
- 光伏发电用不掉,充电成本下不来?园区光储充协同策略解决方案
- 虹科干货 | 信用整形机制Qav:如何平衡流量整形和缓存大小?
- 安科瑞分布式光伏监控系统:赋能园区企业光伏用电智能化管理
- 零成本建站!使用树莓派在家搭建网站:分步指南!
- Robot之身---机械臂总 “罢工”?电磁干扰的隐形坑,雷卯这套方案帮解决!
- 船闸液压缸磁致伸缩位移传感器故障排查
- 新一代 UWB 前端定位模块,满足更多复杂应用
- 信号发生器在新能源发电机频率控制中的应用及优化
- 安科瑞智慧能源管理系统:光储充协调控制的应用场景与解决方案
- 什么是Modbus RTU协议
- EasyGo DeskSim软件的核心实用工具
- 安森美为AI数据中心构建全链路电源解决方案
- RK3568开发板暗藏32位兼容开关?飞凌嵌入式带你一键解锁!