M-LAG【根桥方式】

1.M-LAG不是有单向隔离机制天然防环吗,为什么还要使用STP?

答:因为M-LAG设备下面不是只接服务器,也不是和所有下联设备组成M-LAG,和没有组成M-LAG的设备可能会造成环路。

2.为什么要关闭peer-link接口的生成树计算?

答:关闭peer-link口的生成树计算是因为如果开着这两个接口,那么两个设备之间收到的BPDU都是自己的,交换机会认为产生了自环,所以将其中的一个peer-link链路进行阻塞,这就导致了peer-link不能正常去同步数据。

3.为什么要把M-LAG设备做成根桥?

答:如果把其他设备当做根桥,就可能把M-LAG设备上的成员接口进行阻塞,那就没办法实现双活了。(其他设备可能不是M-LAG的成员设备,只是接到了下面而已)

4.把M-LAG设备做成根桥,那阻塞了下面服务器的上联接口,不是也会导致没法实现双活吗?

答:并不会阻塞服务器的上联口,因为服务器和M-LAG设备做了M-LAG的,接口也绑定了ETH-TRUNK。M-LAG设备的STP优先级和MAC地址也完全相同,所以STP会认为上面一台LEAF设备直接连接了下面的服务器,并不会把链路阻塞掉。

5.配置脚本
[S1]
1.配置一样的STP优先级和MAC地址
stp root primary
stp bridge-address 39-39-39

2.配置DFS-GROUP组
dfs-group 1
 source ip 10.1.1.1 peer 10.1.1.2
 dual-active detection enhanced enable //二次增强功能
 priority 150

3.配置peer-link接口,并关闭STP计算
interface eth-trunk 0
 trunkport 10ge1/0/5
 trunkport 10ge1/0/6
 undo stp enable
 mode lacp-static
 peer-link 1

4.配置管理口地址
interface meth 0/0/0
 ip address 10.1.1.1 24
#
vlan batch 11

5.配置下联服务器接口
interface eth-trunk 1
 trunkport 10ge 1/0/3
 trunkport 10ge 1/0/4
 stp edged-port enable

6.配置下联ETH-TRUNK为成员口
interface eth-trunk 1
 mode lacp-dynamic
 port link-type access
 port default vlan 11
 dfs-group 1 m-lag 1
[S2]
1.配置一样的STP优先级和MAC地址
stp root primary
stp bridge-address 39-39-39

2.配置DFS-GROUP组
dfs-group 1
 source ip 10.1.1.2 peer 10.1.1.1
 dual-active detection enhanced enable
 priority 120

3.配置peer-link接口,并关闭STP计算
interface eth-trunk 0
 trunkport 10ge1/0/5
 trunkport 10ge1/0/6
 undo stp enable
 mode lacp-static
 peer-link 1

4.配置管理口地址
interface meth 0/0/0
 ip address 10.1.1.2 24
#
vlan batch 11

5.配置下联服务器接口
interface eth-trunk 1
 trunkport 10ge 1/0/3
 trunkport 10ge 1/0/4
 stp edged-port enable

6.配置下联ETH-TRUNK为成员口
interface eth-trunk 1
 mode lacp-dynamic
 port link-type access
 port default vlan 11
 dfs-group 1 m-lag 1
6.状态查看

通过以上显示信息可以看到,“Heart beat state”的状态是“OK”,表明心跳状态正常;SwitchA作为Node 1,优先级为150,“State”的状态是“Master”;SwitchB作为Node 2,优先级为120,“State”的状态是“Backup”。同时“Causation”的状态是“-”,Node 1的“Port State”状态为“Up”,Node 2的“Port State”状态为“Up”,且Node 1和Node 2的M-LAG状态均为“active”,表明M-LAG的配置正确。

7.实现双活网关

第一种方法:在M-LAG主备设备上面同时设置相同的IP地址和MAC地址作为下游设备的网关。

第二种方法:使用VRRP实现双活网关,peer-link默认拒绝VRRP的报文通过,这时候主备VRRP都不会收到对方的VRRP报文,所以不会进行VRRP主备协商,将VRRP的主备交换机的虚拟地址配置一样,主备设备无法选举主从,都认为自己是主设备,所以也实现了双活网关。

### M-LAG 技术原理 M-LAG 是一种跨设备链路聚合技术,能够将两台物理交换机虚拟化为一台逻辑设备来工作[^4]。通过这种方式,它实现了链路可靠性的提升,从单板级别的保护扩展到了整个设备层面的冗余设计。 在实际部署中,M-LAG 的核心功能依赖于两个主要组件:**Peer Link** 和 **控制协议**。其中 Peer Link 负责连接两台参与 M-LAG 配置的交换机,而控制协议则负责同步两端的状态信息(如优先级、系统 MAC 地址等)。如果 Peer Link 出现故障,则可能会导致 M-LAG 主现象的发生,进而引发流量异常情况[^2]。 ### 实现方式 为了确保高可用性和数据一致性,在正常运行状态下: - 当某个 M-LAG 成员接口状态变为 Up 后,此接口会被指定为主角色;与此同时,其对应另一侧的同名成员接口将成为备用角色[^3]。 - 如果发生切换事件——例如原本处于动状态的一方因故离线并随后重新上线时,默认情况下不会触发回切操作。这意味着即使原主节点恢复正常运作之后,之前接管工作的次级单元将继续维持现有职责不变,直到管理员手动干预或者特定条件满足为止。 另外值得注意的是 V-STP 协议目前仅适用于基于 M-LAG 构建网络环境之中,并且特别适合处理涉及多个层次间相互链接以及非情形下的需求[^1]。 ```python # Python 示例代码展示如何模拟简单的主备选举过程 class MLagInterface: def __init__(self, name): self.name = name self.state = 'down' def change_state(self, new_state): if new_state == 'up': print(f"{self.name} changed to UP state.") return True elif new_state == 'down': print(f"{self.name} changed to DOWN state.") return False def elect_primary(interfaces): for interface in interfaces: if interface.change_state('up'): primary_interface = interface break for other_iface in set(interfaces) - {primary_interface}: other_iface.change_state('standby') ifaces = [MLagInterface("IF0"), MLagInterface("IF1")] elect_primary(ifaces) ``` 上述脚本简单演示了一个假设场景中的主备选择流程。在这个例子里面我们定义了一类名为 `MLagInterface` 的对象用来表示各个可能成为候选者的端口实体们;接着创建函数去执行比较逻辑找出第一个成功转变为激模式的那个实例作为最终胜者,其余竞争失败者都将调整至待命姿态。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ICT大龙

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值