ARTICLE DETAIL

资讯详情

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

华为CE交换机级联M-LAG配置指南:跨设备链路聚合实现数据中心冗余

华为CE交换机级联M-LAG配置指南:跨设备链路聚合实现数据中心冗余 数据中心里最费钱的往往不是设备本身而是链路的可用性。服务器要双活的网卡交换机想双归到上联设备可传统STP一遇到环路就直接阻塞端口LACP链路聚合又只允许在一台设备上聚合端口——两个需求凑在一起就成了很多网络工程师头疼的事。华为数据中心交换机上的M-LAGMulti-Chassis Link Aggregation Group跨设备链路聚合组解决的就是这个核心矛盾让两台CE交换机在逻辑上“伪装”成一台对外提供统一的链路聚合端口对内通过peer-link同步状态和转发信息。这篇文章我打算直接展开一个最常见的部署形态——级联M-LAG也就是汇聚层一对CE做成M-LAG接入层另一对CE也做成M-LAG两层M-LAG级联起来承担整个数据中心的东西向和南北向流量。全文会包含我自己梳理的配置示例、验证命令和踩坑记录给正在规划或调试华为CE系列交换机M-LAG的朋友做一个可以直接参考的蓝本。1. 级联M-LAG到底是什么它和普通M-LAG差在哪1.1 M-LAG的基本模型先花两分钟对齐概念要把级联M-LAG讲清楚必须先回到M-LAG本身。M-LAG本质上是一种“把两台物理交换机变成一台逻辑交换机”的技术。两台交换机之间会建立一条peer-link也就是M-LAG成员设备之间的心跳和数据同步通道。业务侧的服务器、交换机或其他网络设备通过LACP动态聚合或静态聚合的方式把链路分别接入这两台设备但在对端设备看来自己是在和“一台”交换机建立聚合链路。为什么需要peer-link因为两台设备要对外表现出一致的LACP协商结果、MAC地址表和ARP表。以LACP协商为例正常情况下服务器发出一组LACP报文只有一台设备应答时才能真正建立聚合链路。M-LAG通过peer-link把两台设备的状态粘合起来服务器跟A设备协商的时候M-LAG系统会让B设备的LACP状态也保持一致这样服务器的双网卡bond才能在两台交换机上都处于活动状态。M-LAG带来的收益很明显服务器不再依赖STP实现冗余两条上联链路可以同时工作转发效率翻倍交换机宕机一台另一台完全接管对服务器而言几乎无感知而且不像传统堆叠那样共享控制平面M-LAG的两台设备在管理上仍是独立的升级、维护可以单台灰度操作。这些优点让它成了数据中心接入层、汇聚层的主流冗余方案。1.2 “级联”这两个字的真实含义华为CE系列交换机的M-LAG文档里部署形态其实分了直连模式和级联模式。直连模式很好理解就是两台成员交换机在同一个机柜或者相邻机柜里peer-link直接用光纤或者高速线缆短距离拉通。大部分机房里的接入层M-LAG都是这种形态。级联模式则是指两台M-LAG成员交换机之间没有直接的物理链路连接或者peer-link不通过直连链路建立而是必须跨过三层网络、VXLAN隧道或者其他转发设备才能互通。这种模式下两台成员交换机可以放在不同的机柜甚至不同的机房peer链路不再是一条短距离物理链路而是一条穿越“级联网络”的逻辑链路。但在真实的数据中心组网里“级联M-LAG”还有一个更广义、出现频率更高的理解——多级M-LAG的串联组网。也就是说汇聚层的两台CE组成第一对M-LAG接入层的两台CE组成第二对M-LAG每一对内部都有独立的peer-link但接入层这台“虚拟交换机”又双归接入到汇聚层那台“虚拟交换机”上。这个完整的结构从网络层级上看就像两台虚拟交换机一级一级串下去所以叫级联M-LAG。我这次要写的配置示例就是这种两级M-LAG级联的完整形态。需要提前说明的是这套配置在各版本CE交换机上细节略有差异但核心思路是通用的具体命令以现场设备版本为准。1.3 直连和级联的关键差异对照很多新手容易把“级联M-LAG”理解成“把两台设备通过第三台设备做peer-link”这个理解不算错但在实际部署中更常见的还是两层M-LAG叠加。我把两种方式的关键差异整理成了一张表方便对照对比项直连M-LAG级联M-LAG两级叠加peer-link形态两台成员设备之间物理直连每对M-LAG内部各自直连层与层之间通过上联链路相连部署距离同机柜、相邻机柜可跨机柜、跨楼层只要级联链路可达业务链路双归设备接入到同一对成员设备上层虚拟交换机接入下层虚拟交换机下层再接入服务器典型位置接入层双归服务器汇聚层接入层同时做M-LAG防环机制M-LAG本身通过peer-link同步防环每一级M-LAG分别防环级联链路需要规划好阻断逻辑适用范围小规模、单级接入中大规模数据中心、需要汇聚冗余的场景2. 实验拓扑设计与规划级联M-LAG第一步是把地址算明白2.1 两级级联的组网架构我先给出这次配置示例使用的组网拓扑。整个拓扑分为两层上层是汇聚层由CE-A1和CE-A2两台交换机组成一个M-LAG系统下层是接入层由CE-B1和CE-B2两台交换机组成第二个M-LAG系统。两台汇聚交换机之间通过两条物理链路捆绑成Eth-Trunk 1作为汇聚层的peer-link。两台接入交换机之间同样通过两条物理链路捆绑成Eth-Trunk 1作为接入层的peer-link。业务链路的走向是服务器双挂在接入交换机CE-B1和CE-B2上接入交换机又双归上联到汇聚交换机CE-A1和CE-A2上。这就是一个非常标准的两级级联M-LAG。从服务器视角看它接入的是“一台”接入交换机从接入交换机视角看它上联的也是“一台”汇聚交换机。每一级M-LAG都把一个物理上的环状连接“掰直”了所以整个网络不需要运行STP也能做到无环。2.2 设备选型与接口规划设备型号上汇聚层我建议用CE6800或者CE8800系列这取决于端口速率需求和转发容量接入层一般用CE6800或者CE5800系列就够。这个示例里为了好读统一用CE6800描述型号差异不影响命令逻辑。接口规划是整个配置里最容易被忽视、也最影响调试效率的部分。我强烈建议在配置前先把表格填好而不是一边敲命令一边想。以下是我在这次配置中使用的规划表设备角色接口Eth-Trunk编号用途说明CE-A1汇聚M-LAG成员1100GE1/0/0, 100GE1/0/1Eth-Trunk 1汇聚层peer-linkM-LAG peer链路CE-A2汇聚M-LAG成员2100GE1/0/0, 100GE1/0/1Eth-Trunk 1汇聚层peer-linkCE-A1汇聚M-LAG成员1100GE1/0/2, 100GE1/0/3Eth-Trunk 20下联到接入交换机带m-lag标记CE-A2汇聚M-LAG成员2100GE1/0/2, 100GE1/0/3Eth-Trunk 20下联到接入交换机带m-lag标记CE-B1接入M-LAG成员110GE1/0/0, 10GE1/0/1Eth-Trunk 1接入层peer-linkCE-B2接入M-LAG成员210GE1/0/0, 10GE1/0/1Eth-Trunk 1接入层peer-linkCE-B1接入M-LAG成员110GE1/0/2, 10GE1/0/3Eth-Trunk 20上联到汇聚交换机带m-lag标记CE-B2接入M-LAG成员210GE1/0/2, 10GE1/0/3Eth-Trunk 20上联到汇聚交换机带m-lag标记CE-B1接入M-LAG成员110GE1/0/4Eth-Trunk 30下联服务器带m-lag标记CE-B2接入M-LAG成员210GE1/0/4Eth-Trunk 30下联服务器带m-lag标记VLAN和IP的规划也要提前定好。这个示例里业务VLAN使用VLAN 100网关放在汇聚层管理VLAN使用VLAN 200用于设备远程管理。汇聚层两台设备的VLANIF 100的IP地址配置成同一个地址这是M-LAG三层网关的标准做法——两台设备同时承担网关功能不跑VRRP也具备网关冗余能力。具体规划如下VLAN网段网关说明10010.10.100.0/2410.10.100.254业务网段网关配置在CE-A1和CE-A2上20010.10.200.0/2410.10.200.254管理网段1000内部10.10.0.0/31、10.10.0.2/31无peer-link内部互联地址只在需要跨设备互通时使用2.3 为什么要把网关放在汇聚层而不是接入层有不少人问过我接入层已经做成M-LAG了为什么不能用接入层做网关技术上当然可以但从整个数据中心的流量模型来看网关放汇聚层是更合理的。如果把网关放在接入层那么接入层交换机就需要维护所有的ARP表项和路由表项一旦VLAN很多、服务器很多接入设备的控制平面压力会非常大。而把网关放在汇聚层接入层只负责二层转发流量通过上行链路直接送到汇聚层网关汇聚层再根据路由表决定下一步转发。这样的模型下接入层设备规格可以选小一点汇聚层统一承载网关、ACL、QoS策略运维上也更集中。另外级联M-LAG的上下行链路全部处于二层汇聚层做网关后接入层到汇聚层的所有链路都在同一个广播域里工作M-LAG的转发逻辑也更简单清晰。3. 汇聚层M-LAG配置示例第一级虚拟交换机怎么搭3.1 配置前的检查和底层链路准备我建议在实际操作之前先把设备的端口状态检查一遍。用display interface检查物理端口是否已协商正常确认互联对端的光模块、光功率没有问题。很多M-LAG配不好的情况其实不是命令不对而是物理链路本身就有隐患等到peer-link建立之后才暴露出大量错包和超时计数。确认链路正常后先创建VLAN和Eth-Trunk。这里有一个注意点peer-link所使用的Eth-Trunk我们一般命名为Eth-Trunk 1业务接口单独使用其他编号这样做的好处是后续排查问题的时候看到Eth-Trunk 1就能立刻反应出这是M-LAG同步链路不需要再反复确认。3.2 汇聚层CE-A1的完整配置以下是我在CE-A1上使用的完整配置直接按顺序敲即可sysname CE-A1 # vlan batch 100 200 # interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan all mode lacp-static m-lag peer-link # interface 100GE1/0/0 eth-trunk 1 # interface 100GE1/0/1 eth-trunk 1 # interface Eth-Trunk20 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 100GE1/0/2 eth-trunk 20 # interface 100GE1/0/3 eth-trunk 20 # interface Vlanif100 ip address 10.10.100.254 255.255.255.0 # interface Vlanif200 ip address 10.10.200.254 255.255.255.0 #这段配置里有几个关键点必须解释一下。第一个是m-lag peer-link这个标记。它表示Eth-Trunk 1这个逻辑接口承载的是M-LAG成员之间的peer链路。M-LAG系统就是通过这条链路同步MAC表项、ARP表项、VLAN配置以及LACP协商状态。peer-link必须放通所有必要的VLAN我的习惯是直接port trunk allow-pass vlan all避免后续新增VLAN时遗漏放通导致业务异常。第二个是Eth-Trunk 20上的m-lag标记。这个标记的含义是本设备上的Eth-Trunk 20是M-LAG成员接口它会与对端设备上同样标记了m-lag的Eth-Trunk 20组成一个跨设备的逻辑聚合接口。两台汇聚交换机上的Eth-Trunk 20对外呈现为一个端口组下联交换机双归接入时LACP协商出来的状态才能保持一致。第三个是VLANIF接口。两台汇聚交换机上的Vlanif100都配置成10.10.100.254这个在M-LAG架构下是允许的。正常情况下只有一台设备的VLANIF对外应答ARP和转发网关流量另一台设备通过peer-link学习到相关信息后保持热备状态。3.3 汇聚层CE-A2的镜像配置CE-A2的配置与CE-A1基本一致只有sysname不同。这里有个容易犯的错误peer-link的Eth-Trunk编号和业务Eth-Trunk编号在两边必须保持一致。如果在A1上Eth-Trunk 20是业务口但A2上疏忽大意把业务口配成了Eth-Trunk 21那么两台设备的M-LAG成员关系就无法正确建立display m-lag的时候会看到状态异常。以下为CE-A2的配置sysname CE-A2 # vlan batch 100 200 # interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan all mode lacp-static m-lag peer-link # interface 100GE1/0/0 eth-trunk 1 # interface 100GE1/0/1 eth-trunk 1 # interface Eth-Trunk20 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 100GE1/0/2 eth-trunk 20 # interface 100GE1/0/3 eth-trunk 20 # interface Vlanif100 ip address 10.10.100.254 255.255.255.0 # interface Vlanif200 ip address 10.10.200.254 255.255.255.0 #3.4 汇聚层配置完成后先验证再往下走配完两台汇聚设备不要急着去配置接入层先做一次验证。用display m-lag brief可以查看M-LAG系统的基本状态重点关注PeerLink状态和M-LAG接口的对账状态。正常情况下两台设备的M-LAG域ID、系统MAC、VLAN信息都应该一致。我在实际配置中就遇到过peer-link起来了但M-LAG成员状态显示Down的情况。后来排查发现是因为Eth-Trunk 1的物理成员端口没有加入完整其中一个端口被误配置到了其他业务Eth-Trunk里。这类问题光看配置很难发现用display eth-trunk 1查看成员端口列表一眼就能定位。4. 接入层M-LAG配置示例第二级虚拟交换机怎么搭4.1 接入层M-LAG的基础配置接入层两台设备CE-B1和CE-B2的配置逻辑与汇聚层几乎一样区别在于角色变了接入层一方面作为“虚拟交换机”向下承接服务器的双归链路另一方面还要作为“被双归的对象”向上连接到汇聚层的虚拟交换机。先看CE-B1的基础配置sysname CE-B1 # vlan batch 100 200 # interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan all mode lacp-static m-lag peer-link # interface 10GE1/0/0 eth-trunk 1 # interface 10GE1/0/1 eth-trunk 1 # interface Eth-Trunk20 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 10GE1/0/2 eth-trunk 20 # interface 10GE1/0/3 eth-trunk 20 # interface Eth-Trunk30 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 10GE1/0/4 eth-trunk 30 #CE-B2的配置除了sysname之外完全对齐sysname CE-B2 # vlan batch 100 200 # interface Eth-Trunk1 port link-type trunk port trunk allow-pass vlan all mode lacp-static m-lag peer-link # interface 10GE1/0/0 eth-trunk 1 # interface 10GE1/0/1 eth-trunk 1 # interface Eth-Trunk20 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 10GE1/0/2 eth-trunk 20 # interface 10GE1/0/3 eth-trunk 20 # interface Eth-Trunk30 port link-type trunk port trunk allow-pass vlan 100 200 mode lacp-static m-lag # interface 10GE1/0/4 eth-trunk 30 #注意一个细节接入层的Eth-Trunk 20是向上连接到汇聚层的它带m-lag标记意味着CE-B1和CE-B2两个设备上的Eth-Trunk 20合在一起向汇聚层呈现为“一个”上联聚合口。这时候汇聚层A1的100GE1/0/2接到B1的10GE1/0/2A2的100GE1/0/3接到B2的10GE1/0/3两条链路共同构成接入层M-LAG系统的上联成员而汇聚层通过它自己的Eth-Trunk 20并把4个物理成员全业务起来。这样从汇聚层的视角看CE-B1和CE-B2就是一个完整的、有四条成员链路的聚合对端。4.2 服务器双归接入的配置思路服务器双归到接入层是级联M-LAG里最内层的双归。服务器上配置bond接口两块网卡分别连接到CE-B1的10GE1/0/4和CE-B2的10GE1/0/4。在交换机侧CE-B1上的10GE1/0/4和CE-B2上的10GE1/0/4都被纳入了Eth-Trunk 30并且两台设备上的Eth-Trunk 30都带m-lag标记。这样一来从服务器的视角来看它是在跟一台交换机上的一个Eth-Trunk 30做LACP协商两台交换机通过peer-link保持状态一致服务器两条链路都是激活状态。4.3 服务器侧的bond配置参考交换机侧只是M-LAG的一半服务器侧的bond配置同样重要。Linux服务器上使用mode802.3adLACP动态聚合时可以参考下面这个配置思路# 编辑/etc/modprobe.d/bonding.conf alias bond0 bonding options bond0 miimon100 mode802.3ad lacp_ratefast # 将两块网口加入bond ip link set ens2f0 down ip link set ens2f1 down ip link add bond0 type bond ip link set ens2f0 master bond0 ip link set ens2f1 master bond0 ip link set bond0 up ip addr add 10.10.100.10/24 dev bond0有几个服务器侧的参数需要特别注意。lacp_rate建议配置成fast这样LACP报文以1秒为周期发送M-LAG状态变化时收敛速度更快能明显缩短链路切换时间。如果服务器网卡驱动不支持动态LACP也可以选择静态聚合模式来匹配交换机的mode lacp-static但静态模式没有LACP保活机制对链路故障的感知会比较迟钝。4.4 接入层配置时的三个常见误区第一个误区是忘配peer-link的VLAN放通。有些工程师会认为peer-link只传M-LAG同步协议报文不传业务报文于是只放通了少数VLAN。这个想法是错的。M-LAG有一些已知场景会依赖peer链路转发流量比如单播报文的目的MAC在peer设备下、或者广播/组播报文需要在两台设备之间复制时。peer-link放通VLAN不全会导致上述流量在VLAN级别被丢弃。第二个误区是Eth-Trunk编号不一致。这个问题我在第3节提过但接入层犯错的概率更高因为接入层的业务Eth-Trunk不止一个编号一多就容易标错。记住一个原则M-LAG对端设备上所有带m-lag标记的Eth-Trunk编号必须一一对应。第三个误区是物理成员端口混插到不同的Eth-Trunk。每个物理端口只能加入一个Eth-Trunk如果规划表上没有标清楚哪个端口进哪个Eth-Trunk配置时很容易把上联端口和下联端口搞混。我见过最典型的事故是把服务器下行口和上行口配反了导致服务器通但上联不通。5. 级联M-LAG的验证命令从状态查看到业务倒换测试5.1 用display命令确认M-LAG系统状态配置全部完成后验证环节不能省。我每次配置完M-LAG都会按固定顺序执行三个查看命令逐个确认系统层、接口层和业务层的状态。第一个命令是display m-lag brief查看M-LAG系统整体状态display m-lag brief输出里重点看M-LAG ID、PeerLink状态和M-LAG接口数量。正常情况下PeerLink状态为UpM-LAG接口的Active/Standby状态应该和设计一致。如果看到PeerLink反复横跳说明链路抖动或系统同步异常需要回到物理层排查。第二个命令是display eth-trunk 20查看业务Eth-Trunk的成员链路情况display eth-trunk 20关注输出中的成员接口列表确认所有物理端口都处于Current状态且LACP协商成功。如果某些成员端口显示Unselected意味着该成员链路没有参与负载转发需要检查对端设备相应接口的状态和VLAN配置。第三个命令是display m-lag verbose查看更详细的M-LAG信息和双活检测状态display m-lag verbose这条命令会显示两台设备之间的协商参数、虚拟系统MAC、双活检测Bypass/Heartbeat等关键信息。M-LAG分裂检测正常工作与否直接影响故障场景下的收敛质量。5.2 从服务器侧做业务验证命令状态都正常后从服务器发起ping和流量测试。我在测试时习惯分三步走第一步从服务器ping网关10.10.100.254确认二层到三层网关的路径正常。第二步从服务器ping对端网段的另一台服务器确认跨VLAN路由和汇聚层三层转发正常。第三步在服务器上下发持续的大流量然后依次拔掉接入层的一根上联光纤、接入层peer-link、甚至整台接入交换机观察业务中断时间和恢复情况。实际测下来的结果如果只在接入层拔一根上联光纤业务几乎无感知丢包在个位数如果拔掉接入层peer-link但上联链路还在M-LAG会进入双活检测和单台接管模式收敛时间取决于peer-link恢复和LACP重新协商的速度。5.3 链路故障倒换测试的预期结果我把自己做过的一次故障演练数据整理成了下表测试动作预期结果实测说明拔掉CE-B1到CE-A1的上联链路流量全部走CE-B2上联无感切换服务器双归链路不受影响拔掉CE-B2整机的上联链路CE-B1接管全部业务peer-link状态变为主备模式若配置了monitor-link联动接入交换机下联口也可能联动切换重启CE-B1交换机服务器无感知流量由CE-B2承担需要注意peer-link恢复后MAC表和ARP表的重新同步拔掉服务器到CE-B1的网线LACP重新协商流量全部走CE-B2交换机侧Eth-Trunk 30成员数量减半但链路聚合不中断做完一轮测试基本就能确认这套级联M-LAG的可靠性是否符合预期。如果测试结果与预期不符不要急着怀疑配置先把物理链路、光模块、协商频率逐一排查掉再回到逻辑配置上找问题。6. 常见问题与排查技巧实录6.1 peer-link反复震荡M-LAG一直无法稳定这类问题在第一次配置级联M-LAG时出现频率特别高。peer-link状态Up了又DownM-LAG系统日志里不断刷peer-link flaps。我排查这类问题的顺序是先看物理端口是否有错包和光功率告警排除光模块问题再看Eth-Trunk成员端口是否都正确加入排除部分物理成员不在聚合组里的情况最后看两端设备的M-LAG配置是否存在不一致比如peer-link Eth-Trunk编号不匹配、设备角色冲突等。有一个很容易忽略的点是链路两端速率不匹配。汇聚层是100GE口接入层是10GE口中间通过光电转换器或者速率适配设备连接时如果协商模式不对会产生大量CRC错包直接导致peer-link频繁抖动。做级联M-LAG时上下行链路都要用一致的光模块规格和协商模式不建议跨速率直连后不做处理。6.2 M-LAG成员接口对账失败状态一直无法变成Active有时候peer-link本身状态正常但带m-lag标记的业务Eth-Trunk无法正常对账。输出display m-lag brief时会看到这个接口被标识为Failed或者Down。这种情况优先检查两侧设备的M-LAG配置一致性。同一台虚拟交换机上的两个成员设备业务Eth-Trunk的编号、VLAN配置、物理成员端口数量、LACP模式都必须一致。举例来说如果CE-B1的Eth-Trunk 20里有两个物理成员而CE-B2的Eth-Trunk 20里只有一个物理成员除非这个差异是设计上故意保留的否则对账就会失败。另外一个常见原因是业务Eth-Trunk的VLAN配置不一致。M-LAG对账时会同步VLAN信息如果一边放通了VLAN 100而另一边没有放通业务接口会处于部分工作状态外部设备发来的流量偶发不通。6.3 流量路径不对称导致的单向不通级联M-LAG里最隐蔽的是数据转发路径不对称问题。从服务器A ping服务器B通但从服务器B ping服务器A不通排查到最后往往发现是上联和下联的负载分担hash一致性被打破了。M-LAG本身不会强制要求流量进出走同一台设备但在级联场景下如果汇聚层的Eth-Trunk 20负载分担算法和接入层的Eth-Trunk 20负载分担算法不一致就可能出现请求走A1、响应走A2的情况。如果A1和A2之间的peer-link状态正常这种路径不对称不会造成丢包peer-link会做最终的转发交接但如果peer-link带宽拥塞或者状态不稳定就会表现为偶发丢包和延迟抖动。解决办法是确保整条级联链路上各设备的Eth-Trunk负载分担模式保持一致比如统一使用增强型负载分担算法把源MAC、目的MAC、源IP、目的IP、源端口、目的端口等字段都纳入hash计算让报文的往返路径尽可能对称。6.4 双活分裂后业务中断怎么处理M-LAG最怕的是双活分裂也就是peer-link断开但两台设备都认为对方还活着。此时两台交换机同时尝试接管业务MAC表、ARP表、LACP状态全部失去同步整个网络等于出现了一个“双主”的假象。华为CE交换机上解决这个问题的核心机制是双活检测也常被称为split-brain检测。当peer-link故障时设备会通过独立的双活检测链路探测对端是否存在。如果探测到对端仍然存活设备会按照配置的优先级规则决定谁作为主设备继续转发谁把业务接口转入备用状态。配置和排查双活检测时我的建议是单独规划一对双活检测链路不要和业务链路混用。检测链路的稳定性直接影响故障时的收敛判断如果检测链路本身不可靠反而可能造成错误的主备切换。这个检测方案在不同版本CE设备上支持的形态不太一样配置前务必确认当前版本的命令语法和参数含义。6.5 一张问题速查表症状可能原因处理建议peer-link一直Down物理链路/光模块异常Eth-Trunk成员不完整排查物理端口错包核对成员端口配置M-LAG接口对账失败两端Eth-Trunk编号或VLAN配置不一致对齐两台设备的业务Eth-Trunk配置LACP聚合协商不成功服务器bond模式与交换机模式不匹配调整服务器LACP模式确认lacp_rate偶发单向不通负载分担hash不一致路径不对称统一各层Eth-Trunk负载分担算法拔链路后业务中断超过预期peer-link断裂引起双活分裂检查双活检测链路确认主备切换策略VLAN间路由不通汇聚层VLANIF网关配置冲突或缺失核对两台汇聚设备的VLANIF IP和路由表7. 配置级联M-LAG时我的一些实操体会做了这么多年的网络运维和项目交付M-LAG在我看来是数据中心网络里“收益极高但细节极多”的技术之一。收益高是因为它把链路利用率从STP时代的一半提升到了百分之百细节多则是因为它对配置一致性、物理链路质量、故障检测机制都有非常严苛的要求。如果让我给刚接触级联M-LAG的同行提建议我首先会说不要急着复制配置先把拓扑图画清楚、把接口规划表填完整把VLAN和IP事先设计好再动手敲命令。配置本身是机械劳动而设计是智力劳动90%的问题出在设计环节。其次我会建议在实施前把服务器的bond参数也一并确认好。交换机侧M-LAG配得再漂亮服务器网卡驱动不支持或者bond模式不匹配业务照样起不来。最好在项目初期就和服务器团队约定好统一的LACP参数避免实施阶段互相扯皮。最后每一级M-LAG配完之后都要通过display命令确认状态再进入下一级配置。级联M-LAG的调试难点就在于层级多、关联性强一级出错往往要等到下一级配置完成后才暴露出来。与其到时候抓头不如每级配置都做一次完整验证把问题消灭在源头。希望这篇配置示例能帮正在调试华为CE系列交换机级联M-LAG的朋友少走一点弯路。
返回列表