Linux下配置Bond网卡

一、bond简介

   网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术。通过bond技术让多块网卡看起来是一个单独的以太网接口设备并具有相同的ip地址。在linux下配置bond,通过网卡绑定技术既能增加服务器的可靠性,又增加了可用网络宽带,为用户提供不间断的网络服务。

二、bond模式

    1、Mode=0 ( balance-rr :平衡抡循环策略 ) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。

    2、Mode=1 ( active-backup :主备策略 ) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。

    3、Mode=2 ( balance-xor :平衡策略 ) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)

    4、Mode=3 ( broadcast :广播策略 ) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。

    5、Mode=4 ( 802.3ad :动态链接聚合 ) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)

    6、Mode=5 ( balance-tlb :适配器传输负载均衡 ) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave

    7、Mode=6 ( balance-alb :适配器适应性负载均衡 ) 在5的tlb基础上增加了rlb。

    0,2和3理论上需要静态聚合方式;4需要支持802.3ad。5和6不需要交换机端的设置,网卡能自动聚合。

扫描二维码关注公众号,回复: 2798072 查看本文章

    常用的有三种

     mode=0:平衡抡循环模式,有自动备援,但需要”Switch”支援及设定。负载均衡模式下,两块网卡都工作,提供两倍带宽。

     mode=1:主备策略模式,其中一条线若断线,其他线路将会自动备援。

     mode=6:适配器适应性负载均衡模式,有自动备援,不必”Switch”支援及设定。 

   此篇文章主要讨论 mode=1( 主备策略 )主备模式下,只有主网卡eth2工作,eth3作为备份网卡是不工作的,只有当一个网络接口失效时(例如交换机掉电等),为了不会出现网络中断,系统会按照配置指定的网卡顺序启动工作,保证机器仍能对外服务,起到了失效保护功能。

三、配置bond步骤

     实验前提 :centos 6     centos 7  各一台;

                        两个物理接口为 eth2  eth3;(保证两个物理接口在同一个VMnet )

                        绑定的虚拟接口为 bond0;

1、centos 6 中 bond 网卡配置

    1)在虚拟机中添加两块网卡两个物理接口设置为同一个VMnet (VMnet3),添加成功后 ifconfig 查看是否成功。

image.png

      2) cd /etc/sysconfig/network-scripts/    红帽系操作系统的网卡配置文件所在目录  修改文件  (该目录下的文件名称全以 ifcfg-  命名)

cd /etc/sysconfig/network-scripts/   进入网卡配置文件所在目录

image.png

     虚拟机新加两个网卡,但配置文件不会自动生成,需要手工自动添加。

    cp 已存在文件名  新文件名        建立一个有内容的新文件

    或 vim 文件名         进入文本编辑模式    (若文件不存在,则自动生成一个新文件)

vim  ifcfg-bond0   该文件不存在,自动创建ifcfg-bond0文件

image.png

vim ifcfg-eth2  编辑 ifcfg-eth2 文件

vim ifcfg-eth2  编辑 ifcfg-eth2 文件   配置slave文件

image.png

vim ifcfg-eth3  编辑 ifcfg-eth3 文件

vim ifcfg-eth3  编辑 ifcfg-eth3 文件    配置slave文件

image.png

   3)重启网络服务

service network restart     (部分截图)  centos 6 bond0 以配置好

image.png

image.png

2、centos 7 中 bond 网卡配置

    nmcli  device show 详细显示网卡的信息 可以后面再跟上具体的网卡名,如不加,则显示所有网卡的信息

   nmcli  device status 简单显示所有网卡的连接状态

    nmcli  device disconnect ens33 断开指定网卡与方案的连接

    nmcli  device connect ens33 创建指定网卡与方案的连接

    nmcli connection reload 重读

    nmcli connection up 方案名    使方案名生效

    nmcli connection show   查看当前网卡配置方案

     在centos 7 中不建议手动创建网卡配置文件,如果手工修改了配置文件(路径:/etc/sysconfig/network-scripts/),则需要使用nmcli connection reload 重读后,才能够nmcli connection up 方案名。

    1 ) 在虚拟机中添加两块网卡两个物理接口设置为同一个VMnet (VMnet3),添加成功后 ifconfig 查看是否成功。image.png

     2 ) nmcli connection show   查看当前网卡配置方案   现况如下:

image.png

      3 ) 创建一个新的方案bond ,命名为bond0。

nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup         (一条长命令,不好记忆,可以逐步TAP)

 新建一个方案名为bond0(第一列;con-name 随意命名)对应设备名为:bond0(最后一列;ifname 随意命名)类型为:bond   模式:主备策略  的方案

nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup
nmcli connection show      查看当前网卡配置方案     (颜色不对,是没有设置IP,随后设置IP)

image.png

     4 ) 增加slave的方案给两块新加的网卡 ens38  ens39

image.png

     nmcli connection add con-name slave-38 ifname ens38 type ethernet master bond0

新增加方案名为slave-38   对应的设备名为ens38     类型为以太网    master(主人)为bond0   

    nmcli connection add con-name slave-39 ifname ens39 type ethernet master bond0

新增加方案名为slave-39   对应的设备名为ens39     类型为以太网    master(主人)为bond0   

nmcli connection add con-name slave-38 ifname ens38 type ethernet master bond0
nmcli connection add con-name slave-39 ifname ens39 type ethernet master bond0
nmcli connection show   查看当前网卡配置方案

image.png

     5 ) 配置bond0

     nmcli connection modify bond0 ipv4.method manual connection.autoconnect yes ipv4.addresses 20.20.20.20/24 ipv4.dns 8.8.8.8 ipv4.gateway 20.20.20.1

配置bond0 的各种参数 :静态配置IP;开机自启动;配置IP地址/子网掩码; dns;网关。

image.png

nmcli connection show   查看当前网卡配置方案

image.png

      6 ) 直接激活bond0

  nmcli connection up slave-38  激活方案bond0下的slave-38  39 
  nmcli connection up slave-39
  nmcli connection up bond0   激活bond0后,

image.png

image.png

image.png

四、bond实验测试

    centos 6 中

image.png

    centos 7 中

image.png

   centos 6 ping  centos 7

                 ping 20.20.20.20     ( ing  通后断掉centos 6 中的其中一个slave网卡 )链接没有断开,只是丢失了一个包

image.png

image.png

猜你喜欢

转载自blog.51cto.com/13869720/2160876