首页 > 代码库 > RHEL6.4 bonding 技术学习
RHEL6.4 bonding 技术学习
何为bonding?
将多块网卡虚拟成为一块网卡,使其具有相同的ip地址,来实现提升主机的网络吞吐量或者是提高可用性,这种技术被称作bonding。
Bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。然后把相应的数据帧传送给bond驱动程序处理。
下面简单介绍下实验环境
rhel6.4 操作系统 实验要求是两块网络提供冗余/热备。
实验开始
1:编辑该配置文件 vi/etc/modprobe.d/dist.conf
加入以下参数
alias bond0 bonding
2:创建bonding网络配置文件
vi/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static/dhcp
TYPE=Ethernet
ONBOOT=yes
IPADDR= 根据实际情况配置
NETMASK=
GATEWAY=
BONDING_OPTS="mode=1 miimon=200" 该参数也可 步骤 1 中进行添加。步骤 1 为:
alias bond0 bonding
options bond0 mode=1 miimon=100
3:编辑实际网卡配置文件
vi/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
4:编辑实际网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=none
ONBOOT=yes
MASTER=bond0
SLAVE=yes
安装以上配置完成后,重启网络服务即可。
/etc/init.d/network restart
ifconfig -a 进行查看
cat /proc/net/bonding/bond0
如上图,现在两块网卡 都是 UP状态。
测试结果
拔下一根网线
eth0 down掉了
ping 依然正常
丢包处,拔掉网线,网卡切换时造成。
现在 还原,拔掉另外一个网线
eth1 down掉了
ping 依然正常
现在来讲解下详细的配置文件参数
MASTER:
MASTER=<bond-interface>
bond-interface的值是以太网卡连接到的通道绑定接口的名称,如:bond0、bond1
master这个指令与 SLAVE 指令配合使用。
SLAVE:
SLAVE=yes/no
yes : 表示此设备可以由MASTER 指令中配置的通道绑定接口进行控制。
no : 表示此设备不能由 MASTER 指令中配置的通道绑定接口进行控制。
Bonding工作模式
bonding的模式一共有7种:
即 mode=0/1
round-robin(balance-rr) 0 负载均衡及冗余模式
active-backup 1 冗余模式
balance-xor 2 需要交换机支持
broadcast 3 广播模式
ieee802.3ad 4 动态链路聚合模式,需要交换机支持
mode-tlb 5 自适应模式
mode-alb 6 网卡虚拟化方式
miimon=100ms
miimon是用来进行链路监测的,其原理是检测网上的链路状态,一般将miimon值设为100,表示系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。
以上几种模式只是给大家做一个简单的介绍,一般来说最常用的事 0 和 1 两种模式。还有就是,模式0只是实现了简单的负载均衡及冗余。如果要实现高效的负载均衡,提高网络流量,需设置成模式4,而这需要交换机的支持,牵涉到交换机的链路聚合(LACP)功能。
本文出自 “矮矮的土豆Sir!-易R尙” 博客,请务必保留此出处http://skyking116.blog.51cto.com/3553579/1542457