简介:面向现网核心交换机升级改造场景,这份H3C S6520系列IRF2堆叠实战资料为网络运维工程师提供了不断网配置的完整思路与操作指引。该文档以现网实战为背景,尤其适合核心交换机流量接近瓶颈、需要横向扩容的园区网或数据中心场景。资料聚焦两台S6520-26Q-SI设备在不中断现有业务的前提下完成堆叠,涵盖成员编号、优先级、堆叠口绑定、BFD分裂检测等关键配置,并对配置前规划、业务中断预案和失败恢复步骤给出实用建议;同时强调使用万兆或四十兆堆叠链路时速率与线缆匹配,以及命令行相比Web配置更精确的原因。压缩包内为一个PDF文档,大小约395KB,便于快速查阅,目前已有1267人学习。文档整理了完整的Device A与Device B双侧配置示例,包括irf-port 1/2与2/1对接规则、端口shutdown/undo shutdown时序、保存激活及主备竞选机制,适合正在规划核心交换机堆叠或因扩容需要提升转发能力的工程师直接对照落地。
1. 现网做堆叠,难的不是配置是节奏
两台 H3C S6520 核心交换机各自跑着业务,想把它们做成一套堆叠,统一管理、跨设备做链路聚合,又怕现网环境下一通操作把整网搞断。这件事的命令其实不难,网上随便翻翻文档都有,真正麻烦的是操作顺序:哪台先改编号、哪台先重启、堆叠线什么时候插、MAD 检测配在哪个口。顺序错了,轻则从设备反复重启,重则堆叠分裂让业务出现双活。这篇就按现网实战的节奏来讲,先规划再敲命令,把每次重启的业务影响压到最低。
2. IRF 选型与物理规划:先想清楚再敲命令
2.1 为什么选 IRF 而不是继续用 VRRP
很多现网核心原本是两台 S6520 跑 VRRP 做主备,或者靠 STP 断掉冗余链路避免环路。这种架构能用,但有个天然问题:两台设备是两套独立控制面,转发表各自维护,主备切换要等 VRRP 或 STP 收敛,秒级中断在核心交换机上很难接受。IRF(Intelligent Resilient Framework)是把两台 S6520 虚拟成一台逻辑设备,控制面统一,转发表项一致,跨成员做链路聚合后,任何一台故障或者链路断了,流量直接从另一台转发,业务侧基本无感知。
选 IRF 还有一个实际好处:管理 IP、SNMP、日志服务器、ACL 这些配置只在主设备上维护一份,不用像 VRRP 那样两台设备反复同步。但 IRF 的代价是引入了堆叠分裂这个新故障域,如果 MAD 检测没配或者配错,裂开后两台设备同时抢业务,比 VRRP 切换失败还难查。所以选 IRF 的前提是:你愿意把一部分精力花在 MAD 检测和堆叠链路监控上。如果团队对堆叠不熟,业务又不能接受任何波动,老老实实继续用 VRRP 反而更稳。
2.2 S6520 堆叠前的成员编号与物理连线规划
S6520 是 Comware 7 平台,IRF 的成员编号默认是 1,单台跑的时候大家都没感觉,但两台要合并,必须把其中一台改成 2,否则编号冲突,从设备会在加入堆叠时反复重启。优先级也是同样道理:主设备优先级调高,比如priority 5,从设备保持默认 1,避免两台设备在启动顺序相同的情况下靠 MAC 随机选主。另外要留意,成员编号在renumber之后必须重启才生效,这是现网操作里最容易忽略的一步。
物理连线要先于堆叠配置考虑。IRF-Port1 和 IRF-Port2 要组成环状:设备 A 的 IRF-Port1 连接设备 B 的 IRF-Port2,设备 A 的 IRF-Port2 连接设备 B 的 IRF-Port1。这样即使一根堆叠线断了,另一根还能维持堆叠状态,只是从双链路变成单链路,不会直接分裂。S6520 的堆叠口通常用最后几个万兆 SFP+ 口,比如 48 口机型用 Ten-GigabitEthernet1/0/49 和 1/0/50,24 口机型对应 1/0/23 和 1/0/24,具体以你手里设备的display interface brief输出为准。堆叠线建议优先使用原厂万兆堆叠线缆或适配的万兆光模块,千兆模块插上去速率协商不上,物理口根本起不来。
| 规划项 | 主设备(Master) | 从设备(Member) |
|---|---|---|
| 成员编号 | 1 | 2 |
| 优先级 | 5 | 1 |
| IRF-Port1 绑定物理口 | 如 Ten-GigabitEthernet1/0/49 | 如 Ten-GigabitEthernet2/0/50 |
| IRF-Port2 绑定物理口 | 如 Ten-GigabitEthernet1/0/50 | 如 Ten-GigabitEthernet2/0/49 |
| MAD 检测方式 | BFD MAD,独立 VLAN | BFD MAD,独立 VLAN |
优先级数值越大越优先,这里只是示例,具体范围以设备手册为准。min 上面这张表定下来之后,配置只是把表翻译成命令的事。
3. S6520 堆叠配置落地:编号、IRF-Port 与 MAD 检测
3.1 成员编号与优先级配置
先在从设备上修改成员编号。假设设备 B 当前单机运行,编号是 1,要改成 2:
system-view irf member 1 renumber 2renumber只是修改配置,不会立即生效,必须保存配置并重启后,设备 B 才会真正变成 member 2。这一步一定要单独做,并且确认display irf configuration里显示的信息是预期的编号,再继续下一步。主设备 A 上则配置优先级:
system-view irf member 1 priority 5这条命令在设备 A 上执行后立即生效,不需要重启。如果两台设备都已经在跑业务,建议先改从设备编号并安排重启窗口,主设备这边只动优先级,不重启,把业务影响面先控制住。这里有个细节:从设备 B 在重启前还是 member 1,此时如果先把 IRF-Port 绑定了,重启后这些 IRF-Port 会跟着新编号变成 2/1 和 2/2。理论上自动映射没问题,但我见过个别版本在这个环节出现 IRF-Port 编号和物理口绑定丢失的情况。稳妥做法是先让编号生效,再绑定 IRF-Port,多一次重启,但不赌自动映射。
3.2 IRF-Port 绑定与环状连接
编号生效后,在主设备 A 上绑定堆叠口:
system-view irf-port 1/1 port group interface Ten-GigabitEthernet1/0/49 quit irf-port 1/2 port group interface Ten-GigabitEthernet1/0/50 quit在从设备 B 上绑定对应物理口。注意 B 的接口编号现在是 2/0/x 开头:
system-view irf-port 2/1 port group interface Ten-GigabitEthernet2/0/50 quit irf-port 2/2 port group interface Ten-GigabitEthernet2/0/49 quit这里irf-port 2/1表示 member 2 的 IRF-Port1,绑定的物理口是 B 的 2/0/50。看到没有,A 的 IRF-Port1 绑的是 1/0/49,B 的 IRF-Port1 绑的是 2/0/50,物理口诀就是交叉连接。如果两台设备的 IRF-Port1 都接了同一侧的端口,堆叠协商会失败,物理层 up 但 IRF 层一直不合并。
绑定完成后先别急着插线。我习惯在两个堆叠物理口下先执行shutdown,保存配置,再把堆叠线插好,最后通过undo shutdown让 IRF 协商开始。这样做的原因是:如果线已经插好,端口处于 up 状态,一旦绑定配置下发,设备可能立即触发 IRF 协商合并,完全没有给你检查配置的缓冲时间。用 shutdown 把合并动作的触发点放在你手里,比让设备自己触发要可控得多。
3.3 MAD 检测:堆叠分裂的后悔药
IRF 最怕的是堆叠链路断开但两台设备都在运行,此时没有 MAD 检测,两台设备同时处理业务,MAC 表、ARP 表全部打架,网络会出现间歇性通断,极其难排查。BFD MAD 是现网最常见的做法,占用一个独立物理口和独立 VLAN:
vlan 4092 description BFD-MAD-VLAN quit在两台设备的专用 MAD 口下做相同配置,比如都用各自的最后一个万兆口:
interface Ten-GigabitEthernet1/0/51 port link-mode bridge port access vlan 4092 stp disable mad bfd enable mad ip address 10.1.1.1 24 member 1 quit从设备 B 上相同编号的接口:
interface Ten-GigabitEthernet2/0/51 port link-mode bridge port access vlan 4092 stp disable mad bfd enable mad ip address 10.1.1.2 24 member 2 quit最后在系统视图下开启:
irf mad enable这里有几个关键点。MAD 检测口必须用独立的 VLAN,不能跟业务 VLAN 混在一起,否则 BFD 报文会被业务广播干扰,出现误检测。stp disable是为了避免 MAD VLAN 参与生成树计算,因为这台设备本身已经在一个逻辑堆叠里了。mad ip address的地址不需要真实路由可达,它只是给 BFD MAD 提供一个成员标识,两端必须配置不同地址,掩码建议统一用 24 位,避免某些版本对掩码不匹配报错。irf mad enable是全局开关,必须在堆叠建立前后都确认存在,否则前面配的 MAD 口不会真正生效。
3.4 合并前检查
堆叠线插好并undo shutdown之后,先做一轮检查再考虑后续操作。display irf configuration可以查看两台设备的成员编号、优先级和 IRF-Port 绑定关系;display irf topology能看到拓扑是否形成环。如果 topology 里只有一台设备,说明物理链路没起或者 IRF-Port 接反了,先别继续,回到 3.2 检查绑定和线序。display mad verbose则确认 MAD 检测配置已经生效。这三条命令在现网操作里比任何配置都值钱,因为堆叠合并的过程往往伴随设备重启,等重启完再发现问题,排查成本高一个量级。
4. 不断网的关键操作:合并顺序与跨设备链路聚合
4.1 业务影响面先说清楚
"不断网配置堆叠"这个说法在现网里要打折理解。严格意义上,从单机切换成堆叠,从设备必然要经历一次重启,重启期间从设备上的业务端口全部 down,这是物理上的硬损耗,靠配置绕不开。我们能做到的是:把业务影响控制在几秒到几十秒的可接受范围,并且让主设备全程不重启,保证主链路上的业务不掉线。所以操作前先盘一下两台 S6520 上各挂了什么业务,哪些是主设备承载,哪些是从设备承载。从设备上如果接了重要的服务器或者办公网网关,要么提前把流量切到主设备,要么把操作窗口放在业务低峰期。这不是技术问题,是风险管理问题。
4.2 推荐的合并顺序:先主后从,从设备最后一次重启
实际操作顺序按下面这个节奏走。第一步,主设备 A 上配置好优先级,从设备 B 上配置好renumber 2并重启,让 B 以 member 2 的身份独立运行。第二步,在 A 和 B 上分别配置 IRF-Port 绑定和 MAD 检测,确认配置无误后把堆叠线插好,堆叠物理口保持 shutdown。第三步,先undo shutdown主设备 A 的堆叠口,再undo shutdown从设备 B 的堆叠口。这时 A 和 B 开始协商,优先级高的 A 成为 Master,B 会自动重启并加入堆叠。B 的第二次重启是整个过程中最后一次业务中断,之后 IRF 就稳定了。
<B> system-view [B] irf member 1 renumber 2 [B] save force [B] rebootB 重启完成并确认是 member 2 后,再进行堆叠口上线操作。这里把save force单独提出来,是因为如果不保存,B 重启后有可能回滚到 member 1,前功尽弃。
4.3 跨设备链路聚合:让流量在合并期间有路可走
如果从设备 B 上确实存在关键业务流量,又不想在 B 重启期间断掉,必须在堆叠之前先把 B 的上行或下行链路改成跨设备链路聚合。这个前提是两台交换机之间要先形成堆叠,聚合组才能横跨两台成员设备。所以标准打法分两步:先接受 B 的一次短暂重启完成编号变更,然后在堆叠建立后立刻配置跨设备聚合,把原来单挂在 B 上的链路吸进聚合组。聚合配置如下:
interface Bridge-Aggregation1 link-aggregation mode dynamic quit interface Ten-GigabitEthernet1/0/1 port link-mode bridge port link-aggregation group 1 quit interface Ten-GigabitEthernet2/0/1 port link-mode bridge port link-aggregation group 1 quit这个聚合组把 A 的 1/0/1 和 B 的 2/0/1 聚合成一条逻辑链路,对端交换机或服务器看到的是一个聚合口。B 重启时,聚合组里 B 那个成员端口 down,流量全部从 A 的成员口转发,业务不中断。等 B 重启完成加入堆叠,聚合口自动恢复两个成员。
配置聚合时要注意两端协商模式一致,建议都用动态 LACP,避免静态聚合在成员设备重启期间出现状态不一致。如果对端是服务器,服务器网卡也要配置对应的 bond 模式。这个环节最容易翻车的是对端设备没做聚合对接,只把两根线分别插在两个口上,堆叠一建立,STP 或环路就直接出来了。
4.4 中断窗口估算
按上面的顺序,从设备 B 总共重启两次:一次是renumber生效,一次是堆叠合并。主设备 A 全程不重启。如果 B 上没有直接挂关键业务,或者关键业务已经通过跨设备聚合切换到 A,整个过程中断时间就是 B 两次重启的时间,加起来一到两分钟。如果把这两次重启都安排在维护窗口,这个窗口时间绰绰有余,但建议把第一次renumber重启和第二次堆叠合并重启之间留出足够的时间来检查配置,不要赶在同一个窗口里连续做,否则出错时没有回退机会。我一般会第一天先做编号变更,第二天再插线合并,中间隔一个晚上,用巡检确认设备状态稳定。
5. 避坑:现网堆叠最容易翻车的五个点
5.1 成员编号冲突导致从设备反复重启
现象:堆叠线插好后,从设备一直在重启,起来后显示 standalone,过一会儿又重启,循环反复。
原因:从设备没有提前执行irf member 1 renumber 2,或者执行了但没重启生效,两台设备都以 member 1 身份尝试合并,系统无法区分谁是谁。
解决:在从设备上单独执行irf member 1 renumber 2,save force后重启,确认display irf里显示的是 member 2,再插堆叠线。如果已经插了线,先把线拔掉或 shutdown 堆叠物理口,等编号生效后再接。
5.2 IRF-Port 接反而协商不上
现象:物理口是 up 的,但display irf topology只有一台设备,另一台始终是 standalone,IRF 合并不成功。
原因:IRF-Port 物理连线不是环状。比如 A 的 IRF-Port1 接了 B 的 IRF-Port1,A 的 IRF-Port2 接了 B 的 IRF-Port2,这种对应连接方式不能形成 IRF 环。
解决:按交叉方式重新接线或调整绑定关系。A 的 IRF-Port1 必须对端是 B 的 IRF-Port2,A 的 IRF-Port2 对端是 B 的 IRF-Port1。改完之后用display irf topology确认拓扑图里出现了环形结构。
5.3 MAD 检测漏配,堆叠分裂后业务双活
现象:某天堆叠链路闪断,但两台设备都没宕机,网络出现大量 ARP 冲突、MAC 漂移告警,业务时通时断,排查很久才发现两台设备各自在处理流量。
原因:IRF 分裂后没有 MAD 检测机制,两台 S6520 都认为自己是 Master,都在转发业务报文,形成了事实上的双活。
解决:每台成员设备上必须配置 BFD MAD,使用独立 VLAN 和独立物理口,并确认irf mad enable已全局开启。分裂恢复后堆叠会自动合并,但如果 MAD 没配,这个分裂就会演变成重大故障。这个坑是堆叠事故里后果最严重的,没有之一。
5.4 堆叠后接口编号变化,脚本和监控全部失效
现象:堆叠配置完成后,原本监控平台里记录的是 A 设备的 Ten-GigabitEthernet1/0/10,现在流量还在,但这个接口在设备上已经不存在了,告警刷屏。
原因:堆叠建立后,从设备 B 的接口编号整体变成 2/0/x,所有依赖物理端口号的脚本、网管平台、导出配置都失效。
解决:在配置堆叠前,把所有涉及物理接口编号的脚本和监控项梳理一遍,用逻辑名或聚合口替代物理口。比如监控端口流量就监控 Bridge-Aggregation 口而不是物理口,这样堆叠后监控不用改。已经踩了坑的话,只能把脚本里的接口前缀从 1/0/ 批量改成 2/0/,但这不是长久之计。
5.5 堆叠口用了千兆模块,物理口一直 down
现象:堆叠口绑定了物理口,线也插了,但端口始终是 down,display link看不到光模块信息。
原因:S6520 的堆叠口是万兆口,有人为了省成本插了千兆 SFP 模块,速率协商不匹配,物理层直接起不来。
解决:换用万兆 SFP+ 模块或原厂堆叠线缆。堆叠口不建议混用兼容模块,IRF 链路对报文时延和一致性要求比普通业务口高,非原厂模块在高温或长距离场景下偶尔会出现误码,导致堆叠链路闪断。堆叠这事上省模块钱,最后大概率在故障处理上还回去。
6. 验证与快速回退:堆叠不是配完就结束
堆叠建立后的第一件事不是看业务,而是跑一轮完整验证。display irf确认两台成员设备的角色和状态,Master 的优先级应该高于 Slave;display mad verbose确认 MAD 检测状态是 Enabled。然后跨设备聚合验证:display link-aggregation verbose,看聚合组成员是不是分布在 1/0/x 和 2/0/x 两个成员上,每个成员的选中状态是否正常。如果有跨设备聚合,随便拔掉一台设备的堆叠口,业务不应该中断,这才算真正达到了堆叠的预期效果。这个过程建议在维护窗口做一次,不要等故障了才验证。
快速回退方案也要提前写在纸上。如果堆叠合并后出现异常,回退的节奏是:先把从设备 B 的堆叠物理口shutdown,让堆叠分裂成两台独立设备,MAD 会将 B 的业务口全部关闭,然后登录 B 的 console 口,在 B 上把 IRF-Port 绑定删除,保存配置重启,B 就恢复成独立设备。A 这边同理删除 IRF-Port 即可。这里最关键的教训是:回退操作要在堆叠物理口 shutdown 之后做,不要带着堆叠配置直接拔线。另一次我图省事,直接拔堆叠线,结果 MAD 把两台设备的业务口全给关了,整网瘫了十几分钟,比不堆叠还惨。从那以后,每次堆叠维护前,我都会把回退步骤打印出来贴在现场,每步命令提前写好,不临场发挥。堆叠这种操作,验证和回退才是真正的技术含量,希望帮到你。
本文还有配套的精品资源,点击获取