CentOS服务器时间不准,如何正确设置网络时间同步?

在服务器运维领域,确保系统时间的准确性是一项至关重要的基础任务,无论是日志审计、证书验证、分布式集群协同,还是确保应用程序按预期时间触发事件,都依赖于一个精确、统一的时钟,对于广泛使用的 CentOS 系统而言,通过网络时间协议(NTP)来同步时间是标准做法,本文将详细介绍在 CentOS 系统中设置和管理网络时间的完整流程,涵盖现代及传统方法,并探讨相关的配置与排错技巧。

CentOS服务器时间不准,如何正确设置网络时间同步?

为什么需要网络时间同步?

一台独立运行的服务器,其内部硬件时钟(如主板上的 CMOS 电池供电时钟)会随着时间推移而产生漂移,每天可能产生数秒甚至更长时间的误差,在单机环境中,这种误差或许可以容忍,但在复杂的 IT 基础设施中,时间的不同步会引发一系列严重问题:

  • 安全认证失败:许多安全协议,如 Kerberos,对时间戳非常敏感,客户端与服务器时间差过大会导致认证失败。
  • 日志分析混乱:当分析来自多台服务器的日志以追踪问题时,时间不一致会使事件序列难以梳理,给故障排查带来巨大困难。
  • 分布式系统异常:数据库集群、缓存系统、容器编排平台(如 Kubernetes)等都要求所有节点时间高度同步,否则可能出现数据不一致、任务调度错误等问题。
  • 文件系统问题:NFS 等网络文件系统依赖于时间戳来判断文件的最新状态,时间不同步可能导致文件保存或更新异常。

通过 NTP 服务自动从权威的时间服务器同步时间,是保障服务器稳定可靠运行的基石。

现代方案:在 CentOS 7/8/Stream 中使用 chrony

从 CentOS 7 开始,chrony 取代了传统的 ntpd,成为默认的 NTP 客户端和服务端软件。chrony 的设计更适应现代环境,尤其是在虚拟机和不稳定网络连接下,表现出更快的同步速度和更高的精度。

安装 chrony

chrony 通常在系统安装时已默认安装,若未安装,可以通过 yumdnf 命令轻松安装:

# 对于 CentOS 7
sudo yum install chrony
# 对于 CentOS 8/Stream
sudo dnf install chrony

配置 chrony

chrony 的主配置文件位于 /etc/chrony.conf,打开此文件,你会看到一些默认配置,通常已经足够作为客户端使用。

sudo vi /etc/chrony.conf

几个关键的配置项说明:

  • pool 2.centos.pool.ntp.org iburst:这是默认的时间源配置。pool 指令会从指定的域名(这里是 CentOS 官方提供的 NTP 池)中解析出多个 NTP 服务器地址,chrony 会自动选择其中最优的几个进行同步。iburst 选项表示在启动时进行快速的前几个轮询,以尽快完成初始同步。
  • server:如果你想指定特定的时间服务器,可以使用 server 指令,使用阿里云的公共 NTP 服务器:
    server ntp1.aliyun.com iburst
    server ntp2.aliyun.com iburst
  • allow:如果你希望本台服务器也作为时间服务器,为局域网内的其他机器提供时间同步服务,需要取消注释并配置 allow 指令,后面跟上允许同步的网段。allow 192.168.1.0/24

作为客户端,通常只需关注 poolserver 配置即可。

启动并启用服务

配置完成后,启动 chronyd 服务,并设置为开机自启:

sudo systemctl start chronyd
sudo systemctl enable chronyd

验证与监控

检查 chronyd 服务的运行状态:

systemctl status chronyd

查看时间同步状态,这是最常用的命令:

CentOS服务器时间不准,如何正确设置网络时间同步?

chronyc sources -v

输出结果中,我们关注最左侧的字符:

  • ^:表示这是一个服务器地址。
  • 表示当前正在同步的主时间源。
  • 表示这是一个可用的候选时间源。
  • 表示此服务器已被丢弃,不再使用。

还可以使用 chronyc tracking 命令查看更详细的同步信息,如最后的时间偏移量(Last offset)和系统时钟的估计误差(Root dispersion)。

chronyc tracking

传统方案:在 CentOS 6 中使用 ntpd

对于仍在使用的 CentOS 6 系统,标准的 NTP 服务是 ntpd,其配置流程与 chrony 类似,但命令和配置文件有所不同。

安装与配置

安装 ntp 软件包:

sudo yum install ntp

编辑配置文件 /etc/ntp.conf,主要配置是 server 行,指定上游时间服务器:

sudo vi /etc/ntp.conf

可以添加公共 NTP 池服务器:

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

启动与启用

使用 service 命令启动服务,并使用 chkconfig 设置为开机自启:

sudo service ntpd start
sudo chkconfig ntpd on

验证与监控

使用 ntpq -p 命令查看与时间服务器的同步状态,其输出格式与 chronyc sources 类似,同样可以通过 号识别当前正在同步的源服务器。

时区设置

NTP 服务负责同步“时间”(时、分、秒),但不会改变“时区”,确保服务器时区设置正确同样重要。

在 CentOS 7/8 中,推荐使用 timedatectl 命令管理时区:

CentOS服务器时间不准,如何正确设置网络时间同步?

# 查看当前时间和时区
timedatectl status
# 列出所有可用时区
timedatectl list-timezones
# 设置时区(设置为上海时区)
sudo timedatectl set-timezone Asia/Shanghai

在 CentOS 6 中,通常通过创建软链接来设置时区:

# 删除当前的 localtime 链接
sudo rm /etc/localtime
# 创建指向上海时区文件的链接
sudo ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

一次性手动同步

在某些紧急情况下,如果希望立即将时间校准,而无需等待 NTP 服务逐步调整,可以使用 ntpdate 命令。

sudo ntpdate pool.ntp.org

重要提示:在使用 ntpdate 之前,必须确保 ntpdchronyd 服务已经停止,因为它们会同时管理系统时钟,导致冲突。ntpdate 更适用于一次性快速修正,或者在没有安装 NTP 服务的系统上,在现代系统中,chrony 本身支持在启动时快速同步,ntpdate 的使用场景已越来越少。


相关问答 FAQs

为什么服务器时间总是不准,即使我已经配置了 NTP 服务?

解答:这个问题通常由以下几个原因造成:

  1. 防火墙限制:NTP 服务使用 UDP 的 123 端口,请确保服务器的防火墙(如 firewalldiptables)允许出站和入站的 UDP 123 端口通信。
  2. 配置错误:检查 /etc/chrony.conf/etc/ntp.conf 文件中的 serverpool 地址是否有效且可访问,可以尝试手动 pingdig 这些域名。
  3. 时钟偏差过大:如果服务器的时间与标准时间相差太大(例如超过 1000 秒),chronyntpd 为了安全可能拒绝进行大幅度的“步进”调整,而是选择缓慢地“ slew”调整,这种情况下,可以先停止 NTP 服务,使用 ntpdate 命令进行一次性大幅校准,然后再重启 NTP 服务。
  4. 虚拟化环境:在虚拟机中,虚拟时钟容易出现漂移,确保 hypervisor(如 VMware ESXi, KVM)已安装并启用了时间同步工具,对于 chrony,可以添加 rtcsync 指令,它会定期将系统时间同步到硬件时钟,有助于减少漂移。

chronyntpd 我应该选择哪一个?它们有什么区别?

解答:对于 CentOS 7 及以上版本,强烈推荐使用默认的 chrony,对于 CentOS 6,则只能使用 ntpd,它们之间的主要区别可以归纳如下表:

特性 chrony ntpd
默认系统 CentOS 7+, RHEL 7+, Ubuntu 16.04+, Debian 9+ CentOS 6, RHEL 6, 及更旧的系统
同步速度 非常快,尤其适合间歇性网络或虚拟机 相对较慢,需要较长时间才能稳定同步
适应环境 对网络抖动、延迟变化和不稳定连接适应性极佳 对稳定、持续的网络连接表现最佳
大偏差处理 可以配置为快速步进调整或缓慢 slew 调整 默认拒绝大偏差调整,需要手动干预
配置与管理 配置更简洁,监控命令(chronyc)功能强大且易读 配置相对复杂,ntpq 监控信息专业但略显晦涩
资源占用 通常更轻量 资源占用相对稍高

chrony 是为现代计算环境(包括云计算和虚拟化)设计的,是当前的首选方案。ntpd 则是一个成熟、稳定但略显传统的解决方案。

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2025-10-14 04:31
下一篇 2025-10-14 04:34

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

QQ-14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信