ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

华为S5700/S6700交换机iStack堆叠配置与排错实战

华为S5700/S6700交换机iStack堆叠配置与排错实战 你接手过几台华为交换机想做成双机堆叠又不太确定从哪儿下手或者你已经按手册敲过一圈命令结果发现堆叠状态没起来、成员口误报、版本不匹配一头雾水。这篇就按我实际配置 S5700/S6700 系列盒式交换机的经验把堆叠从原理、选型、连线、配置到排错整个走一遍。无论你是给机房做核心冗余还是给弱电项目凑两台设备提带宽这篇都适用。1. 先说清楚堆叠到底在解决什么问题1.1 堆叠不是把两台设备“简单连起来”很多人一听堆叠第一反应是“两台交换机用网线一连不就是一个堆叠吗”。这个理解方向对但离真正的堆叠差得很远。华为盒式交换机的 iStackIntelligent Stack是把多台物理设备通过专用的堆叠口或高速业务口互联后在逻辑上虚拟成一台设备来管理和转发。对外呈现一个 IP、一套 MAC、一个管理面对内通过堆叠协议协商出主交换机、备交换机和从交换机。堆叠解决的核心痛点有三个。第一是可靠性主控挂了备机无缝接管业务几乎不感知第二是带宽跨设备链路聚合后流量可以在多台成员设备间负载均衡第三是管理简化你只需要登录一个管理 IP就能看到所有成员设备的状态不用逐台 SSH。对中小型网络来说堆叠是比“两台独立设备 VRRP 双上行”成本更低、效果更好的冗余方案。1.2 华为 iStack 与其它厂商堆叠的差异点华为的 iStack 和 H3C 的 IRFIntelligent Resilient Framework思路类似但细节差异要特别注意。华为盒式交换机一般用专用堆叠口如 S5700 的后面板 Stack 口或 10GE/25GE 高速口来做堆叠链路H3C 则更多依赖普通业务口IRF 物理成员口绑定。配置习惯上华为用stack命令体系H3C 用irf命令体系别混着记。另外华为不同系列对堆叠规格差异很大S5700 系列常用 11一主一备或 21 堆叠S6700 系列支持 22 环形堆叠框式交换机S12700 等的集群CSS又是另一个概念。配置前一定先确认你手上型号的规格表别拿框式 CSS 的配置思路套盒式 iStack。2. 堆叠形态与硬件准备选错等于白干2.1 先分清链形和环形拓扑华为盒式交换机堆叠支持两种物理拓扑链形和环形。链形就是 A 设备的堆叠口 1 连 B 设备的堆叠口 1B 设备的堆叠口 2 连 C 设备的堆叠口 2头尾不闭合。环形就是 A 的另一个堆叠口再连回 C 的堆叠口形成闭合回环。我的建议是能上环形就别用链形。链形拓扑一根堆叠线断了整个堆叠直接分裂环形拓扑断一根线只是从环形变链形业务不中断。代价是多用一个堆叠口和一根线。早期 S5700 可能只支持链形新的 V200R005 以上版本多数支持环形。配置前先display stack configuration看看当前软件版本支持的拓扑模式。2.2 堆叠口与线缆的匹配堆叠口分为两种一种是交换机后面板上的专用堆叠口比如 S5700-28X 的后面板有 2 个固定的 Stack 口这种口只能做堆叠不能当普通业务口用另一种是复用模式比如 S5730 系列可以通过命令把 10GE 口切换为堆叠口。这两种方式的线缆要求完全不同。专用堆叠口一般用堆叠专用线缆或者 SFP 万兆光模块光纤复用口则必须用高速线缆DAC/ACC 线缆长度通常 1m/3m/5m。千万注意手上有 SFP 模块和普通 LC 光纤也不能随便插堆叠口可以插但必须保证两端模块波长、速率一致性。实操中最省心的是直接买原厂堆叠线那种带“Stack”标识的线缆两端直接插专用堆叠口通电即识别不用调模块参数。如果是复用口得先确认端口速率和协商模式否则堆叠口会反复 Up/Down。2.3 堆叠成员的规划谁当主谁当备华为堆叠的主备选举优先级依次是启动顺序先启动优先→ 堆叠优先级Stack Priority默认 100→ MAC 地址大小小优先。这里有个新手容易踩的坑你以为设置了优先级高的设备就一定是主但如果你先给备机通电备机先启动完成它可能已经抢到主角色。所以规范的初始化流程是先规划好主备角色 → 先只给主设备通电配置 → 全部配置完成后再给备机通电加入。这样能保证主设备先启动稳定当选主。如果现场已经乱序启动可以在堆叠形成后执行stack视图下的master指定命令或者直接重启不想要的成员设备。2.4 硬件版本与软件版本一致性检查堆叠对版本一致性要求很高。不同版本的软件虽然也能堆叠但可能出现协议协商异常、业务口资源不一致等问题。我配置前一定会做两件事第一所有成员设备加载完全相同的系统软件版本用display version逐个核对第二确认 ESN 序列号范围内的硬件型号一致或兼容华为官方兼容列表里如果不包含你的型号组合最好别硬组。我见过一个真实案例一台 S5720-28X 和一台 S5720-52X 做堆叠52X 的接口资源和 28X 差异太大堆叠虽然起来了但部分接口索引错乱业务下发时总是找不到端口。最后拆堆叠单独用。所以组堆叠尽量同型号、同板卡、同版本别给自己找不痛快。3. 华为交换机堆叠配置实操全过程3.1 初始化配置前的基本准备先把每台设备恢复出厂或清空配置避免旧配置干扰。reset saved-configuration后重启或者直接进入system-view后用undo startup saved-configuration再重启也行。我的习惯是每台设备单独通电先确认单台能正常启动、Console 口能登录再做堆叠配置。对于管理 IP、设备名这些基础配置建议在堆叠形成之后再统一下发避免堆叠建立过程中 IP 冲突。当然如果你用的是 Console 口逐台配置先配上也无妨但一定要保证管理 IP 在堆叠完成前不冲突。3.2 成员设备槽位号与堆叠 ID 规划华为盒式交换机堆叠中每台成员设备有一个成员 IDMember ID对应逻辑槽位号。默认都是 0 或 1取决于是不是首次堆叠。改变成员 ID 的命令是system-view stack member 1 // 表示本机成员ID为1注意这个命令在部分版本中是stack member 0操作前一定看下当前版本参数。修改成员 ID 后设备配置里的接口编号会变化比如 GE0/0/1 变成 GE1/0/1这很正常别慌。规划建议主设备成员 ID 设为 1备设备设为 2如果有第三台就设为 3。这个编号会直接体现在堆叠端口标识中后续排错时看到接口编号就知道是哪台设备。3.3 配置堆叠域和保留 VLAN堆叠域Stack Domain用于区分不同的堆叠系统避免同一二层网络里多个堆叠互相干扰。默认域编号是 0保持默认也行但如果同机房多组堆叠建议给每组分不同域号。命令system-view stack domain 10还有一个坑是保留 VLAN。华为堆叠系统需要用保留 VLAN 来传输堆叠协商报文默认保留 4093一般不用改。但如果你之前手动创建 VLAN 或者把 VLAN4093 删了/用于业务堆叠协商会失败。检查命令display stack configuration这条命令能看见保留 VLAN、域编号、堆叠口绑定情况比翻配置快得多。3.4 配置堆叠端口绑定这是堆叠配置的最核心环节。先把物理堆叠口加入逻辑堆叠口。华为的逻辑堆叠口有两个Stack-Port 1 和 Stack-Port 2。对应命令如下interface stack-port 1 port member-group interface 10GE1/0/1注意S5700 专用堆叠口的物理接口编号是固定的比如后面板的 2 个堆叠口是 10GE1/0/1 和 10GE1/0/2其中 10GE1/0/1 缺省就是口1。如果是复用 10GE 口需要先执行port mode stack切换模式再绑定到 stack-portinterface 10GE1/0/3 port mode stack quit interface stack-port 2 port member-group interface 10GE1/0/3两台设备之间的连接规则是本端 stack-port 1 连对端 stack-port 1本端 stack-port 2 连对端 stack-port 2交叉连接的环型拓扑则是对端 stack-port 2。连错口会导致堆叠口无法协商。3.5 配置堆叠优先级和主备角色在堆叠系统视图下设置优先级数值越大越优先当选主设备stack stack priority 150我习惯给规划中的主设备设 150备设备保持默认 100。但这只是提高主设备当选概率并不能 100% 确保主备角色因为启动顺序才是第一优先级。所以配套操作是把主设备先配置好并先上电备机断电等主设备完全启动、堆叠口状态稳定后再给备机上电。如果你用的是stack视图下配置优先级注意不是全局视图别敲错了。不同版本stack子命令存在差异敲之前用?查看一下。3.6 配置堆叠系统的管理 IP堆叠形成后登录任意一个成员设备的 Console 口进入系统视图配置一个统一的 IPinterface Vlanif 10 ip address 192.168.1.10 255.255.255.0 quit这个 IP 加在堆叠系统上对外就是一个管理地址。此后 SSH、SNMP、网管平台都通过这个 IP 访问不需要再逐台登录。如果堆叠分裂这个管理 IP 会残留在其中一个成员上另一个成员会自动用备用的 MAC 地址和 IP 恢复这也是堆叠系统的设计预期别慌张。3.7 保存配置并完成堆叠建立配置完成后执行save保存然后重启所有成员设备。堆叠配置生效是在重启过程中完成的。当然也有部分配置可以在热环境下直接生效但稳妥起见我都是全部配置好再统一重启。save y reboot重启完成后登录管理 IP 或用 Console 口登录任意设备执行display stack会看到成员数量、角色、堆叠状态。再执行display stack topology可以看到堆叠拓扑连接关系环形还是链形、有没有成环。这两条命令是检查堆叠建成的黄金组合。4. 堆叠建立后的业务配置与验证要点4.1 跨设备链路聚合与流量负载均衡堆叠的最大价值在于可以把两台设备的物理口聚合成一个逻辑链路同时获得冗余和带宽。比如 A 设备的 GE1/0/1 和 B 设备的 GE2/0/1 聚合成 Eth-Trunk 1 上联核心interface eth-trunk 1 mode lacp-static trunkport interface GE1/0/1 trunkport interface GE2/0/1 quit这样即便一台设备宕机链路也不会断。流量会在两条物理链路间负载均衡。注意LACP 模式下两端必须都是 LACP 模式手工负载分担模式也可以但既然堆叠都做了我建议直接用 LACP 静态模式少一点手工维护的代价。跨设备聚合里有个容易忽略的细节聚合口下的成员端口必须来自不同成员设备否则堆叠冗余意义为零。配置后用display eth-trunk 1检查成员口是否分布在两个不同的成员 ID 上。4.2 堆叠系统上的 VLAN 与三层接口配置堆叠系统对外是一台设备VLAN 配置、VLANIF 三层接口、DHCP、ACL 等所有逻辑配置都只需配置一次。比如vlan batch 10 20 interface vlanif 10 ip address 192.168.10.254 255.255.255.0设备会自动同步到所有成员。这也是堆叠管理简化的重要体现。如果你发现配置下发后某些成员设备不同步优先检查堆叠状态是否异常比如堆叠分裂后各成员处于独立状态配置不再同步。4.3 堆叠分裂检测与 MAD 配置堆叠分裂是最危险的故障之一。如果堆叠线缆断开两台设备仍以堆叠逻辑状态运行各自持有相同的 IP 和 MAC业务出现 IP 冲突、MAC 漂移、环路广播风暴。华为盒式交换机通常用 MADMulti-Active Detection来检测分裂检测方式有直连检测和代理检测。我常用直连检测方式在堆叠系统上专门划分一个保留 VLAN比如 VLAN 4092创建 VLANIF再通过一根直连线缆将两台成员设备的检测口互联配置 MADinterface vlanif 4092 ip address 10.10.10.1 255.255.255.252 mad detect mode direct注意两条直连线必须从不同成员设备出且不要复用堆叠链路否则检测机制失效。MAD 配置是在堆叠系统视图下用mad detect mode direct来开启具体命令路径依赖版本。配完之后发生分裂检测方设备会进入 Recovery 状态所有业务口 Down从而避免双主冲突。4.4 堆叠状态检查的最佳实践顺序我的检查顺序是先display stack看成员的在线状况和角色再display stack topology看拓扑是否闭环接着display stack configuration看堆叠口绑定是否与物理连线一致最后display mad确认 MAD 检测链路和状态。一套下来 30 秒内就能定位大部分堆叠问题。如果display stack中状态是 Normal 且只有一个 Active 设备、一个 Standby 设备基本健康。如果出现多个 Active 或成员状态 Fault说明堆叠分裂或者有成员异常掉线。5. 我踩过的坑和排查实录5.1 堆叠口起不来链路反复 Up/Down现象物理线缆插好但display stack看不到成员端口日志里全是 Link Down/Up 抖动。排查思路第一步确认堆叠线缆是专用堆叠线还是普通光纤普通光纤的话检查两端光模块波长是否一致比如都是 850nm 多模或 1310nm 单模。第二步查端口有没有被切换成业务模式复用口默认可能是业务口必须执行port mode stack才能加入堆叠口。第三步看两端逻辑堆叠口编号是否错配A 的 stack-port 1 必须连 B 的 stack-port 1一旦连成 1 对 2协商必然失败。这是个老朋友踩过的问题最后查出来是其中一台设备的堆叠口被上一个工程师加过业务 VLAN配置里残留了 trunk 配置切换模式后旧配置没清干净导致端口异常。处理办法就是清配置、重启堆叠口模式相关配置不支持热改。5.2 堆叠起来了但跨设备聚合链路流量只走一边现象Eth-Trunk 成员口状态正常但通过display eth-trunk看到的负载分担不均衡流量基本压在一条链路上。排查后发现是哈希因子设置不合适。默认的负载分担是基于源目 MAC 的如果你的业务流量大多是单台服务器到多台客户端的模式源目 MAC 哈希的随机性不够。解决办法修改聚合口负载分担方式比如基于源目 IPinterface eth-trunk 1 load-balance src-dst-ip改完后再观察流量分布很多场景下会明显改善。如果还是不均再看两边是否存在速率不一致比如一边千兆一边万兆堆叠成员端口速率不一致也会导致哈希不均衡。5.3 配置同步异常备机上查不到配置现象主设备下发配置后备机display current-configuration里看不到对应配置或者业务表现异常。可能原因堆叠处于分裂状态主备已经失去同步。用display stack看一下成员数量如果显示只有一台在线基本就是分裂了。查看 MAD 状态Recovery 状态设备的所有业务口都会 Down这是正常的保护动作恢复堆叠链路后设备会自动回归堆叠系统。另一个原因是早期版本存在已知 Bug配置同步会有延迟或丢失。建议将堆叠系统软件升级到稳定版本升级过程按华为推荐的顺序做先备后主逐台升级。所有成员版本不一致时堆叠不一定协商成功所以升级前一定先备份配置。5.4 堆叠分裂后的恢复处理步骤假设堆叠已经分裂两台设备都处于 Active 状态。恢复步骤1. 登录其中一台设备确认当前堆叠状态寻找故障点堆叠口 Down。 2. 恢复物理链路换线、换光模块、重新插紧。 3. 等待两台设备重新协商堆叠观察 display stack 成员数量恢复。 4. 如果 MAD 检测生效Recovery 设备会自动重启并回归堆叠。 5. 如果设备没有自动恢复手动重启分裂后处于 Recovery 状态的成员设备。注意不要同时登录两台设备做配置容易两边同时改配置导致冲突。先确认主备角色再在 Active 主设备上操作。5.5 升级与替换成员设备的注意点堆叠升级我建议按“备机→主机”的顺序逐个升级。如果直接重启主设备堆叠会中断业务会丢包不符合“平滑升级”的预期。具体做法1. 通过 display stack 确认当前主备角色。 2. 先升级 Standby 设备将该设备与堆叠系统断开维护操作前先通知业务窗口。 3. 升级完成后重新加入堆叠等待同步。 4. 再执行主备倒换stack 视图下的 slave switchover 或手动重启主设备让原备机成为主。 5. 再升级原主设备完成后恢复主备状态。替换成员设备也是一样逻辑先把新设备按成员 ID 和版本要求准备好断电替换故障设备上电之后应该能自动加入堆叠。如果新设备无法加入检查版本号、成员 ID 是否唯一、堆叠口配置是否下发成功。6. 一些可以加速落地的经验清单事项建议原因型号一致性同型号、同批次优先不同型号接口资源和版本差异大软件版本统一最新稳定版堆叠协议和业务特性一致堆叠拓扑能环形不链形环形抗单点断裂故障主备优先级主设备 150备设备 100提高主设备当选概率启动顺序主设备先上电启动顺序是选举第一优先级保留 VLAN保持默认 4093 不占用堆叠协商依赖保留 VLANMAD 检测务必配置防止堆叠分裂后双主冲突跨设备聚合成员口分布在不同设备真正实现冗余和负载均衡配置保存堆叠配置完成后 save 再重启堆叠建立依赖重启生效业务割接提前做堆叠分裂演练故障时不会手忙脚乱配置完堆叠别急着收工花十分钟做一次故障演练手动拔掉一根堆叠线观察设备是否进入分裂检测流程、业务是否中断再插回线缆确认自动恢复。这一步虽然在项目交付时往往被忽略但真正遇到故障时它决定了你是在机房喝着咖啡等恢复还是满头大汗翻手册。另外提醒一下display stack输出里的Stack Port 1/2状态以及display stack topology里每台成员设备的邻居关系是日常巡检最该盯的两个点。把这两条命令加进你的巡检脚本比什么都管用。我个人的经验是堆叠配置最大的难点从来不是敲命令而是规划和细节拓扑选型、线缆匹配、启动顺序、版本一致性任何一个环节疏忽堆叠要么起不来要么起来了留下隐患。把这套流程沉淀成标准操作清单任何一台华为盒式交换机到手半小时内堆叠就能稳稳落地。
返回列表