RHEL6.4 bonding 技术学习
2014-08-20 12:43
190 查看
何为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 restartifconfig -a 进行查看
cat /proc/net/bonding/bond0
如上图,现在两块网卡 都是 UP状态。
测试结果拔下一根网线
eth0 down掉了ping 依然正常
丢包处,拔掉网线,网卡切换时造成。现在 还原,拔掉另外一个网线
eth1 down掉了
ping 依然正常
现在来讲解下详细的配置文件参数
MASTER:MASTER=<bond-interface>bond-interface的值是以太网卡连接到的通道绑定接口的名称,如:bond0、bond1master这个指令与 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)功能。
最后再补充一条命令,可以动态查看双网卡切换的动作。tail -f /var/log/message
本文出自 “矮矮的土豆Sir!-易R尙” 博客,请务必保留此出处http://skyking116.blog.51cto.com/3553579/1542457
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 restartifconfig -a 进行查看
cat /proc/net/bonding/bond0
如上图,现在两块网卡 都是 UP状态。
测试结果拔下一根网线
eth0 down掉了ping 依然正常
丢包处,拔掉网线,网卡切换时造成。现在 还原,拔掉另外一个网线
eth1 down掉了
ping 依然正常
现在来讲解下详细的配置文件参数
MASTER:MASTER=<bond-interface>bond-interface的值是以太网卡连接到的通道绑定接口的名称,如:bond0、bond1master这个指令与 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)功能。
最后再补充一条命令,可以动态查看双网卡切换的动作。tail -f /var/log/message
本文出自 “矮矮的土豆Sir!-易R尙” 博客,请务必保留此出处http://skyking116.blog.51cto.com/3553579/1542457
相关文章推荐
- 学习红帽企业版RHEL 6.4的两问
- Linux中网卡绑定bonding以及网络成组teaming技术学习
- rhel6 下的 Ethernet Channel Bonding 技术
- [我的Linux学习之路]VMware下的RHEL 6.4 安装gcc和gcc-c++(适用于RHEL 6.5)
- 学习红帽企业版RHEL 6.4的两问
- [转载]计算机科学技术学习引论
- 学习J2ME编程需要掌握的几种技术
- 学习Duwamish7的MSDN说明及相关技术策略
- 胡言乱语最近学习中发现的技术小问题!
- 反对中小学生学习黑客技术的十大理由
- 技术是需要讨论的,学习是需要气氛的
- EJB学习之入门初探篇-EJB技术的发展史
- 学习J2ME编程需要掌握的七种技术
- STL技术文章不完全列表(STL学习使用指南)
- [链接] Raid 技术学习, 红旗linux上的软raid
- unix并发技术的学习及在扫描器上的应用二
- 我打算学习的一些JAVA技术
- 技术学习
- .NET技术学习笔记:
- unix并发技术的学习及在扫描器上的应用一