草庐IT

浅析M-lag技术(后附华为交换机配置命令)

Sevel7 2023-10-27 原文

M-lag技术

M-lag的定义

M-lag(Multichassis Link Aggregation Group),即跨设备链路聚合组,是一种实现跨设备链路聚合的机制。其将一台设备与另外两台设备进行跨设备链路聚合,从而把链路可靠性从单板级提升到设备级,组成双活系统。

流量正常转发模型:

(1)服务器侧上行的流量,基于流负载分担到两台M-LAG设备上;
(2)流量转发到M-LAG 的成员设备,不管是上
行还是下行,都是本地优先转发;
(3)广播流量经过peerlink,peer-link 与双归的M-LAG 成员口单向隔离(peer-link进的流量不可以从M-LAG 相应的成员口出)。

流量故障转发模型:

(1)M-LAG 成员口故障后, 支持放开Peer-link与另一侧成员口的隔离,让流量可以绕行;
(2)peer-link故障后,支持联动备设备上所有物理口Down,只保证主设备可以正常转发;
(3)单台设备掉电,正常设备继续转发报文。

M-lag涉及的概念

DFS Group

动态交换服务组,用于部署M-lag设备之间的配对,M-lag双归设备之间的接口状态、表项等信息需要依赖DFS Group协议进行同步。

  • DFS Group角色分为主备,
    正常情况下主设备和备设备同时进行业务流量转发,转发行为无区别。仅在故障场景下,主设备的行为会有差别。

peer link链路

  • 用于交换协商报文及传输部分流量。
  • 用于两设备之间直连,
  • 必须进行链路聚合(就算只有一条)
  • 接口配置为peer-link接口后,该接口上不能在配置其他业务。

双主检测链路

  • 三层互通链路
  • 用于M-lag主备设备间发送双主检测报文
  • 正常情况下,双主检测链路不会参与M-lag的任何转发行为,只在DFS Group配对失败或者peer-link故障情况下,检查是否出现双主情况。
  • 只要通过IP网络能互通,就能作为双主检测链路

M-lag成员接口

M-lag主备设备上连接用户侧主机(或交换设备)的Eth-trunk接口。
推荐链路聚合配置为LACP模式(增加可靠性)
成员接口角色也分主备

M-lag配置

1、配置MAD的VPN实例
#
ip vpn-instance MAD
ipv4-family

int eth-trunk 100
undo portswitch 
ip binding vpn-instance MAD
ip add 1.1.1.1 30

##
ip vpn-instance MAD
ipv4-family

int eth-trunk 100
undo portswitch 
ip binding vpn-instance MAD
ip add 1.1.1.2 30

2、配置STP生成树协议
#
sysname ZWWW_CE16808_B201-N01_4U-1 		设备命名
stp instance 0 root primary		设置根桥
stp v-stp enable		使用v-stp
stp mode rstp		设定模式为rstp快速生成树协议


##
sysname ZWWW_CE16808_B201-N01_4U-1 		设备命名
stp instance 0 root primary		设置根桥
stp v-stp enable		使用v-stp
stp mode rstp		设定模式为rstp快速生成树协议

3、配置DFS group
#
dfs-group 1		创建DFS-group
priority 150	设置优先级
source ip 1.1.1.1 vpn-instance MAD		设置双主检测链路

##
dfs-group 1		
priority 120	
source ip 1.1.1.2 vpn-instance MAD		

4、配置peer-link
#
int eth-trunk 0
mode lacp-static 		配置Eth-Trunk的工作模式为LACP模式。
trunkport 100GE 1/1/0/35	//增加成员接口
trunkport 100ge 1/2/0/35
mode lacp-static		//聚合模式LACP
peer-link 1		配置接口为peer-link接口
port vlan exclude 1		禁止vlan1防止环路

##
int eth-trunk 0
mode lacp-static 		配置Eth-Trunk的工作模式为LACP模式。
trunkport 100GE 2/1/0/35	//增加成员接口
trunkport 100ge 2/2/0/35
mode lacp-static		//聚合模式LACP
peer-link 1		配置接口为peer-link接口
port vlan exclude 1		禁止vlan1防止环路

5、配置M-lag成员接口
#
int eth-trunk 101
dfs-group 1 m-lag 1

int eth-trunk 102
dfs-group 1 m-lag 2

##
int eth-trunk 101
dfs-group 1 m-lag 1

int eth-trunk 102
dfs-group 1 m-lag 2

检测命令

在两台交换机上
<>display dfs-group 1 m-lag
<>display dfs-group 1 m-lag brief

通过以上显示信息可以看到,“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的配置正确。

有关浅析M-lag技术(后附华为交换机配置命令)的更多相关文章

  1. ruby - 在 Ruby 中编写命令行实用程序 - 2

    我想用ruby​​编写一个小的命令行实用程序并将其作为gem分发。我知道安装后,Guard、Sass和Thor等某些gem可以从命令行自行运行。为了让gem像二进制文件一样可用,我需要在我的gemspec中指定什么。 最佳答案 Gem::Specification.newdo|s|...s.executable='name_of_executable'...endhttp://docs.rubygems.org/read/chapter/20 关于ruby-在Ruby中编写命令行实用程序

  2. 华为OD机试用Python实现 -【明明的随机数】 2023Q1A - 2

    华为OD机试题本篇题目:明明的随机数题目输入描述输出描述:示例1输入输出说明代码编写思路最近更新的博客华为od2023|什么是华为od,od薪资待遇,od机试题清单华为OD机试真题大全,用Python解华为机试题|机试宝典【华为OD机试】全流程解析+经验分享,题型分享,防作弊指南华为o

  3. 华为常用命令 - 2

    system-view进入系统视图quit退到系统视图sysname交换机命名vlan20创建vlan(进入vlan20)displayvlan显示vlanundovlan20删除vlan20displayvlan20显示vlan里的端口20Interfacee1/0/24进入端口24portlink-typeaccessvlan20把当前端口放入vlan20undoporte1/0/10删除当前VLAN端口10displaycurrent-configuration显示当前配置02配置交换机支持TELNETinterfacevlan1进入VLAN1ipaddress192.168.3.100

  4. Unity 热更新技术 | (三) Lua语言基本介绍及下载安装 - 2

    ?博客主页:https://xiaoy.blog.csdn.net?本文由呆呆敲代码的小Y原创,首发于CSDN??学习专栏推荐:Unity系统学习专栏?游戏制作专栏推荐:游戏制作?Unity实战100例专栏推荐:Unity实战100例教程?欢迎点赞?收藏⭐留言?如有错误敬请指正!?未来很长,值得我们全力奔赴更美好的生活✨------------------❤️分割线❤️-------------------------

  5. ruby-on-rails - rbenv:从 RVM 移动到 rbenv 后,在 Jenkins 执行 shell 中找不到命令 - 2

    我从Ubuntu服务器上的RVM转移到rbenv。当我使用RVM时,使用bundle没有问题。转移到rbenv后,我在Jenkins的执行shell中收到“找不到命令”错误。我内爆并删除了RVM,并从~/.bashrc'中删除了所有与RVM相关的行。使用后我仍然收到此错误:rvmimploderm~/.rvm-rfrm~/.rvmrcgeminstallbundlerecho'exportPATH="$HOME/.rbenv/bin:$PATH"'>>~/.bashrcecho'eval"$(rbenvinit-)"'>>~/.bashrc.~/.bashrcrbenvversions

  6. MIMO-OFDM无线通信技术及MATLAB实现(1)无线信道:传播和衰落 - 2

     MIMO技术的优缺点优点通过下面三个增益来总体概括:阵列增益。阵列增益是指由于接收机通过对接收信号的相干合并而活得的平均SNR的提高。在发射机不知道信道信息的情况下,MIMO系统可以获得的阵列增益与接收天线数成正比复用增益。在采用空间复用方案的MIMO系统中,可以获得复用增益,即信道容量成倍增加。信道容量的增加与min(Nt,Nr)成正比分集增益。在采用空间分集方案的MIMO系统中,可以获得分集增益,即可靠性性能的改善。分集增益用独立衰落支路数来描述,即分集指数。在使用了空时编码的MIMO系统中,由于接收天线或发射天线之间的间距较远,可认为它们各自的大尺度衰落是相互独立的,因此分布式MIMO

  7. ruby - 从 Ruby : capturing the output while displaying the output? 运行 shell 命令 - 2

    我有一个问题。我想从另一个ruby​​脚本运行一个ruby​​脚本并捕获它的输出信息,同时让它也输出到屏幕。亚军#!/usr/bin/envrubyprint"Enteryourpassword:"password=gets.chompputs"Hereisyourpassword:#{password}"我运行的脚本文件:开始.rboutput=`runner`putsoutput.match(/Hereisyour(password:.*)/).captures[0].to_s正如您在此处看到的那样,存在问题。在start.rb的第一行,屏幕是空的。我在运行程序中看不到“输入您的密

  8. ruby - 是否有将图像文件转换为 ASCII 艺术的命令行程序或库? - 2

    有这样的事吗?我想在Ruby程序中使用它。 最佳答案 试试这个http://csl.sublevel3.org/jp2a/此外,Imagemagick可能还有一些东西 关于ruby-是否有将图像文件转换为ASCII艺术的命令行程序或库?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/6510445/

  9. ruby - 在 Ruby 的 if 语句中检查 bash 命令 - 2

    如何在Ruby的if语句中检查bash命令的返回值(true/false)。我想要这样的东西,if("/usr/bin/fswscell>/dev/null2>&1")has_afs="true"elsehas_afs="false"end它会提示以下错误含义,它总是返回true。(irb):5:warning:stringliteralincondition正确的语法是什么?更新:/usr/bin/fswscell寻找afs安装和运行状态。它会抛出这样的字符串,Thisworkstationbelongstocell如果afs没有运行,命令以状态1退出 最

  10. ruby - 可以正常中断的来自 Rake 的长时间运行的 shell 命令? - 2

    在几个项目中,我希望有一个类似rakeserver的rake任务,它将通过任何需要的方式开始为该应用程序提供服务。这是一个示例:task:serverdo%x{bundleexecrackup-p1234}end这行得通,但是当我准备停止它时,按Ctrl+c并没有正常关闭;它中断了Rake任务本身,它说rakeaborted!并给出堆栈跟踪。在某些情况下,我必须执行Ctrl+c两次。我可能可以用Signal.trap写一些东西来更优雅地中断它。有没有更简单的方法? 最佳答案 trap('SIGINT'){puts"Yourmessa

随机推荐