你让PVE主机成为了一个“交换机”,在物理网络(A/B交换机)和虚拟网络(PVE网桥)之间,形成了一个STP无法有效管理的环路。
, K8 }4 [! l! E j2 ]) ?1 m) F, O
" F/ v; o( I- U) g% B5 e虽然你在交换机端口上启用了portfast,但这在连接“交换机”(PVE主机)的端口上配置本身就不符合规范,并且spanning-tree guard loop default这类环路保护机制会加剧端口的震荡
/ ]; ~0 L7 o5 `' Z' `5 h$ f6 z' G( M: G3 y
物理环路:你的PVE主机通过两个物理网口,分别连接到了A和B两台交换机。这意味着,从交换机A发出的数据包,可以通过PVE主机内部的虚拟网桥(vmbr),再从另一个物理口转发到交换机B。这在物理网络上构成了一条潜在的环路。
& W0 c5 g$ m* g' e1 e
; B3 ~ x. w! P& a- S- V$ USTP的局限:虽然交换机和PVE网桥都支持STP,但portfast的设计初衷是用于连接终端的端口,它会跳过STP的侦听和学习阶段,直接进入转发状态。当它被用在连接另一台“交换机”(PVE主机)的端口上时,会暂时“蒙蔽”STP,让环路在瞬间形成。! Q+ |5 H0 `9 {; ~5 h, i4 P" a
) V% b# S/ Z8 H. B7 i( B: `/ N* @# ?保护机制冲突:你交换机上配置的spanning-tree guard loop default,正是为了防止这种因配置错误导致的环路。当它检测到潜在的环路风险时,会主动将端口置于“不一致”或“阻塞”状态,从而引发端口状态的频繁震荡
; y* u3 j' Z+ I% \; t9 o9 O$ Y
# O# Y9 w8 t7 p$ f6 f* k解决方案
. x# F p* E4 G ]! }! a3 Y解决思路是:让物理交换机和PVE虚拟网桥协同工作,消除环路,或者让环路对STP“透明”。& |% F2 l0 y0 b/ u' E) d
0 e6 A( V$ b$ r' [. C% n
方案一:使用LACP(最推荐)' r/ u, q2 }9 Z( s( u k
这是最标准、最稳定的做法。让A/B两台交换机通过LACP(链路聚合控制协议)组成一个聚合组(Port-channel),然后PVE主机的双网卡也以LACP模式(bond mode 4)绑定,再接入这个聚合组。9 [, p( P+ {( Z3 z: o- | p
9 @" ?& b! R1 d/ U& Z原理:LACP会将两条物理链路逻辑上捆绑成一条。从STP的角度看,这只是一个连接,环路被消除了,自然就不会再有震荡。: Y2 O" ~" O) A1 L
9 ~6 U$ n6 R, [# @: v+ }+ }前提:你的A/B两台交换机需要支持跨设备的链路聚合(MLAG/vPC等虚拟集群技术),或者两台交换机本身通过堆叠线缆虚拟成一台设备。
9 Q0 x8 \( W2 ~) Q
! E( Q2 L" t; x! {- |方案二:Active-Backup模式(次推荐), M' H$ X0 h# X" ^" {
如果交换机不支持上述高级功能,可以使用PVE绑定的active-backup模式(mode 1)。. e% q, \9 t+ E4 ]- D. n0 |
0 z/ ?1 g, K7 G5 l* n, a& l原理:在任何时刻,只有一条链路是激活(Active)的,另一条作为备份(Backup)。物理网络上永远只有一条路径,环路被彻底消除。
' G7 s$ S( A# `/ g% h. @* N6 Y1 _* ^: Q c
操作:在PVE的/etc/network/interfaces中配置bond0时,指定bond-mode active-backup。3 o' p& m) j8 \) |5 I
! p- p6 k- t8 ]. u9 E0 {
注意:这个方案实现了链路冗余,但无法实现带宽叠加。8 |, [9 _7 \8 b
* S9 Q4 \! H, J# S3 ]
排查建议
: k4 Y& _) L# x/ b在调整配置前,建议你先检查PVE网桥的STP状态,以及bonding模式是否正确生效。 }5 R, P* N @) C! H$ Q
+ ]% Q6 X+ C5 p问题,根本原因是STP的保护机制(guard loop)正确识别并阻止了由portfast配置不当所暴露出的网络环路风险。. m# r5 g$ K0 w: T4 S
) y2 ?+ C2 o1 @& t
解决根本:通过LACP或Active-Backup模式消除物理环路。, L- W- F; z' d
0 E0 G/ c* U- ~2 c: D; n% |修正配置:如果是连接PVE这类“交换机”的端口,应移除portfast配置
% V7 ^) U% C- r& c( ]4 ]2 M3 E( Q n- F* p
建议优先考虑方案一(LACP)。如果硬件不支持,方案二(Active-Backup)是兼顾安全与冗余的最佳选择。 |