CentOS 6网卡bonding配置详解

88423860 2018-05-08

网络接口Bonding

将多块网卡绑定至同一IP上,这在物理上是不可能实现的,因此需要虚拟出一个网卡,由它来提供服务,原本的物理网卡都统一修改为虚拟网卡的MAC,这种技术叫做Bonding,虚拟出来的网卡默认名依次为bond0,1...。Bonding可以实现高可用和负载均衡。

一、创建Bond

提前在虚拟机中添加3块网卡(个数自定义)

CentOS 6网卡bonding配置详解

之后我们使用ifconfig命令查看三块网卡的状态信息,由于我在虚拟机中开启dhcp,所以是三块网卡会有不同的IP,我们要重点的关注的是这三块网卡的MAC,他们是不一样。

CentOS 6网卡bonding配置详解

其实bonding是由内核加载的模块提供的功能,为了确实能使用bonding,我们需要先查看内核是否已经加载bonding模块,大部分都会默认开机加载。

CentOS 6网卡bonding配置详解

接下来就正常的修改网卡的配置文件,不过稍微有点不同

创建/etc/sysconfig/network-scripts/ifcfg-eth1、ifcfg-eth2、ifcfg-eth3、ifcfg-bond0,这些文件默认不会自己添加,因此需要我们手动添加;

编辑文件ifcfg-bond0,说一下最后一行的参数:miimon是网卡间传递数据的间隔,mode是bonding的模式,bonding有7中工作模式;

CentOS 6网卡bonding配置详解

编辑文件ifcfg-eth1,2,3。三个网卡的内容类似,为了减少繁琐的重复工作,自己编写了脚本自动配置三个网卡的配置文件。

#!/bin/bash

read -p "please input ethX " i    # 输入要修改的网卡,只需输入1、2、3数字即可

cat << EOF > /etc/sysconfig/network-scripts/ifcfg-eth$i

DEVICE=eth$i

MASTER=bond0

SLAVE=yes

EOF

CentOS 6网卡bonding配置详解

重启网络服务,查看结果

/etc/init.d/NetworkManager stop    # CentOS6建议将该服务关闭,很烦人。

/etc/init.d/network restart

可以看到那三块网卡之前的IP都不见了,并且他们的MAC都和bond0的一样。

CentOS 6网卡bonding配置详解

CentOS 6网卡bonding配置详解

二、修改Bond

只需要修改ifcfg-bond0的配置文件,这里我将mode选项修改2,重启网络服务之后,查看结果

CentOS 6网卡bonding配置详解

三、删除Bond

关闭bond0,然后将他的配置文件ifcfg-bond0删除,最后把bonding模块移除即可

ifdown bond0

rm -f /etc/sysconfig/network-scripts/ifcfg-bond0

rmmod bonding

重启网络服务查看结果

CentOS 6网卡bonding配置详解

相关推荐