4. 集群网络架构设计

在基于 Intel Xeon 节点的企业服务器集群中,网络不是“一根线接交换机”那么简单。典型交付现场会同时存在四类流量:管理网承载集群编排、监控与配置下发;业务网承载用户请求与东西向服务通信;存储网承载 Ceph、NFS 或分布式块存储的数据复制与恢复;带外管理网则通过 BMC/IPMI 实现独立于操作系统的远程开关机、固件升级与故障定位。四张网如果混跑,轻则存储复制抢占业务带宽,重则带外管理被广播风暴淹没,故障时无法远程介入。因此,网络架构设计的第一步不是配 IP,而是先确定“分几张网、每张网走什么流量、如何隔离”。

四网分离的架构原则

对于 Intel Xeon 双路节点,通常每台服务器配置 2 个板载 10/25GbE 端口加 1 个专用 1GbE 带外口。推荐做法是:业务网与存储网物理分离,管理网可复用业务网 VLAN 但逻辑隔离,带外管理网必须独立物理接口。若节点配置 4 口 25GbE 网卡,则更理想的是两两绑定:业务网 bond0 走交换机 A/B,存储网 bond1 走独立的存储交换机,管理网用板载 1GbE 或 VLAN 子接口,带外管理使用专用 RJ45。这样做的核心目的是让存储复制流量不经过业务网关,避免 TCP 重传影响在线交易。

Intel Xeon 集群四网分离架构与 VLAN/IP 规划 Xeon 计算节点 Node-01 ~ Node-08 业务网口 bond0 · 25GbE ×2 存储网口 bond1 · 25GbE ×2 管理网口 bond2 · 1GbE ×2 带外管理口 BMC · 1GbE 专用 CPU: Xeon Gold 6338 内存: 256GB DDR4 OS: RHEL 8.6 / K8s 交换机 / 网关层 业务交换机 VLAN 100 · 10.10.100.0/24 存储交换机 VLAN 200 · 10.10.200.0/24 管理交换机 VLAN 300 · 10.10.300.0/24 带外管理交换机 VLAN 400 · 10.10.400.0/24 核心交换: 堆叠/MLAG 上行: 40/100GbE STP: 关闭 / 路由口 存储与外部网络 Ceph 存储集群 OSD ×12 · 10.10.200.11-22 负载均衡 / VIP 10.10.100.200 监控 / 跳板机 10.10.300.10 BMC 管理终端 10.10.400.10 出口: 防火墙/NAT 业务公网映射 管理网 VPN 接入 业务网 VLAN 100 存储网 VLAN 200 管理网 VLAN 300 带外管理 VLAN 400 四网物理/逻辑分离

VLAN 与 IP 地址规划方法

VLAN 规划应遵循“一网一 VLAN、一 VLAN 一子网”的原则,避免跨网段混用。以下给出一个可直接参考的规划示例,适用于 8 台 Xeon 计算节点、3 台存储节点、2 台管理跳板机的小型集群。示例中所有地址均为教学假设,实际交付需根据企业现有地址池调整。

网络类型 VLAN ID 子网 网关 用途说明
业务网 100 10.10.100.0/24 10.10.100.1 K8s Service、Ingress、东西向流量
存储网 200 10.10.200.0/24 10.10.200.1 Ceph 复制、NFS、iSCSI
管理网 300 10.10.300.0/24 10.10.300.1 Ansible、Prometheus、SSH 跳板
带外管理 400 10.10.400.0/24 10.10.400.1 BMC/IPMI、固件升级、远程 KVM

具体到每台节点,建议采用“末位编号对齐”的分配规则:Node-01 的业务网 IP 为 10.10.100.11,存储网为 10.10.200.11,管理网为 10.10.300.11,带外管理为 10.10.400.11。这样在排查时只需记住节点编号,就能快速定位四张网中的对应地址。存储节点从 .21 开始编号,管理跳板机从 .5 开始,网关统一为 .1,广播地址为 .255。若企业地址池紧张,可将管理网与业务网合并为同一 VLAN 的不同子网,但带外管理必须独立,因为 BMC 通常不支持 VLAN 标记,且安全域要求隔离。

交换机侧关键配置示例

以 Cisco Nexus 或华为 CE 系列为例,接入交换机需要为每个 VLAN 创建 SVI 或使用路由口。以下为接入交换机上联核心的 Trunk 配置片段,展示 VLAN 放通与 STP 边缘端口设置:

interface Ethernet1/1
  description To-Xeon-Node01
  switchport mode trunk
  switchport trunk allowed vlan 100,200,300
  spanning-tree port type edge trunk
  mtu 9216

interface Ethernet1/49
  description Uplink-To-Core
  switchport mode trunk
  switchport trunk allowed vlan 100,200,300,400
  mtu 9216

interface Vlan100
  description Business-Gateway
  ip address 10.10.100.1/24
  no shutdown

interface Vlan200
  description Storage-Gateway
  ip address 10.10.200.1/24
  no shutdown

注意存储网建议启用巨帧(MTU 9216),因为 Ceph 复制和 iSCSI 对大包更敏感,巨帧可显著降低 CPU 中断次数。业务网保持 1500 默认值,避免跨广域网时被分片。带外管理网通常由独立 1GbE 交换机承载,不配置 Trunk,直接 access VLAN 400 即可。

主机侧绑定与路由策略

在 Xeon 节点上,业务网和存储网建议使用 Linux bonding 的 802.3ad 模式,配合交换机 LACP。管理网若复用板载 1GbE,可做 active-backup。带外管理口不参与 bonding,直接配置静态 IP。路由方面,默认路由指向业务网网关,存储网和管理网通过静态路由或策略路由指定。以下为 nmcli 配置示例:

# 业务网 bond0
nmcli con add type bond con-name bond0 ifname bond0 mode 802.3ad
nmcli con add type ethernet con-name bond0-slave1 ifname ens1f0 master bond0
nmcli con add type ethernet con-name bond0-slave2 ifname ens1f1 master bond0
nmcli con mod bond0 ipv4.addresses 10.10.100.11/24
nmcli con mod bond0 ipv4.gateway 10.10.100.1
nmcli con mod bond0 ipv4.dns 10.10.300.10
nmcli con mod bond0 ipv4.method manual

# 存储网 bond1
nmcli con add type bond con-name bond1 ifname bond1 mode 802.3ad
nmcli con add type ethernet con-name bond1-slave1 ifname ens2f0 master bond1
nmcli con add type ethernet con-name bond1-slave2 ifname ens2f1 master bond1
nmcli con mod bond1 ipv4.addresses 10.10.200.11/24
nmcli con mod bond1 ipv4.method manual
nmcli con mod bond1 ipv4.routes "10.10.200.0/24 10.10.200.1"

# 带外管理口
nmcli con add type ethernet con-name bmc ifname eno1
nmcli con mod bmc ipv4.addresses 10.10.400.11/24
nmcli con mod bmc ipv4.method manual
验证要点:配置完成后,用 ip -br addr 确认四张网地址均正确;用 ping -I bond1 10.10.200.21 验证存储网连通性;用 ethtool bond0 查看 LACP 聚合状态是否为 up;用 ipmitool -I lanplus -H 10.10.400.11 -U admin -P password chassis status 验证带外管理可达。若存储网 ping 不通,优先检查交换机 VLAN 是否放通、MTU 是否一致、bond 模式是否匹配。

规划落地时的常见判断依据

交付现场判断网络规划是否合格,可以看四个信号:第一,存储网复制时业务网延迟是否稳定,若业务网 RTT 从 0.2ms 跳到 5ms 以上,说明存储流量串到了业务网;第二,带外管理是否能在操作系统宕机时独立响应,若 BMC 地址 ping 不通而业务网正常,说明带外交换机或 VLAN 配置有误;第三,管理网是否与业务网共享广播域,若 arp -a 能看到大量业务网地址,说明 VLAN 隔离未生效;第四,节点重启后四张网是否自动恢复,若 bond1 未自动 up,需检查 NetworkManager 的 autoconnect 优先级。这些判断依据比单纯“能 ping 通”更能反映架构设计的实际质量。

最后需要强调,IP 地址与 VLAN 规划不是一次性文档,而应作为交付物纳入版本管理。建议在集群部署前,先用表格锁定每台节点的四网地址、交换机端口、VLAN ID 和网关,再进入批量装机。这样在后续扩容或故障替换时,新节点只需按编号规则填入地址即可,避免现场临时分配导致冲突或遗漏。