1. 欧拉集群

1.1 集群拓扑

  • Euler01 - 主控节点,Euler02和Euler03 - 从节点
    在这里插入图片描述

1.2 查看主机名

  1. 查看Euler01节点主机名,执行命令:hostname
    在这里插入图片描述
  2. 查看Euler02节点主机名,执行命令:hostname
    在这里插入图片描述
  3. 查看Euler03节点主机名,执行命令:hostname
    在这里插入图片描述

1.3 查看IP地址

  1. 查看Euler01节点IP地址,执行命令:ip addr
    在这里插入图片描述

  2. 查看Euler02节点IP地址,执行命令:ip addr
    在这里插入图片描述

  3. 查看Euler03节点IP地址,执行命令:ip addr
    在这里插入图片描述

1.4 查看映射文件

  1. 查看Euler01节点映射文件,执行命令:cat /etc/hosts
    在这里插入图片描述

  2. 查看Euler02节点映射文件,执行命令:cat /etc/hosts
    在这里插入图片描述

  3. 查看Euler03节点映射文件,执行命令:cat /etc/hosts
    在这里插入图片描述

1.5 查看防火墙状态

  1. 查看Euler01节点防火墙状态,执行命令:systemctl status firewalld
    在这里插入图片描述

  2. 查看Euler02节点防火墙状态,执行命令:systemctl status firewalld
    在这里插入图片描述

  3. 查看Euler03节点防火墙状态,执行命令:systemctl status firewalld
    在这里插入图片描述

1.6 检测集群互通性

  1. 测试主节点Euler01到三个节点的连通性
    • 执行命令:ping euler01
      在这里插入图片描述
    • 执行命令:ping euler02
      在这里插入图片描述
    • 执行命令:ping euler03
      在这里插入图片描述
  2. 测试从节点Euler02到三个节点的连通性
    • 执行命令:ping euler01
      在这里插入图片描述

    • 执行命令:ping euler02
      在这里插入图片描述

    • 执行命令:ping euler03
      在这里插入图片描述

  3. 测试从节点Euler03到三个节点的连通性
    • 执行命令:ping euler01
      在这里插入图片描述

    • 执行命令:ping euler02
      在这里插入图片描述

    • 执行命令:ping euler03
      在这里插入图片描述

2. 任务描述

  • 在集群环境中,为确保系统正常通信,必须保证各节点之间时间的一致性。本任务要求实现主节点与从节点之间的时间同步。其中,主节点作为时间同步的服务器端,负责提供准确的时间服务;从节点作为客户端,定期向控制节点请求时间校准,以实现时间的统一与同步。通过该任务,掌握跨节点时间同步的基本原理与配置方法,提升系统在分布式环境下的稳定性和可靠性。

3. 任务实施

3.1 设置局域网时间同步

3.1.1 配置主节点Euler01为NTP时间服务器

  1. 查看Chrony服务状态

    • 执行命令:systemctl status chronyd
      在这里插入图片描述
  2. 编辑Chrony配置文件

    • 执行命令:vim /etc/chrony.conf
      在这里插入图片描述

      # 使用公共NTP时间服务器池
      pool pool.ntp.org iburst
      # 使用国内NTP服务器
      server ntp1.aliyun.com iburst
      server ntp2.aliyun.com iburst
      server ntp3.aliyun.com iburst
      # 允许同网段的主机使用本机的NTP服务
      allow 192.168.1.0/24
      # 外网NTP服务器不可用时,可采用本地时间作为同步标准
      local stratum 1
      
    • 配置说明:该配置使用公共及阿里云NTP服务器进行时间同步,启用iburst加速初始同步;允许192.168.1.0/24网段内设备通过本机同步时间;当外网服务器不可用时,启用本地时间作为备用源,且设置层级为1,表示可作为主时间服务器对外提供服务。

  3. 重启时间同步服务,使配置生效

    • 执行命令:systemctl restart chronyd
      在这里插入图片描述

3.1.2 配置从节点Euler02与主节点Euler01时间同步

  1. 编辑Chrony配置文件

    • 执行命令:vim /etc/chrony.conf
      在这里插入图片描述
  2. 重启时间同步服务,使配置生效

    • 执行命令:systemctl restart chronyd
      在这里插入图片描述

3.1.3 配置从节点Euler03与主节点Euler01时间同步

  1. 编辑Chrony配置文件

    • 执行命令:vim /etc/chrony.conf
      在这里插入图片描述
  2. 重启时间同步服务,使配置生效

    • 执行命令:systemctl restart chronyd
      在这里插入图片描述

3.2 检查时间同步服务状态

  • 命令说明:chronyc是 Chrony 的命令行控制工具(Chrony Client 的缩写)。它用于与后台运行的chronyd服务通信,执行查询或配置操作。

3.2.1 检查从节点Euler02与主节点Euler01的同步情况

  • 在从节点Euler02上执行命令:chronyc sources
    在这里插入图片描述
字段 含义
MS 状态标志(Mode/Status):
^:表示该源是“当前主时间源”(Selected),正在用于同步。
*:表示该源是“最佳参考源”(Current peer),即系统当前选择用来同步时间的服务器。
Name/IP address 时间源的名称或IP地址,这里是 euler01,表示本机正在从名为 euler01 的主机同步时间。
Stratum 层级,表示时间源的精度等级:
3 表示该服务器是从 Stratum 2 或更低层级的服务器同步而来,属于二级或更远的时钟源。
Poll 轮询间隔(单位为秒的指数):
6 表示轮询周期为 $ 2^6 = 64 $ 秒,即每 64 秒向该源发送一次请求。
Reach 可达性(八位二进制值,代表最近8次尝试是否成功):
377 是十六进制表示,实际为十进制 239,换算成二进制为 11101111,表示最近8次全部成功(无丢包)。
LastRx 最后一次接收到响应的时间(单位:分钟):
39 表示最后一次收到数据是在 39 分钟前(注意:这个值是相对的,可能因刷新而变化)。
Last sample 上一次同步的时间偏差和精度:
+389us:上次同步时,本地时间比 euler01 慢了 389 微秒(即需要调快)。
[ +564us ]:本次采样中,时间偏差为 +564 微秒(估算值)。
+/- 24ms:时间误差范围(抖动),表示同步精度在 ±24 毫秒以内。
  • 检测结果:这表明Euler02成功与Euler01实现了高精度时间同步,网络连接正常,适合用作集群中的时间同步节点。如果 Euler01是一个配置为local stratum 1的本地时间服务器,则说明整个内网实现了自洽的时间同步体系。

3.2.2 检查从节点Euler03与主节点Euler01的同步情况

  • 在从节点Euler03上执行命令:chronyc sources
    在这里插入图片描述
  • 检测结果:Euler03成功与Euler01实现时间同步,当前主源为 Euler01(Stratum 3),通信稳定(Reach 377),时间偏差仅 +144μs,精度达 ±23ms,同步状态良好,适合用于集群内时间一致性保障。

4. Chrony时间同步服务实战总结

  • 本次实践基于 openEuler 集群环境,配置主节点 Euler01 作为 NTP 时间服务器,通过 Chrony 服务向上游阿里云和公共 NTP 源同步时间,并为 Euler02、Euler03 从节点提供时间服务。从节点配置指向主节点进行时间校准,实现内网时间统一。通过 chronyc sources 验证,各节点同步状态正常,偏差在微秒级,精度高,通信稳定。该方案有效保障了集群系统时间的一致性,为日志审计、任务调度等分布式协同提供了可靠基础,具备良好的实用性与可推广性。
Logo

鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。

更多推荐