堆叠、虚拟机箱与 MLAG
两台或多台交换机可以表现为一台:堆叠(stack)或虚拟机箱(virtual chassis)通过专用链路共享一个控制平面,而 MLAG(多机箱 LAG)保留两个独立的控制平面,只是让下游设备以为自己连接到一台设备上。两者都会改变端口的命名方式、占用哪些端口、允许使用哪些线缆或光模块,以及链路故障后的行为。本页按厂商列出这些技术、它们的布线和光模块规则、可替代方案,以及光模块方面需要注意的事项。

三种方案
| 方案 | 控制平面 | 数据平面 | 典型规模 | 故障域 |
|---|
| 堆叠(固定交换机的环形/链形连接) | 一个(主设备 + 成员设备) | 通过堆叠线缆共享背板 | 2–10 台,一个机柜/配线间 | 主设备故障或软件缺陷导致整个堆叠受影响 |
| 虚拟机箱/集群(两台或多台机箱式或固定交换机通过前面板端口连接) | 一个 | 跨机箱间链路转发 | 2 台(有时更多),可跨机房 | 两者皆受影响 |
| MLAG / vPC / VLT / VSX | 两个独立 | 对等链路 + 保活;每台交换机本地转发 | 2 台 | 一台交换机;另一台继续转发 |
| L3 叶脊架构配合 ECMP(无配对) | 独立 | 路由转发 | 任意 | 一条链路或一台设备;其余不受影响 |
各厂商的技术
| 厂商 | 堆叠 | 机箱式虚拟化 | MLAG 类配对 |
|---|
| Cisco | StackWise(Catalyst 9200/9300:StackWise-160/480/1T),经专用后置线缆;FlexStack(2960-X) | StackWise Virtual(Catalyst 9500/9600),经前面板 40G/100G 光模块;Nexus 2000 FEX | vPC(Nexus) |
| Juniper | Virtual Chassis(EX2300…EX4650、QFX5100/5120),经专用 VCP 或转换后的 QSFP+/QSFP28 上行口 | Virtual Chassis Fabric(脊叶式 VC) | MC-LAG;现在更推荐 EVPN 多归属 |
| HPE Aruba | VSF(AOS-CX 6200/6300),经前面板端口;6300 上通过线缆实现背板堆叠 | VSX(8320/8325/8400),经 ISL | VSX 属 MLAG 类型(两个控制平面) |
| HPE/H3C | IRF(Comware),经前面板 10G/40G/100G 端口 | IRF 跨机箱 | M-LAG(Comware 7) |
| Huawei | iStack(S 系列),经堆叠卡或前面板端口 | CSS(集群交换系统,机箱式) | M-LAG(CloudEngine) |
| Dell | 堆叠(OS10 固定交换机),经前面板端口 | — | VLT(Virtual Link Trunking) |
| Arista | 无 | — | MLAG(对等链路经前面板端口) |
| Extreme | SummitStack,经后置或前面板端口(EXOS);VOSS 集群 | — | MLT/SMLT、vIST(VOSS) |
| Ruckus | 堆叠,经 10G/40G 前面板端口(ICX) | — | — |
| Nvidia / Cumulus | 无 | — | MLAG(CLAG),经对等 bond |
| SONiC | 无 | — | MCLAG(社区/厂商实现) |
| MikroTik | 无 | — | MLAG(RouterOS 7,CRS3xx/5xx) |
| Brocade FC | — | — | 光纤网络(fabric),无需配对(SAN 设计) |
堆叠的布线与光模块
| 堆叠类型 | 线缆/模块 | 光模块规则 |
|---|
| 专用后置堆叠端口(StackWise、6300 背板、iStack 卡) | 专有线缆,0.5–3 m,聚合速率 40–480 Gb/s,特殊接口 | 不使用光模块;线缆为厂商专用并经过校验 |
| 前面板堆叠 / QSFP+/QSFP28 上的 VCP(Juniper VC、IRF、VSF、经上行口的 iStack、ICX) | 标准 40G/100G DAC、AOC 或光模块——端口转换为堆叠模式(request virtual-chassis vc-port set pic-slot 0 port 48) | 与上行口相同的光模块策略;机柜内通常选 DAC,机房间用 AOC/SR4/LR4(Juniper VC 允许跨楼宇的长距 VCP);将端口转换为 VCP 会使其退出上行口池 |
| StackWise Virtual / CSS / VSX ISL | 2–4 个 40G/100G 前面板端口,配标准光模块 | 链路成员应使用相同模块;ISL 中断会拆分这对设备 |
| MLAG 对等链路 | 一对设备间 2 条以上 40/100/400G(同机柜内用 DAC) | 必须是这对设备中最快、冗余度最高的链路;对等保活经带外(OOB) |
在若干平台上,堆叠线缆自带 EEPROM;非原装或损坏的线缆会表现为始终无法加入的成员。
堆叠对操作者意味着什么
| 方面 | 影响 |
|---|
| 端口命名 | 第一个数字变为成员 ID:Gi2/0/1、xe-1/0/48、2:49(端口命名与指示灯) |
| 上行口 | 分布在各成员上(每个成员一个),以便某个成员故障时堆叠仍保持连接;跨成员组成 LAG |
| 光模块清单 | show inventory / show chassis hardware 按成员列出模块——同一 PN 可能在某成员的软件镜像上被接受,而在混合版本的堆叠中不被接受 |
| 软件升级 | 整个堆叠(部分支持 ISSU);堆叠重载会使所有光模块下线 |
| 主设备选举 | 故障时端口继续转发(NSF),但管理功能会转移 |
| 环形与链形 | 环形可承受一根线缆故障;链形不能 |
| 混合型号 | 受厂商限制(同系列、同许可证,有时要求同型号) |
MLAG 细节
| 项目 | 规则 |
|---|
| 对等链路 | 速率为最大上行口速率的 2 倍,组成 LAG;承载孤立端口流量和故障切换流量 |
| 保活 | 独立路径(带外),用于检测脑裂 |
| 下游 | 服务器或交换机通过 LACP LAG 接入,其成员分别连到两台对等设备——两个成员的速率/FEC 必须一致(转发基础) |
| 一致性 | 两台对等设备上成员端口的 VLAN、MTU、STP 设置和 FEC 必须一致;不一致会导致 LAG 成员被挂起 |
| 光模块 | 下游主机的两根 DAC 分别接到两台交换机:应成对采购并编码 |
| 现代替代方案 | EVPN 多归属(ESI-LAG)取消对等链路;纯 L3 接入主机则完全取消配对 |
配对系统中与光模块相关的故障
| 现象 | 原因 | 排查位置 |
|---|
| 堆叠成员始终无法加入,堆叠指示灯不亮 | 堆叠线缆插接不良、非原装,或端口未转换为 VCP | 线缆 EEPROM/指示灯、show switch stack-ports、show virtual-chassis vc-port |
| VCP 链路抖动,成员重新选举 | VCP 上的光模块/DAC 处于临界状态 | VCP 端口的 DDM(链路抖动) |
| MLAG 成员在一台对等设备上被挂起 | 两台对等设备成员端口间 FEC/速率/MTU 不一致 | 端口配置示例 |
| 升级后一半服务器丢失一条路径 | 一台对等设备的新版本拒绝第三方光模块 | 兼容性矩阵与固件 |
| 对等链路中断,出现脑裂 | 对等链路 DAC 故障,且保活配置有误 | 设计层面:两个成员应位于不同板卡 |
在 CodingBox 中
堆叠和 MLAG 使模块必须被接受的地方翻倍:同一份编码身份必须在两个成员或两台对等设备上都能通过,有时还要跨两个软件版本。应将一对设备的模块一起读取并记录,并在清单中把转换为 VCP 的上行口仍视为上行口(Check transceiver、 Code database)。