在企业级网络架构中核心层的单点故障是不可接受的。满足高标准的业务连续性不仅是网络设计的核心更是达成 ISO 27001 等信息安全合规标准中“可用性Availability”指标的关键底座。对于现代企业网络Cisco 的双机热备和堆叠技术特别是针对 Catalyst 9000 系列的 StackWise Virtual是实现核心层无缝冗余的最佳实践。这篇博客将详细拆解 Cisco 核心交换机“两两堆叠”的架构设计与完整配置过程帮助你构建一个坚如磐石的核心网络。## 一、 架构设计与拓扑说明传统的 VSS虚拟交换系统已经逐渐被更先进的 **Cisco StackWise Virtual (SV)** 取代。它将两台物理核心交换机虚拟化为一台逻辑交换机不仅简化了管理还消除了生成树STP的阻塞端口实现了跨交换机的链路聚合MECMultichassis EtherChannel带宽利用率达到 100%。### 逻辑架构图以下是标准的双机热备堆叠架构图核心组件说明1. **SVL (StackWise Virtual Link):** 堆叠链路。用于同步两台交换机的控制平面和数据平面流量。通常建议使用至少两条高带宽链路如 40G/100G做捆绑。2. **DAD (Dual-Active Detection):** 双主检测链路。为了防止 SVL 链路断开时两台交换机都认为自己是 Active 角色从而导致网络脑裂IP冲突、路由翻棱必须配置 DAD 链路。通常使用普通千兆/万兆口即可。3. **MEC (Multichassis EtherChannel):** 跨设备链路聚合。下游接入交换机或上游防火墙通过 LACP 与两台核心交换机分别互联。二、 详细配置步骤假设我们有两台 Cisco Catalyst 9500 交换机配置前请确保两台设备的 IOS-XE 版本完全一致并且拥有相同的 License 级别。### 阶段 1配置 Switch 1主交换机首先我们配置第一台交换机的堆叠域和物理链路。**1. 开启 StackWise Virtual 并分配 Domain ID**textSwitch-1# configure terminalSwitch-1(config)# stackwise-virtualSwitch-1(config-stackwise-virtual)# domain 10Switch-1(config-stackwise-virtual)# exit**2. 配置 SVL (堆叠链路)**假设我们使用 HundredGigE1/0/1 和 HundredGigE1/0/2 作为堆叠链路。textSwitch-1(config)# interface range HundredGigE 1/0/1 - 2Switch-1(config-if-range)# stackwise-virtual link 1Switch-1(config-if-range)# exit**3. 配置 DAD (双主检测链路)**假设我们使用 TenGigE1/0/48 作为双主检测心跳线。textSwitch-1(config)# interface TenGigE 1/0/48Switch-1(config-if)# stackwise-virtual dual-active-detectionSwitch-1(config-if)# exit**4. 保存配置并重启**textSwitch-1# write memorySwitch-1# reload*注意重启后这台交换机将作为 Active 节点启动。*### 阶段 2配置 Switch 2备交换机第二台交换机的配置与第一台类似但为了后续合并后接口编号不冲突我们通常需要在合并前或者合并过程中改变其交换机编号Renumber。**1. 修改 Switch Number**在全局模式下将当前交换机编号默认是 1修改为 2。textSwitch-2# switch 1 renumber 2*系统会提示更改将在下次重启后生效。***2. 开启 StackWise Virtual 并加入相同 Domain**textSwitch-2# configure terminalSwitch-2(config)# stackwise-virtualSwitch-2(config-stackwise-virtual)# domain 10Switch-2(config-stackwise-virtual)# exit**3. 配置 SVL (堆叠链路)***注意此时接口编号依然是 1/0/x因为系统尚未重启。*textSwitch-2(config)# interface range HundredGigE 1/0/1 - 2Switch-2(config-if-range)# stackwise-virtual link 1Switch-2(config-if-range)# exit**4. 配置 DAD (双主检测链路)**textSwitch-2(config)# interface TenGigE 1/0/48Switch-2(config-if)# stackwise-virtual dual-active-detectionSwitch-2(config-if)# exit**5. 保存配置并物理连接**保存配置后**关闭设备**。使用光纤将 Switch 1 和 Switch 2 的 SVL 端口和 DAD 端口正确对接。textSwitch-2# write memory然后给 Switch 2 上电开机。Switch 2 启动过程中会通过 SVL 链路发现 Switch 1并自动协商。由于 Switch 1 先启动Switch 1 会保持 Active 状态Switch 2 将成为 Standby Hot 状态。### 阶段 3跨设备链路聚合 (MEC) 验证配置完成堆叠后两台交换机已经变成了一台逻辑设备。此时配置下游接入交换机时只需将其视为一台设备进行 LACP 聚合配置即可。Switch 1 的接口变成了 1/0/xSwitch 2 的接口变成了 2/0/x。**配置下联聚合示例**textLogical-Core(config)# interface range TenGigE 1/0/1 , TenGigE 2/0/1Logical-Core(config-if-range)# channel-group 10 mode activeLogical-Core(config-if-range)# exitLogical-Core(config)# interface port-channel 10Logical-Core(config-if)# switchport mode trunk## 三、 验证与排错命令部署完成后日常运维与安全巡检时可以通过以下核心命令验证双机热备的健康状态* **查看堆叠状态**show stackwise-virtual确认两台设备的 Role 分别是 Active 和 Standby* **查看 SVL 链路状态**show stackwise-virtual link确认链路状态为 Up* **查看 DAD 双主检测状态**show stackwise-virtual dual-active-detection确认 DAD 链路处于侦听/正常状态* **查看跨设备聚合接口**show etherchannel summary确认 Port-channel 中同时包含 1/0/x 和 2/0/x 的接口且状态为 P - Bundled in port-channel