什么是堆叠?
堆叠是指将两台或多台支持堆叠功能的交换机通过专用的堆叠成员端口连接起来,逻辑上合并成一台交换机进行管理,其主要优势包括:

- 统一管理:通过一个IP地址管理所有成员交换机,简化运维。
- 增加带宽:堆叠成员之间通过高速堆叠链路互联,形成一个高带宽的交换背板。
- 提高可靠性:堆叠系统支持堆叠链路冗余和设备冗余(如iMaster NCE-SeriesFabric Controller的堆叠),当某台成员设备或堆叠链路故障时,业务能快速切换,实现不中断或短暂中断。
- 平滑扩展:通过增加成员设备即可平滑扩展端口容量和转发性能。
堆叠的物理连接
在配置之前,必须正确连接硬件,华为交换机通常有两种堆叠连接方式:
堆叠卡 + 堆叠线缆(推荐)
这是性能最高、最可靠的方式。
- 堆叠卡:安装在交换机的扩展插槽中。
- 堆叠线缆:专用的、高带宽的线缆,如 QSFP+ 或 QSFP28 堆叠光模块/电模块配合光纤或高速铜缆。
- 连接方式:所有成员交换机通过堆叠线缆首尾相连,形成一个 环形拓扑,这是最推荐的拓扑,因为它具有链路冗余。
示例(以两台交换机为例):
交换机1的堆叠卡A端口 <-----> 交换机2的堆叠卡B端口
交换机2的堆叠卡A端口 <-----> 交换机1的堆叠卡B端口
业务口 + 堆叠线缆(非推荐)
这种方式性能较低,仅用于临时或小规模场景。

- 业务口:使用交换机的普通以太网端口作为堆叠端口。
- 连接方式:同样建议使用环形拓扑。
堆叠的软件配置
软件配置是堆叠的核心,以下是配置步骤和关键命令。
第1步:使能堆叠功能
默认情况下,交换机的堆叠功能是关闭的,需要手动开启。
system-view # 进入系统视图 stack mode enable # 使能堆叠功能,执行此命令后,交换机会重启,进入堆叠模式。
注意:此命令会使设备重启,请在业务低谷期操作。
第2步:配置堆叠ID
堆叠ID是成员交换机在堆叠系统中的唯一标识号(1到最大值,具体看设备型号),配置ID后,设备会根据ID选举主交换机。

配置方式:
- 自动配置:推荐,通过
stack timer reboot命令设置自动重启时间,让设备在启动时根据连接的堆叠线缆自动分配ID。 - 手动配置:直接在设备上指定堆叠ID。
场景1:全新堆叠部署(推荐使用自动配置) 假设有两台新交换机,通过堆叠卡连接。
# 在所有成员交换机上执行以下命令 system-view stack mode enable # 重启后,设备会进入堆叠初始状态 # 设置自动重启时间,例如设置为300秒 stack timer reboot 300 # 执行此命令后,设备会重启,并在重启后等待300秒内其他设备加入。 # 如果在300秒内有其他设备通过堆叠线缆连接并启动,系统会自动协商堆叠ID并组建堆叠。 # 如果超时未检测到其他设备,该设备将单独运行,ID为1。
场景2:为已有堆叠系统添加新成员 如果堆叠系统已经存在,需要将一台新配置好的交换机加入。
-
新设备配置:
# 在新加入的交换机上配置 system-view stack mode enable stack timer reboot 0 # 设置为0,表示加入后立即重启并尝试加入堆叠 # 或者直接手动配置ID,确保不与现有成员冲突 # stack priority <priority> # 可选,设置优先级,用于竞选主设备 # stack id <new_id> # 手动指定一个未被占用的ID
-
连接与加入:
- 将新设备通过堆叠线缆物理连接到现有堆叠系统。
- 重启新设备,它会自动发现堆叠系统并加入,如果手动配置了ID,则会以该ID加入。
第3步:查看堆叠状态
配置完成后,需要验证堆叠是否组建成功。
# 查看堆叠的总体状态 display stack # 查看堆叠中所有成员的详细信息 display stack device # 查看堆叠端口状态 display stack-port
display stack 命令输出解读:
- Mode:
Normal表示堆叠已正常工作。 - Master/Slave: 显示哪台是主设备,哪台是从设备。
- Device Role:
Master或Slave。 - Device ID: 显示各成员的ID。
- Priority: 显示各成员的竞选优先级。
- Status:
Normal表示成员状态正常。
关键堆叠配置命令详解
主从选举与优先级
堆叠系统启动后,成员之间会通过Hello报文选举主交换机,选举规则如下:
- 优先级:优先级高的设备当选为主设备。
- 成员ID:如果优先级相同,成员ID小的设备当选为主设备。
手动配置优先级:
system-view stack priority <priority_value> # <priority_value> 范围通常是0-100,默认为100,值越大,优先级越高。
堆叠链路聚合(推荐)
为了提高堆叠链路的可靠性,可以将多条堆叠链路配置为聚合链路,这样,当一条链路故障时,流量会自动切换到其他链路。
# 在堆叠端口视图下配置 interface Stack-Port <port_number> port link-aggregation group <aggregation_group_id>
注意:所有成员交换机上对应的堆叠端口必须加入同一个聚合组。
堆叠管理地址
堆叠系统在逻辑上是一台交换机,因此只需要一个管理IP地址。
# 配置管理VLAN接口的IP地址 interface Vlanif1 # 假设管理VLAN是VLAN 1 ip address <ip_address> <subnet_mask>
这个IP地址就是整个堆叠系统的管理地址,通过它可以登录到任何一台成员交换机(通过<ip_address> -d <device_id>)。
登录指定成员交换机
当需要登录到堆叠中的某台特定交换机进行操作时,可以使用以下命令:
# 通过Telnet/SSH登录时指定 ssh <master_ip> -d <device_id> # 或者在设备CLI上切换 remote-device <device_id>
堆叠分裂与恢复处理
堆叠分裂:是指堆叠系统中的成员交换机之间由于链路故障等原因导致通信中断,从而分裂成多个堆叠子系统的现象,这可能导致“大脑-大脑”冲突(两个主设备)。
华为堆叠提供了多种分裂检测和处理机制来避免此问题,
- 优先级级差选举:分裂后,优先级最高的子系统获胜。
- IP地址保留:获胜的子系统的管理IP地址保持不变,失败的子系统管理IP地址失效。
通常无需手动配置,系统会自动处理。
完整配置示例(两台交换机自动组建)
目标:将两台S5700系列交换机通过堆叠卡组建堆叠。
交换机A
<Huawei> system-view [Huawei] stack mode enable # 系统提示将重启,确认后重启 # 重启后,设备进入堆叠初始状态 [Huawei] stack timer reboot 300 # 设置300秒自动重启时间,等待交换机B加入 # 交换机A重启后,会检测到堆叠线缆,并可能被选举为Master或Slave
交换机B
<Huawei> system-view [Huawei] stack mode enable # 系统提示将重启,确认后重启 # 重启后,设备进入堆叠初始状态 [Huawei] stack timer reboot 300 # 设置300秒自动重启时间,等待交换机A加入 # 交换机B重启后,会检测到堆叠线缆,并尝试与交换机A组建堆叠
验证 等待两台设备都重启并稳定后,在任意一台设备上执行:
<Huawei> display stack
预期输出:
Mode : Normal
Stack : Active
Device Role : Master
Device MAC : 4c1f-cc00-1234
Device Priority : 100
Device MAC : 4c1f-cc00-5678
Device Priority : 100
Device ID : 0 Status : Normal
Device ID : 1 Status : Normal
这表明堆叠已成功组建,设备0是Master,设备1是Slave。
常见问题与最佳实践
- 最佳拓扑:始终使用 环形拓扑,以实现堆叠链路冗余。
- 版本兼容:确保所有成员交换机的VRP软件版本兼容,建议使用完全相同的版本。
- 优先级配置:在业务关键设备上设置更高的优先级,确保其能在主从选举中胜出,成为主设备。
- 谨慎操作:在堆叠系统上进行软件升级、配置修改等操作前,务必做好备份,并了解操作对业务的影响,建议在业务低峰期进行。
- 命令差异:不同型号的华为交换机(如S5700, S6700, S7700系列),其堆叠命令和硬件接口可能略有不同,请务必查阅对应型号的产品文档。
希望这份详细的指南能帮助您顺利完成华为交换机的堆叠配置!
