网络接口配置 -- bonding

一:实验环境vim

①两台centos虚拟机,一台作试验机,一台作测试机centos

②两个网卡eth0、eth1网络

二:实验目的负载均衡

在生产环境中,当多名用户同时访问一个IP时将会增大网卡负荷和风险,这时咱们能够经过将多块网卡绑定同一IP地址对外提供服务,从而实现高可用和负载均衡ide

※三:经常使用Bonding工做模式:测试

Mode 0  ( balance-rr )轮转模式centos7

轮转(Round-robin)策略: 从头至尾顺序的在每个slave 接口上面发送数据包,当一个slave中止工做时,会出现丢包,但程序并不会死掉。本模式提供负载均衡和容错的能力spa

Mode 1   (active-backup) 活动备份策略3d

工做模式: 只有一个slave被激活,当且仅当活动 的slave接口失败时才会激活其余slave。为了不交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见rest

Mode 3    (broadcast)          广播策略              

工做模式:在全部的slave接口上传送全部的报文,提供容错能力

四:实验步骤

方法一:配置文件法

①建立bond0设备的配置文件并写入以下内容

vim /etc/sysconfig/network-scripts/ifcfg-bond1

 
 

DEVICE=bond0

BOOTPROTO=none

IPADDR=172.17.252.166 

BONDING_OPTS= “miimon=100 mode=1”
知识点解释: 
miimon=100   设置网卡间相互检测对方状态的间隔时间(ms),用来灵活的切换网卡。
mode=1  设置bond模式为 active-backup

②修改网卡配置文件

在eth0与eth1配置文件中添加以下几行:

SLAVE=yes         //设置为奴隶USERCTL=no
MASTER=bond0      //指定主bond设备
USERCTL=no    //不容许非root用户控制该设备

注意:

③重启network服务,使配置文件生效

注意啦,若是重启服务后没有出现bond1的接口信息,且经反复检查后配置文件并无错误,请相信我,你的NetworkManager服务必定没关,关闭它就行了

systemctl status NetworkManager   #查看服务状态 
systemctl stop NetworkManager    #centos 7 中用此命令

④查看bond0的详细状态

cat  /proc/net/bonding/bond0

[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.7.1 (April 27, 2011)

Bonding Mode: load balancing (round-robin)  #轮寻模式
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0

Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:2e:e8:4e
Slave queue ID: 0

Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:2e:e8:58
Slave queue ID: 0

⑤测试环节

1.用centos6来ping centos7的bond0,如图一,一切正常,没有出现丢包现象

wKioL1mz19eCjcbyAAB8VT1Mfy4698.png-wh_50

图一

2. 接下来让咱们停用eth1网卡,来测试bond0是否出现丢包

wKiom1mz2F_QtsFpAABBxMaZgz4036.png-wh_50

图二

由图二可得,序号为534的IICMP包丢失,但整体上来讲,丢包率很低O(∩_∩)O,bond0稳定性仍是有目共睹的。

⑤取消绑定可采起下列步骤

1)ifconfig bond0 down

2)删除ifcfg-bond0

3)恢复eth0和eth1配置文件到修改前状态

4)删除bondin模块

     lsmod |grep bond 查看已有的模块,发现模块还没删除

     删除绑定模块:rmmod bonding

5)重启网络服务  service network restart

方法二:nmcli命令法

实验准备:务必确保已开启NetworkManager服务

(1)添加bonding接口mybond0,模式为active-backup(MODE 1)

nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup

命令执行后,系统会自动生成ifcfg-mybond0文件

(2)添加从属接口eth0与eth1

nmcli con add type bond-slave ifname eth0 master mybond0

nmcli con add type bond-slave ifname eth1 master mybond0

(3) 要启动绑定,则必须首先启动从属接口

nmcli con up bond-slave-eth0

nmcli con up bond-slave-eth1

此时,系统会自动生成ifcfg-bond-slave-eth0,ifcfg-bond-slave-eth1两个配置文件

(4)启动绑定

nmcli con up mybond0

(5)取消绑定

nmcli con down mybond0


五:实验总结

这次实验难度不大,须要注意的细节就是NetworkManager这个服务的开启状态。其次,本菜鸟推荐你们在centos 7上尽可能使用方法二,虽然命令较长,但无需修改配置文件,这对于之后自动脚本的编写仍是很是有用的。

相关文章
相关标签/搜索