查看: 142|回复: 2

实验案例:华为 S6730H 三机 iStack 堆叠

452

主题

1005

回帖

3054万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
30548563

推广达人宣传达人突出贡献优秀版主论坛元老

QQ

实验案例:华为 S6730H 三机 iStack 堆叠(环形堆叠 / 跨框 Eth-Trunk / LACP MAD)

活样本:IaC/s6700-istack/ —— 6 节点 / 7 链路 / 7 filter,topology.yml 与启动配置都在 Git 里,随时可重新 deploy。
一键复验:常规 node tools/s6700-istack-verify.js;链路故障 --links-only(F1/F4,F4 恢复链路后不保证自动合并,可能要把整个 lab stop/start);完整 --fault 含两次整机重启,受本环境控制台/agent 假死影响,不保证单次全绿。
平台:EVE-NG + eve-iac agent 0.9.1,create 模式;镜像是华为 S6730H-V2 V600R025C10SPC500(huaweis6700-V600R025C10SPC500-EmulatedLab-v1.2,QEMU)。

完整预配与 IaC 文件见 §10 附件包;第 5 节只列核心行。

upload 附件:s6700-istack.zip

641cd60e08b57ca50592978213a6bcc2.png

0. 实测结果

项 实测结果
堆叠成员 3 成员,domain 10;member 4 Master(priority 150)、member 3 Standby(100)、member 2 Slave(120)
堆叠拓扑 Stack Topology Type: Ring,6 个堆叠口全部 up,每个成员的邻居正好是另外两台
堆叠协议 每个堆叠口 Hello / Detect 收发均 > 0,收发计数基本对称(display stack-port statistics,diagnose 视图)
跨框 Eth-Trunk 堆叠侧 2/2 Selected(GE2/0/1 + GE4/0/3,分属 member 2 与 4);ACC1 侧 2/2 Selected
LACP 对端 ACC1 两个成员口看到的 Partner System ID 都是堆叠系统 MAC
数据面 PC1↔PC2 双向 5/5;PC→ACC1 Vlanif 5/5;PC→堆叠 Vlanif 5/5
双主检测 堆叠侧 Eth-Trunk1 用 dual-active detect mode relay 登记 relay 检测口,ACC1 用 dual-active proxy 使能代理;display dual-active 为 Normal,两个成员口 up (Physical) / up (Protocol),PeerDomain 10
验收脚本 常规42 项:40 PASS / 0 FAIL / 2 SKIP(2 个 SKIP 都是当时 Slave(SW2)的控制台不可用、改用 Standby(SW3)视图核对;2026-11-04 恢复后复跑仍为 40/0/2);链路故障 --links-only(F1+F4)60 项:53 PASS / 3 FAIL / 4 SKIP——这轮故障是在 ACC1 的 MAD 命令配错、relay 未生效时跑的,改成 dual-active proxy 后未重跑整套 --links-only(F4 已按 §7.1 手工复测),3 个 FAIL 的原始数据见 §7.1 下方说明;完整 --fault(含 F2/F3 两次整机重启)受模拟器控制台假死/agent 假死影响,未拿到单次全绿汇总,实测证据按场景分列

1. 这个实验解决什么

iStack 把多台物理交换机变成一台逻辑设备。文档里最容易混淆的三件事:

  1. 链路 up ≠ 入栈——堆叠口物理 up,协议 Hello 也未必能互通;
  2. 堆叠口 up ≠ 环形成——只有每台的两个堆叠口都看到邻居,拓扑才是 Ring,否则是链形(Link);
  3. 堆叠形成 ≠ 配置同步完成——刚合栈时 master 会向 slave 同步配置,这期间写命令会被拒绝。

这个实验把这几层拆开验证,并额外加了两件真实组网里必做的事:

  • 跨框链路聚合:接入交换机 ACC1 的两条上行分别落在堆叠的 member 2 和 member 4 上,逻辑上是一条 Eth-Trunk;
  • LACP MAD:ACC1 作为中间代理设备(dual-active proxy),在堆叠分裂时把 MAD 信息转给两个分区。

适用读者:准备用华为交换机做堆叠实验、或者在 EVE 里评估 huaweis6700 镜像堆叠能力的人。

2. 镜像与规格

节点 角色 EVE 模板 镜像 vCPU / RAM 网口
SW1 堆叠成员 4(Master) huaweis6700 huaweis6700-V600R025C10SPC500-EmulatedLab-v1.2 2 / 4096 MB GE1/0/1–GE1/0/10
SW2 堆叠成员 2(Slave) 同上 同上 2 / 4096 MB 同上
SW3 堆叠成员 3(Standby) 同上 同上 2 / 4096 MB 同上
ACC1 接入交换机 huaweis6700 同上 2 / 4096 MB 同上
PC1 / PC2 主机 vpcs EVE 自带 — eth0

注意事项:

  • attributes.ethernet: 11 = MEth0/0/0 + GE1/0/1–GE1/0/10,不是 11 个业务口。
  • 节点名必须纯 ASCII。中文名会让部署报 invalid_native_format 并静默删库。
  • 控制台密码 Test@123;空闲几分钟会退回 Password:。

3. 拓扑与地址

链路表:

# 设备 A 接口 设备 B 接口 用途
1 SW1 GE1/0/9 SW2 GE1/0/8 堆叠链路
2 SW2 GE1/0/10 SW3 GE1/0/9 堆叠链路
3 SW3 GE1/0/8 SW1 GE1/0/10 堆叠链路
4 ACC1 GE1/0/1 SW1 GE1/0/3 Eth-Trunk1 成员
5 ACC1 GE1/0/2 SW2 GE1/0/1 Eth-Trunk1 成员
6 PC1 eth0 SW1 GE1/0/2 接入 VLAN 10
7 PC2 eth0 SW2 GE1/0/2 接入 VLAN 10

s6700-istack-topology.png

topology.yml / EVE 画布里的接口名恒为 GE1/0/x;设备成栈后按 member ID 变成 GE4/0/x、GE2/0/x、GE3/0/x。上图标的是设备侧实际编号,配置时以 display stack 后的接口名为准。

堆叠编号与优先级:

设备 member ID 优先级 域 ID 首次成栈实测角色
SW1 4 150 10 Master
SW2 2 120 10 Slave
SW3 3 100 10 Standby

Master 选举依次看:启动状态(最先完成启动并进入单机运行的设备优先)→ 优先级 → 系统 MAC →(部分版本再看堆叠 ID);本实验三台一起拉起,实测 master 是 priority 150 的 member 4(与优先级一致)。已经运行的堆叠不会被后来加入的更高优先级设备抢占。Standby 优先选与 Master 的 Stack-Port n/1 相连的设备(受启动时间和堆叠口 up 时间影响,也可能选 n/2 方向),所以优先级第二高不一定是 Standby。本实验 member 3 正接在 member 4 的 Stack-Port 4/1 方向(GE4/0/10 ↔ GE3/0/8),因此 100 的 member 3 成为 Standby,而 120 的 member 2 是 Slave。

地址:

设备 接口 地址 说明
堆叠 Vlanif10 192.168.10.254/24 堆叠管理地址
ACC1 Vlanif10 192.168.10.253/24 接入网关
PC1 eth0 192.168.10.10/24,网关 .254
PC2 eth0 192.168.10.20/24,网关 .254

注意:ACC1↔SW1 的链路特意接成 GE1/0/1↔GE1/0/3,两端端口号不同。模拟器会把两端同一物理口号的堆叠链路当自环(见 §8),业务链路也按同样规则错开。

4. 关键设计

为什么是环形:三台两两相连,任意一条堆叠链路断开,拓扑降级为链形(Link),成员不分裂、转发不中断。链形堆叠断中间一条就会分裂成两个栈。

为什么 ACC1 双上行跨成员:跨框 Eth-Trunk 是堆叠最直接的价值——两条上行在逻辑上是一条链路,任意一台成员故障,LACP 把流量切到另一条,接入侧无感知。

为什么 LACP MAD 要中间设备:堆叠分裂成两个分区后,两个分区都认为自己是 master。LACP MAD 让两个分区通过中间交换机交换扩展 LACP 报文;优先级低的一侧输掉竞争,业务口被置为 Error-Down。ACC1 正好同时连着两个分区,是天然的 relay 设备。注意 Huawei 的 display dual-active 状态只有 Normal / Conflict / Initial:分裂时两侧都显示 Conflict,没有 H3C IRF 那种“一侧 Recovery、一侧 Normal”的字段。

为什么堆叠口分组是 1/2 而不是同一组:每台两个堆叠口分属 Stack-PortX/1 和 Stack-PortX/2,对应环的两个方向;同一组只能有一个成员口。

5. 核心配置

5.1 堆叠引导(每台一次,必须重启才生效)

以 SW1 为例(SW2/SW3 把 renumber 目标 ID 换成 2/3、priority 换成 120/100、端口换成各自的):

system-view
stack member 1 priority 150
stack member 1 domain 10
stack member 1 renumber 4
quit
save

三条命令里的 1 都是设备当前的 member ID(新设备出厂都是 1),不是目标 ID。renumber 只是登记新 ID,save 后整机重启才生效;重启后设备变成 member 4,接口名跟着变成 GE4/0/x。实际执行时 renumber 会弹一次 [Y/N] 确认。

重启后再配堆叠口:

system-view
interface Stack-Port4/1
 port member-group interface GE4/0/10
interface Stack-Port4/2
 port member-group interface GE4/0/9
quit
save

port member-group 每条会弹两次 [Y/N];undo port member-group 不弹确认、立即完成。三台都配完 save 后,三台一起整机重启,环才形成。

5.2 堆叠侧业务配置(在 master 上做)

vlan 10
interface Vlanif10
 ip address 192.168.10.254 24
interface Eth-Trunk1
 port link-type trunk
 port trunk allow-pass vlan 10
 mode lacp-static
 dual-active detect mode relay
 trunkport GE2/0/1
 trunkport GE4/0/3
interface GE2/0/2
 port link-type access
 port default vlan 10
interface GE4/0/2
 port link-type access
 port default vlan 10
return
save

5.3 ACC1

vlan 10
interface Vlanif10
 ip address 192.168.10.253 24
interface Eth-Trunk1
 trunkport GE1/0/1
 trunkport GE1/0/2
 mode lacp-static
 port link-type trunk
 port trunk allow-pass vlan 10
 dual-active proxy
return
save

关键点:两侧 Eth-Trunk 都要 mode lacp-static,但 MAD 命令不同——堆叠侧用 dual-active detect mode relay 指定 relay 检测口;中间设备 ACC1 用 dual-active proxy(部分版本为 mad relay)使能 DAD relay 代理功能。不能把堆叠侧的命令照搬到代理设备上。

6. 复现步骤

  1. 用 IaC 部署 lab(6 节点、7 链路),等所有节点 running。
  2. 按 §5.1 给三台交换机配 member/priority/domain,save,三台一起重启。
  3. 重启后配 Stack-PortX/1、Stack-PortX/2,save,三台再一起重启。
  4. 在 master 上确认 display stack 三成员齐全、display stack topology 是 Ring。
  5. 按 §5.2 配堆叠侧业务,按 §5.3 配 ACC1,两边 save。
  6. 跑 node tools/s6700-istack-verify.js(常规 42 项),再跑 --fault(含两次整机重启,约 35~45 分钟);时间紧时用 --links-only 只跑 F1/F4(约 10 分钟,但 F4 之后可能要把整个 lab stop/start 才能恢复三成员)。
  7. wipe 会清掉设备的堆叠配置,之后要重新走第 2~5 步。

堆叠配置不在 running-config 里,display current-configuration 只显示 stack 一行;要看真实堆叠配置用 display stack configuration。

7. 验收判据

脚本 tools/s6700-istack-verify.js 的判定分五组:

组 判据 反证 / 说明
STACK 三台看到同一组成员(2/3/4),优先级固定 150/120/100;角色分布是一主一备一从(具体谁当 Master 会随故障演练变化) 只看一台的 display stack 不成立;各可读成员的说法必须一致,且看到同一个 Master MAC
TOPO Ring;每个成员两个堆叠口 up 且邻居正好是另外两台 断一条链后应变成 Link(链形拓扑)而成员数仍是 3(F1);脚本同时接受 Link/Chain
PROTO 每个堆叠口 Hello/Detect 收发 > 0 接口计数不算堆叠报文,必须进 diagnose 视图看
LACP 堆叠侧 2/2 Selected 且成员分属两个 slot;ACC1 2/2 Selected;Partner System ID = 堆叠 MAC 单成员 Selected 不能证明跨框
DATA PC1↔PC2、PC→ACC1、PC→堆叠 Vlanif 全部 5/5 用唯一 -l 载荷计数,避免 VPCS 输出串台

7.1 故障场景(--fault)

场景 注入 判据
F1 断环 suspend SW2↔SW3 堆叠链路 拓扑 Ring→Link(华为对单路径的显示值,不是 Chain),成员数仍为 3;PC1→PC2、PC1→ACC1 仍 5/5;resume 后回到 Ring
F2 成员下线 stop SW2(非主成员) master 看到成员数降到 2;Eth-Trunk1 剩 1 个 Selected 仍转发;start 后重新入栈(成员数回 3)
F3 主备切换 先读真实 Master,再 stop 它 剩余成员中产生新 Master(由原Standby 接管,不是优先级第二的成员);PC2→ACC1 仍 5/5;start 后重新入栈
F4 堆叠分裂 同时断开 SW1 的两个堆叠口 对侧分区只剩 member 2/3 且有 Master;SW1 分区独立运行;两侧 display dual-active 均为 Conflict(Huawei 语义);按 stack priority 判胜负:SW1(150)胜,PC1→自己分区 Vlanif 5/5;对侧 master(100)败,PC2 输出 not reachable(业务口被 Error-Down);恢复链路后不保证自动合并——本次败方分区重载后 15 分钟仍未重新入栈,需整 lab stop/start

F4 的实测要点(2026-11-04 工作 MAD 下复测):分裂期间不能用 ACC1 探数据面——ACC1 的 Eth-Trunk 两个成员分别落在两个分区,LACP 看到两个不同的系统 ID,整条 trunk 会停转发;两个分区本身是活的(实测 2:Standby 3:Master 与 4:Master),所以改打各自分区的堆叠 Vlanif。Huawei 的 display dual-active 在分裂时两侧都显示 Conflict(不是一侧 Recovery),胜负只能从数据面看:SW1(priority 150)胜,PC1→.254 为 5/5;对侧 master(100)败,PC2 输出 host (192.168.10.254) not reachable。胜方的 relay 检测口先显示 up (Physical) / up (Protocol) / PeerDomain 10,约一个 LACP 超时后变成 up (Physical) / down (Protocol) / PeerDomain --——因为 ACC1 的 Eth-Trunk 同时看到两个系统 ID,这是 relay 代理在真实分裂下的副作用,不是 MAD 没生效。恢复链路后不会立刻合并:败方分区一侧会整机重载(串口出现 Set the next startup package successfully / [PKGM]syspkg_verify process end),但本次恢复链路后 15 分钟仍未重新入栈(PC2 始终 host not reachable,SW1 的 display stack 只剩 member 4),最后对整 lab 做 stop/start 才重新拉起。在这台模拟器上别把“接回链路”当成恢复手段:F4 之后要预留整 lab 重启的时间。

脚本不绑定固定读表源:每轮从当前存活成员里挑控制台可用的一台读成员表;F3 先读真实 Master 再停它(角色可能已被前面的演练改过),F4 分裂后两侧选举最多等 90 秒。断一条链后华为显示 Stack Topology Type: Link,本脚本同时接受 Link/Chain。

工作 MAD 下的分裂结论(2026-11-04):早期“MAD 下应有一侧进入 Recovery”的说法来自 H3C IRF,Huawei 命令参考没有这个取值,已作废。ACC1 改正为 dual-active proxy 后重新注入 F4:两侧 display dual-active 均为 Conflict,SW1 侧 PC1 5/5、对侧 PC2 not reachable;恢复链路后败方分区重载但 15 分钟内没有重新入栈,最终用整 lab stop/start 恢复。

F2/F3 的实测限制(如实记录):--fault 把 F1 放在最前,link_suspend 恢复后 agent 会假死 1~2 分钟,紧接着的 eve_iac_stop/start 连续失败(原始错误 Command failed,成员数一直 3),所以 F2 的“成员数降到 2”没有拿到单次成功记录;F3 的 stop 成功(stop n_1 requested)、剩余成员继续转发 5/5、start 后 count 回到 3,但“新 Master 在 120 秒内可读”受成员控制台假死影响没抓到;下一次运行开头的 display stack 显示 3:Master(原 Standby 接管),与预期一致。需要单次全绿时建议先跑 --links-only(F1/F4),再单独手工做 F3 的 stop/start,或把 F1 挪到最后。

7.2 Traffic Filters 面板该看到什么

Filter 表达式要点 预期
ARP-Request(红) arp[6:2] = 1 PC 首次 ping 前会亮,ARP 老化后再次 ping 会重新亮
ARP-Reply(绿) arp[6:2] = 2 与 Request 成对出现
ICMP-Request(蓝) icmp[0] == 8 每次 ping 亮 5 个
ICMP-Reply(黄) icmp[0] == 0 与 Request 成对
LACP(紫) ether proto 0x8809 持续低速闪烁(30s 一次,Slow 模式)
STP-BPDU(蓝灰) ether dst 01:80:c2:00:00:00 持续闪烁
ICMPv6-Neg(粉) icmp6 故意不亮:本实验没有 IPv6 流量,用来反证过滤器不是“见包就亮”

截图时如果想让 ARP 明显亮,先把 timeout 临时调到 2000ms,截完改回 500ms——注意改参数会清零面板计数。

8. 踩坑清单(按“会骗到你”的程度排序)

  1. 堆叠链路两端同一物理口号 = 自环。模拟器在 display stack troubleshooting current 里报:
    Stack-Port link invalid: The member ports of Stack-Port are connected to same Stack-Ports of the same device (PortName = GE4/0/10, PeerPortName = GE3/0/10)。
    症状是 SW1 的堆叠口 up、Hello 也在发,但永远入不了栈。把三条链路改成两端端口号都不同(9↔8、10↔9、8↔10)后一次成型。换 Stack-Port1/2 分组没用。
  2. 堆叠刚形成时写配置报 The system is busy in synchronizing configurations to the slave board。此时 system-view 能进,但 vlan / interface 全部被拒。在 master 上 save 一次(会依次写所有 slot)之后恢复。别在这段时间反复重试,也别以为命令不存在。
  3. 热插拔链路会让上行假死。运行中用 eve_iac_edit 改链路端点 + reconcile,ACC1 两条上行在交换机侧都变 down(对端还显示 up),LACP 收发都是 0。拓扑改了就走整机 stop/start,让链路在开机时重新接线;重启后 2/2 立刻 Selected。
  4. Master 按“启动状态 → 优先级 → MAC”选,Standby 按连接关系选:3 成员是 Master / Standby / Slave。Master 选举依次看启动状态(最先完成启动并进入单机运行的设备优先)→ 优先级 → 系统 MAC →(部分版本再看堆叠 ID);只有同时启动才比较优先级。已经运行的堆叠不会被后来加入的更高优先级设备抢占。本实验三台一起拉起,实测 150 的 member 4 当选(与优先级一致)。Master 选完后,优先选与 Master 的 Stack-Port n/1 相连的设备为 Standby(受启动时间和堆叠口 up 时间影响,也可能选 n/2 方向的设备),其余为 Slave。所以优先级第二高不一定是 Standby:首次成栈实测 member 4(150)= Master、member 3(100)= Standby、member 2(120)= Slave——member 3 正接在 member 4 的 Stack-Port 4/1 方向(GE4/0/10 ↔ GE3/0/8),符合规则。display stack 的 Priority 列只是配置值,角色直接读 Role 列。主设备下线后由 Standby 接管,原 Master 重新入栈也不会抢回:停掉 member 4 后实际是 member 3(原 Standby,100)成为 Master、member 2(120)仍是 Slave;故障演练后角色分布会与首次成栈不同,脚本只校验「一主一备一从 + 各视图一致」,不写死谁当 Master。
  5. 全栈 sysname 统一成 master 的,三台控制台提示符都是 <SW1>。验收脚本不能按节点名匹配提示符。
  6. display stack-port statistics 只在 diagnose 视图(system-view → diagnose → 命令 → quit ×2)。普通视图没有这条命令。
  7. port member-group 两次 Y/N,undo 零确认。批量脚本里给错步数会卡在确认问句。
  8. console_run 的 expect 只匹配本步新收到的字节;控制台空闲退回 Password: 后,先发空行诱出提示符,落在 Password: 就用 send_secret 重登。expect 是正则,[SW1] 要转义成 \[SW1\]。
  9. Slave 成员的控制台在本镜像里完全无输出(停在 Devma ... The board is registered 或 [PKGM]syspkg_verify process end.,回车无回显),但设备在栈里一切正常。遇到控制台“死”先看 display stack 确认角色——如果它是 Slave,这是本镜像的已知限制,不是配置;同一设备换成 Master/Standby 后控制台立刻可用,重启治不好(见 §9)。
  10. 把堆叠侧 MAD 命令配到代理设备上,会伪装成“模拟器不支持”:ACC1 配 dual-active detect mode relay 时命令被接受,但 display dual-active 一直 Initial、成员口 down(Protocol)、PeerDomain --;改成 dual-active proxy(部分版本 mad relay)后,同样两台设备立刻变成 Dual-active status: Normal、成员口 up (Physical) / up (Protocol)、PeerDomain 10。命令分工:堆叠侧 dual-active detect mode relay,代理设备 dual-active proxy。

9. 已知限制

  • LACP MAD relay 在分裂时的状态是 Conflict,不是 Recovery:早期把 ACC1 配成堆叠侧的 dual-active detect mode relay,display dual-active 停在 Initial,很容易误判为模拟器不支持;改成 dual-active proxy 后正常态为 Normal(成员口 up (Physical) / up (Protocol)、PeerDomain 10)。工作 MAD 下重新注入分裂,两侧都显示 Conflict;Huawei 命令参考的取值只有 Normal / Conflict / Initial,没有 H3C IRF 的 Recovery。
  • 分裂期间 ACC1 的 Eth-Trunk 会整体停转发:两个成员口分别落在两个独立栈上,LACP 对端变成两个不同的系统 ID,整条 trunk 会停转发;胜方的 relay 口也会在一个 LACP 超时后从 up/up 变成 down(Protocol)。这不是分区死了:胜方分区(本实验 SW1)的 PC1 打自己的堆叠 Vlanif 仍是 5/5,败方分区的 PC2 才是 not reachable(业务口被 MAD 置 Error-Down)。验证分区存活要打各自分区的堆叠 Vlanif。
  • 恢复分裂后不保证自动合并:两个独立栈重新接线后,败方分区会整机重载(串口出现 Set the next startup package successfully / [PKGM]syspkg_verify process end),但2026-11-04 这次 15 分钟仍未重新入栈(SW1 只剩 member 4、PC2 一直 not reachable);最终只能对整 lab 做 stop/start。别用“接回链路”当恢复手段,也别用几分钟判失败——直接预留整 lab 重启的时间。
  • 堆叠配置不随 running-config 保存;wipe 后必须重新引导(§6 第 7 步)。
  • 这台模拟器的 Slave 成员控制台不可用(跟着角色走,不是设备坏了):堆叠稳定后,Slave 的串口停在 Devma ... The board is registered(有时是 [PKGM]syspkg_verify process end.),敲回车没有 Password:;同一块设备换成 Master/Standby 后控制台立刻可读。四次角色互换的验收里,卡住的设备依次是 SW2、SW1、SW3、SW2——每次都正好是当时的 Slave,Master 和 Standby 都能读。本实验只把它作为该镜像的实测限制记录,不推断真机行为——真机上从 Slave 的 Console 能否登录,本环境无法验证。重启修不好:重新入栈后只要还是 Slave 就仍然卡。验收脚本因此不绑定固定读表源:Slave 的角色/优先级用 Master 或 Standby 的 display stack 视图交叉核对,读不到记 SKIP,不当配置故障。

10. 附录

10.1 附件

附件包 附件/s6700-istack.zip(265,293 字节,SHA-256 03a1786736f39f5a321a1886cb3c7813abdeacbd790b725353f2fdac72dc59f0)内含 topology.yml、.eve-iac.yml、逐台启动配置(configs/default/)、
手工堆叠引导步骤(stack-bootstrap.md)、拓扑图(topology.png)、文件说明与 SHA-256 表(README.md)。
验收脚本 tools/s6700-istack-verify.js 依赖本仓库的 tools/eve-mcp.js,随仓库提供,不放进压缩包。

10.2 关键命令速查

display stack                          # 成员、角色、优先级、MAC
display stack topology                 # Ring / Link(链形),每个堆叠口的邻居
display stack configuration            # 堆叠专用配置(不在 running-config)
display stack troubleshooting current  # 堆叠告警
system-view -> diagnose -> display stack-port statistics   # 堆叠报文收发
display eth-trunk 1                    # 成员口状态 + Partner System ID
display dual-active                    # MAD 模式、检测口、状态
display lacp statistics eth-trunk 1    # LACP 收发计数

10.3 版本记录

  • 2026-11-03:首次实测;3 成员环形堆叠 + 跨框 Eth-Trunk 通过。当时把堆叠侧命令配到了 ACC1 上,display dual-active 停在 Initial,误判为 relay 协议不协商。
  • 2026-11-04:修正 LACP MAD 命令分工(堆叠侧 dual-active detect mode relay,代理设备 ACC1 用 dual-active proxy/mad relay)——改正后 display dual-active 实测为 Normal,早前停在 Initial 是 ACC1 命令配错造成的误判;按官方规则重写 Standby 选举说明,统一 Link 写法;附件包补 README 与 SHA-256 表。
  • 2026-11-04(补测):工作 MAD 下重跑 F4 分裂——两侧 display dual-active 均为 Conflict(Huawei 取值只有 Normal/Conflict/Initial,没有 Recovery),SW1(priority 150)胜、PC1 5/5,对侧(priority 100)败、PC2 not reachable;胜方 relay 口在 LACP 超时后变成 down(Protocol)。旧稿“一侧 Recovery”结论作废。
  • 2026-11-04(恢复复测):F4 后仅接回两条堆叠链路,败方分区重载但 15 分钟仍未重新入栈(SW1 只剩 member 4、PC2 not reachable),最终整 lab stop/start 才恢复三成员(2 Slave / 3 Standby / 4 Master)。恢复后常规验收复跑 40 PASS / 0 FAIL / 2 SKIP;附件包按 MCP 回读重建,zip 265,293 字节、SHA-256 03a1786736f39f5a321a1886cb3c7813abdeacbd790b725353f2fdac72dc59f0。
  • 2026-11-04(更正):控制台不可用是 Slave 角色相关,不是“哪个成员重启就坏”。历史验收里卡住的设备依次是 SW2、SW1、SW3、SW2,每次都正好是当时的 Slave;同一设备换成 Master/Standby 后控制台立刻可读。这条只作为该镜像的实测限制记录,不推断真机行为(真机上从 Slave 的 Console 能否登录,本环境无法验证)。
不忘初心
回复

使用道具 举报

0

主题

109

回帖

2213

积分

高级会员

Rank: 4

积分
2213
发表于 6 天前 | 显示全部楼层

暖贴@。@

回复

使用道具 举报

0

主题

4

回帖

149

积分

新手上路

Rank: 1

积分
149
发表于 前天 13:25 | 显示全部楼层

好

回复

使用道具 举报

本版积分规则

Copyright   ©2015-2026  EmulatedLab  Powered by Discuz!©   ( 浙ICP备2021010423号-1 )
快速回复 返回列表 返回顶部