Linux NIC Bonding(Team)mode=6 多网卡高可用实战

前景须知:

在redhat6 中网卡叫bond,在redhat7及centos7中改名team,此处只记录centos7中双网卡主备搭建过程。

应用情景:实现网络的高可用,防止一条网线或交换机故障影响该物理机进行数据交互。

Linux NIC Bonding 采用模式(命令行模式):

mode=6 (balance-alb):双独立槽位2口物理网卡分别配置1单口两两相组1对bond;平衡负载模式、自动备援

centos 7注意事项:

注: ip地址配置在bond0上, 物理网卡不需要配置ip地址。

实施过程:(网卡名称、IP地址、DNS、网关、子网掩码信息依实际情况而修改)

1、关闭和停止NetworkManager服务(一定要关闭,不关会对做bonding有干扰)

systemctl stop NetworkManager.service #停止NetworkManager服务

systemctl disable NetworkManager.service #禁止开机启动NetworkManager服务

2、加载bonding模块

modprobe --first-time bonding 或 modprobe bonding

没有提示说明加载成功, 如果出现 modprobe: ERROR: could not insert 'bonding': Module already in kernel 说明你已经加载了这个模块, 就不用管了

你也可以使用lsmod | grep bonding查看模块是否被加载

lsmod | grep bonding bonding 136705 0

3、启用rc.local开机启动项

chmod +x /etc/rc.d/rc.local

在文件中写入modprobe bonding

4、主Bond0 mode=6配置文件书写,在(
/etc/sysconfig/network-scripts/)目录下:ifcfg-bond0

DEVICE=bond0

NAME=bond0

TYPE=Bond

BONDING_MASTER=yes

IPADDR=192.168.2.*

PREFIX=255.255.255.0 或写成 NETMASK=255.255.255.0

GATEWAY=192.168.2.254

DNS1=0.0.0.0

DNS2=1.1.1.1

ONBOOT=yes

BOOTPROTO=none

BONDING_OPTS="mode=6 miimon=100"

5、编辑NIC接口文件,在(
/etc/sysconfig/network-scripts/)目录下:ifcfg-em1*、ifcfg-em2*;具体以实际查询网卡名称进行更改。

vim ifcfg-em1

TYPE=Ethernet

BOOTPROTO=none

DEVICE=em1

ONBOOT=yes

MASTER=bond0

SLAVE=yes

vim ifcfg-em2

DEVICE=em2

ONBOOT=yes

TYPE=Ethernet

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

PS:因实际情况略微不同,暂时不做这一步;如无法实现再添加。

vim /etc/modprobe.d/bond.conf

alias bond0 bonding

options bond0 miimon=100 mode=6

6、重启网络服务:systemctl restart network.service 或重新加载网络配置 nmcli connection reload && systemctl restart network.service

7、测试和验证bond接口:ifconfig查看网卡状态

8、查看绑定接口设置(绑定模式和从接口):cat /proc/net/bonding/bond0

9、测试容错:停掉一个网卡,看是否能够访问服务器以及接口状态:ifdown em1或em2

10、ifconfig查看网络状态,并验证应用级程序与数据交互状态。

Linux 多网卡Bond(Team)高可用知识点补充:

bond模式:

Mode=0(balance-rr)表示负载分担round-robin

Mode=1(active-backup)表示主备模式,只有一块网卡是active,另外一块是备的standby

Mode=2(balance-xor)表示XOR Hash负载分担

Mode=3(broadcast)表示所有包从所有接口发出,这个不均衡

Mode=4(802.3ad)表示支持802.3ad协议,和交换机的聚合LACP方式配合

Mode=5(balance-tlb)是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave

Mode=6(balance-alb)在5的tlb基础上增加了rlb。

0、2、3理论上需要静态聚合方式;5和6不需要交换机端的设置,网卡能自动聚合;4需要支持802.3ad;

但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

常用的有三种

mode=0:平衡负载模式,有自动备援,但需要交换机配合

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援

mode=6:平衡负载模式,有自动备援,不需要交换机配合

延续命令:

11、删除 bond 设备

查看网络设备

[root@localhost ~]# ls /sys/class/net/

bond0 bond1 bonding_masters eno16777736 eno33554960 eno50332184 eno67109408 eno83886632 lo

删除bond网络设备

直接删除bond0,会提示无权限。

可以通过bonding_masters文件删除bond设备,但是bonding_masters文件是无法直接修改的。

[root@localhost ~]# echo -bond0 >/sys/class/net/bonding_masters

echo 后面的 ‘-’ 是删除设备,‘+’是增加设备

您的支持与鼓励,是我前行的动力;希望可以解决您的问题。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值