第120篇:堆叠与 VRRP 结合的高可用方案

关键词

堆叠、iStack、集群、VRRP、高可用、跨设备链路聚合、M-LAG


一、为什么要堆叠 + VRRP?

1.1 各自的问题

方案 解决的问题 遗留问题
独立 VRRP 网关冗余 上行链路只有一条可用;设备管理分散
独立堆叠 设备冗余、简化管理 堆叠分裂风险;堆叠设备共用 IP
独立链路聚合 链路冗余、带宽倍增 无法跨设备聚合

1.2 堆叠 + VRRP 的优势

将两台交换机堆叠为一台逻辑交换机,再与另一组堆叠做 VRRP:

    逻辑交换机 A(堆叠)          逻辑交换机 B(堆叠)
SW1 SW2 (Master) SW3 SW4 (Backup)
│ │
└──────────┬─────────────────┘
PC 用户
网关 = VIP(VRRP)

优势: - 设备级冗余:一台交换机故障,堆叠内其他设备接管 - 链路级冗余:跨设备链路聚合(Eth-Trunk) - 网关级冗余:VRRP 在堆叠之间切换 - 管理简化:堆叠组对外是一个管理 IP


二、堆叠基础回顾

2.1 华为 iStack

概念 说明
堆叠成员 最多 9 台(盒式交换机)
角色 Master(主)/ Standby(备)/ Slave(从)
堆叠口 专用堆叠口或普通光口
堆叠线缆 堆叠线缆/光纤/DAC 线
堆叠域 Domain ID:同一域内设备才能堆叠

2.2 iStack 配置

# ===== SW1 配置 =====
stack
 stack member 1 priority 200     # 优先级高 → 成为 Master
 stack member 1 domain 10
#
interface stack-port 0/1
 port member-group interface GigabitEthernet0/0/27
#
interface stack-port 0/2
 port member-group interface GigabitEthernet0/0/28

# ===== SW2 配置 =====
stack
 stack member 2 priority 100     # 优先级低 → Standby
 stack member 2 domain 10
#
interface stack-port 0/1
 port member-group interface GigabitEthernet0/0/27
#
interface stack-port 0/2
 port member-group interface GigabitEthernet0/0/28

# 配置生效后,两台交换机自动重启 → 堆叠合并
# 堆叠后的管理 IP:
interface Vlanif100
 ip address 10.254.1.1 255.255.255.0

三、堆叠 + VRRP 部署方案

3.1 方案一:双堆叠 VRRP

    堆叠 A(Master)            堆叠 B(Backup)
SW1 SW2 VRRP 优先 120 SW3 SW4 VRRP 优先 100
│ │
Eth-Trunk1 Eth-Trunk2
│ │
└───────────┬─────────────┘
Eth-Trunk3(跨堆叠到服务器/汇聚)
# ===== 堆叠 A 配置 =====
# 下行链路聚合到堆叠 B
interface Eth-Trunk1
 trunkport GigabitEthernet0/0/1
 trunkport GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 10

# VRRP 配置
interface Vlanif10
 ip address 192.168.10.2 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.10.1
 vrrp vrid 1 priority 120

# ===== 堆叠 B 配置 =====
interface Eth-Trunk2
 trunkport GigabitEthernet0/0/1
 trunkport GigabitEthernet0/0/2
 port link-type trunk
 port trunk allow-pass vlan 10

interface Vlanif10
 ip address 192.168.10.3 255.255.255.0
 vrrp vrid 1 virtual-ip 192.168.10.1
 # 优先级默认 100

3.2 方案二:M-LAG(跨设备链路聚合)

华为 M-LAG(Multi-Chassis Link Aggregation)比 iStack + VRRP 更先进:

  • 两台独立设备运行 M-LAG,提供跨设备链路聚合
  • 设备间只需一条 peer-link 链路
  • 不需要堆叠线缆,设备可物理分离
         M-LAG 双活网关
      ┌──────────────┐
      │ SW1   SW2    │
      │ (peer-link)  │
      └──┬───────┬───┘
         │       │
      Eth1     Eth2
         │       │
         └──┬────┘
            │
       服务器(双归接入)

四、堆叠分裂问题与 MAD

4.1 堆叠分裂的危害

堆叠链路故障 → 堆叠分裂成两个独立设备 → 两个设备有相同的配置(相同 IP、相同 MAC)→ IP 地址冲突

   原堆叠 A(SW1+SW2)
        │
     堆叠口故障 → 分裂!
        │
   SW1(Master)         SW2(Master 转 Standalone)
   IP: 10.254.1.1       IP: 10.254.1.1(冲突!)

4.2 MAD(Multi-Active Detection)

MAD 检测堆叠分裂后,将一方置于 Recovery 状态,关闭其业务端口:

# 方式一:通过直连链路检测(DAD)
interface Eth-Trunk2
 mode lacp-static
 mad detect mode direct

# 方式二:通过管理网络检测
mad detect mode relay

分裂后的行为:

堆叠分裂:
  1. 两方都发送 MAD 检测报文
  2. 检测到分裂 → 非 Master 方进入 Recovery 状态
  3. Recovery 方关闭所有业务端口
  4. 堆叠链路恢复后,Recovery 方重启合并

五、堆叠 + VRRP 的切换场景

故障场景 切换行为 影响时间
堆叠内单交换机故障 堆叠内 Master 无缝切换 毫秒级
堆叠内链路聚合内单链路故障 流量切换至另一链路 毫秒级
整堆叠故障 VRRP 切换到 Backup 堆叠 秒级(3s)
堆叠分裂 MAD 关闭分裂方端口 秒级
VRRP 主堆叠上行故障 Track 触发优先级降级 秒级

六、最佳实践

建议 说明
堆叠成员 ≤ 2 成员越多,分裂风险越大
堆叠链路冗余 至少两根堆叠线缆,避免单点
MAD 必须配置 防止堆叠分裂导致全网瘫痪
双堆叠 VRRP 两套堆叠做 VRRP,实现设备级+网关级冗余
M-LAG 优先 对低延迟、大二层要求高的场景用 M-LAG
上行联路 Track 堆叠内做 Track,配合 VRRP 切换

七、总结

知识点 核心要点
堆叠 多台交换机虚拟为一台,简化管理
VRRP 两套堆叠间实现网关冗余
M-LAG 跨设备链路聚合,不依赖堆叠
MAD 防止堆叠分裂后 IP 冲突
组合优势 设备级 + 链路级 + 网关级三重冗余

八、思考

  1. 堆叠 + VRRP 相比单纯 VRRP 有什么优势?
  2. 堆叠分裂后如果不配置 MAD,会有什么后果?
  3. M-LAG 和 iStack 有什么区别?
  4. 双堆叠 VRRP 中,如果 Master 堆叠完全故障,恢复后会发生什么?(考虑抢占模式)
  5. 在堆叠中,为什么堆叠链路必须冗余?

下篇预告:第121篇《Smart Link 与 Monitor Link 原理》——讲解 Smart Link 的主备链路切换和 Monitor Link 的联动检测机制。