运行环境: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文件的配置
两个slave文件的配置
ifcfg-eth2
ifcfg-eth3
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]
4、给两个新添加的网卡创建方案
nmcli connection add con-name slave-ens38 type ethernet ifname ens38
5、给bond0方案添加mod模式(也可以在创建bond0方案时直接添加,这里介绍一下nmcli 对方案进行修改的命令)
6、给两个网卡方案制定master(master后面必须跟DEVICE的名称,而不是方案名称)
nmcli connection modify slave-ens38 master nm-bond
nmcli connection modify slave-ens38 master nm-bond
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
nmcli connection up slave-ens38
nmcli connection up slave-ens39
9、通过ifconfig命令查看bond是否存在
ifconfig nm-bond
三、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
当前可以ping通,我们把centos7中断开其中bond的一块网卡,看是否还能ping通
当我们断开其中一块网卡时可以发现只是丢失了一个包,仍然可以ping通
2、 centos6 Bond测试
在centos7中pingcentos6中bond的IPdizhi; ping 20.20.20.20
当我们断开其中一块网卡时仍然可以ping通,也是丢失了一个包。