1.1 欧拉集群安装Chrony时间同步服务
本次实践基于 openEuler 集群环境,配置主节点 Euler01 作为 NTP 时间服务器,通过 Chrony 服务向上游阿里云和公共 NTP 源同步时间,并为 Euler02、Euler03 从节点提供时间服务。从节点配置指向主节点进行时间校准,实现内网时间统一。通过 `chronyc sources` 验证,各节点同步状态正常,偏差在微秒级,精度高,通信稳定。该方案有效保障了集群系统时间
1. 欧拉集群
1.1 集群拓扑
- Euler01 - 主控节点,Euler02和Euler03 - 从节点

1.2 查看主机名
- 查看Euler01节点主机名,执行命令:
hostname
- 查看Euler02节点主机名,执行命令:
hostname
- 查看Euler03节点主机名,执行命令:
hostname
1.3 查看IP地址
-
查看Euler01节点IP地址,执行命令:
ip addr
-
查看Euler02节点IP地址,执行命令:
ip addr
-
查看Euler03节点IP地址,执行命令:
ip addr
1.4 查看映射文件
-
查看Euler01节点映射文件,执行命令:
cat /etc/hosts
-
查看Euler02节点映射文件,执行命令:
cat /etc/hosts
-
查看Euler03节点映射文件,执行命令:
cat /etc/hosts
1.5 查看防火墙状态
-
查看Euler01节点防火墙状态,执行命令:
systemctl status firewalld
-
查看Euler02节点防火墙状态,执行命令:
systemctl status firewalld
-
查看Euler03节点防火墙状态,执行命令:
systemctl status firewalld
1.6 检测集群互通性
- 测试主节点Euler01到三个节点的连通性
- 执行命令:
ping euler01
- 执行命令:
ping euler02
- 执行命令:
ping euler03
- 执行命令:
- 测试从节点Euler02到三个节点的连通性
-
执行命令:
ping euler01
-
执行命令:
ping euler02
-
执行命令:
ping euler03
-
- 测试从节点Euler03到三个节点的连通性
-
执行命令:
ping euler01
-
执行命令:
ping euler02
-
执行命令:
ping euler03
-
2. 任务描述
- 在集群环境中,为确保系统正常通信,必须保证各节点之间时间的一致性。本任务要求实现主节点与从节点之间的时间同步。其中,主节点作为时间同步的服务器端,负责提供准确的时间服务;从节点作为客户端,定期向控制节点请求时间校准,以实现时间的统一与同步。通过该任务,掌握跨节点时间同步的基本原理与配置方法,提升系统在分布式环境下的稳定性和可靠性。
3. 任务实施
3.1 设置局域网时间同步
3.1.1 配置主节点Euler01为NTP时间服务器
-
查看Chrony服务状态
- 执行命令:
systemctl status chronyd
- 执行命令:
-
编辑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,表示可作为主时间服务器对外提供服务。
-
-
重启时间同步服务,使配置生效
- 执行命令:
systemctl restart chronyd
- 执行命令:
3.1.2 配置从节点Euler02与主节点Euler01时间同步
-
编辑Chrony配置文件
- 执行命令:
vim /etc/chrony.conf
- 执行命令:
-
重启时间同步服务,使配置生效
- 执行命令:
systemctl restart chronyd
- 执行命令:
3.1.3 配置从节点Euler03与主节点Euler01时间同步
-
编辑Chrony配置文件
- 执行命令:
vim /etc/chrony.conf
- 执行命令:
-
重启时间同步服务,使配置生效
- 执行命令:
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验证,各节点同步状态正常,偏差在微秒级,精度高,通信稳定。该方案有效保障了集群系统时间的一致性,为日志审计、任务调度等分布式协同提供了可靠基础,具备良好的实用性与可推广性。
鲲鹏昇腾开发者社区是面向全社会开放的“联接全球计算开发者,聚合华为+生态”的社区,内容涵盖鲲鹏、昇腾资源,帮助开发者快速获取所需的知识、经验、软件、工具、算力,支撑开发者易学、好用、成功,成为核心开发者。
更多推荐



所有评论(0)