Linux下Bond技术实现负载均衡

问题介绍

一般企业内用于提供NFS服务、samba服务或者vsftpd服务时,要求系统必须提供7*24小时的网络传输服务。它所能提供的最大网络传输速度为100MB/s,但是当访问的用户数量特别多时,服务器的访问压力非常大,网络传输速率特别慢。

解决方法

因此我们可以采用bond技术实现多网卡的负载均衡来保障网络的自动备援和负载均衡。以此保障实际运维工作中网络的可靠性、文件高速率传输性。

网卡绑定mode共有七种(0~6): bond0、bond1、bond2、bond3、bond4、bond5、bond6。
常见的网卡绑定驱动有以下三种模式:

  • mode0 平衡负载模式: 平时两块网卡工作,且自动备援,但需要在服务器本机网卡相连的交换机设备上进行端口聚合来支持绑定技术;
  • mode1 自动备援技术: 平时只有一块网卡工作,在它故障后自动替换为另外的网卡;
  • mode6 平衡负载模式: 平时两块网卡均工作,且自动备援,无须交换机设备提供辅助支持;

这里主要详细介绍下mode6网卡绑定驱动模式,因为该模式能够让两块网卡同时一起工作,当其中一块网卡出现故障后能自动备援,且无需交换机设备的支援,从而保障可靠的网络传输保障。

以下在VMware虚拟机下RHEL 7中进行网卡的bond技术绑定操作

  1. 在虚拟机系统中再添加一块网卡设备,并设置两块网卡都在同一个网络连接模式中,如下图所示,处于该模式的网卡设备才可以进行网卡的绑定,否则这两块网卡无法相互传送数据。
    Linux下Bond技术实现负载均衡
    Linux下Bond技术实现负载均衡
    Linux下Bond技术实现负载均衡

  2. 配置网卡设备的绑定参数,这里需要注意此时独立的网卡需要被配置成为一块“从属”的网卡,服务于“主”网卡,不应该再有自己的IP地址。在进行如下的初始化设备后,它们就可以支持网卡绑定了。
    cd /etc/sysconfig/network-scripts/               #进入网卡文件的目录下

vim ifcfg-eno16777728              #编辑网卡1配置文件

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno16777728
ONBOOT=yes
HWADDR=00:0C:29:E2:25:2D
USERCTL=no
MASTER=bond0
SLAVE=yes

 vim ifcfg-eno33554968              #编辑网卡2配置文件

TYPE=Ethernet
BOOTPROTO=none
DEVICE=eno33554968
ONBOOT=yes
HWADDR=00:0C:29:E2:25:2D
MASTER=bond0
SLAVE=yes

  1. 新建网卡设备文件ifcfg-bond0,并配置IP地址等信息,这样子当用户访问相应服务的时候,就是由这两块网卡设备在共同提供服务了。

vim ifcfg-bond0              #当前目录下新建ifcfg-bond0配置文件

TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
USERCTL=no
DEVICE=bond0
IPADDR=192.168.100.5
PREFIX=24
DNS=192.168.100.1
NM_CONTROLLED=no

  1. 修改网卡绑定驱动模式,这里我们使用mode6(平衡负载模式)

vim /etc/modprobe.d/bond.conf              #配置网卡绑定驱动的模式

alias bond0 bonding
options bond0 miimon=100 mode=6

  1. 重启网络服务,使配置生效

systemctl restart network

  1. 测试
    Linux下Bond技术实现负载均衡

相关推荐