网络接口配置 -- bonding
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了网络接口配置 -- bonding相关的知识,希望对你有一定的参考价值。
一:实验环境
①两台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=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
[[email protected] ~]# 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上尽量使用方法二,虽然命令较长,但无需修改配置文件,这对于以后自动脚本的编写还是非常有用的。
本文出自 “13162823” 博客,请务必保留此出处http://13172823.blog.51cto.com/13162823/1963998
以上是关于网络接口配置 -- bonding的主要内容,如果未能解决你的问题,请参考以下文章