一、BONDING

bonding(绑定)是一种linux系统下的网卡绑定技术,可以把服务器上n个物理网卡在系统内部抽象(绑定)成一个逻辑上的网卡,能够提升网络吞吐量、实现网络冗余、负载等功能,有很多优势。bonding技术是linux系统内核层面实现的,它是一个内核模块(驱动)。使用它需要系统有这个模块, 我们可以modinfo命令查看下这个模块的信息, 一般来说都支持。

二、工作模式

bonding技术提供了七种工作模式,在使用的时候需要指定一种,每种有各自的优缺点.

  1. balance-rr (mode=0)       默认, 有高可用 (容错) 和负载均衡的功能,  需要交换机的配置,每块网卡轮询发包 (流量分发比较均衡).

  2. active-backup (mode=1)  只有高可用 (容错) 功能, 不需要交换机配置, 这种模式只有一块网卡工作, 对外只有一个mac地址。缺点是端口利用率比较低

  3. balance-xor (mode=2)     不常用

  4. broadcast (mode=3)        不常用

  5. 802.3ad (mode=4)          IEEE 802.3ad 动态链路聚合,需要交换机配置,没用过

  6. balance-tlb (mode=5)      不常用

  7. balance-alb (mode=6)     有高可用 ( 容错 )和负载均衡的功能,不需要交换机配置  (流量分发到每个接口不是特别均衡)

具体的网上有很多资料,了解每种模式的特点根据自己的选择就行, 一般会用到0、1、4、6这几种模式。

1、设置bonding前需要另添加两块网卡,且该两块网卡在一个vmnet中,共用bonding的ip地址  

        网卡的配置文件中的主要几个配置

            DEVICE=eth0  设备名

            ONBOOT=yes 表示随着网络服务的启动,该网卡是否随之启动

            NM_CONTROLLED=yes 表示该网卡是否支持NetworkManager管理

            BOOTPROTO=dhcp|static|none  如删除该行,则为手动设置地址

            HWADDR= 该网卡的MAC地址

            PEERDNS=no 默认是yes当该网卡启动PEERDNS=yes,dns配置文件中的dns会被该网卡

的dns设置所覆盖,若网卡是dhcp则被dhcp的设置覆盖,若网卡是静态地址,则被静态配置的dns

覆盖

2、修改网卡的配置文件 /etc/sysconfig/network-scripts/

      BONDING_OPTS="miimon=100 mode=1"

miimon是用来进行链路监测的。miimon=100,那么系统每100ms监测一次链路连接状态,如果有

一条路不通就转入另一条线路


3、配置要绑定的网卡的配置文件

   SLAVE=yes     是否同意服务bond0

   MASTER=bond0    该命令指定服务谁

4、bonding设置成功后,需要重启网络

     serivce network start 开启网络服务
      service network stop 停止网络服务
      service network restart 重启网络服务

5、测试bonding的配置效果,ping master的ip地址,当bonding中master网络断开,slave中的网

络就会顶上,在这期间

会发生丢包重传的情况。

cat /proc/net/bonding/bond0  该条命令可以用来查看masterde的详细信息

删除bonding前需要先关闭bond0:ifconfig bond0 down

                                                     rmmod bonding

2、centos7中的bonding的设置方式

 2.1、增添两块网卡,且在同一个vmnet中

 2.2、增加bond的方案,用nmcli命令进行操作设置一条新的方案

nmcli connection add con-name bond0 ifname bond0 type bond mode active-backup

2.3、增加slave的方案给两块新加的网卡

nmcli connection add con-name slavename ifname ensname type ethernet master bond0 

注意:如没有为从属接口提供连接名,则该名称是接口名称加类型构成

2.4、配置bond0,设置地址、域和网关

nmcli connection modify bond0 ipv4.method manual connection.autoconnect yes ipv4.addresses

  address ipv4.dns ipv4.gateway 网关地址

激活bond指令: nmcli connection up bondname

 

2.5、查看设置结果

2.6、测试,在一个vmnet主机ping bonding。