目录
在现代网络架构中,交换机堆叠技术能够将多台物理交换机虚拟化为一台逻辑交换机,极大地提升网络性能和管理效率。然而,堆叠系统面临着分裂的风险,这可能导致网络出现严重故障。为应对这一挑战,多主检测(MAD)技术应运而生。本文将深入探讨华为堆叠中的 MAD 检测技术,包括其原理、配置方法以及实际应用中的注意事项,并结合代码示例,帮助读者更好地理解和运用这一关键技术。
一、华为堆叠技术概述
华为堆叠技术主要分为 CSS(Cluster Switch System)和 iStack(Intelligent Stack)两种。CSS 用于框式交换机,通常只支持两台设备堆叠;iStack 则适用于盒式交换机,不同型号支持的设备数量有所不同,例如 5700、CE5800 等型号最多支持九台,部分 CE 设备可支持 16 台。
华为堆叠具有诸多优势,如网络拓扑简单,无需 STP(Spanning Tree Protocol)协议,避免了端口阻塞,提升了链路利用率;采用链路聚合技术,负载分担算法灵活,数据转发高效;同时具备高可靠性,当部分物理链路或设备出现故障时,不影响数据传输。
在华为堆叠系统中,设备角色主要有主交换机、备交换机和从交换机。主交换机负责管理整个堆叠系统,备交换机是主交换机的备份,当主交换机故障时接替其工作,从交换机负责业务转发。堆叠系统中所有设备的堆叠 ID 必须唯一,优先级数值越大,成为主设备的可能性越大,但实际上先启动的设备通常会成为主设备。
二、MAD 检测原理
(一)检测方式
华为的 MAD 检测分为直连方式检测和代理方式检测。
- 直连方式检测:包括中间设备直连和全互联两种子方式。在全互联方式中,堆叠系统中的设备两两之间相互连接,通过发送 MAD BPDU(Bridge Protocol Data Unit)报文进行多主检测。当堆叠系统正常运行时,不发送 MAD 报文;一旦发生分裂,分裂后的两台交换机以一秒为周期发送 MAD 报文,以处理多主冲突。中间设备直连方式则是通过连接中间设备,减少端口占用,适用于设备较多的场景,此时每台设备只需一根链路连接到中间设备。
- 代理方式检测:可分为单机做代理和两套堆叠系统做代理。在单机代理方式中,堆叠系统通过一台单独的链路连接到代理设备上,开启 MAD 的代理方式检测;两套堆叠系统互为代理时,不需要单独的代理设备。正常工作时,堆叠成员交换机以 30 秒为周期发送 MAD 报文,收到报文后不做处理;堆叠分裂后,以一秒为周期发送 MAD 报文进行多主处理。
(二)冲突处理机制
当 MAD 检测到堆叠分裂后,会根据一定的规则将分裂后的堆叠系统一个设置为正常状态,一个设置为禁用状态。对于 iStack 堆叠,若使用 LACP 检测,先比较两个堆叠系统的成员数量,数量相同则比较主设备的成员编号,编号小的堆叠系统继续工作,另一个进入禁用状态;若使用 ARP 和 ND 检测,则直接比较主设备的成员编号。
对于 CSS 集群,集群分裂后,两个处于正常状态的集群系统会进行集群优先级、MAC 地址和集群 ID 的比较,优先级高、MAC 地址小或集群 ID 小的交换机成为正常工作的设备,另一个系统的设备关闭除保留端口以外的所有物理端口。
三、华为堆叠 MAD 检测配置示例
下面以华为 S5700 交换机为例,展示 iStack 堆叠及 MAD 检测的配置过程。
(一)堆叠配置
- 设置堆叠 ID 和优先级
# 在交换机1上设置堆叠ID为1,优先级为150
[Switch1] stack slot 0 renumber 1
[Switch1] stack slot 1 priority 150
# 在交换机2上设置堆叠ID为2,优先级为100
[Switch2] stack slot 0 renumber 2
[Switch2] stack slot 1 priority 100
- 配置堆叠物理端口
假设使用业务口进行堆叠,将交换机 1 的 GE0/0/1 和 GE0/0/2 端口加入到堆叠逻辑端口中:
[Switch1] interface stack-port 0/1
[Switch1-stack-port0/1] port interface GigabitEthernet 0/0/1 enable
[Switch1-stack-port0/1] port interface GigabitEthernet 0/0/2 enable
在交换机 2 上进行类似配置,将相应端口加入到堆叠逻辑端口。
3. 重启设备
配置完成后,保存配置并重启交换机,使堆叠配置生效。
(二)MAD 检测配置(以直连全互联方式为例)
- 创建聚合接口并配置为动态模式
[Switch1] interface Eth-Trunk 1
[Switch1-Eth-Trunk1] mode dynamic
在交换机 2 上进行相同配置。
2. 将物理接口加入聚合接口
[Switch1] interface range GigabitEthernet 0/0/3 to GigabitEthernet 0/0/4
[Switch1-if-range] eth-trunk 1
同样,在交换机 2 上把对应的物理接口加入到 Eth - Trunk 1。
3. 开启 MAD 检测
[Switch1] mad enable
在交换机 2 上执行相同命令开启 MAD 检测。
(三)CSS 集群配置(假设使用集群卡方式集群)
- 开启集群功能并配置集群 ID 和优先级
# 在交换机A上开启集群功能,设置集群ID为1,优先级为150
[SwitchA] css enable
[SwitchA] css id 1
[SwitchA] css priority 150
# 在交换机B上开启集群功能,设置集群ID为2,优先级为100
[SwitchB] css enable
[SwitchB] css id 2
[SwitchB] css priority 100
- 连接集群线缆并重启设备
将交换机 A 和交换机 B 通过集群卡及专用集群线缆连接,保存配置后重启设备,完成集群组建。
四、实际应用中的注意事项
- 设备兼容性:在组建堆叠或集群时,确保所有设备的软件版本兼容。不同版本的软件可能在功能和配置上存在差异,可能导致堆叠或集群组建失败或运行不稳定。可以通过查询华为官方文档或咨询技术支持,了解不同版本软件的兼容性信息。
- 端口占用与网络拓扑:在选择 MAD 检测方式时,需考虑设备数量和端口资源。全互联方式在设备较少时可节省成本,但设备增多时会占用大量端口;中间设备直连方式和代理方式适用于设备较多的场景,可减少端口占用,但可能需要额外的设备或配置。应根据实际网络拓扑和资源情况进行合理选择。
- 配置顺序与验证:在进行堆叠和 MAD 检测配置时,务必按照正确的顺序进行操作。一般先完成堆叠配置,确保堆叠正常工作后,再进行 MAD 检测配置。每完成一步配置,都要及时进行验证,如查看设备状态、端口连接情况等,以确保配置正确无误。避免在配置过程中出现问题难以排查。
- 链路故障与业务影响:堆叠链路故障可能导致堆叠分裂,进而影响业务。在实际应用中,应采取冗余链路等措施提高堆叠系统的可靠性。同时,了解堆叠分裂对业务的影响范围,提前制定应急预案,以便在发生故障时能够快速恢复业务。
华为堆叠中的 MAD 检测技术是保障堆叠系统稳定运行的关键。通过深入理解其原理、掌握配置方法并注意实际应用中的要点,网络工程师能够构建更加可靠、高效的网络架构,为企业的数字化发展提供坚实的网络基础。希望本文的内容能帮助读者在网络建设和维护工作中更好地运用华为堆叠和 MAD 检测技术。