运行环境:centos6;centos7 ;vmware

一、Bond模式介绍

  网卡Bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。通过Bond技术让多块网卡看起来是一个单独的以太网接口设备并具备相同的ip地址

  • mod0 平衡轮循环策略

  • mod1 主备份策略

  • mod2 平衡策略

  • mod3 广播策略

  • mod4 IEEE 802.3ad动态链接聚合

  • mod5 适配器传输负载均衡

  • mod6 适配器适应性负载均衡


二、Bond模式实现

(1)centos6环境

1、 首先在虚拟机添加两块网卡,并将两块网卡设定到同一个vmnet中,添加完成后通过ifconfig命令查看网卡是否添加成功。创建Bond文件,名字可以随意,这里起名为Bond0

cd /etc/sysconfig/network-scripts

2、 进入后通过touch命令创建一个新的文件命名格式为ifcfg-xxx或者直接用cp命令拷贝原有存在的网卡配置文件,通过vim命令进行修改

vim ifcfg-bond0

 对该文件进行编辑,内容如下:

  DEVICE=bond0(设备名称)
  TYPE=Ethernet   

  ONBOOT=yes    (开机网卡是否自启动)

  NM_CONTROLLED=no  (表示该网卡是否支持NetworkManager管理)

  Name="System bond0"   (并不太重要,不同也不影响)

  IPADDR=20.20.20.20       (静态地址)

  NETMASK=255.255.255.0  (子网掩码)

  BONDING_OPTS="miimon=100 mode=1"(配置Bond的核心语句,mod1 为主备模式)

  ifcfg-bond0文件的配置

linux网卡Bond模式_linux 系统运维 Bond

两个slave文件的配置

ifcfg-eth2

linux网卡Bond模式_linux 系统运维 Bond_02

ifcfg-eth3

linux网卡Bond模式_linux 系统运维 Bond_03

3、重新启动网络服务

service network restart

(2)centos7环境

1、 首先在虚拟机添加两块网卡,并将两块网卡设定到同一个vmnet中,添加完成后通过ifconfig命令查看网卡是否添加成功。创建Bond文件,名字可以随意,这里起名为Bond0

2、通过命令nmcli来查看网卡方案以及配置网卡方案

nmcli connectio show (查看当前网卡配置方案)也可以简写为 nmcli c s

3、首先创建一个bond的方案,命名为bond0

nmcli connection add con-name bond0 type bond(添加一个类型为bond 名称为bond0的方案[object Object]

  linux网卡Bond模式_linux 系统运维 Bond_04

 4、给两个新添加的网卡创建方案

nmcli connection add con-name slave-ens38 type ethernet ifname ens38

 linux网卡Bond模式_linux 系统运维 Bond_05

 linux网卡Bond模式_linux 系统运维 Bond_06

 5、给bond0方案添加mod模式(也可以在创建bond0方案时直接添加,这里介绍一下nmcli 对方案进行修改的命令)

 linux网卡Bond模式_linux 系统运维 Bond_07

 linux网卡Bond模式_linux 系统运维 Bond_08

 6、给两个网卡方案制定master(master后面必须跟DEVICE的名称,而不是方案名称)

nmcli connection modify slave-ens38 master nm-bond
nmcli connection modify slave-ens38 master nm-bond

linux网卡Bond模式_linux 系统运维 Bond_09

7、给bond0方案配置IP地址

nmcli connection  modify bond0 ipv4.method manual connection.autoconnection yes ipv4.address 20.20.20.18(命令太长,就不截图了)

8、激活方案bond0,以及其它两个网卡方案

nmcli connection up bond0

linux网卡Bond模式_linux 系统运维 Bond_10

nmcli connection up slave-ens38

linux网卡Bond模式_linux 系统运维 Bond_11

nmcli connection up slave-ens39

 linux网卡Bond模式_linux 系统运维 Bond_12  linux网卡Bond模式_linux 系统运维 Bond_13

9、通过ifconfig命令查看bond是否存在

ifconfig nm-bond

linux网卡Bond模式_linux 系统运维 Bond_14


三、Bond测试

现在已经把centos6和centos7中的bond配置好了,centos6的bond地址为20.20.20.20,centos7的bond地址为20.20.20.18,通过ping命令进行测试

1、centos7 Bond测试

在centos6.9中pingcentos7中bond的IPdizhi; ping 20.20.20.18

linux网卡Bond模式_linux 系统运维 Bond_15

当前可以ping通,我们把centos7中断开其中bond的一块网卡,看是否还能ping通 linux网卡Bond模式_linux 系统运维 Bond_16

当我们断开其中一块网卡时可以发现只是丢失了一个包,仍然可以ping通


2、 centos6 Bond测试

在centos7中pingcentos6中bond的IPdizhi; ping 20.20.20.20

当我们断开其中一块网卡时仍然可以ping通,也是丢失了一个包。linux网卡Bond模式_linux 系统运维 Bond_17