3. 堆叠成员角色:主交换机、备交换机、从交换机,角色选举机制

堆叠系统里,交换机不是一拥而上乱成一团的。它们有明确的分工。说白了,就是三个角色:主交换机备交换机从交换机

我刚开始接触堆叠时,总觉得这跟“老大、老二、小弟”差不多。后来在项目里踩过坑才明白——角色选举机制如果搞不清楚,堆叠建不起来,甚至可能把整网搞瘫。

3.1 三个角色,各司其职

先看看每个角色具体干什么。

角色 英文 核心职责
主交换机 Master 管理整个堆叠系统。负责协议计算、配置同步、拓扑维护。
备交换机 Standby 主交换机的热备份。实时同步状态,主挂了立刻顶上。
从交换机 Slave 普通成员。转发数据,不参与管理决策。

嗯,这里要注意:备交换机只有一个。从交换机可以有多个。主交换机也只有一个。

核心原则:整个堆叠系统,逻辑上就是一台设备。主交换机是“大脑”,备交换机是“备用大脑”,从交换机是“手脚”。

3.2 角色选举机制

堆叠启动时,所有成员交换机都会参与选举。谁当主?谁当备?规则其实很清晰。

选举依据,按优先级从高到低排列:

  1. 启动优先级(用户配置的)
  2. MAC地址大小(小的优先)
  3. 堆叠ID大小(小的优先)

为什么会这样设计?你想想看,如果只靠MAC地址,那设备一插电就定死了主备关系,用户没法干预。所以优先级排第一,让管理员说了算。

具体流程是这样的:

  • 所有成员上电后,先发选举报文。
  • 比较优先级,高的当选主交换机。
  • 如果优先级相同,比较MAC地址,小的赢。
  • 如果MAC也相同(极少见),比较堆叠ID。
  • 主交换机选出来后,再选备交换机——规则一样。
  • 剩下的全是从交换机。

我的习惯:在规划堆叠时,我会把核心汇聚层的交换机优先级设高一点,比如150。接入层设默认值100。这样主交换机一定是核心设备,管理起来顺手。

3.3 选举触发条件

不是只有启动时才选举。以下几种情况也会触发重新选举:

  • 主交换机故障——备交换机立刻升主,然后重新选备。
  • 备交换机故障——从交换机中重新选一个当备。
  • 新成员加入——如果新成员优先级更高,它会抢主吗?

这个问题我经常被问到。答案是:不会。堆叠稳定运行后,新加入的成员不会触发主备重新选举。除非你手动重启或执行命令强制选举。

我曾经踩过的坑:有一次在现网扩容,加了一台新交换机进堆叠。我忘了检查优先级,结果新设备优先级比老主高。虽然它不会自动抢主,但后来我重启了整个堆叠——新设备直接成了主。配置全乱了。从那以后,我每次加设备前都会先改优先级。

3.4 角色切换与业务影响

主备切换时,业务会不会断?

这取决于你的堆叠技术实现。如果是跨设备链路聚合(比如M-LAG),切换时流量几乎无感。如果是传统堆叠,切换过程中会有短暂的丢包。

我个人建议:

  • 核心层用M-LAG或VPC这类技术,主备切换对业务透明。
  • 接入层用传统堆叠,切换时间一般在秒级以内,影响可控。

嗯,还有一点:备交换机在同步状态时,会占用一定的CPU和内存资源。所以从交换机的性能不能太差,否则会影响整个堆叠的稳定性。

3.5 实战建议

最后,给你几个我在项目中总结的经验:

  1. 优先级规划要提前做。别等设备上架了再改,容易忘。
  2. 备交换机的性能要和主一样。否则主挂了,备扛不住。
  3. 监控主备状态。我习惯在网管系统里加一条告警——备交换机离线超过30秒就报警。
  4. 定期做切换演练。别等到真出故障了才测试。我每季度会手动触发一次主备切换,确保备机真的能顶上去。

一句话总结:角色选举是堆叠的“宪法”。搞懂了它,堆叠的稳定性就有了一半保障。