> Linux教程 > Linux学习 >

Linux Bond4模式

当linux系统上有多个单独网卡,又想充分利用这些网卡,同时对外提供一个统一的网络地址,以使得增大网络的吞吐量,同时也提高网络的可用性,这时就需要bond来帮助我们解决这个问题。linux中bond感觉有点带有bound和bind的意思,从字面意义上,就可以看出bond的作用是聚合多个东西,组合成一个统一的东西使用。

bond的配置在很简单,但是配置不好,很容易造成严重的网络问题。bonding功能是linux内核就自带了,因此,通常不需要安装它,只需要把bonding模块加载到内核里即可。
如下是配置bond网卡的步骤。配置需求是有两个网卡eth0和etho1,把它们俩bonding到一起,产生一个新的bond0。


一、配置ifcfg-bond0

在/etc/sysconfig/network-scripts目录下生成一个文件ifcfg-bond0,配置如下:
Bond代码 
DEVICE=bond0
USERCTL=no 
ONBOOT=yes 
BOOTPROTO=none 
NETWORK=192.168.198.0 
NETMASK=255.255.255.0 
GATEWAY=192.168.198.254 
IPADDR=192.168.198.44 
BONDING_OPTS="miimon=100 mode=4"   
最后一行BONDING_OPTS是bonding功能的选项,这些可选参数可以在这步配,也可以在第三步配。关于相关参数,请查阅文献2。
二、配置ifcfg-eth0和ifcfg-eth1

修改该目录下的ifcfg-eth0和ifcfg-eth1文件,配置如下:

ifcfg-eth0:
Conf代码
 
DEVICE=eth0
USERCTL=no 
ONBOOT=yes
MASTER=bond0 
SLAVE=yes 
BOOTPROTO=none 

ifcfg-eth1:

Conf代码 
DEVICE=eth1
USERCTL=no 
ONBOOT=yes
MASTER=bond0 
SLAVE=YES 
BOOTPROTO=none 



三、启动bonding服务

在/etc/modprobe.d/目录下新建一个bonding.conf文件,配置如下:
Shell代码 
alias bond0 bonding  
该文件可以配置多行bonding,也可以配置一些可选参数,可选参数的配置方式如下:options bond0 mode=balance-alb miimon=100
然后给配置linux内核加载bond模块,执行如下命令:

Shell代码 
modprobe bonding  
service network restart 
当network 服务重启成功后,这说明bond配置已经生效,bond0端口已经配置完成,可以cat /proc/net/bonding/bond0看bond0端口的状态信息。如果在一台机器再配置一个bond1,配置步骤完全相同。

当执行service network restart重启失败时,首先得先检查是否配置正确。如果正确,那么在network重启之前,必须首先关掉NetworkManager服务,即执行命令/etc/init.d/NetworkManager stop。


CentOS 7.2下执行的命令为:

# systemctl stop NetworkManager 临时关闭

# systemctl disable NetworkManager 永久关闭网络管理命令 (责任编辑:IT)