绑定双网卡实现网卡负载均衡

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了绑定双网卡实现网卡负载均衡相关的知识,希望对你有一定的参考价值。

生产环境的机器都要求必须提供7x24小时的网络传输服务,为了确保网卡出现故障不影响业务,我们可以对两块网卡实施绑定技术,不仅可以提升网络传输的速度,而且一块网卡出现故障,另外一块网卡便会立即顶替上去,保证网络传输不会中断。
首先确定机器上是否有两张网卡
ifconfig
技术分享图片
第一步:修改两块网卡的配置文件,使其支持绑定
我们需要对两块网卡进行“初始设置”,需要将其配置成“从属”网卡,服务于“主”网卡,不应该再有自己的IP地址等信息。建议在修改配置之前,先将两块网卡的配置文件备份一份。

vim /etc/sysconfig/network-scripts/ifcfg-ens32
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
DEVICE=ens32
USERCTL=no   //是否允许普通用户控制此网卡,no为不允许
MASTER=bond0   //绑定后的主网卡名称,此为虚拟网卡
SLAVE=yes   //开启从属网卡
vim /etc/sysconfig/network-scripts/ifcfg-ens34
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=ens34
MASTER=bond0
SLAVE=yes

第二步:修改主网卡(虚拟网卡)bond0的配置文件,直接创建ifcfg-bond0文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.2.211
PREFIX=24
GATEWAY=192.168.2.1
DNS1=180.168.255.118
DNS2=114.114.114.114
NM_CONTROLLED=no

第三步:让Linux内核支持网卡绑定驱动。
常见的网卡绑定驱动有三种模式,mode0、mode1和mode6。
Mode0(平衡负载模式):平时两块网卡均工作,且自动备援,但需要在交换机上进行端口聚合来支持绑定技术。
Mode1(自动备援模式):平时只有一块网卡工作,在它故障后备用网卡自动替换上去工作。
Mode6(平衡负载模式):平时两块网卡均工作,且自动备援,无须交换机提供辅助支持。
创建网卡绑定的驱动文件,使得绑定后的bond0网卡能够支持绑定技术(bonding);同时定义网卡以mode6模式进行绑定,且出现故障时自动切换的时间为100毫秒。

vim /etc/modprobe.d/bond.conf
alias bond0 bonding
options bond0 miimon=100 mode=6

第四步:重启网络服务,正常情况下只有bond0网卡设备有IP地址等信息。

systemctl stop NetworkManager
systemctl disable NetworkManager
systemctl restart network

这里需要先关闭NetworkManager,再重启network,否则会报下图中错误
技术分享图片
使用ifconfig命令查看一下网卡状态,发现bond0和ens32的mac地址是相同的。
技术分享图片
第五步:测试
在本地执行ping 192.168.2.211 -t命令,然后移除掉ens32网卡后,发现只有1个数据丢包。此时再执行ifconfig命令查看状态,发现ens34和bond0的mac地址一样了,此时ens34网卡正在提供服务。
技术分享图片

以上是关于绑定双网卡实现网卡负载均衡的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 配置双网卡绑定,实现负载均衡

Linux双网卡绑定实现负载均衡

双网卡绑定之负载均衡高可用(bond)

CentOS 双网卡绑定实现平衡负载

bond双网卡绑定总结

centos 双网卡绑定 mode哪种好些