链路捆绑
将多个封装相同链路层协议的接口捆绑到一起,形成一条逻辑上的数据链路
链路捆绑的作用如下
① 流量负载分担:出/入流量可以在多个成员接口之间分担。
② 增加带宽:链路捆绑接口的带宽是各可用成员接口带宽的总和。
③ 提高连接可靠性:当某个成员接口出现故障时,流量会自动切换到其他可用的成员接口上,从而提高整个捆绑链路的连接可靠性。
链路聚合
将两个或更多数据信道结合成一个单个的信道,该信道以一个单个的更高带宽的逻辑链路出现。链路聚合一般用来连接一个或多个带宽需求大的设备,例如连接骨干网络的服务器或服务器群。
增加带宽
通过将多个物理链路捆绑为一条逻辑链路,同时处理数据,达到了增加带宽的作用
负载均衡
包含手动负载均衡模式和LACP模式,下文会进行介绍
提高可靠性
当有一条链路,例如D断开,流量会自动在剩下链路间重新分配
避免二层环路
实现链路传输弹性和冗余
聚合链路两端的物理参数必须保持一致
① 进行聚合的链路的数目要保持一致
② 进行聚合的链路的速率要保持一致
③ 进行聚合的链路为全双工模式要保持一致
聚合链路两端的逻辑参数必须保持一致
同一个会剧组中端口的基本配置必须保持一致
基本配置主要包括STP(生成树协议)Qos(流量控制)、VLAN(虚拟局域网)等相关配置
手工模式Eth-Trunk无法检测到链路层故障、链路错连等故障
LACP
为提高Eth-Trunk的容错性,提供备份功能,保证成员链路的高可靠性
LACP模式链路聚合
采用LACP协议的一种链路聚合模式
LACP模式链路聚合术语
系统LACP优先级,系统LACP优先级值越小优先级越高
接口LACP优先级,为了区别同一个Eth-Trunk中的不同接口被选为活动接口的由西安成都,接口LACP优先级值越小,优先级越高
二层链路捆绑分类
交换机与交换机之间的
二、三层链路捆绑
交换机与路由器之间的
三层链路捆绑
路由器与路由器之间的
实验目的:通告链路捆绑实现两台PC互联互通,并且在LSW1和LSW2之间,三条链路(两个活动,一个备份)
system-view #进入系统视图
[Huawei]sysname SW1 #更改交换机名称
[SW1]lacp priority 1000 #设置优先级,使SW1作为主导
[SW1]interface Eth-Trunk 1 #进入Eth-Trunk1 虚拟接口
[SW1-Eth-Trunk1]bpdu enable #开启bpdu
[SW1-Eth-Trunk1]mode lacp-static #设置LACP模式为静态
[SW1-Eth-Trunk1]trunkport e 0/0/1 to 0/0/3 #将物理接口加入到Eth-Trunk1虚拟接口中
[SW1-Eth-Trunk1]max active-linknumber 2 #设置最大活动链路数位2(加入了3条链路,2条位活动,1条为备份)
与LSW1配置类似,LSW1作为主导,而LSW2的优先级不用设置,同时最大链路数不需要设置
sys
[Huawei]sysname SW2
[SW2]interface Eth-Trunk 1
[SW2-Eth-Trunk1]bpdu enable
[SW2-Eth-Trunk1]mode lacp-static
[SW2-Eth-Trunk1]trunkport Ethernet 0/0/1 to 0/0/3
已实现互连互通
实验目的:在生产环境中,Linux系统常用两块网卡做bound,并实现与主机的互连互通
添加两台服务器(Cloud)
Cloud设置:
Cloud 2绑VMnet2虚拟网卡,其他设置一致
system-view #更改系统视图
[Huawei]sysname R1 #更改名称
[R1]int Eth-Trunk 1 #进入Eth-Trunk 1虚拟接口
[R1-Eth-Trunk1]trunkport g 0/0/0 to 0/0/1 #将物理接口加入虚拟接口
[R1-Eth-Trunk1]ip add 12.0.0.1 30 #设置IP地址
[R1-Eth-Trunk1]q
[R1]int Eth-Trunk 2 #进入Eth-Trunk 2虚拟接口
[R1-Eth-Trunk2]trunkport g 0/0/2 to 0/0/3 #将物理接口加入虚拟接口
[R1-Eth-Trunk2]ip add 192.168.10.1 24 #设置IP地址
sys
[Huawei]sysname R2
[R2]int Eth-Trunk 5
[R2-Eth-Trunk5]trunkport g 0/0/0 to 0/0/1
[R2-Eth-Trunk5]ip add 12.0.0.2 30
[R2-Eth-Trunk5]q
[R2]int Eth-Trunk 1
[R2-Eth-Trunk1]ip route-static 192.168.10.0 24 12.0.0.1 #添加静态路由
[SW1]int Eth-Trunk 2 #进入Eth-Trunk 2
[SW1-Eth-Trunk2]trunkport g 0/0/1 to 0/0/2 #将物理地址加入进来
[SW1-Eth-Trunk2]q
[SW1]int Vlanif 1 #进入VLAN接口
[SW1-Vlanif1]ip add 192.168.10.2 24 #添加IP地址
[SW2]int vlanif 1 #进入VLAN接口
[SW2-Vlanif1]ip add 192.168.10.3 24 #添加IP地址
[SW2-Vlanif1]q
[SW2]int Eth-Trunk 2 #进入Eth-Trunk 2接口
[SW2-Eth-Trunk2]trunkport e 0/0/5 to 0/0/6 #将物理地址添加进来
注:UUID是真正的唯一标志符
UUID为系统中的存储设备提供唯一的标识字符串,不管这个设备是什么类型的。如果你在系统中添加了新的存储设备如硬盘,很可能会造成一些麻烦,比如说启动的时候因为找不到设备而失败,而使用UUID则不会有这样的问题。
[root@localhost ~]# nmcli connection
名称 UUID 类型 设备
ens33 b9a62994-c748-49a6-881a-8fe8dfefcc43 802-3-ethernet ens33
virbr0 60a74e63-ac49-451c-b4b5-751996052369 bridge virbr0
有线连接 418da202-9a8c-b73c-e8a1-397e00f3c6b2 802-3-ethernet ens36
#复制ens36的UUID
[root@localhost network-scripts]# vim ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=none #将原DHCP修改为none
NAME=ens33
UUID=b9a62994-c748-49a6-881a-8fe8dfefcc43
DEVICE=ens33
ONBOOT=yes
NETBOOT=YES #添加:是否为网络服务器为YES
USERCTL=no #添加:是否允许root用户控制改设备
MASTER=bond0 #主设备为bond0
SLAVE=yes #是否为从设备
[root@localhost network-scripts]# vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=none #修改:将开机协议修改为none
NAME=ens36 #修改:将ens33改为ens36
UUID="418da202-9a8c-b73c-e8a1-397e00f3c6b2" #此处修改为ens36的UUID
DEVICE=ens36 #修改:将接口类型ens33改为ens36
ONBOOT=yes #表示在系统启动时是否激活网卡
NETBOOT=YES #添加:是否为网络服务器为YES
USERCTL=no #添加:是否允许root用户控制改设备
MASTER=bond0 #主设备为bond0
SLAVE=yes #是否为从设备
[root@localhost network-scripts]# vim ifcfg-bond0 #设置bond0信息
#添加以下信息
ONBOOT=yes
DEVICE=bond0 #接口类型为bond0
BONDING_MASTER=yes #是否为bond主设备
IPADDR=192.168.10.100
PREFIX=24
GATEWAY=192.168.10.1
BOOTROTO=none
USERCTL=no
BONDING=OPTS="mode=4 miimon=100"
#mode模式一定要为4
PS:这简述mode各模式的作用
mode=0 #平衡抡循环策略
mode=1 #主-备份策略
mode=2 #平衡策略
mode=3 #广播策略
mode=4 #动态链路聚合,需要交换机配置
mode=5, #适配器传输负载均衡
mode=6 #适配器适应性负载均衡
miimon:指定MII链路监控频率,单位是毫秒(ms)。这将决定驱动检查每个slave链路状态频率。0表示禁止MII链路监控。100可以作为一个很好的初始参考值
之后的博客会对mode各种模式及特点进行详细说明
实验结果:bond可以实现和PC间通信
① 添加bond后需要通过路由器R1和主机实验联通,所以需要配置路由器和虚拟网关
② lacp命令配置和bpdu命令配置在二层链路绑定中适用,同样,最大链路活动数也适用
③ 交换机上配置IP地址需要添加虚拟接口vlanif
④ Linux新添加的网卡不会自动生成配置文件,我们需要手动复制并配置文件
⑤ bond文件也需要手动添加,建议将完整的配置文件保存下来,以备后用
⑥ 如果在配置完成后网卡无法启动,可以再使用:nmcli connection查询ens36的UUID是否正确