功能实现的目的:多块网卡使用同一个ip地址以提供网卡负载均衡或容错的能力.
1 service NetworkManager stop (关闭NetworkManager服务)
2 创建bonding设备的配置文件 /etc/sysconfig/network-scripts/ifcfg-bond0,文件内容如下:
TYPE=Ethernet
DEVICE=bond0
IPADDR=192.168.1.20
PREFIX=16
BOOTPROTO=none
BONDING_OPTS="miimon=100 mode=0" # miimon为探测的时间间隔(毫秒) mode为绑定的模式
步骤2中的绑定模式说明
Mode 0-(balance-rr)轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。第一个请求来了发送给第一块网卡处理,第二个请求来了,就发往第二块网卡进行处理,以此提供负载均衡能力。但此模式没有容错能力,即只要有一块网卡不能正常工作,则会出错。
Mode 1-(active-backup)高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。只有当正在工作的网卡出故障时备用网卡才会被激活,并及时替换坏了的网卡进行工作,可见这个模式并不能提升数据处理性能,但是有容错能力,因此常运用在实际生产环境中。
Mode 2-基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
Mode 3-广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。
Mode 4-802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)
Mode 5-适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。
Mode 6-适配器输入/输出负载均衡模式,在”模式5″的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。
3 分别创建2个网卡配置文件如:ifcfg-eth0, ifcfg-eth1内容形式如下
DEVICE=eth0 (或者是eth1,如果是CentOS7则网卡名称类似eno16777736)
BOOTPROTO=none
MASTER=bond0 # 指明参与到哪个bond设备里
SLAVE=yes # 参照Master的配置
USERCTL=no
4 service network restart (重启网络服务).这时候所配置的多块网卡都使用的是同一个ip(192.168.1.20)了.
5 如何查看当前网卡的bind状况: cat /proc/net/bonding/bond0