Web服务器群集:链路聚合与桥接

目录

一、理论

1.链路聚合

2.bond模式

3.team模式

4.bond和team区别

二、实验

1.实现bond网络接口

2.实现team网络接口

三、总结


一、理论

1.链路聚合

(1)概念

链路聚合(Link Aggregation),它是一个计算机网络术语,指将多个物理端口汇聚在一起,形成一个逻辑端口,以实现出/入流量吞吐量在各成员端口的负荷分担,交换机根据用户配置的端口负荷分担策略决定网络封包从哪个成员端口发送到对端的交换机。当交换机检测到其中一个成员端口的链路发生故障时,就停止在此端口上发送封包,并根据负荷分担策略在剩下的链路中重新计算报文的发送端口,故障端口恢复后再次担任收发端口。链路聚合在增加链路带宽、实现链路传输弹性和工程冗余等方面是一项很重要的技术。

(2)原理

 多个物理的端口绑定在一起当成一个逻辑端口来使用,提高带宽,实现负载平衡或高可用的功能
(3)应用场景: 网卡的链路聚合就是将多块网卡连接起来,当一块网卡损坏时,其余网卡仍工作,网络依旧可以正常运行,可以有效的防止因为网卡损坏带来的损失,同时也可以提高网络访问速度,其余网卡作为替补,防患于未然.

(3)配置模式
网卡的链路聚合常用的有 bond 和 team 两种模式,bond模式最多可以添加两块网卡,team模式最多可以添加八块网卡。

2.bond模式

(1)概念

将2块网卡虚拟成为一块网卡,使其具有相同的ip地址,来实现提升主机的网络吞吐量或者是提高可用性,这种技术被称作bonding。

(2)聚合方式:

表1 bond聚合方式

服务器网卡绑定模式交换机对接方式说明
mod=0(balance-rr) Round-robin policy(轮询)配置手工模式链路聚合路聚合与之对接。服务器所绑定的网卡被修改成相同的MAC地址,需要交换机通过手工模式链路聚合与之对接。
mod=1(active-backup) Active-backup policy(主-备份策略)配置对接接口在同一个VLAN服务器采用双网卡时, 一个处于主状态, 一个处于从状态,所有数据都通过主状态的端口传输。当主状态端口对应链路出现故障时,数据通过从状态端口传输。因此交换机对应的两个端口建议配置在同一个VLAN。
mod=2(balance-xor) XOR policy(平衡策略)配置手工模式链路聚合服务器的多网卡基于指定的HASH策略传输数据包,需要交换机配置手工模式链路聚合与之对接。
mod=3broadcast(广播策略)采用两台交换机对接且配置在不同VLAN服务器的多网卡对于同一份报文会复制两份分别从两个端口传输,建议使用式链路聚合与之对接。
mod=4(802.3ad) IEEE 802.3ad Dynamic link aggregation(IEEE 802.3ad 动态链接聚合)配置LACP链路聚合服务器的多网卡采用L ACP模式绑定,对应交换机应采用L ACP模式的链路聚合与之对接。
mod=5(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡)采用两台交换机对接服务器的多网卡采用适配器传输负载均衡,交换机上不需进行配置。
mod=6(balance-alb) Adaptive load balancing(适配器适应性负载均衡)采用两台交换机对接服务器的多网卡采用适配器适应性负载均衡,交换机上不需要进行配置。

(3) 内核加载bond模块并查看

  

3.team模式

(1)概念

链路聚合的一种方式,最多支持8块网卡,相比 bond 更加稳定可靠。

(2)聚合方式:

表2 team聚合方式

种类名称
broadcast广播容错 
round-robin平衡轮叫
active-backup主备
load-balance负载均衡

4.bond和team区别

 bond只能是双网卡绑定,team不需要手动加载相应内核模块和有更强的拓展性,最高可以绑定8块网卡。

 其他参数区别:

表3 bond和team对比

聚合方式bond模式team模式
broadcast TX policyYesYes
round-robin TX policyYesYes
active-backup TX policyYesYes
LACP (802.3ad) supportYesYes
hash-based TX policyYesYes
TX load-balancing support (TLB)YesYes
VLAN supportYesYes
LACP hash port selectYesYes
Ethtool link monitoringYesYes
ARP link monitoringYesYes
ports up/down delaysYesYes
configurable via Network Manager (gui, tui, and cli)YesYes
multiple device stackingYesYes
highly customizable hash function setupNoYes
D-Bus interfaceNoYes
ØMQ interfaceNoYes
port priorities and stickiness (“primary” option enhancement)NoYes
separate per-port link monitoring setupNoYes
logic in user-spaceNoYes
modular designNoYes
NS/NA (IPV6) link monitoringNoYes
load-balancing for LACP supportNoYes
lockless TX/RX pathNoYes
user-space runtime controlLimitedFull
multiple link monitoring setupLimitedYes
extensibilityHardEasy
performance overheadLowVery Low
RX load-balancing support (ALB)YesPlanned
RX load-balancing support (ALB) in bridge or OVSNoPlanned

5.桥接

(1)概念

桥接是虚拟网卡,默认主机是没有网桥的(内核不开放的),虚拟机内核和系统和真机的内核和系统是相互独立的。
真机上网是通过内核调用网卡与外界进行联系的,而虚拟机的网卡是虚拟化的,不能直接上网。所以在真机的内核上面开一个网络桥接的口,将虚拟机的内核和真机的网卡连接在一起,从而虚拟机可以通过真机的网卡上网。
即在网卡上开一个接口,而该接口绑定一个IP,同一网段的虚拟机直接通过此接口绑定的IP与外界通信,相当于在虚拟机和真机上面架了一个桥,不需要受内核路由的控制,直接可以与外界通信
NAT和网桥的对比 :

表4 NAT和网桥对比

序号对比
1相对于NAT,网桥不需要地址伪装,也不需要路由转发,也不需要配置网关,就可以与外界通信(配置的繁琐性)
2网桥是工作在数据链路层(不需要IP,通过MAC通信),而NAT是在网络层(需要IP),所以前者的速度比后者快


 

二、实验

1.实现bond网络接口

(1)添加网卡

 (2)ifconfig查看网卡

NAME=bond1
TYPE=bond
DEVICE=bond1
BOOTPROTO=none
IPADDR=192.168.204.150
NETMASK=255.255.255.0
GATEWAY=192.168.204.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"

 (3)创建bond设备文件

切换目录创建文件

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# vim  ifcfg-bond1

配置文件

NAME="bond1"
TYPE="bond"
DEVICE="bond1"
BOOTPROTO="static"
NM_CONTROLLED="no"
ONBOOT="yes"
IPADDR=192.168.204.150
NETMASK=255.255.255.0
GATEWAY=192.168.204.2
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"

(4)进入主网卡ens33配置主bond

[root@localhost network-scripts]# vim ifcfg-ens33
BOOTPROTO="static"
TYPE=Ethernet
NAME="ens33"
DEVICE="ens33"
ONBOOT="no"
MASTER="bond1"
SLAVE="yes"

(5)进入备网卡ens36配置从属bond

[root@localhost network-scripts]# vim ifcfg-ens36
NAME="ens36"
TYPE=Ethernet
DEVICE="bond1"
BOOTPROTO="none"
MASTER=bond1
SLAVE="yes"
ONBOOT="no"

(6)重启网卡使用另一台主机进行ping操作,在本主机使用ifdown  ens33关闭ens33网卡

    

结果:ping过程中关闭ens33网卡依然能ping通

(7)使用ifup ens33开启ens33网卡,然后使用另一台主机进行ping操作,在本主机使用ifdown ens36关闭ens36网卡

  

 结果:ping过程中关闭ens36网卡依然能ping通

(8)使用ifup ens36开启ens36网卡,然后使用另一台主机进行ping操作,在本主机分别关闭ens33网卡、ens36网卡。

结果:2个网卡都关闭后ping的主机会卡顿然后报错未发现此地址

(9)分别开启ens33、ens36网卡。然后使用cat /proc/net/bonding/bond1查看bond1信息,此bond1名称为配置文件中配置的bond名称

cat /proc/net/bonding/bond1

2.实现team网络接口

(1)备份

[root@localhost network-scripts]# mv /etc/sysconfig/network-scripts/ifcfg-ens* /etc/sysconfig/network-scripts/backup

(2)查看设备状态

nmcli device status

  

(3)重启网络

systemctl restart network

(4)创建链路聚合,模式为 loadbalance

nmcli connection add type team con-name team0 ifname team0 config '{"runner":{"name":"loadbalance"}}'	

  

(5) 查看网卡状态 

nmcli connection show

(6)开启team0-1与team0-2  

(7)添加team0 网卡配置

  

(8)开启team0

  

(9)查看生成了三个有关team模式的配置文件,主接口和两个子接口配置 ifcfg-team0 ifcfg-team0-1 ifcfg-team0-2 ...

  

(10)查看team0链路状态

  

(11)查看当前工作网卡

如果是主备模式可以查看是当前工作的网卡

  

关闭备设备并查看

  

启动备设备并查看

  

三、总结

Linux配置链路聚合的两种方式 ,网卡的链路聚合一般常用的有"bond"和"team"两种模式,"bond"模式最多可以添加两块网卡,"team"模式最多可以添加八块网卡。

在网卡绑定选项上可以根据操作系统来选择,team模式是 CentOS7 加上的,如果是 CentOS7及以上系统可选用team模式绑定,支持更多拓展性以及更节省资源。另外如果是要做桥接网络的话,目前测试只能使用bond模式,team模式无法桥接。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值