如何使用Chrony避免Linux服务器的时间漂移

如何使用Chrony避免Linux服务器的时间漂移

💡 原文英文,约1100词,阅读约需4分钟。
📝

内容提要

本文介绍了在Linux上安装和使用Chrony来同步服务器时间的方法。首先设置时区,然后安装Chrony。启用Chrony并检查时间准确性。通过编辑配置文件自定义Chrony设置,配置Linux机器为Chrony NTP服务器。确保防火墙允许NTP服务通过,并在客户端配置文件中添加NTP服务器信息。使用Chrony可避免时间相关问题。

🔎

延伸解读

时间漂移的实际影响

文章指出,时间配置错误或漂移可能导致软件包安装失败、Docker镜像下载出错,甚至影响Docker Swarm节点通信和MariaDB数据库复制。这些例子说明,时间同步不仅是系统基础设置,更直接关系到分布式应用和数据库的稳定运行。

时区设置是前提

Chrony要求所有服务器必须配置正确的时区,如果时区错误或不一致,Chrony将无法发挥作用。文章强调使用timedatectl命令设置并验证时区,且需在所有服务器上执行,无论它们是物理机、虚拟机还是容器。

Chrony的安装与启用

Chrony在大多数Linux发行版的标准仓库中可用,安装命令因发行版而异,如Ubuntu用apt、Fedora用dnf、Arch用pacman。安装后需通过systemctl启用chronyd服务,并用timedatectl set-ntp yes开启NTP同步,之后可检查时间是否准确。

配置为NTP服务器及客户端

通过编辑/etc/chrony.conf,可以取消注释allow和local stratum行,将Linux机器配置为NTP服务器,并需调整IP子网为局域网网段。同时要确保防火墙允许NTP服务。客户端则在其配置文件中添加NTP服务器地址,即可保持时间同步。

❓

Q&A

如何在Linux上安装Chrony?

可以通过标准软件库安装Chrony,使用命令:sudo apt-get install chrony -y(Ubuntu)或sudo dnf install chrony -y(Fedora)。

如何设置Linux服务器的时区?

使用命令timedatectl set-timezone <时区>,例如:sudo timedatectl set-timezone America/Kentucky/Louisville。

Chrony如何保持时间同步?

Chrony通过与NTP服务器同步系统时钟,确保所有Linux服务器的时间保持一致。

如何配置Chrony作为NTP服务器?

在Chrony配置文件中取消注释allow 192.168.0.0/16 local stratum 10,并重启Chrony服务。

如何确保防火墙允许NTP服务通过?

使用命令:sudo firewall-cmd --add-service=ntp --permanent 和 sudo firewall-cmd --reload。

Chrony的配置文件在哪里?

Chrony的配置文件通常位于/etc/chrony.conf或/etc/chrony/chrony.conf。

🏷️

标签

➡️

继续阅读