今天分享一下时钟同步问题。

在日常运维工作中,我们经常会遇到 Linux 服务器时间不同步的问题。无论是系统日志乱序、定时任务错过执行时间,还是集群通信异常,时间问题都是隐藏的大坑。

本篇文章将手把手带你搞定 Linux 时间同步问题,分别覆盖 外网环境 和 内网(企业私有环境) 两大场景,附带推荐工具和配置示例,建议收藏!

场景一:外网环境

如果服务器可以访问公网 NTP 服务时,时间同步相对简单。

1. ntpdate:手动同步

适合临时性修复场景。

安装并执行:复制

# Redhat/CentOS
yum install ntpdate

# Ubuntu/Debian
sudo apt install ntpdate

# 手动同步阿里云时间服务器
sudo ntpdate ntp.aliyun.com
  • 优点:使用简单
  • 缺点:只同步一次,不会自动保持同步

2. chronyd:持续同步

从 7版本起推荐使用 chrony 取代 ntpd,适用于长期运行的生产服务器。

配置步骤:复制

# 安装并启动chrony服务
yum install chrony
systemctl enable --now chronyd

# 编辑配置文件
vim /etc/chrony.conf
# 替换为阿里云 NTP
server ntp.aliyun.com iburst

# 注意:有些版本配置中server改为了pool

# 重启服务
systemctl restart chronyd

# 查看状态
chronyc tracking
chronyc sources

优点:持续后台同步、精度高、资源占用低

【温馨提示】rockylinux,openEuler,麒麟V10等操作系统都是跟Redhat系列配置差不多的

3.  systemd-timesyncd

Ubuntu 18.04+ 默认启用的时间同步服务。

开启自动同步并指定 NTP:复制

sudo timedatectl set-ntp true

# 可选:配置服务器地址
sudo vim /etc/systemd/timesyncd.conf
[Time]
NTP=ntp.aliyun.com

sudo systemctl restart systemd-timesyncd

场景二:无法访问公网(内网企业环境)

在企业私有云、隔离网络或高安全性场景下,服务器常无法连接公网,这时就必须依赖内网部署的 NTP 服务器。

1. 替换为内网NTP地址

无论你使用哪种同步方式,都需要将公网地址替换为公司提供的内网地址,如果内部NTP是域名则设置为域名:

  • ntpdate:

复制

# 域名方式同步
ntpdate ntp.internal.company.com

# IP地址方式
ntpdate 10.0.0.2
  • chrony.conf :

复制

server ntp.internal.company.com iburst
# 或者
server 10.0.0.2 iburst
  • systemd-timesyncd.conf :

复制

[Time]
NTP=ntp.internal.company.com

2. 无法同步问题排查

  • 确保 UDP 123 端口未被防火墙或安全组阻断
  • DNS 解析正常(或直接使用 IP)

可使用以下命令测试 NTP 是否正常返回时间:复制

ntpdate -q ntp.internal.company.com
# 或者直接ping IP地址

3. 设置正确时区

无论在哪种场景,时区设置都是确保系统时间准确的关键:复制

# 设置为中国标准时间
timedatectl set-timezone Asia/Shanghai


0 条评论

发表回复

Avatar placeholder

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