Linux中网卡绑定bonding以及网络成组teaming技术学习

1.网卡绑定bonding技术
(1)bonding技术简介
网卡bonding技术是一种允许将多个物理以太网接口绑定成单一的虚拟接口,同时增加数据带宽并且提供故障切换的技术,是网卡层面的高可用方案。Linux内核2.x版本后,提供了Bonding技术的支持。类似的技术其实在Sun和Cisco中已经存在,分别称为Trunking和etherchannel技术。

Linux Bonding技术支持七种模式,有些模式用来提供负载均衡的功能,有些模式用来提供容错能力,有些模式则二者兼而有之。值得注意的是,有些模式是需要服务器上联的交换机配置支持的。
A)mode=0(balance-rr)
mode=0具有负载均衡和容错的能力。采用Round Robin方式,依次有第一个slave网卡至最后一个slave网卡来传送数据包,每一块slave网卡都在轮流进行工作。如果其中一个slave网卡故障失效,整机的网络通信可以正常运转。需要上联交换机进行配置支持。
B)mode=1(active-backup)
mode=1模式下,同一时间只有一个网卡在工作,其他的网卡不工作。当当前的slave网卡故障失效后,其他的slave网卡开始接替工作。
mode=1模式下,不需要上联交换机进行配置支持。
C)mode=2(balance-xor)
本模式下,既具备负载平衡功能,也具备容错功能。需要上联交换机进行配置支持。
D)mode=3(broadcast)
所有slave网卡都会接收和发送数据包,本模式主要提供容错能力,任一张slave网卡故障失效,整机的网络通信仍可正常运转。需要上联交换机进行配置支持。
E)mode=4(802.3ad)
802.3ad是正式的交换机连接聚合技术,需要交换机本身支持802.3ad,而本机网卡也需要支持ethtool
F)mode=5(balance-tlb)
该模式下,是根据每个slave网卡的负载情况选择slave网卡进行发送,接收时使用当前轮到的slave。该模式要求slave接口的网络设备驱动有某种ethtool支持;而且ARP监控不可用。该种模式不需要上联交换机做特殊的配置支持。如果正在接受数据的slave出故障了,另一个slave网卡会接管MAC地址。
G)mode=6(balance-alb)
该模式是在mode=5的tlb基础上增加了rlb(接收负载均衡receiveload balance)。不需要上联交换机做特殊配置支持。接收负载均衡是通过ARP协商实现的。

(2)网卡绑定Bonding的配置方法
以配置一个网卡绑定bond0,关联的物理网卡是eth0和eth1,且bonding工作模式为mode=1,配置步骤如下:
步骤一:新建网卡绑定bonding配置文件ifcfg-bond0
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.1.11           #根据实际需要,填写需要绑定的ip地址掩码网关
NETMASK=255.255.255.0
ONBOOT=yes
BOOTPROTO=none
USERCTL=no
BONDING_OPTS="mode=1 miimon=100"  #设置网卡的运行模式,此处配置的是mode=1
备注: miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;模式1为主备模式。
步骤二:配置物理网卡eth0,eth1
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0  #很重要的配置,指定物理网卡eth0的Master是bond0
SLAVE=yes     #指定自己是master的slave角色,受bond0控制
[root@redhat5 ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0 #很重要的配置,指定物理网卡eth0的Master是bond0
SLAVE=yes    #指定自己是master的slave角色,受bond0控制
步骤三:加载模块,让系统支持bonding
修改/etc/modprobe.conf配置 ,增加一行如下配置:
alias bond0 bonding
步骤四:重启网络服务
service network restart
步骤五:校验
执行ifconfig命令,查看是否有bond0网卡。
备注:可以通过一些系统文件查看bonding的配置和工作状态,即可以通过/proc/net/bonding/bond0以及/sys/class/net/bond0/bonding目录下的一些状态文件来了解bonding的一些信息。

2.网卡工作组teaming技术
(1)网卡工作组teaming技术简介
网卡绑定bonding可以提高网络的冗余,保证网络可靠性,提高网络速度。为了提高网络容错或吞吐量,一般服务器都会采取多网卡绑定的策略,在RHEL5/RHEL6中使用的是Bonding。而RHEL7提供了一项新的实现技术Teaming,用来实现链路聚合的功能,但是在RHEL7中,不会使用teaming替换bonding,它们是并存的,我们可以选择Teaming,也可以选择Bonding。
(2)网卡工作组teaming的配置方法
以配置一个网卡工作组team0,关联的物理网卡是eth0和eth1,且teaminging工作模式为mode=4,配置步骤如下:
步骤一:新建网卡工作组teaming配置文件ifcfg-team0
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-team0
DEVICE=team0
DEVICETYPE=Team    #很重要的配置
ONBOOT=yes
BOOTPROTO=none
IPADDR=10.11.128.21
PREFIX=24
DEFROUTE=no
TEAM_CONFIG='{"runner": {"name":"lacp", "active":true, "fast_rate":true, "tx_hash":["ipv4"], "ports":{"eth0":{}, "eth1":{}}}}'  #很重要的配置,指定teaming的工作模式是lacp,也就是mode=4(803.2ad)
MTU=1476
步骤二:配置物理网卡eth0,eth1
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
DEVICETYPE=TeamPort  #很重要的配置
UUID="5a9ddc27-f93e-4f4e-903c-be56fcb7258a"
ONBOOT=yes
TEAM_MASTER=team0    #配置了物理网卡eth0的Master网卡为team0
[root@localhost ~]#vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
DEVICETYPE=TeamPort  #很重要的配置
UUID="dfasdcdsf7-f93e-4f4e-903c-23sdfsab725"
ONBOOT=yes
TEAM_MASTER=team0    #配置了物理网卡eth0的Master网卡为team0
步骤三:重启网络服务
service network restart
步骤四:校验
执行ifconfig命令,查看是否有team0网卡
备注:可以通过一些系统文件查看teaming的配置和工作状态,即可以通过//sys/class/net/team0目录下的一些状态文件来了解teaming的一些信息。

学习资料参考于:
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值