当前位置:首页>Linux>Linux如何配置时间同步服务?

Linux如何配置时间同步服务?

  • 2026-09-10 04:14:38
Linux如何配置时间同步服务?

在运维工作中,服务器时间不同步会引发多种问题,本文将在 CentOS7 系统下,系统介绍 NTP 与 Chrony 两种时间同步方案,涵盖原理、适用场景、完整配置步骤、验证方法及常见问题处理。

一、时间同步的必要性

服务器本地时钟在长时间运行后会产生漂移。对于单机影响有限,但在集群、分布式服务、日志审计、定时任务和安全认证等场景中,统一时间是系统稳定运行的基础:

  • 日志可追溯性:统一的时间戳便于在多台服务器间精准定位问题。

  • 集群稳定性:MySQL 主从、Redis 集群、K8s 节点等组件对时间有严格要求,偏差过大可能引发故障。

  • 任务执行准确性:定时任务及备份脚本依赖正确时间,时间错误会导致任务漏执行或重复执行。

  • 安全合规:证书验证、登录审计、安全策略,都依赖准确的系统时间。

说明:在 CentOS7 中,NTP为传统方案,兼容性强;Chrony为官方默认推荐,同步速度快、断网恢复后校准迅速,生产环境优先采用 Chrony,对老旧系统或需兼容 NTP 协议的场景则使用 NTP。

NTP vs Chrony 对比

使用场景说明

在实际部署前,请先根据你的环境和需求,确定采用哪种方案:

场景一:单机或少量服务器同步公网时间

如果你的服务器可以访问互联网,只需将本机时间与外部标准时间源对齐,那么:

  • 推荐使用 Chrony(CentOS7 默认方案),配置简单,同步速度快,资源占用低。

  • 若你正在维护较老的操作系统(如 CentOS 6 或更早),或必须与现有 NTP 基础设施保持协议兼容,则选择 NTP。

场景二:搭建内网时间服务器,为局域网内多台设备提供时间同步

当你的服务器位于内网(无法访问外网),或需要统一内网所有设备的时间基准时,需要在一台机器上搭建时间服务,其余机器作为客户端指向这台服务器。

  • 内网环境以 CentOS7 为主:推荐使用 Chrony,只需在 chrony.conf 中添加 allow 指令即可授权指定网段的客户端,配置简单,同步精度高。

  • 内网存在较老的操作系统(如 CentOS6、Ubuntu 14.04 等):这些系统默认使用 NTP,为了兼容性,建议使用 NTP 搭建服务端,并通过 restrict 指令控制访问权限。

二、NTP服务配置

该方案适用于需兼容老旧设备或在内网自建 NTP 服务器的场景。

前提准备

  • CentOS7 服务器,具备 root 权限;

  • 防火墙允许 NTP 服务端口(123/UDP),或临时关闭防火墙进行测试;

  • 若需同步外网,服务器需可访问公网 NTP 源;内网环境则需配置本地 NTP 服务器。

步骤1:安装NTP服务

# 安装ntp和ntpdate(ntpdate用于临时同步时间)yum install -y ntp ntpdate

步骤2:配置上游NTP服务器

# 在修改前先备份原配置文件,如果后续配置出错,可以用备份文件快速恢复。cp /etc/ntp.conf /etc/ntp.conf.bak# 编辑配置文件vi /etc/ntp.conf

找到server开头的行,注释掉原有默认源,添加国内公网 NTP 源。

# 注释原有默认配置,是 CentOS 默认的 NTP 池地址,服务器在国外,国内访问可能存在延迟高、不稳定等问题。# server 0.centos.pool.ntp.org iburst# 新增国内NTP源server ntp.aliyun.com iburstserver cn.ntp.org.cn iburstserver ntp.tencent.com iburst# 配置解读server                #指定一个上游 NTP 时间服务器。ntp.aliyun.com        #阿里云提供的公共NTP 服务。cn.ntp.org.cn         #国内 NTP 池项目,域名指向国内多台 NTP 服务器。ntp.tencent.com       #腾讯云提供的公共 NTP 服务。iburst                #当NTP 服务启动或与服务器初次同步时,它会快速发送多个时间请求包,从而缩短首次同步的时间,让系统时间快速对齐。

保存退出(Esc + :wq)。

步骤3:启动服务并设置开机自启

# 启动ntpd服务systemctl start ntpd# 设置开机自启systemctl enable ntpd# 查看服务状态,显示active (running)即为成功systemctl status ntpd

步骤4:同步与验证

# 临时强制同步时间(首次配置建议执行)ntpdate ntp.aliyun.com# 查看当前系统时间date# 查看NTP同步状态ntpq -p

出现服务器列表、延迟等信息,说明NTP同步正常。

三、Chrony服务配置

Chrony是CentOS7默认的时间同步服务,轻量、快速、容错性强,虚拟机、云服务器、生产集群推荐,配置比NTP更简单,默认已安装,直接改配置就能用。

步骤1:检查是否安装

# 检查chrony安装状态rpm -qa | grep chrony# 未安装则执行安装yum install -y chrony

步骤2:配置Chrony上游NTP源

# 备份原有配置cp /etc/chrony.conf /etc/chrony.conf.bak# 编辑配置文件vi /etc/chrony.conf

注释原有 pool 配置,添加国内 NTP 源:

# 注释默认配置# pool 2.centos.pool.ntp.org iburst# 新增国内NTP源pool ntp.aliyun.com iburstpool cn.ntp.org.cn iburstpool ntp.tencent.com iburst

补充:若需将本机作为内网时间服务器,为局域网内的其他服务器或设备提供统一的时间基准。

可添加以下配置:

# 允许192.168.0.0/16网段的机器同步,按需修改网段allow 192.168.0.0/16# 本地时钟作为后备(避免断网后无时间源)local stratum 10

步骤3:启动Chrony并设置开机自启

# 重启chronyd服务(修改配置后必须重启)systemctl restart chronyd# 设置开机自启systemctl enable chronyd# 查看服务状态systemctl status chronyd

步骤4:验证Chrony同步状态

# 查看时间同步是否开启,显示System clock synchronized: yes 即为成功timedatectl# 查看Chrony详细同步状态chronyc tracking# 查看上游NTP服务器列表chronyc sources -v

成功标志:timedatectl结果里,NTP synchronized: yes、System clock synchronized: yes,代表时间同步正常运行!

四、时区配置

时间同步正常但时区错误仍会导致显示时间不正确。中国标准时间使用上海时区(东八区):

# 查看当前时区timedatectl# 设置为上海时区(中国标准时间)timedatectl set-timezone Asia/Shanghai# 再次查看,确认时区正确date

五、常见问题与处理

  • 坑1:NTP和Chrony同时运行:两个服务冲突,会导致时间同步异常,只能开一个!用Chrony就关掉ntpd,用NTP就关掉chronyd;

  • 坑2:防火墙未放行端口:NTP用123/UDP端口,Chrony用123/323/UDP端口,内网服务器记得放行端口或关闭防火墙;坑3:修改配置后不重启服务:无论NTP还是Chrony,改完配置必须重启服务,否则配置不生效;
  • 坑3:修改配置后不重启服务:无论NTP还是Chrony,改完配置必须重启服务,否则配置不生效;

  • 坑4:内网不同步:客户端配置的服务器IP错误,或服务器未允许客户端同步,检查allow配置和网络连通性;

  • 坑5:系统时间偏差过大:Chrony 可自动校准;NTP 需先使用 ntpdate 手动同步后再启动服务。

六、常用命令参考

通用时间命令

  • 查看系统时间:date

  • 查看时区和同步状态:timedatectl

  • 修改时区:timedatectl set-timezone Asia/Shanghai

NTP常用命令

  • 临时同步:ntpdate ntp.aliyun.com

  • 查看同步状态:ntpq -p

  • 服务管理:start/stop/enable/disable ntpd

Chrony常用命令

  • 查看同步详情:chronyc tracking

  • 查看上游源:chronyc sources -v

  • 服务管理:restart/start/stop/enable/disable chronyd

结语

时间同步是运维基础中的关键环节,直接关系到系统稳定性和业务正常运行。在 CentOS7 环境下,生产场景优先使用 Chrony,配置简便且同步效率高;老旧或特殊兼容场景可选择 NTP。本文提供的双方案均经过实操验证,可根据实际环境选用。

配置完成后,请使用 timedatectl 确认同步状态,确保系统时间准确无误。

长按下图(👇👇)二维码,一键关注“武汉木亘信息技术有限公司”

武汉木亘信息技术有限公司

诚信  共赢  创新  发展

最新文章

随机文章