3、设备冗余技术:堆叠(Stack)与虚拟化(VPC/VSS)对比、堆叠分裂与双活检测、M-LAG(跨设备链路聚合)实战

设备冗余,说白了就是让两台设备看起来像一台。你想想看,单台交换机挂了,业务就断了,这谁受得了?我这些年踩过的坑,十有八九都跟设备冗余没做好有关。今天咱们就把堆叠、VPC/VSS、M-LAG这几个技术掰开揉碎了讲清楚。

3.1 堆叠(Stack)与虚拟化(VPC/VSS)的核心差异

先说说堆叠。堆叠就是把多台物理交换机通过堆叠口连起来,变成一个逻辑设备。我习惯叫它「物理捆绑,逻辑统一」。华为叫iStack,华三叫IRF,思科叫StackWise,名字不同,本质一样。

VPC(思科)和VSS(思科)呢?它们属于虚拟化范畴。VSS是把两台交换机虚拟成一台,共享控制平面。VPC则是控制平面独立,转发平面共享。说白了,VPC更灵活,故障隔离性更好。

我整理了一个对比表,你一看就明白:

特性 堆叠(Stack) VPC/VSS
控制平面 主备模式,一台控制 VSS共享控制,VPC独立控制
转发平面 所有成员参与转发 VPC双活转发,VSS主备转发
故障隔离 堆叠分裂风险大 VPC隔离性好
升级方式 需整堆重启或逐台升级 VPC支持ISSU,VSS需主备切换
典型场景 接入层、汇聚层 核心层、数据中心

我在项目中遇到过一件事:某客户用堆叠做核心,结果一次软件升级导致整个堆叠重启,全网断了15分钟。后来换成VPC,再也没出过这种问题。所以我的建议是——核心层尽量用VPC/VSS,接入层用堆叠就够了。

3.2 堆叠分裂与双活检测

堆叠最怕什么?堆叠分裂。两台设备之间的堆叠线断了,它们各自以为自己是主设备,开始抢IP、抢MAC,网络瞬间就乱了。这就是传说中的「脑裂」。

为什么会这样?因为堆叠没有独立的检测机制。它只靠堆叠口的心跳来判断对方是否活着。一旦心跳断了,两台设备都认为对方挂了,自己上位当老大。

怎么解决?双活检测(DLDP、BFD)。我建议你在堆叠口之外,单独拉一根检测线,跑BFD。这样即使堆叠口全断,BFD也能快速检测到,触发备设备降级。

嗯,这里要注意:

  • 检测线不能走业务口,必须独立
  • BFD检测时间建议设为100ms,别太短,容易误判
  • 堆叠优先级要配好,确保主设备稳定
我曾经踩过的坑: 某次割接,堆叠口光纤被误拔,两台设备同时成为主设备,导致全网广播风暴。从那以后,我强制要求所有堆叠必须配BFD双活检测,并且检测线要走不同路由。

3.3 M-LAG(跨设备链路聚合)实战

M-LAG,全称是跨设备链路聚合。说白了,就是把两台独立的交换机,通过一条虚拟的链路聚合组,让下游设备看起来像连了一台交换机。华为叫M-LAG,华三叫DRNI,思科叫vPC。

M-LAG的好处很明显:

  • 两台设备独立运行,一台挂了另一台照常转发
  • 支持双活转发,带宽利用率高
  • 故障隔离性好,不会出现堆叠分裂那种脑裂问题

我实战中常用的M-LAG配置思路是这样的:

# 华为M-LAG基础配置(简化版)
# 设备A
interface Eth-Trunk1
  mode lacp-static
  trunkport 10GE1/0/1
  trunkport 10GE1/0/2
  m-lag id 1

# 设备B
interface Eth-Trunk1
  mode lacp-static
  trunkport 10GE1/0/1
  trunkport 10GE1/0/2
  m-lag id 1

# 两台设备之间跑peer-link
interface Eth-Trunk10
  description peer-link
  trunkport 10GE1/0/10
  trunkport 10GE1/0/11
  m-lag peer-link 1

你看,配置其实不复杂。关键点在于:

  • 两台设备的M-LAG ID必须一致
  • peer-link要至少两根链路,防止单点故障
  • LACP模式建议用静态,别用动态,省得协商出问题
我的个人习惯: M-LAG的peer-link我一般用10GE或25GE端口,带宽要够。另外,记得配keepalive链路,用BFD检测对端是否存活。这样即使peer-link全断,也能通过keepalive判断对端状态,避免双主。

3.4 三种技术的选型建议

说了这么多,到底该用哪个?我总结一下:

  • 接入层: 堆叠就够了。成本低,配置简单,一台坏了换一台就行。
  • 汇聚层: 看情况。如果对可靠性要求高,用M-LAG;如果预算有限,堆叠也能凑合。
  • 核心层: 强烈建议用VPC或M-LAG。别用堆叠,风险太大。

你想想看,核心层挂了,整个网络就瘫了。花点钱上VPC/M-LAG,值不值?我觉得值。

3.5 知识体系图

下面这张图,我把三种技术的核心逻辑画出来了,你一看就懂:

设备冗余技术核心逻辑 堆叠(Stack) 控制平面:主备 转发平面:所有成员 风险:脑裂 适用:接入/汇聚 VPC / VSS VPC:控制独立 VSS:控制共享 转发:双活/主备 适用:核心层 M-LAG 控制平面:独立 转发平面:双活 故障隔离:好 适用:汇聚/核心 选型建议 接入层 → 堆叠(成本低) 汇聚层 → M-LAG(可靠性优先) 核心层 → VPC/M-LAG(避免堆叠)

好了,设备冗余这块就聊到这儿。记住一句话:堆叠省成本,M-LAG保可靠,VPC/VSS稳核心。选型的时候,别光看价格,想想业务挂了你能扛多久。

核心总结: 堆叠适合接入层,M-LAG适合汇聚/核心,VPC/VSS适合数据中心核心。堆叠一定要配BFD双活检测,M-LAG一定要配peer-link和keepalive。别问我怎么知道的,都是血泪教训。

专注资料整理