M-LAG跨设备链路聚合组网推荐方案(适用于CE16800, 12800, 88/68/5800系列交换机)
1.组网规划原则与方案说明
CloudEngine系列交换机推荐的M-LAG组网的推荐方案如下图所示。
1.1 Spine
- 推荐两层组网架构,即Spine与Server Leaf之间采用两级M-LAG组网,在Spine上部署双活网关。
- PE/Core与Spine之间采用口字型或交叉型组网(上图以口字型为例),以三层方式对接静态路由、OSPF或BGP协议。
- 两台Spine间跨板/跨子卡创建Eth-Trunk并部署Peer-link。如果两块单板端口速率不一致,通过高速端口协商低速(如100GE协商为40GE)或不同速率端口混合捆绑方式(需规划链路负载分担权重,M-LAG口不支持使用此方式)保证Peer-link链路的可靠性。
- 部署独立三层链路作为上行链路的备份路径,同时作为M-LAG的DAD链路(图中绿色连线),在Peer-link故障后可以通过DAD链路检测对端设备是设备级故障还是端口级故障。
- Spine之间互联的三层DAD链路须配置为保留口(当Peer-link故障时不会被Error-down)。
1.2 Server Leaf
- Server Leaf部署M-LAG,与Spine的M-LAG对接,与Server网卡的负载分担模式对接。当Server的网卡为主备模式时(网卡推荐设置主链路的故障恢复后不抢占主角色或者延迟抢占,避免因链路不稳定时主备网卡频繁倒换),Leaf侧互联端口不需要配置M-LAG口,将物理口加入VLAN即可。
- Spine与Server Leaf组间链路采用交叉型互联,链路须跨设备跨板保证可靠性。
- 推荐Server两条或多条链路双归接入到部署M-LAG的Server Leaf组。Server的单归接入无可靠性。
- 使用独立的三层链路来部署DAD,在Peer-link故障后可以通过DAD链路检测对端设备是设备级故障还是端口级故障,DAD链路配置为保留口(当Peer-link故障时不会被Error-down)。
1.3 DCI Leaf
- DCI Leaf使用M-LAG与Spine对接、使用VXLAN与Backup DC对接,实现L2互通。
- 在DCI Leaf上使用独立三层链路作为DAD,在Peer-link故障后可以通过DAD链路检测对端设备是设备级故障还是端口级故障,DAD链路须配置为保留口(当Peer-link故障时不会被Error-down)。
- DC间三层互通时,DCI Leaf与本地Spine M-LAG对接后,部署双活网关三层直连,在DCI Leaf上配置静态路由下一跳指向Spine,通过BGP EVPN将静态路由发布给Backup DC。
1.4 FW
内网FW旁挂Spine,部署Eth-Trunk与Spine的M-LAG对接,路由协议使用静态路由,不支持动态路由协议。
1.5 LB
LB部署Eth-Trunk与Spine的M-LAG对接,路由协议使用静态路由。
2.M-LAG规划注意事项
Spine、Server Leaf、DCI Leaf上对于M-LAG组网的规划注意事项参见下表。
项目 | Spine | Server Leaf | DCI Leaf |
---|---|---|---|
Peer-link | - 多单板/子卡场景要求:跨板/子卡部署 - 单块单板/子卡场景:至少双链路 - 带宽要求:存在大量单归接入场景时,与单设备的上行带宽一致 | 同Spine 重点关注服务器大量主备接入场景时,Peer-link的带宽规划 | 同Spine |
DAD | 采用独立三层链路部署DAD,与上行的三层备份路径共用物理链路,不可以复用peer-link链路。 | 采用独立三层链路部署DAD,不可以复用peer-link链路。 | DAD复用underlay三层逃生链路 |
上行口 | 与PE口字型组网 与PE交叉型+Spine间三层备份链路组网 | 与Spine之间交叉组网 | 与上游设备之间交叉组网 |
下行口 | Spine与Server Leaf之间交叉组网。 | 服务器以主备/负载分担方式接入Server Leaf。 | DCI Leaf与Spine之间交叉型组网,DCI流量较小时,可以口字型。 |
Eth-Trunk/M-LAG ID | 1)Eth-Trunk的ID请按照顺序规划: - 规划Eth-Trunk的最小ID给Peer-link使用(例如Eth-Trunk 0)。 - 规划Eth-Trunk的次小ID给上行口使用、较大ID给下行口使用。 2)M-LAG ID与Eth-Trunk ID保持一致。 | 1)Eth-Trunk的ID请按照顺序规划: - 规划Eth-Trunk的最小ID给Peer-link使用(例如Eth-Trunk 0)。 - 规划Eth-Trunk的次小ID给上行口使用、较大ID给下行口使用。 2)M-LAG ID与Eth-Trunk ID保持一致。 | 同Server Leaf |
3.网络防环STP部署方案
在M-LAG组网中,针对几种常见的引发环路的故障,可以预先部署一些对应的STP配置,以避免环路的产生。这些故障场景和对应的部署方案的配置请参见下图和下表。
# 网络防环STP部署方案要点示意图
# 网络防环STP部署方案说明
序号 | 故障场景 | 部署方案 | 参考命令行 |
---|---|---|---|
1 | 多级M-LAG交叉组网,因为误接线,导致报文经过Peer-link形成环路 | 1)Spine和Server Leaf、DCI Leaf上都部署V-STP(中小规模场景收敛时间2s左右;高收敛性能要求场景中,在Leaf与Spine互联的M-LAG口上关闭STP) 2)所有设备上未使用的物理端口,设置STP cost值为10000,避免环路发生业务口被Block | 1)stp mode rstp stp v-stp enable 2)stp cost 10000 |
2 | 新扩容设备加入STP网络可能动态抢占STP根,导致STP网络震荡 | 1)两台Spine同时配置为STP根,并部署根保护 2)M-LAG成员设备间配置相同桥MAC,可选择其中一个成员设备的系统MAC(此配置建议Spine和Leaf都配置) | 1)stp root primary stp root-protection 2)stp bridge-address mac-address |
3 | Spine或Server Leaf收到BPDU报文攻击时会清除设备MAC,频繁震荡导致网络CPU增加和瞬时大量泛洪报文 | 在Spine和Server Leaf、DCI Leaf上部署设备对TC类型BPDU报文的保护功能,这样可以避免频繁删除MAC地址表项和ARP表项,从而达到保护设备的目的 | stp tc-protection |
4 | Server、FW、LB、路由器等设备不支持STP,不需要参与STP计算,在端口物理状态变化后,因对端设备不支持BPDU报文导致收敛性能较差 | 将Spine和Server Leaf上与FW、LB、Server、路由器以及其他硬件安全设备互联的端口,配置为STP边缘端口,并使能BPDU保护 | stp edged-port enable stp bpdu-protection |
5 | 交换机的所有端口默认加入VLAN 1,新扩容设备时,因配置或者人为操作原因,导致扩容端口与Peer-link形成环路 | Peer-link和所有物理/逻辑链路不允许通过VLAN 1 | port vlan exclude 1 undo port trunk allow-pass vlan 1 |
4.Spine可靠性部署方案
在M-LAG组网的Spine节点,需要进行可靠性的规划和相应的配置,请参见下图和下表。
# Spine常见故障点示意图
# Spine常见故障点的影响分析和推荐的部署方案
序号 | 故障场景 | 影响分析 | 推荐部署方案 |
---|---|---|---|
1.1 | Spine设备故障 | 设备重启时,业务流量快速切换到Spine2 设备重启完成重新加入网络时: 1. M-LAG成员口默认延迟UP 240秒,上行网络先收敛,PE侧到Spine的流量经过Peer-link绕行,Spine1需要学习的ARP/MAC表项较多时,丢包时间长 2. M-LAG成员口UP后,ARP和MAC表项出接口需要从Peer-link刷新到M-LAG接口,刷新过程中伴随丢包 | Spine与PE相连接口配置端口延迟UP 360秒(当上行口和下行不在同一单板时,需增加上行比下行单板注册慢的时间,通常单板注册时间100GE>40GE>10GE>GE) M-LAG成员口UP后,上行口延迟UP,Server的流量到达Spine1先走备份链路绕行Spine2,上行口UP后,路由切换 |
1.2 | Spine单板故障 | 如果上行链路和备份链路在同一单板时,单板故障导致上行通道全部故障,下行口过来的流量中断 如果Spine多单板/子卡时,一个Server Leaf组两台设备连接到同一Spine上的同一个单板/子卡,单板故障后流量切换到备份Spine,流量回切会受到ARP/MAC学习性能影响导致不同程度丢包 | Spine多单板/子卡时: 1. Spine上行链路如果为单上行链路时,要和备份链路在不同单板/子卡;Spine上行链路如果为多条上行链路时,则上行链路之间需要跨板/子卡 2. 一个Server Leaf组两台设备连接到同一Spine上的端口分布在不同单板/子卡 |
2 | PE设备故障 | Spine与PE链路故障后,流量快速切换到备份路径,链路故障恢复后,路由快速回切,但PE侧可能收敛慢 | Spine配置在OSPF UP后一定时间内通告路由保持最大开销值,减少PE侧收敛慢带来的丢包,路由量较少或者PE侧收敛快的情况下不需要配置 |
3 | Spine与FW、LB链路故障 | FW双归接入到Spine,一条链路故障,流量快速切换到另外一条链路,链路故障恢复后,流量快速回切 | - |
4 | DAD链路故障 | DAD链路只在设备和Peer-link链路故障场景下起作用,正常场景作为备份路径,不承载流量 | 不承载流量,故障场景无影响 DAD口配置保留口 |
5 | Peer-link down(成员链路全部故障) | Peer-link故障,DAD链路检测后,Error-down备Spine上行口和下行口,流量快速切换到另一台Spine Peer-link故障恢复后,所有Error-down端口延迟240秒UP,上、下行端口同时UP会因上行路由和下行ARP收敛时间差导致业务长时间断流 | Peer-link跨板/子卡提高可靠性,极大降低Peer-link故障概率 M-LAG接口延迟UP 240秒并恢复间隔为10秒,延迟的240秒期间转发表项出接口学习在Peer-link,然后每隔10秒刷新一个M-LAG接口的表项出接口,提高网络收敛性能 |
5.Server Leaf可靠性部署方案
在M-LAG组网的Server Leaf节点,需要进行可靠性的规划和相应的配置,请参见下图和下表。
# Server Leaf常见故障点示意图
# Server Leaf常见故障点的影响分析和推荐的部署方案
序号 | 故障场景 | 影响分析 | 推荐部署方案 |
---|---|---|---|
1.1 | Server Leaf:设备故障 | 1)设备重启时,业务流量快速切换到Spine2 2)设备重启完成重新加入网络时,M-LAG成员口默认延迟240秒后UP,Peer-link先UP同步MAC表项,上行口和下行口UP后,所有接口同时刷新表项切换流量 | 1)配置M-LAG成员口延迟240秒,间隔10秒逐个UP,分批同步表项提高收敛性能 2)Peer-link固定使用Eth-trunk 0,上行口固定使用Eth-trunk 1,下行口使用比1大的Eth-trunk ID,使上行口先UP |
1.2 | Server Leaf:子卡故障 | 子卡故障导致上行链路或者下行链路全部down时,流量经过Peer-link绕行,此过程中需要清除接口上的MAC表项,Peer-link上重新学习MAC表 | 多子卡且多链路场景时,上行链路和下行链路跨子卡部署 |
2 | Server Leaf1与Spine1链路故障 | Server Leaf1与Spine1链路故障,流量切换至Spine2 Server Leaf1到两台Spine的链路都down,流量走Peer-link绕行 | - |
3 | Server Leaf1与Server链路故障 | Server Leaf1与Server间链路故障,Spine侧过来的流量经过Peer-link绕行,Server侧过来的流量发到Server Leaf2 | - |
4 | DAD链路故障 | DAD链路只在设备和Peer-link链路故障场景下用于判断对端设备端口级故障还是设备级故障,正常场景,Server Leaf的DAD链路不起任何作用 | DAD口配置为保留口 |
5 | Peer-link down(成员链路全部故障) | Peer-link故障,DAD链路检测后,Error-down DFS-Group备设备的上行口和下行口,流量快速切换到另外一台Leaf Peer-link故障恢复后,所有Error-down端口延迟240秒UP,端口UP后,流量快速回切 | Peer-link跨板/子卡提高可靠性,极大降低Peer-link故障概率 多子卡场景,DAD链路至少与Peer-link的一个成员口部署在不同子卡上 |
5.DCI部署方案
在DCI场景中,通过DC之间部署DCI Leaf,实现DC之间的二层互通和三层互通,如下图DCI部署方案所示。推荐在DC内部署专用的DCI Leaf设备组,并在不同DC的DCI Leaf之间构建VXLAN隧道的方式来实现跨DC的二层互通和三层互通。
# 图:DCI场景下的部署方案
其中,跨DC的二层互通和三层互通的推荐部署方案参见下表。
# 表:跨DC二层互通和三层互通的推荐部署方案说明
应用场景 | 部署方案 | 流量模型 |
---|---|---|
二层互通 | 如本节上图所示,DCI Leaf之间三层通信即可,建立VXLAN隧道,DCI Leaf与本地Spine M-LAG对接 | Spine上转发的流量到达DCI Leaf后映射到VXLAN网络的BD,二层转发至对端DCI Leaf解封装,还原为目的网络的VLAN ID报文 |
三层互通 | DCI Leaf与本地Spine配置三层接口直连,Spine上配置到对端DC的静态路由指向DCI LeafDCI Leaf配置静态路由指向本地Spine并引入到BGP EVPN | Spine上根据静态路由转发到DCI Leaf后,命中通过iBGP EVPN学习到的路由转发到对端DCI Leaf,然后根据静态路由转发到Backup DC的Spine |
不推荐其他DCI方式的互联,不推荐的理由参见表。
# 表: 其他DCI互连方案的不推荐理由
其他DCI方案 | 不推荐理由 |
---|---|
DC间Spine直连对接M-LAG | 1)二层网络之间对接需要部署STP防环,但是不建议DC间二层网络对接,DC级网络对接STP,会导致STP网络计算域太大,收敛慢,STP收敛故障域大,DC级网络间相互影响 2)每个DC内双活网关Spine为STP根,一个STP网络中,只能有一个STP根节点,一个根的变化,会其他DC STP震荡 3)二层直连对接方案受限两个DC,扩展性不足(多个DC会引入环路) |
DC间的DCI Leaf M-LAG对接 | 同上。 |
DCI Leaf与Spine合一部署VXLAN | 扩展性差:DC内多个Fabric与Backup DC互通时难以扩展 兼容性差:L2互通场景,因传统vlanif接口不能作为VXLAN网络的网关,无法兼容,需要更改DC内业务网关的配置模型为VXLAN |
6.管理网部署方案分析
管理网络部分,可以分为带外管理和带内管理两种方式,如下图所示,推荐使用带外管理方式。
# 管理网部署方案示意图
6.1带外管理(推荐)
部署规划:路由器、Spine、Leaf、FW、Server等设备的管理网口连线接入到带外管理交换机,带外管理网提供网关。
方案建议:带外管理网口独立于设备的转发芯片,转发面的故障与业务口相互隔离,优先推荐部署带外管理网。
6.2带内管理
部署规划:
- V2版本的Server Leaf和FW的带内管理网复用两级M-LAG组网,在设备上配置VLANIF(图中以VLANIF 20为例)和管理IP地址,在Spine上提供双活网关(配置相同IP+MAC);V3版本在V300R023C00之前版本,Server Leaf通过配置Loopback地址来实现带内管理,在V300R023C00及之后版本,带内管理方案和V2相同。
- 服务器BMC口在带内管理时,上连到Server Leaf,规划独立VLAN(图中以VLAN 30为例),在Spine上提供双活网关
- Spine和PE通过配置Loopback地址来实现带内管理
方案建议:
- 网络规模较小且成本受限场景,可以使用带内管理方式
- 部分软件管理设备要求可靠性较高时,可以使用带内管理方式(通常带外管理网口只有1个),同时建议规划带外管理网辅助登录管理(此部分根据实际情况可选)