第25篇:iStack 堆叠的建立过程与主备选举

一、写在前面

上一篇文章介绍了堆叠的基本概念。这篇深入 iStack 堆叠建立的全过程:两台交换机插上堆叠线缆后,内部发生了什么?Master 和 Standby 是怎么选出来的?成员端口号怎么变化?


二、iStack 堆叠建立的四步流程

     SW-A                    SW-B
   (先启动)                (后启动)
      │                      │
      │      1. 物理连接      │
      │◀═══════════════════▶│
      │                      │
      │  2. 竞选 Master       │
      │  (先启动 + 优先级高)   │
      │  ←──── Master ────→  │
      │                      │
      │  3. 拓扑收集与同步     │
      │  Master 收集信息      │
      │  Master 同步配置到    │
      │  Standby 和 Slave     │
      │                      │
      │  4. 堆叠系统就绪       │
      │  ──── iStack UP ────  │
      │                      │

第一步:物理连接

  • 交换机检测到堆叠口(专用堆叠口或配置为堆叠模式的业务口)物理 UP
  • 开始发送堆叠竞争报文

第二步:Master 竞选

竞选依据按优先级比较:

优先级条件 说明
1. 运行状态 已经运行的交换机 > 正在启动的(先启动优势)
2. 堆叠优先级 数值越大越优先(配置的 stack slot 0 priority
3. MAC 地址 MAC 小的优先

堆叠优先级配置:

# 让 SW-A 的优先级高于 SW-B,确保 SW-A 成为 Master
[SW-A] stack slot 0 priority 200          ← 默认 100
[SW-B] stack slot 1 priority 100

第三步:拓扑收集与同步

Master 确定后: 1. Master 分配堆叠 ID(Slot ID)给每个成员 2. Master 将自己的配置同步到所有成员 3. Master 计算转发平面并下发到各成员

第四步:系统就绪

堆叠系统进入正常运行状态。


三、成员端口编号

3.1 编号规则

堆叠建立后,端口编号变为:槽位号/子卡号/端口号

成员 原端口名 堆叠后端口名
Master(Slot 0) GigabitEthernet0/0/1 GigabitEthernet0/0/1
Slave 1(Slot 1) GigabitEthernet0/0/1 GigabitEthernet1/0/1
Slave 2(Slot 2) GigabitEthernet0/0/1 GigabitEthernet2/0/1

3.2 配置管理上的变化

# 堆叠前——管理单台交换机
[SW-A] interface gigabitethernet 0/0/1

# 堆叠后——使用 slot 号区分
[Stack] interface gigabitethernet 1/0/1    ← Slave 1 的第一个端口
[Stack] interface gigabitethernet 0/0/24   ← Master 的第 24 个端口

四、配置实战——两台 S 系列交换机堆叠

4.1 物理连接

堆叠拓扑:环形
                       堆叠口
SW-A (Stack-Port1) ──────── (Stack-Port2) SW-B
     (Stack-Port2) ──────── (Stack-Port1)

4.2 配置堆叠口

# 在 SW-A 上
[SW-A] stack slot 0 priority 200                    ← 让 SW-A 成为 Master
[SW-A] interface stack-port 0/1                     ← 堆叠口 0/1
[SW-A-stack-port0/1] port interface gigabitethernet 0/0/27 enable   ← 绑定物理口
[SW-A-stack-port0/1] quit
[SW-A] interface stack-port 0/2                     ← 堆叠口 0/2
[SW-A-stack-port0/2] port interface gigabitethernet 0/0/28 enable

# 在 SW-B 上
[SW-B] stack slot 1 priority 100                    ← Slave
[SW-B] interface stack-port 1/1                     ← 堆叠口 1/1
[SW-B-stack-port1/1] port interface gigabitethernet 0/0/27 enable
[SW-B-stack-port1/1] quit
[SW-B] interface stack-port 1/2
[SW-B-stack-port1/2] port interface gigabitethernet 0/0/28 enable

4.3 保存并重启

[SW-A] save
[SW-A] reboot

[SW-B] save
[SW-B] reboot

重启后,堆叠建立。

4.4 验证

# 查看堆叠成员
[Stack] display stack
Stack mode: iStack
Stack topology type: Ring
Stack system MAC: 00e0-fc00-0001
---------------------------------------------------------------------
Slot   Role        Priority   Device             Ports
0      Master      200        S5735-L48P4X-A     48
1      Standby     100        S5735-L48P4X-A     48
---------------------------------------------------------------------
MAC switch delay: 0
# 查看堆叠端口状态
[Stack] display stack configuration
Oper  : GigabitEthernet0/0/27  : stack-port 0/1
                 GigabitEthernet0/0/28 : stack-port 0/2

五、Master 故障时发生了什么?

正常状态:Master(Slot 0) + Standby(Slot 1) + Slave(Slot 2)

          Master 故障(电源/硬件/系统崩溃)
                    │
                    ▼
Standby 检测到 Master 丢失(堆叠心跳超时)
                    │
                    ▼
Standby 切换为新的 Master
                    │
                    ▼
Slave 重新与新 Master 建立同步
                    │
                    ▼
堆叠系统恢复(端口编号不变,IP 不变,配置不变)

收敛时间:大约 1~5 秒(取决于配置和拓扑)。


六、配置变更管理

6.1 堆叠后如何管理

# 登录堆叠系统(一个管理 IP)
ssh admin@192.168.1.100

# 查看系统信息
[Stack] display version
[Stack] display device

# 进入某台成员的 CLI
[Stack] slave connect slot 1             ← 连接到 Slot 1 的 CLI

6.2 配置自动同步

Master 上的配置会自动同步到所有成员。你不需要在每台交换机上单独配置:

# 配置 VLAN,自动同步到所有成员
[Stack] vlan batch 10 20 30

# 配置端口,使用 slot 号
[Stack] interface gigabitethernet 0/0/1
[Stack-GigabitEthernet0/0/1] port link-type access
[Stack-GigabitEthernet0/0/1] port default vlan 10

[Stack] interface gigabitethernet 1/0/1
[Stack-GigabitEthernet0/0/1] port link-type access
[Stack-GigabitEthernet0/0/1] port default vlan 20

七、重要注意事项

事项 说明
版本一致 堆叠成员的版本必须一致
型号兼容 同一系列且支持堆叠的型号
先配后重启 堆叠配置需要重启才能生效
堆叠口不转发业务数据 堆叠口只用于堆叠通信
不要拔堆叠线 工作中的堆叠不要随便拔线,可能分裂
Master 选举优先级 先启动 > 高优先级 > 小 MAC

八、思考

  1. iStack 堆叠建立的四步流程是什么?
  2. Master 竞选比较哪三个因素?优先级高低是怎么排序的?
  3. 堆叠建立后,端口编号变成了什么格式?
  4. Master 故障后,Standby 多久接管?配置和 IP 会变化吗?
  5. 链形堆叠中一条堆叠线断了会怎样?环形呢?
  6. 配置完堆叠后为什么要重启才能生效?

下篇预告:第26篇《堆叠分裂故障_双主检测与MAD检测机制》——了解堆叠分裂故障的处理方法和MAD检测机制。