4. 集群拓扑与网络设计

PowerScale 集群的网络设计可以拆成两张“网”来理解:一张是面向客户端的前端网络,负责 NFS、SMB、S3、HDFS 等协议的数据访问;另一张是节点之间的后端互联网络,负责 OneFS 分布式文件系统的内部通信,包括数据条带、元数据同步、锁管理、重建流量等。两张网职责不同,设计目标也不同:前端追求客户端可达性、带宽与访问路径优化,后端追求低时延、高吞吐、可预测的故障恢复能力。把这两张网混在一张物理网络上,虽然在小规模或测试环境中可行,但在生产集群中会带来故障域重叠、性能干扰和排障困难等问题。

前端客户端网络:访问入口与地址规划

前端网络的核心对象是客户端与节点上的外部接口。每个 PowerScale 节点通常配置多个前端端口,可绑定为聚合接口或独立接口,再通过 IP 地址池对外提供服务。OneFS 的 SmartConnect 机制允许一个逻辑访问地址(如 smartconnect.zone 或 DNS 名称)对应多个节点上的 IP 地址,客户端连接时由 SmartConnect 模块按策略分配到不同节点,实现负载均衡和故障切换。设计时需要先确定客户端数量、并发协议、单流带宽需求和访问模式,再决定前端端口数量、聚合方式与地址池规模。

一个常见的教学示例是:6 节点集群,每节点 2 个 25GbE 前端端口,绑定为 1 个 2×25GbE 聚合接口,集群共 6 个前端接口。若每个节点分配 2 个客户端访问 IP,则地址池共 12 个 IP,客户端通过统一 DNS 名称访问,SmartConnect 按轮询或连接数策略分配。此时单节点前端理论带宽为 50Gbps,聚合后实际可用带宽受交换机上行链路和客户端分布影响。若客户端集中在同一台交换机下,需检查该交换机上行是否成为瓶颈;若客户端跨多个交换机,则需保证地址池中的 IP 分布在不同的故障域中。

后端互联:InfiniBand 与以太网的选择

后端网络承载 OneFS 的内部数据流。传统 PowerScale 集群常使用 InfiniBand(如 QDR、FDR、EDR、HDR)作为后端互联,原因是其低时延、高带宽和 RDMA 特性适合节点间大量小消息与条带数据交换。较新的平台也支持 100GbE 或 25GbE 以太网作为后端,配合 RoCE 或标准 TCP/IP 实现节点互联。选择时需考虑:集群规模、重建窗口要求、机箱内背板互联与机箱间互联的差异、交换机端口密度和成本。

以 6 节点全闪存集群为例,若后端采用 2 台 InfiniBand 交换机做双平面互联,每节点 2 个 HDR100 端口分别接入两台交换机,则单节点后端带宽为 2×100Gbps,任一交换机故障时仍保留 100Gbps 互联能力。若改用 100GbE 以太网,同样采用双交换机双上联,但需注意以太网交换机的缓冲和 PFC/ECN 配置,避免 RDMA 流量下的丢包与拥塞。后端网络不直接暴露给客户端,因此不需要 SmartConnect 地址池,但需要保证所有节点之间二层或三层可达,且路径对称。

PowerScale 集群前后端网络拓扑示意(6 节点示例) 客户端层 NFS 客户端 SMB 客户端 S3 / HDFS SmartConnect DNS 统一访问名称 前端交换机 A 25/100GbE · VLAN 10 前端交换机 B 25/100GbE · VLAN 10 PowerScale 节点层(6 节点) Node 1 前端 2×25G 后端 2×HDR100 Node 2 前端 2×25G 后端 2×HDR100 Node 3 前端 2×25G 后端 2×HDR100 Node 4 前端 2×25G 后端 2×HDR100 Node 5 前端 2×25G 后端 2×HDR100 Node 6 前端 2×25G 后端 2×HDR100 后端交换机 A(IB/Ethernet) HDR100 / 100GbE · 平面 1 后端交换机 B(IB/Ethernet) HDR100 / 100GbE · 平面 2 前端数据路径 后端互联路径 前端交换机 后端交换机 PowerScale 节点

冗余与故障域规划

冗余设计的目标是让任意单点故障不导致客户端访问中断或数据不可用。前端侧,每个节点至少两个前端端口分别接入两台交换机,形成双上联;地址池中的 IP 应分布在多个节点上,避免单节点故障导致整个地址池不可达。后端侧,每个节点至少两个后端端口分别接入两台后端交换机,形成双平面;OneFS 的条带和镜像策略会利用节点间多条路径,单交换机或单链路故障时仍能维持数据重建和访问。

故障域规划需要回答几个问题:机箱内节点是否共享背板?机箱间是否共享交换机?供电和制冷是否独立?以 6 节点集群为例,若 3 个节点在一个机箱、另 3 个在另一个机箱,则机箱级故障会影响一半节点。此时应确保数据保护策略(如 +2d:1n 或 +3d:1n)能容忍该故障域损失,并保证前端地址池和后端路径不集中在同一机箱。交换机层面,两台前端交换机和两台后端交换机应分别接入不同供电回路,避免单路断电同时影响两台交换机。

交换机选型与布线实践

前端交换机选型关注端口速率、端口密度、缓冲深度和 VLAN/QoS 能力。若客户端以 25GbE 接入,交换机需提供足够的 25GbE 下行端口和 100GbE 上行端口,避免收敛比过高。后端交换机若采用 InfiniBand,需选择与节点 HCA 速率匹配的型号,并确认子网管理器(SM)配置;若采用以太网,需支持 RoCEv2、PFC 和 ECN,并合理设置 MTU(通常 9000 字节)。

布线实践方面,前端和后端线缆应物理分离,使用不同颜色或标签区分,避免误插。光纤跳线需确认接口类型(LC/MPO)、波长和距离等级。以下是一个可参考的端口与线缆规划示例:

网络类型 节点端口 交换机端口 线缆/模块 冗余方式
前端 2×25GbE SFP28 25GbE SFP28 LC 光纤或 DAC 双交换机双上联
后端(IB) 2×HDR100 QSFP56 HDR100 QSFP56 MPO 光纤 双交换机双平面
后端(以太) 2×100GbE QSFP28 100GbE QSFP28 LC 光纤或 DAC 双交换机双平面
布线完成后,建议用 isi network interfaces list 检查前端接口状态,用 isi status 查看节点健康,用 ibstat(InfiniBand)或 ethtool -S(以太网)确认后端链路速率和错误计数。若发现某端口频繁降速或 CRC 错误增长,应优先检查光模块、跳线极性和交换机端口配置。
不要将前端和后端流量共用同一对交换机而不做 VLAN 或物理隔离。后端重建流量可能瞬间占满链路,导致客户端访问时延抖动;同时,后端故障域与前端故障域重叠会放大单点故障影响。

最后,网络设计不是一次性任务。集群扩容、客户端数量变化、协议升级都可能改变流量模型。建议在初始设计时保留至少 30% 的端口和地址池余量,并在每次变更后重新评估故障域和收敛比,确保冗余路径仍然有效。