当前位置:首页 > 云服务器 > 正文

linux两台服务器时间同步

通过NTP服务配置一台服务器为时间源,另一台安装NTP客户端并指向该源,重启服务以同步时间

Linux两台服务器时间同步方案

时间同步原理

Linux系统时间同步基于NTP(Network Time Protocol)Chrony协议,通过客户端与时间源(如公共NTP服务器或内网主服务器)通信,校正本地时间,同步过程包含:

  1. 客户端发送时间请求
  2. 时间源返回标准时间
  3. 客户端计算时间偏移并修正系统时间

同步方式对比

方案 适用场景 优点 缺点
NTP(ntpd) 传统网络环境 广泛兼容,稳定性好 收敛速度较慢
Chrony 高延迟网络/虚拟化环境 快速同步,容忍网络波动 需单独配置
rsync+crontab 简易定时同步 配置简单 精度低,依赖网络连通性

NTP同步实现步骤

安装NTP服务

# 服务器1(主时间源) yum install ntp -y # CentOS/RHEL apt install ntp -y # Ubuntu/Debian # 服务器2(客户端) 同上安装

配置主时间源(服务器1)

编辑/etc/ntp.conf,添加以下内容:

linux两台服务器时间同步 第1张

配置客户端(服务器2)

编辑/etc/ntp.conf,指向主时间源IP:

# 替换为主服务器IP server 192.168.0.1 iburst

启动并验证

linux两台服务器时间同步 第2张

Chrony同步方案(替代方案)

安装Chrony

yum install chrony -y # CentOS/RHEL apt install chrony -y # Ubuntu/Debian

配置客户端(两台服务器均操作)

编辑/etc/chrony.conf,添加:

# 指定时间源IP server 192.168.0.1 iburst # 允许同步调整硬件时钟 driftfile /var/lib/chrony/drift makestep 10 3

启动服务

linux两台服务器时间同步 第3张

systemctl restart chronyd systemctl enable chronyd

验证与排错

命令 作用
date 查看当前系统时间
ntpq -p 查看NTP同步状态
chronyc tracking 查看Chrony同步详情
systemctl status ntpd 检查服务运行状态

常见问题

  • 时间偏差过大:先执行timedatectl set-ntp false禁用自动同步,手动ntpdate修正后再启用服务
  • 防火墙拦截:开放UDP 123端口(firewall-cmd --add-port=123/udp)
  • 时区不一致:通过timedatectl set-timezone Asia/Shanghai统一时区


相关问题与解答

Q1:如何检查Linux服务器是否已开启NTP同步?

A

执行命令ntpq -p,若输出中对应服务器行首出现符号,表示已成功同步。

remote refid st twhen poll reach delay offset jitter ============================================================================== LOCAL(0) .LOCL. 10 u 10 64 1 0.000 0.000 0.000

若未同步,可检查服务状态(systemctl status ntpd)和网络连通性(telnet 目标IP 123)。


Q2:两台服务器不在同一内网,如何实现时间同步?

A

  1. 公网NTP服务器方案:两台服务器均配置公共NTP源(如pool.ntp.org),修改/etc/ntp.conf为: server pool.ntp.org iburst
  2. 中继服务器方案:部署一台公网可访问的中继服务器作为时间源,其他服务器指向该中继,需确保中继服务器有稳定公网连接

0