ARTICLE DETAIL

资讯详情

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

H3C 7606拆堆叠:IRF成员恢复独立运行配置详解

H3C 7606拆堆叠:IRF成员恢复独立运行配置详解 前几天有朋友问我H3C 7606 上想把其中一台成员设备从 IRF 虚拟化环境里拆出来单独跑一个业务但一直不敢动怕操作不当把两台都搞挂。这个需求在现网里其实很常见——项目拆分、硬件利旧、故障域隔离都需要把一台设备从 IRF 模式恢复成独立运行模式。我这几年前前后后处理过不少次类似操作今天就以 H3C 7606 为例把完整的配置步骤、验证方法和踩过的坑都讲清楚。不管你是刚接触 Comware 的新人还是已经在机房里摸爬滚打多年的老工程师这份配置举例都能给你一条安全可落地的操作路径。1. IRF 拆分前的场景判断与风险意识1.1 什么情况下才需要拆 IRF 成员很多人一看“成员设备恢复独立运行模式”下意识就以为是执行一条命令、设备重启就完事了。实际上拆 IRF 是一个拓扑变更动作操作前必须想清楚到底是不是真的要拆拆了之后网络架构会有什么变化需要拆的常见场景大致有这几类业务归属调整原来两台设备组成 IRF 统一承载业务后来因为项目拆分、部门分离需要把其中一台独立出来跑独立业务管理边界要划清。设备搬迁与利旧一台设备要搬到新机房单独使用不能继续和旧机房的设备保持堆叠关系。故障设备隔离IRF 中某台成员设备频繁故障反复引起整个集群震荡需要把问题成员踢出去让它先独立运行并做进一步诊断。架构平滑演进从虚拟化大集群回退到物理独立设备缩小故障域避免单点问题扩散到整个 IRF。不需要拆的情况也有比如你只是觉得主设备负载高想调整角色那用irf member id priority调整优先级就行不必拆或者只是想做版本升级IRF 本身就支持成员设备分批重启也不需要拆开。判断清楚了再动手。拆分之后原来基于 IRF 的跨设备链路聚合比如分布式聚合接口、跨设备转发、统一管理 IP 等能力都会消失。如果现网业务对链路冗余有硬性要求拆完必须自己重新设计冗余方案否则会直接影响可用性。1.2 拆分前置检查清单动手前先看这几项我不止一次见过有人上来就敲irf member 2 delete结果成员编号写错把正在承载业务的主设备给删了。虽然命令本身有确认提示但如果不做前置检查风险完全不可控。所以我把自己的前置检查流程整理成了一张清单每次操作前至少过一遍检查项命令确认目标IRF 成员拓扑display irf确认成员编号、角色、优先级当前设备带*号IRF 端口绑定display irf configuration确认每台成员设备的 IRF 物理端口绑定关系业务端口分布display interface brief确认哪些端口运行在目标成员设备上是否有跨成员聚合口管理通道检查 Console 线是否能直连成员设备拆分后远程管理 IP 可能失效必须能本地登录配置备份backup startup-configuration或 TFTP/FTP 导出确认配置文件和版本文件都已备份变更窗口确认业务低峰期和变更窗口删除成员会导致目标设备重启也可能引起短时流量抖动检查时尤其要关注跨成员聚合口。如果业务服务器的双线上联分别接到了成员 1 和成员 2 上那么拆掉成员 2 之后这台服务器实际只剩单线上联必须提前把聚合链路里的成员端口撤掉或者把业务流量切到其他链路。这类问题不提前处理拆完必出事故。2. 核心原理H3C7606 上 IRF 成员删除与配置生效的机制2.1 IRF 虚拟化基本框架成员编号、主备角色与 IRF 端口先简单捋一下 IRF 的工作机制。IRFIntelligent Resilient Framework智能弹性架构通过堆叠链路把多台物理设备组合成一个逻辑设备。每台物理设备在 IRF 里有一个唯一的成员编号Member ID同时有一个角色——Master 主设备和 Standby 备设备。整个 IRF 对外呈现为一个管理面主设备负责管理全局配置备设备同步配置并转发业务报文。H3C 7606 这类设备上成员之间通过专用的 IRF 端口互联。IRF 端口是逻辑端口需要把物理接口绑定进去比如[H3C7606] irf-port 1/1 [H3C7606-irf-port1/1] port group interface Ten-GigabitEthernet1/0/1这里的1/1表示成员 1 的 1 号 IRF 端口物理接口Ten-GigabitEthernet1/0/1是承载堆叠报文的物理链路。理解了这套机制再来看“从 IRF 恢复独立运行”就清晰了本质上是把某台成员设备从逻辑设备中摘除让它重新以独立物理设备的身份启动和运行。2.2 删除成员命令究竟做了什么在 IRF 主设备上执行irf member id delete系统会做这几件事从当前 IRF 的成员拓扑表中移除指定成员编号停止向该成员同步全局配置通知目标成员设备执行重启目标成员设备重启时不再参与 IRF 拓扑协商默认以独立设备方式启动。需要注意的是这个过程会清除目标设备上与 IRF 相关的配置记录但不会自动帮你清理物理端口上的 IRF 绑定关系。如果该设备的配置文件里还残留 IRF 端口配置而且堆叠物理链路仍然和对端设备连接它启动后仍有可能再次触发 IRF 协商甚至重新加入原来的 IRF。这就是为什么很多人在删除成员之后发现设备又“自己加回去了”的根本原因。2.3 为什么不能直接拔线断电了事有人觉得干脆把堆叠线一拔设备断电重启不就从 IRF 里出来了吗千万别这么干。直接拔掉堆叠链路会让 IRF 分裂Split两台设备会同时认为自己是 Master各自继续使用相同的虚拟 MAC 和 IP 地址对外提供服务。这在二层网络里会造成 MAC 地址漂移和 IP 地址冲突业务会瞬间全乱甚至比拆机之前更严重。IRF 分裂后设备之间没有通信通道也没办法自动收敛角色必须人工介入处理。而通过命令删除成员主设备会先完成拓扑解耦再让成员安全重启整个过程是可控的。所以说拆分操作必须走命令流程不能靠物理断链来“硬拆”。3. 完整配置举例从 IRF 中剥离一台成员设备的操作步骤3.1 场景设定与配置备份我以最常见的场景举例两台 H3C 7606 组成 IRF成员 1 是主设备成员 2 是备设备现在要把成员 2 拆出来独立运行。假设两台设备的 Console 口都可用成员 1 的管理地址可以远程登录成员 2 拆分后需要重新配置管理 IP。第一步永远都是备份。虽然删成员命令执行的是 IRF 拓扑变更但实际操作中我见过成员设备重启后部分本地配置被重置的情况所以配置备份不能省。可以在成员 2 上通过 TFTP 把启动配置导出来H3C7606-B tftp 192.168.1.100 put flash:/startup.cfg 7606B-startup.cfg如果支持backup命令也可以H3C7606-B backup startup-configuration to 192.168.1.100:/7606B-startup-backup.cfg同时把软件版本文件也备份一份。H3C 设备型号和版本文件搞混的话恢复会很麻烦这一步不要偷懒。3.2 在主设备上执行成员删除确认业务流量已经不再依赖成员 2 之后登录到主设备成员 1 上执行H3C7606-A system-view [H3C7606-A] irf member 2 delete Warning: The member 2 will be deleted from the IRF. Continue? [Y/N]:y系统提示确认后输入y回车。正常情况下成员 2 会自动开始重启。此时在成员 1 上可以观察日志或者再次执行display irf确认成员 2 已经从拓扑中消失。这里有一个细节如果成员 2 当前是 Standby 角色删除操作会比较顺利如果成员 2 因为某种异常已经脱离了 IRF主设备上执行删除可能会提示成员不存在这时要回到排错章节的方法处理。3.3 成员设备独立启动后的残留清理等成员 2 重启完成立刻用 Console 线登录。先看 IRF 状态H3C7606-B display irf Member Role Priority CPU-Mac Description *1 Master 32 00e0-fc00-0002 Member 1如果输出只有一个成员而且带*号说明它已经以独立设备角色启动了。此时再检查 IRF 配置残留H3C7606-B display irf configuration如果发现 IRF 端口配置里还有物理端口绑定需要手动删除逻辑 IRF 端口。比如成员编号现在是 1原来绑定的 IRF 端口可能是1/1和1/2H3C7606-B system-view [H3C7606-B] undo irf-port 1/1 [H3C7606-B] undo irf-port 1/2执行后可以用display irf configuration再查一次确认 IRF 端口绑定列表为空。如果物理接口之前被设置为 IRF 专用口还需要到物理接口视图下执行恢复普通数据端口的操作不同版本命令略有差异常见的是undo port irf。这一步很多人会漏掉漏掉的结果就是设备重启后又尝试和对端协商堆叠。3.4 配置独立运行的管理地址与必要参数清理完 IRF 残留接下来是让这台设备能独立管理。IRF 模式下所有成员共享一个管理 IP拆出来的成员 2 自然没有独立管理地址。通过 Console 登录后创建一个管理 VLAN 和三层接口或者直接给已有业务 VLAN 配置 IPH3C7606-B system-view [H3C7606-B] vlan 10 [H3C7606-B-vlan10] port GigabitEthernet1/0/1 [H3C7606-B-vlan10] quit [H3C7606-B] interface Vlan-interface 10 [H3C7606-B-Vlan-interface10] ip address 192.168.10.2 255.255.255.0 [H3C7606-B-Vlan-interface10] quit如果有默认路由需要配置也要一并补上。配置完成后记得保存H3C7606-B save force保存后建议再用display current-configuration或者display irf快速检查一遍确认 IRF 相关配置不再出现管理地址已经生效。3.5 主设备侧的状态确认成员 2 拆出去后原来的主设备成员 1 也要确认状态。登录成员 1执行H3C7606-A display irf Member Role Priority CPU-Mac Description *1 Master 32 00e0-fc00-0001 Member 1如果只剩一个成员说明 IRF 已经转换为单成员设备运行集群概念自动退化为独立设备。到这里拆分操作的主流程就完成了。4. 验证结果与常见排错4.1 用 display 命令验证独立运行状态验证拆分结果核心看三组命令display irf、display irf topology、display device。命令独立模式的正常输出特征display irf只显示一台成员且带*号角色为 Masterdisplay irf topology拓扑图中只有本设备display device设备列表中只有本机且状态为正常如果在成员 2 上执行display irf时仍然出现两个成员说明删除没有彻底生效需要往下查。4.2 问题一重启后设备又自动回到了 IRF这是我见过最多的坑。删除成员命令执行后成员设备重启起来之后又和对端设备协商成堆叠了。原因通常是两种一种是堆叠物理链路没有断开设备启动时会自动尝试 IRF 协商另一种是配置文件里 IRF 端口绑定没有清理干净。处理办法先把两台设备之间的堆叠物理线缆断开然后在成员设备上重新清理 IRF 端口配置执行undo irf-port并保存再重启一次。重启后不要急着把堆叠线插回去先确认display irf已经只剩一台设备再考虑后续操作。4.3 问题二删成员命令报错或者主设备无响应执行irf member 2 delete时如果提示Member 2 does not exist说明当前 IRF 里根本没有成员编号 2。最常见的原因是搞混了当前登录的设备不是主设备或者成员编号已经改变。先执行display irf看清楚当前设备的*号和完整成员列表再操作。还有一种更麻烦的情况IRF 已经处于分裂状态成员 1 和成员 2 各自为政主设备上查不到对端成员。这时候不要强行执行删除因为分裂状态下可能同时存在两个主设备任意一方操作都会放大问题。先恢复 IRF 聚合或者通过 Console 登录到目标设备单独处理。4.4 问题三独立启动后配置丢失IRF 的配置是主设备统一管理的成员设备上的很多全局配置并不完整地保存在本地。删除成员后目标设备以独立模式启动可能会出现端口属性和业务配置丢失的情况这是虚拟化设备拆分后的正常现象但也说明操作前的备份有多么重要。如果发现配置丢了可以利用之前备份的启动配置文件做恢复提取。但一定要把文件里的 IRF 相关配置段落先清理掉否则恢复后设备又会自动进入堆叠协商流程。我把这个操作写成一个建议恢复配置前先备份原文件再删除irf member、irf-port相关配置最后再导入。5. 我的实战习惯与进一步建议5.1 操作顺序的铁律备份、查拓扑、删成员、清理、验证整套流程跑下来我的固定顺序是这样备份配置文件和版本软件执行display irf、display irf configuration确认拓扑和 IRF 端口确认业务流量已不依赖目标成员在主设备上执行irf member id delete目标成员重启后断开堆叠物理链路清理irf-port残留配置配置独立管理地址、路由等参数保存配置并验证display irf、display device。每一步都做记录尤其是命令的输出结果方便出问题时回看。现场操作时控制台全程在线不要依赖远程管理因为拆分过程中远程会话极有可能中断。5.2 多台设备批量拆分时的注意事项如果你要拆的不止一台而是多台设备从同一个 IRF 里全部退出不要图省事一口气全删。IRF 的拓扑协商有依赖关系一次性删多台可能导致剩余设备反复重启。我的做法是一台一台来删一台验证一台确认网络平稳后再拆下一台。同时每拆完一台记得在剩余主设备上保存一次配置。因为拓扑变化后的配置如果没有及时保存主设备下一次重启时可能会加载旧拓扑记录到时候还会尝试和对端协商。5.3 最后一个实用小技巧提前用 display irf configuration 摸底在正式动手之前一定要在每台成员设备上执行display irf configuration把 IRF 端口绑定关系记录下来。这个输出能告诉你哪几个物理端口绑到了哪个 IRF 端口后续清理时不会漏。我遇到过有人在设备上翻遍了配置文件也没找到 IRF 绑定就是因为display current-configuration默认不显示某些运行配置而display irf configuration是查 IRF 专项配置最直接的手段。另外如果拆出来的设备之后还要再和其他设备组建新的 IRF建议保留好原来的 IRF 端口绑定关系至少要知道哪些物理端口曾经用于堆叠。别等到组建新堆叠时才发现端口被误改成了普通业务口来回折腾。H3C 7606 从 IRF 模式恢复独立运行模式并没有想象中那么可怕。只要提前做好备份、理清成员关系、按顺序执行删除和清理整个过程可以做到对现网业务影响最小。希望这篇配置举例能帮你少踩几个坑操作的时候心里更有底。
返回列表