凌峰创科服务平台

两台linux服务器时间同步

在Linux服务器管理中,时间同步是确保系统日志、任务调度、安全认证等核心功能正常运行的基础,当存在两台Linux服务器需要时间同步时,通常采用NTP(Network Time Protocol)协议实现精准的时间校准,以下将详细说明两台Linux服务器时间同步的配置步骤、常见问题及解决方案。

两台linux服务器时间同步-图1
(图片来源网络,侵删)

环境准备与角色划分

在开始配置前,需明确两台服务器的角色:一台作为时间服务器(也称NTP服务器),另一台作为时间客户端(同步时间服务器的时钟),假设服务器A(IP:192.168.1.100)作为时间服务器,服务器B(IP:192.168.1.101)作为客户端,两台服务器需确保网络互通,可通过ping命令测试连通性。

配置时间服务器(服务器A)

  1. 安装NTP服务
    使用包管理器安装NTP软件包,以CentOS系统为例:

    yum install ntp -y

    安装完成后,启动NTP服务并设置开机自启:

    systemctl start ntpd
    systemctl enable ntpd
  2. 配置NTP服务器
    编辑NTP配置文件/etc/ntp.conf,添加以下内容:

    两台linux服务器时间同步-图2
    (图片来源网络,侵删)
    restrict default nomodify notrap nopeer noquery
    restrict 127.0.0.1
    restrict 192.168.1.0 mask 255.255.255.0 nomodify  # 允许内网客户端同步
    server 127.127.1.0     # 本机时钟作为后备源
    fudge 127.127.1.0 stratum 10

    restrict指令用于控制客户端访问权限,server指令指定时间源,若需使用外部时间源(如pool.ntp.org),可添加server pool.ntp.org iburst

  3. 重启NTP服务
    保存配置文件后,重启服务使配置生效:

    systemctl restart ntpd

    检查NTP服务状态,确保端口123已监听:

    netstat -ulnp | grep 123

配置时间客户端(服务器B)

  1. 安装并配置NTP客户端
    客户端同样需安装NTP服务,但配置方式不同,编辑/etc/ntp.conf,删除默认时间源,添加指向服务器的配置:

    两台linux服务器时间同步-图3
    (图片来源网络,侵删)
    restrict default nomodify notrap nopeer noquery
    restrict 127.0.0.1
    server 192.168.1.100 iburst  # 指向NTP服务器
    driftfile /var/lib/ntp/drift

    iburst参数可加速与服务器的时间同步。

  2. 启动客户端服务
    启动NTP服务并设置开机自启:

    systemctl start ntpd
    systemctl enable ntpd

验证时间同步状态

  1. 客户端同步状态检查
    在服务器B上执行以下命令,查看与服务器A的同步情况:

    ntpq -p

    若输出结果中remote列显示168.1.100,且state列为sys peer,表示同步成功。delayoffsetjitter三项数值越小,同步精度越高。

  2. 时间差对比
    分别在两台服务器上执行date命令,对比时间差异,理想情况下,时间差应小于1秒,若差异较大,可检查防火墙是否放行UDP 123端口,或查看NTP服务日志排查错误。

常见问题与优化

  • 防火墙拦截:确保两台服务器的防火墙允许UDP 123端口通信,可通过firewall-cmd --add-port=123/udp --permanent放行。
  • 时间同步延迟:若客户端同步较慢,可调整/etc/ntp.conf中的maxpoll参数(默认为10,可改为6或8以减少轮询间隔)。
  • 硬件时钟问题:若服务器重启后时间仍不准确,可使用hwclock --systohc将系统时间同步到硬件时钟。

相关问答FAQs

Q1: 两台服务器时间同步后,仍存在几秒的差异,如何解决?
A: 可能原因包括网络延迟、NTP服务器负载过高或硬件时钟不稳定,建议:1)检查网络延迟,使用ping -c 100 192.168.1.100测试;2)在客户端配置中增加maxpoll 6参数,缩短同步间隔;3)在服务器端执行ntpq -p查看是否有其他客户端抢占时间源,必要时调整prefer参数指定优先服务器。

Q2: 是否可以使用chrony替代NTP实现时间同步?
A: 可以,chrony在高动态网络和间歇性连接场景下性能更优,客户端安装chrony后,配置文件/etc/chrony.conf中添加server 192.168.1.100 iburst,启动服务systemctl start chronyd即可,chrony的优势在于快速同步和更低的资源占用,适合虚拟化环境。

分享:
扫描分享到社交APP
上一篇
下一篇