bonding实现网卡负载均衡与高可用
2017-08-19 本文已影响72人
Aubin
bondingLinux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余。他是解决同一个IP下突破网卡的流量限制的工具,网卡网线对吞吐量是有限制的。在资源有限的情况下,bonding做负载均衡是再好不过的办法。
一、bonding的常用的四种工作模式
- Mode0:轮询模式,对于加入bonding的网卡一次进行数据包的传输
- Mode1:主备模式(高可用),当指定的主网卡出现问题时,备用网卡立刻接替主网卡的工作
- Mode3:广播模式,加入有2个网卡加入了bonding,在传输数据时数据将会从两个网卡各传输一份到客户端,类似于镜像。提高了对客户端的容错能力
- Mode6:适配器负载均衡,根据算法算出最优的路径传输数据
二、CentOS6下bonding的配置
步骤一:首先查看当前的操作系统是否支持bonding
modinfo bonding
能出线bonding的介绍信息就说名当前系统支持bonding,截图只展示了一小部门
步骤二:查看有没有负载均衡的执行文件(使用到的工具就是bonding)
步骤三:创建bonding设备驱动配置文件
[root@shuaiguoxia ~]# cd /etc/sysconfig/network-scripts/
[root@shuaiguoxia network-scripts]# vi ifcfg-bond0
DEVICE=bond0 #bonding名称
BONDING_OPTS="miimon=100 mode=1" #设置模式为1,探测其他网卡状态时间为100毫秒
IPADDR=10.0.0.100 #IP地址
NETMAST=255.255.255.0 #掩码
PREFIX=24 #掩码
GATEWAY=10.0.0.1 #网关
USERCTL=no #普通用户不可控制
BOOTPROTO=static #IP获取方式
NOBOOT=on #引导式是否启动
步骤四:创建要加入bonding的网卡的配置文件
- 配置网卡一
[root@shuaiguoxia network-scripts]# vi ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0 #将eth1绑定到bond0
SLAVE=yes
USERCTL=no
- 配置网卡二
[root@shuaiguoxia network-scripts]# vi ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
MASTER=bond0
SLAVE=yes
USERCTL=no
步骤五:重启网络服务
service network restart
步骤六:查看bonding的状态
注意事项:
1.要更改bonding的模式只修改该bonding中的参数即可
2.在配置网卡绑定bonding时要去除MAC地址
3.在启用bongding时要关闭NnetworkManger,否则会与bond冲突
service NetworkManager stop #临时关闭
chkconfig NetworkManager off #永久关闭