您的位置:首页 > 理论基础 > 计算机网络

网络接口配置 -- bonding

2017-09-09 20:52 176 查看
一:实验环境
①两台centos虚拟机,一台做试验机,一台做测试机
②两个网卡eth0、eth1
二:实验目的
在生产环境中,当多名用户同时访问一个IP时将会增大网卡负荷和风险,这时我们可以通过将多块网卡绑定同一IP地址对外提供服务,从而实现高可用和负载均衡
※三:常用Bonding工作模式:
Mode 0 ( balance-rr )轮转模式
轮转(Round-robin)策略: 从头到尾顺序的在每一个slave 接口上面发送数据包,当一个slave停止工作时,会出现丢包,但程序并不会死掉。本模式提供负载均衡和容错的能力
Mode 1 (active-backup) 活动备份策略
工作模式: 只有一个slave被激活,当且仅当活动 的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
Mode 3 (broadcast) 广播策略
工作模式:在所有的slave接口上传送所有的报文,提供容错能力
四:实验步骤
方法一:配置文件法
①创建bond0设备的配置文件并写入如下内容
vim /etc/sysconfig/network-scripts/ifcfg-bond1
DEVICE=bond0BOOTPROTO=noneIPADDR=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,如图一,一切正常,没有出现丢包现象



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


图二由图二可得,序号为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上尽量使用方法二,虽然命令较长,但无需修改配置文件,这对于以后自动脚本的编写还是非常有用的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 运维