自从EMC被DELL收购变成 DELL EMC以后,产品设计越来越走向封闭,任何稍微有点涉及到内部架构设计的文档都当作宝贝一样不让用户或者合作伙伴阅读,同时还通过各种root权限的动态密码控制,底层文件系统加密等方式,就怕客户了解其底架构设计原理。留给客户或者合作伙伴的就是一些图形化操作界面,任何异常都无法处理,都要求购买其高昂的维保服务。
近期在学习研究DELL EMC的powerstore产品,本文展示从其命令输出来反向逆向其内部网络架构设计。了解了其底层的网络设计,对于故障诊断和分析会有非常大的帮助。
我们的入手点是 ip address show的输出:

本文将通过 PowerStore 3000T 的网络输出(ip address show 和 svc_diag list --network),深入剖析其内部网络架构。
欢迎关注,点赞,转发,进一步沟通可以添加vx: StorageExpert
一、PowerStore 3000T 网络输出的初步解读
PowerStore 3000T 是一款双节点(Node A 和 Node B)存储系统,其网络输出为我们提供了内部网络的详细视图。以下是 Node A 和 Node B 的关键输出片段:
1.1 Node A 的 ip address show 输出
- 管理网络:
- eno1:,无 IPv4,衍生接口 disc0@eno1(169.254.10.134/16)和 mgmt0@eno1(仅 IPv6)状态 UP。
- eno2:,IP 为 128.221.1.250/24。
- 存储网络:
- bond0(ens7f0 到 ens7f3):状态 DOWN,无 IP。
- 节点间通信:
- ib0:128.221.255.9/29,状态 UP。
- ib1:128.221.255.17/29,状态 UP。
- ib-int:128.221.255.113/28,状态 UP。
- 容器网络:
- docker0:128.221.255.49/28,状态 DOWN。
1.2 Node B 的 ip address show 输出
- 管理网络:
- eno1:,仅 IPv6,衍生接口 disc0@eno1(169.254.9.124/16)状态 UP。
- eno2:,IP 为 128.221.1.251/24
- 存储网络:
- bond0(ens7f0 到 ens7f3):状态 DOWN。
- 节点间通信:
- ib0:128.221.255.10/29,状态 UP。
- ib1:128.221.255.18/29,状态 UP。
- ib-int:128.221.255.116/28,状态 UP。
1.3 svc_diag list --network 输出
- ONBOARD 0(对应 eno1):
- Node A:LINK_STATUS_DOWN。
- Node B:LINK_STATUS_UP。
- OCP_MEZZ 0 和 OCP_MEZZ 1(对应 ens7f0 到 ens7f3):两个节点均 LINK_STATUS_DOWN。
1.4 BMC IP 信息
- Node A 的 BMC IP:128.221.1.252,通过 eno2。
- Node B 的 BMC IP:128.221.1.253,通过 eno2。
接下来,我们将分步骤解析这些数据,揭示其网络设计。
二、从输出到设计:分层解析 PowerStore 内部网络
PowerStore 3000T 的网络设计可以分为管理网络、存储网络、节点间通信、容器网络和 BMC 网络五个层次。下面逐一分析。
2.1 管理网络:双网口的高可用设计
管理网络是管理员访问 PowerStore Manager 的核心通道。输出显示:
- 接口:
- eno1 和 eno2 是主板内置网口(命名规则:en 表示以太网,o 表示 onboard,1 和 2 是固件分配的顺序)。
- eno1 上有 disc0@eno1(设备发现)和 mgmt0@eno1(备用管理)。
- eno2 直接用于管理访问。
- 状态分析:
- Node A 的eno1和 eno2(128.221.1.250/24)正常运行
- Node B 的 eno1 和 eno2(128.221.1.251/24)均 UP
- disc0@eno1 使用 APIPA 地址(169.254.x.x/16),用于设备发现。这说明在初始化配置的时候,Powerstrore应该提供了一个自动发现存储的软件工具。其实这个就是PowerStore的Discovery Utility 工具软件。
- 设计解读:
- PowerStore 采用双网口设计(eno1 和 eno2),旨在提供管理网络冗余。
- eno1 主要用于发现和管理(通过 disc0 和 mgmt0),eno2 用于主要管理访问。
- 这也可以推测是 en01就是管理口,就是提供给客户使用的网口。en02 就是我们所谓的service端口,提供给工程师使用的,这个口其实就是BMC端口。
2.2 存储网络:链路聚合的高带宽潜力
存储网络负责前端数据访问(如 iSCSI、NAS),这个是业务端口。输出显示:
- 接口:
- bond0 是链路聚合接口,由 ens7f0 到 ens7f3 组成(ens 表示 PCIe 插槽,7f0 表示插槽 7 的功能 0)。
- 状态分析:
- bond0 和其从接口在两个节点上均 DOWN(NO-CARRIER)。
- svc_diag 报告 OCP_MEZZ 0 和 OCP_MEZZ 1(对应 ens7f0 到 ens7f3)为 LINK_STATUS_DOWN。
- 设计解读:
- 图中显示 bond0 连接到 ToR Switch,支持多个 VLAN(如 189、190),用于隔离存储流量。
- 链路聚合设计(LACP 或 active/passive 模式)旨在提供高带宽和冗余。
- 当前未启用,可能是物理连接或交换机配置问题。
2.3 节点间通信:InfiniBand 的高性能核心
节点间通信是 PowerStore 高性能的基石。输出显示:
- 接口:
- ib0 和 ib1 是 InfiniBand 接口,ib-int 是聚合接口。
- 状态分析:
- Node A 的 ib0(128.221.255.9/29)、ib1(128.221.255.17/29)、ib-int(128.221.255.113/28)均 UP。
- Node B 的 ib0(128.221.255.10/29)、ib1(128.221.255.18/29)、ib-int(128.221.255.116/28)均 UP。
- MTU 为 5000,适合大块数据传输。
- 设计解读:
- InfiniBand 提供低延迟、高带宽的通信,适合节点间数据同步和集群管理。
- ib-int 聚合 ib0 和 ib1,增强冗余。
- 图中显示 ib0-vdev 和 ib1-vdev 连接到 ib-int,逻辑分离设计优化了性能。
2.4 容器网络:微服务的隐藏支持
输出显示:
- 接口:
- 状态分析:
- IP 为 128.221.255.49/28,状态 DOWN。
- 设计解读:
- PowerStore 使用容器化服务(内部微服务)。
- docker0 的 IP 与 InfiniBand 网络在同一网段(128.221.255.0)。
2.5 BMC 网络:硬件监控的独立通道
- 接口:
- BMC IP(Node A:128.221.1.252,Node B:128.221.1.253)通过 eno2 通信。
- 设计解读:
- 这个是工程师连接存储进行故障诊断的端口,当然powerstore中又重新拿回来了串口的设计(在unity中被去掉了,非常的恶心)
- 这里多说两句,由于在Unity中删除了这个物理串口,所以对于一些底层硬件的故障这段非常麻烦,基本上要依靠ipmitool的输出,但是由于DELL EMC的unity的ipmitool的password是依赖于机器序列号,但是如果新更换的主板无法拿到chassis的机器序列号,就无法建立ipmi连接,也就无法看到到底发生了什么,无法进行进一步的故障诊断分析。
三、分析方法
通过 PowerStore 3000T 的网络输出,下面是我们的分析方法:
3.1 步骤一:识别接口类型与功能
- 方法:根据接口名称和 IP 地址,识别其功能。
- 示例:
- eno1 和 eno2(en 前缀,主板内置):管理网络。
- ens7f0(ens 前缀,PCIe 插槽):存储网络。
- ib0 和 ib1(ib 前缀):InfiniBand 节点间通信。
3.2 步骤二:检查接口状态与物理连接
- 方法:结合 ip address show 和 svc_diag 输出,检查状态。
- 示例:
- eno1 在 Node A 为 NO-CARRIER,svc_diag 报告 LINK_STATUS_DOWN,表明物理链路未连接。
- bond0 和从接口 DOWN,存储网络未启用。
基于这些对于内部网络架构的了解,如果出现关于网络方面的故障,您就可以知道从哪里入手去排查问题。
四、总结
通过 PowerStore 3000T 的网络输出,我们不仅揭示了其内部网络设计的高可用性和高性能特性。管理网络的双网口设计、存储网络的链路聚合、InfiniBand 的节点间通信,共同构成了 PowerStore 的网络基石。借助输出的深度分析,我们能够快速定位故障问题。