💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。
本人主要分享计算机核心技术:系统维护、数据库、网络安全、自动化运维、容器技术、云计算、人工智能、运维开发、算法结构、物联网、JAVA 、Python、PHP、C、C++等。
不同类型针对性训练,提升逻辑思维,剑指大厂,非常期待和您一起在这个小小的网络世界里共同探索、学习和成长
Linux之Chronyd 时间服务器配置
今天给伙伴们分享一下Linux系统Chronyd 时间服务器配置,希望看了有所收获。
一、Chronyd 介绍
1、简介
-
集群中节点之间需要时间同步,Chronyd不依赖外部的时间服务NTP,在内部搭建时间服务器。
-
Chrony是网络时间协议(NTP)的一种实现,是一个类Unix系统上NTP客户端和服务器的替代品。Chrony客户端可以与NTP servers同步系统时间,也可以与参考时钟(例如:GPS接受设备)进行同步,还与手动输入的时间进行同步。同样Chrony也可以作为一个NTPv4(RFC 5905) server为其他计算机提供时间同步服务。
-
Chrony 可以更快的同步系统时钟,具有更好的时钟准确度,并且它对于那些不是一直在线的系统很有帮助。Chrony在Internet上同步的两台机器之间的典型精度在几毫秒内,而在LAN上的机器之间的精度在几十微秒内。Chronyd 更小、更节能,它占用更少的内存且仅当需要时它才唤醒 CPU。即使网络拥塞较长时间,它也能很好地运行。它支持 Linux 上的硬件时间戳,允许在本地网络进行极其准确的同步。Chrony 是自由开源的,并且支持 GNU/Linux 和 BSD 衍生版(比如 FreeBSD、NetBSD)、macOS 和 Solaris 等。
2、Chronyd与ntpd对比
(1)Chronyd做的比ntpd好的
-
Chronyd可以在时断时续访问参考时间源的环境下工作,而ntpd需要定期轮询参考时间源才能正常工作。
-
即使网络拥塞时间更长,Chronyd也可以运行良好。
-
Chronyd通常可以更快、更准确地同步时钟。
-
Chronyd能够快速适应晶体振荡器温度变化引起的时钟频率的突然变化,而ntpd可能需要很长时间才能稳定下来。
-
在默认配置下,为了不影响其他正在运行的程序,Chronyd从不在系统启动同步时钟之后执行时间步进。ntpd也可以配置为从不步进时间,但它必须使用不同的方法来调整时钟,这有一些缺点,包括对时钟精度的负面影响。
-
Chronyd可以在更大的范围内调整Linux系统上的时钟频率,这使得它甚至可以在时钟损坏或不稳定的机器上运行。例如,在一些虚拟机上。
-
Chronyd体积更小,占用的内存更少,而且只有在必要的时候才会唤醒CPU,这对于节能来说是更好的选择。
(2)Chronyd能做的但ntpd做不到的
-
Chronyd提供了对孤立网络的支持,在孤立网络中,时间校正的唯一方法就是手动输入。例如,由管理员查看时钟。Chronyd可以检查在不同的更新中修正的错误,从而估算出计算机增加或减少时间的速度,并在随后使用这个估算来调整计算机时钟。
-
Chronyd可以计算RTC时钟(在计算机关闭时保持时间的时钟)的增益和损耗率。它可以在系统启动时使用这些计算的数据,以及从RTC时钟获取的时间调整值来设置系统时间。RTC时钟设备目前仅在Linux系统上可用。
-
支持Linux上的硬件时间戳,允许在本地网络上进行非常精确的同步。
(3)ntpd做得到但Chronyd做不到的
-
ntpd支持NTP v4(RFC 5905)的所有同步模式,包括broadcast、multicast和manycast clients and servers模式。请注意,broadcast和multicast模式(即使有身份验证)与普通servers and clients模式相比,更不精确、更不安全,通常应避免使用。
-
ntpd支持使用公钥加密的Autokey协议(RFC 5906)对服务器进行身份验证。注意,该协议已被证明是不安全的,可能会被Network Time Security(NTS)取代。
-
ntpd包含很多参考时间源的驱动程序,而Chronyd依赖于其他程序(例如gpsd),以使用共享内存(SHM)或Unix domain socket(SOCK)访问参考时间源的数据。
(4)Chronyd与ntpd,该怎么选
-
除了由不支持Chrony的工具管理或监视的系统,或者具有不能与Chrony一起使用的硬件参考时钟的系统之外,其他系统都应该首选Chrony。
-
需要使用Autokey协议对数据包进行身份验证的系统只能使用ntpd,因为Chronyd不支持这个协议。Autokey协议存在严重的安全问题,应避免使用该协议。使用对称密钥进行身份验证,而不是使用Autokey,这是Chronyd和ntpd都支持的。Chrony支持更强的哈希函数,如SHA256和SHA512,而ntpd只能使用MD5和SHA1。
二、Chronyd内网安装配置
# 安装Chrony,设置开机启动
[root@edenluo ~]# yum install Chrony
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: mirrors.tuna.tsinghua.edu.cn
* extras: mirrors.163.com
* updates: mirrors.163.com
Package Chrony-3.4-1.el7.x86_64 already installed and latest version
Nothing to do
[root@edenluo ~]# systemctl start Chronyd
[root@edenluo ~]# systemctl enable Chronyd
# server配置,vim /etc/Chrony.conf 添加以下两项
# Allow NTP client access from local network.
allow all # 允许所有主机从server端同步时间
# Serve time even if not synchronized to a time source.
local stratum 10 # 即使server端无法从互联网同步时间,也同步本机时间至client
# client配置,vim /etc/Chrony.conf 注释原server配置,改为prod1机器IP地址
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
#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
server 192.168.96.203 iburst
# 都重启服务
[root@edenluo ~]# systemctl restart Chronyd
# 服务端查看server端在线情况和时间同步情况
[root@edenluo ~]# Chronyc activity
200 OK
0 sources online
0 sources offline
1 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@edenluo ~]# Chronyc tracking
Reference ID : B65C0C0B (time5.aliyun.com)
Stratum : 3
Ref time (UTC) : Tue Dec 28 08:56:41 2021
System time : 0.000352393 seconds fast of NTP time
Last offset : +0.000411336 seconds
RMS offset : 0.000915787 seconds
Frequency : 1.113 ppm slow
Residual freq : -0.518 ppm
Skew : 55.244 ppm
Root delay : 0.024603928 seconds
Root dispersion : 0.003826973 seconds
Update interval : 64.2 seconds
Leap status : Normal
# 客户端查看server端(也就是本地服务器)在线情况和时间同步情况
[root@edenluo ~]# Chronyc activity
200 OK
1 sources online
0 sources offline
0 sources doing burst (return to online)
0 sources doing burst (return to offline)
0 sources with unknown address
[root@edenluo ~]# Chronyc tracking
Reference ID : C0A8F788 (192.168.96.203)
Stratum : 4
Ref time (UTC) : Tue Dec 28 08:55:38 2021
System time : 0.00000014