Linux bonding网卡绑定介绍

网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。首先我们来看一下具体的测试步骤,然后再总结介绍bonding的各种模式。

演示环境: 在VMware中安装的RHEL 7.3 虚拟机

1. 为虚拟机添加两块网卡,这两块网卡要分别对应服务器上的两个网口,需要在VC中配置vmnic和vSwitch的对应关系。

2. 在虚拟机中查看网卡配置,我这台虚拟机本来只有一个网卡(ens192)并配置了IP,ens224是新添加的网卡。

3. 编辑网卡配置文件,这里看到只有ifcfg-ens192, 新加入的网卡还没有配置文件,需要新建一个。 执行命令:

cd /etc/sysconfig/network-scripts/

ls

4. 编辑网卡1的配置文件 vi ifcfg-ens192

5. 编辑网卡2的配置文件 vi ifcfg-ens224

6. 配置bond网卡,默认没有此文件,同样需要新建 vi ifcfg-bond0

7. 检查并确认这三个配置文件配置正确

8. 一个网卡绑定内核驱动文件,使得bond0网卡能够支持绑定(bonding),这里我们使用模式1,自动切换时间为100毫秒

cd /etc/modprobe.d/

vi bonding.conf

alias bond0 bonding

options bonding miimon=100 mode=1

9. 重启网络服务后网卡绑定操作即可顺利成功,正常情况下只有bond0网卡才会有IP地址等信息

systemctl restart network

10. 确认网络是通的。

11. 查看bonding状态信息

12. 添加开机后网卡自动绑定,在/etc/rc.d/rc.local中添加如下信息ifenslave bond0 ens192 ens224

13, 模拟关闭网卡ens192,c测试主备网卡切换,可以看到,关闭ens192后,网络中断几秒钟后恢复,说明切换成功。测试结束

ifdown ens192

到这里简单的测试就完成了,在实际工作中,测试可能需要用到网络压力测试软件和网络分析软件,
对各种bonding模式的切换进行严格的测试。下面是关于bonding的几种模式的简要介绍。
bond模式介络
bond模式:
Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
Mode=1(active-backup) 表示主备模式,只有一块网卡是active, 另外一块是备的standby,这时如果
交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_h
ash_policy)
Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制…和交换机的聚合
强制不协商方式配合。
Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
Mode=6(balance-alb) 在5的tlb基础上增加了rlb。
Mode 1, 5和6不需要交换机端的设置,网卡能自动聚合。 Mode 4需要支持802.3ad。 Mode 0,2和3
理论上需要静态聚合方式。
常用的有三种
mode=0:平衡负载模式,有自动备份,需要交换机端的设置。
mode=1:主备模式,其中一条线若断线,其他线路将会自动接管。
mode=6:平衡负载模式,有自动备份,不需要交换机端的设置。

发表评论