Bonding

是将多块网卡绑定同一个Ip地址对外提供服务,可以实现高可用或者负载均衡。直接给两块网卡设置同一个IP地址是不可以的。通过 bonding ,虚拟一块网卡对外提供连接,物理网卡被修改为相同的MAC地址

Bonding的工作模式

  1. Mode 0 (balance-rr)
    轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
  2. Mode 1 (active-backup)
    活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave.为了避免交换机发生混乱此时绑定的MAC地址只有
    一个外部端口上可见
  3. Mode 3 (broadcast)
    广播策略:在所有的slave接口上传送所有的报文,提供容错能力
  4. active-backup、 balance-tlb 和 balance-alb 模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式 0、 2 和 3 中使用 EtherChannel,但在模式4中需要 LACP和EtherChannel

配置

  • /etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=none
    BONDING_OPTS="miimon=100 mode=0"
  • /etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    MASTER=bond0
    SLAVE=yes
    USERCTL=no

查看bond0状态

/proc/net/bonding/bond0

删除bond0

ifconfig bond0 down
rmmod bonding

通过修改文件的方式进行 Bonding 配置

创建bonding 设备的配置文件

miimon 是用来进行链路监测的。如果miimon=100,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
mode是用来指定 Bonding 的工作模式
网络接口配置bonding_第1张图片
查看 bond0 的状态
网络接口配置bonding_第2张图片
bond0 创建完成

卸载bond0

卸载前执行 ifconfig bond0 down 使bond0设备离线
查找已经加载到内核中的bond 的模块的状态信息,执行rmmod 命令删除bond0
网络接口配置bonding
将原文件信息复原并重启网络服务
网络接口配置bonding

nmcli 实现 bonding

  1. 添加bonding接口
      nmcli con add type bond con-name mybond0 ifname bond0 mode active-backup
  2. 添加从属接口
      nmcli con add type bond-slave ifname ens7 master bond0
      nmcli con add type bond-slave ifname ens3 master bond0
  3. 要启动绑定,则必须首先启动从属接口
      nmcli con up bond-slave-eth0
      nmcli con up bond-slave-eth1
  4. 启动绑定
      nmcli con up mybond0