轻松入门linux之交换机链路聚合(端口绑定原理与应用)

链路聚合背景        

        随着网络规模的不断扩大,两台设备(交换机与交换机或者交换机与服务器)用户链路的带宽和可靠性提出了越来越高的要求。在传统技术中,常用更换高速率的网卡的方式来增加带宽,但是这种方式往往需要付出高额的费用,而且不够灵活。

         此时引入端口绑定(链路聚合)技术,有效的解决了这个问题。

        端口绑定技术又称链路聚合(Link Aggregation)是将一组物理接口捆绑在一起作为一个逻辑接口来

增加带宽的一种方法。例如将服务器的千兆速率物理口eth0eth1绑定在一起,变为逻辑上的bond口,那

么带宽则能够达到两千兆。

           这样通过在两台设备之间建立链路聚合组,就可以提供更高的通讯带宽和更高的可靠性。

交换机端的链路聚合模式

交换机分的链路聚合分为两种模式:
1. 手工负载分担链路聚合  2.LACP链路聚合模式

一、手工负载分担模式链路聚合

手工负载分担模式下, 成员接口的加入由手工配置。
活动链路都参与数据的转发,平均分担流量,因此称为负载分担模式。
如果某条活动链路故障,链路聚合组自动在剩余的活动链路中平均分担流量。

模式 可以通过多个物理接口聚合成一个 Eth-Trunk 口来提高带宽,同时能够检测到同一聚合组内的成员链路有断路等故障,但是无法检测到链路层故障比如说链路错连等故障。

二、LACP 模式链路聚合

         相较于手工模式,链路聚合控制协议 LACPLinkAggregation  Control  Protocol)提高 Eth-Trunk 的容错性,并且能提供备份功能,保证成员链路的高可靠性

该模式成员端口通过发送 LACPDU 报文进行交互
LACP 供设备根据自身配置自动形成聚合链路 , 并启动链路收发数据。
当聚合条件发生变化时,如某个链路发生故障, LACP 模式会自动调整聚合组中的链路,组内其他可用的备份成员链路接替故障链路维持负载平衡。

一、LACP成员接口间M:N备份

        LACP模式链路聚合为M:N模式,即M条活动链路与N条备份链路的模式。

这种模式提供了更高的链路可靠性,并且可以在M条链路中实现不同方式的负载均。

所示,两台设备间有M+N条链路,转发流量时在M条链路上分担负载活动链路,另外的N条链路不会转发流量,只是提供备份功能,即备份链路。

当M条链路中有一条链路故障时,LACP会从N条备份链路中找出一条优先级高的可用链路替换故障链路。此时链路的实际带宽还是M条链路的总和。

        二、LACP模式Eth-Trunk建立的过程如下: 

        在LACP模式的Eth-Trunk中加入成员接口后,两端互相发送LACPDU报文。( LACPDU报文中包含设备的系统优先级、MAC地址、接口优先级、接口号和操作Key等信息。 )

1.DeviceADeviceB上创建Eth-Trunk并配置为LACP模式后,向Eth-Trunk中手工加入成员接口。此时成员接口上便启用了LACP协议,两端开始互发LACPDU报文。

2.确定主动端

如图,当B收到A发送的lacpdu报文时,发现自己的系统优先级字段较低,则确ALACP为主动端。
(如果两台机器系统优先级相同,则比较两端设备的MAC地址,MAC地址小的一端为LACP主动端。)

3.确定活动链路

选出主动端后,以主动端的接口优先级来选择活动接口(如果主动端的接口优先级都相同则选择接口编号比较小的为活动接口)。两端设备选择了一致的活动接口,活动链路组便可以建立起来。

从这些活动链路中以负载分担的方式转发数据。

 三、手工模式和LACP模式的区别

维度

手工模式

LACP模式

Eth-Trunk的建立方式

Eth-Trunk的建立、成员接口的加入由手工配置。

Eth-Trunk的建立是基于LACP协议的,让系统根据自身配置自动形成聚合链路并启动聚合链路收发数据。LACP,会维护链路状态,在聚合条件发生变化时,自动调整链路聚合。

设备是否需要支持LACP协议

不需要

需要

数据转发

正常情况下,所有链路都是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在剩余的活动链路中分担流量

可配置部分链路是活动链路。所有活动链路均参与数据转发。如果某条活动链路故障,链路聚合组自动在非活动链路中选择一条链路作为活动链路,参与数据转发的链路数目不变。

是否支持跨设备的链路聚合

不支持

支持

检测故障

只能检测到同一聚合组内的成员链路有断路等有限故障,但是无法检测到链路断连、错连等故障。

不仅能够检测到同一聚合组内的成员链路有断路等有限故障,还可以检测到链路故障、链路错连等故障。

Linux端口绑定模式

bond mode 一共分为七种模式,此处主要描述以下3模式。

1mode=0 (balance-rr) Round-robin policy(平衡轮循环策略)

特点:传输数据包顺序是依次传输(即:第1个包⾛eth0,下⼀个包就⾛eth1….⼀直循环下去,直到最后⼀个传输完毕)。链路负载均衡,增加带宽,支持容错,一条链路故障会自动切换正常链路。需要交换机做配置。需要对端交换机配置手工负载分担模式

2mode=1,即: (active-backup) Active-backup policy(主-备份策略)

特点:只有⼀个设备处于活动状态,当⼀个宕掉另⼀个⻢上由备用网口转换为主网口。提供⾼⽹络连接的可⽤性,但是它的资源利⽤率较低,只有⼀个接⼝处于⼯作状态,在有 N 个⽹⼝的情况下,资源利⽤率为1/N
无需交换机做配置

3mode=4,即:(802.3ad) IEEE 802.3adDynamic link aggregationIEEE 802.3ad 动态链接聚合

特点LACPLink Aggregation Control Protocol,链路聚合控制协议)是一种基于IEEE802.3ad标准的实现链路动态聚合与解聚合的协议,启用了LACP协议的成员端口通过发送LACPDU报文进行交互,双方对哪些端口能够发送和接收报文达成一致,确定承担业务流量的链路。当聚合条件发生变化时,如某个链路发生故障,LACP模式会自动调整聚合组中的链路,组内其他可用成员链路接替故障链路维持负载平衡。需要交换机做配置为LACP聚合模式

服务器端口绑定(链路聚合)配置详解

进入linux服务器后天,修改配置文件如图:

此处用ubuntu14.04举例说明,大家根据自己环境,找到自己网络的配置文件。

/etc/network/interface:

配置完成后,可直接重启机器,或者重启网卡使之生效。

网卡绑定 功能使用的是 linux 内核中的 "bonding" 模块,配置端口绑定后会被加载
/proc/net/bonding/eth0 文件可以查看 bond 状态(此处举例为 mode 4

至此,服务器段已经将网口进行一个绑定,此时需要对交换机段进行对应的配置。

交换机配置链路聚合

设备:华为交换机
前置条件:两个要绑定的网口中不能有任何配置

1.创建聚合组,并设置聚合模式。(交换机详细配置)

system-view   # 进入系统视图。

interface eth-trunk 1    #进入Eth-Trunk接口视图,若没有则新建一个eth-trunk 组,此处id1,注意id不要重复。

mode manual load-balance    #如果是mode 0 配置Eth-Trunk的为手工配置工作模式。

port link-type access  #设置以太网网口类型,此处为access

port default vlan 115  #设置vlan,此处为115网段

注意:如果需要配置为mode 4,执行命令mode lacp ,配置Eth-Trunklacp工作模式。

2.将成员接口加入trunk

执行命令system-view #进入系统视图。

执行命令interface eth-trunk 1 #进入Eth-Trunk接口视图。

执行命令trunkport GigabitEthernet 0/0/XX #加入成员接口。

3.设置trunk组的负载均衡模式(可选)

聚合组中执行命令load-balance src-dst-ip #默认配置,可配置为:dst-ip/dst-mac/enhanced

使用SIP-XOR-DIP策略进行负载均衡时,设备将根据源IP地址和目标IP地址(以及TCP/UDP端口)对流量进行哈希计算,并将其结果与可用的端口进行异或运算,以决定将流量分发到哪个端口。

4.设置完成后 可检查配置是否成功 :display eth-trunk 1

踩坑经验分享

1.    (常见)服务器端检查网口状态:

ip a查看该网口的详细状态,一般为以下两种情况:

1. 网线松了:没有 LOWER_UP ,则网线没有插紧
2. 网口没启用: state DOWN ,需要命令 ifconfig ethX up 启用

踩坑经验分享该截图表示eth0_1未插网线

2.    交换机端检查网口是否启用,如果没启用,需要undo shutdown将网口启用。

display interface brief检查网口是否启用

3.交换机端已经做了LACP的聚合配置,服务器未进行端口绑定时,可能造成网络不通,尽量先走向导进行端口绑定后,再进行交换机端的链路聚合配置。

4.如果服务器选择的端口绑定与交换机端配置的链路聚合模式不匹配,例如服务器网口mode 0 ,交换机端设置为mode 4 会导致网络不通。

5.明明网口配置了vlan ,依然不能通网。(该问题一般出现在较新的交换机,使用命令display vlan id 检查是否创建了所需的vlan ,如果没有,只需要在系统视图创建即可:vlan XXX

6.如果交换机端设置了正确的链路聚聚合模式,从不通网到通网需要一段时间(>1钟左右)链路协商。

7.如果接口成员本身有配置,就不能加入trunk,必须先将所有成员接口的配置清除。

interface GigabitEthernet 0/0/XX        #进入有配置的接口

clear conf this        #清除配置

undo shutdown          #启用网口

8.如果交换机无法将不同速率的网口加入聚合组。

 首先检查所使用的交换机版本:display version,该配置需要在V200R011C10及之后的版本 。

 然后在聚合组中输入允许不同速率配置命令: mixed-rate link enable,再进行后续操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值