Linux配置时间同步 – chrony
内容提要
chrony是一款开源的NTP时间同步软件,适用于Unix-like系统。它由两个组件组成:chronyd(服务器端)和chronyc(客户端)。chronyd负责调整系统时钟并与时间服务器同步,chronyc用于监控和配置。配置过程包括安装chrony、编辑配置文件添加时间源、重启服务及设置开机自启,从而实现高精度的时间同步。
延伸解读
chrony 的组件分工与优势
chrony 由 chronyd 和 chronyc 两个组件构成。chronyd 作为后台守护进程,负责调整系统时钟并与时间服务器同步,它通过平滑调整时钟速率来确保时间准确。chronyc 则提供用户界面,用于监控性能指标和灵活配置,既可在本地运行,也可远程操作。文章指出 chrony 具有低延迟、低 CPU 占用率和低内存消耗等优势,适合对性能和可靠性有要求的场景。
chronyc sources 输出解读要点
chronyc sources 命令的输出包含多列关键信息。M 列表示信号源模式,^ 代表服务器;S 列指示源状态,* 表示当前同步的源,+ 表示可接受的信号源,- 表示被排除,? 表示失去连接。Stratum 列显示源的层级,Poll 列是轮询间隔的以 2 为底的对数,Reach 列是八进制可达性寄存器,LastRx 显示上次收到样本的时间,Last sample 则给出偏移量和误差范围。理解这些有助于判断同步状态。
层级(Stratum)概念与传播
文章通过示例解释了 Stratum 层级:层 1 表示具有本地参考时钟的计算机,与层 1 同步的计算机位于层 2,依此类推。例如,时钟服务器 time_server 层级为 2,主机 node1 从它同步后层级变为 3,另一台从 node1 同步的主机层级则为 4。这一概念有助于理解时间源在同步链中的位置,以及 chrony 如何逐级传播时间。
配置中的关键参数与防火墙
在 Server1 的配置中,allow 172.16.0.0/24 定义了允许访问的客户端网络,local stratum 10 表示即使未同步到时间源也提供时间服务。同时,需通过 firewall-cmd 放行 ntp 服务,确保客户端能访问。Server2 则配置 Server 172.16.0.134 指向 Server1。这些设置共同实现了内网时间同步的层级结构,并强调了防火墙规则的必要性。
Q&A
chrony是什么软件,它的主要功能是什么?
chrony是一款开源的NTP时间同步软件,主要用于Unix-like操作系统,提供高精度的时间同步服务。
chrony的两个主要组件是什么,它们各自的作用是什么?
chrony由两个组件组成:chronyd负责调整系统时钟并与时间服务器同步,chronyc用于监控和配置。
如何在Linux上安装和配置chrony?
安装chrony后,编辑/etc/chrony.conf文件添加时间源,重启chronyd服务并设置开机自启。
如何验证chronyd服务是否正常运行?
可以使用命令'systemctl is-active chronyd'来查看chronyd服务的状态。
在Server1上配置时间源时,如何添加阿里和腾讯的NTP服务器?
在/etc/chrony.conf文件中添加'Server ntp.aliyun.com iburst'和'Server time1.cloud.tencent.com iburst'。
如何在Server2上配置从Server1同步时间?
在Server2的/etc/chrony.conf文件中添加'服务器 172.16.0.134 iburst',然后重启chronyd服务。