Linux--多网卡的7种Bond模式
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查。 bond模式: Mode=(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
Mode=(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
Mode=(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
Mode=(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制...和交换机的聚合强制不协商方式配合。
Mode=(.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
Mode=(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
Mode=(balance-alb) 在5的tlb基础上增加了rlb。
5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。,2和3理论上需要静态聚合方式
但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。 常用的有三种 mode=:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=:平衡负载模式,有自动备援,不必”Switch”支援及设定。 需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里options bond0 miimon= mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从 原理分析一下(bond运行在mode 0下): mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有 多 个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑 了。所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称 为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们 的解 决办法是,两个网卡接入不同的交换机即可。 mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。 Linux网口绑定 通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。前提约定: 2个物理网口分别是:eth0,eth1 绑定后的虚拟口是:bond0 服务器IP是:192.168.0.100 第一步,配置设定文件: /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.0.100 NETMASK=255.255.255.0 NETWORK=192.168.0.0 BROADCAST=192.168.0.255 #BROADCAST广播地址 /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none MASTER=bond0 SLAVE=yes /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none MASTER=bond0 SLAVE=yes 第二步,修改modprobe相关设定文件,并加载bonding模块: .在这里,我们直接创建一个加载bonding的专属设定文件/etc/modprobe.d/bonding.conf [root@test ~]# vi /etc/modprobe.d/bonding.conf #追加 alias bond0 bonding options bonding mode= miimon= .加载模块(重启系统后就不用手动再加载了) [root@test ~]# modprobe bonding .确认模块是否加载成功: [root@test ~]# lsmod | grep bonding bonding 第三步,重启一下网络,然后确认一下状况: [root@test ~]# /etc/init.d/network restart [root@test ~]# cat /proc/net/bonding/bond0 Ethernet Channel Bonding Driver: v3.5.0 (November , ) Bonding Mode: fault-tolerance (active-backup) Primary Slave: None Currently Active Slave: eth0 …… [root@test ~]# ifconfig | grep HWaddr bond0 Link encap:Ethernet HWaddr :::1B:BB: eth0 Link encap:Ethernet HWaddr :::1B:BB: eth1 Link encap:Ethernet HWaddr :::1B:BB: 从上面的确认信息中,我们可以看到3个重要信息: .现在的bonding模式是active-backup .现在Active状态的网口是eth0 .bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。 任意拔掉一根网线,然后再访问你的服务器,看网络是否还是通的。 第四步,系统启动自动绑定、增加默认网关: [root@test ~]# vi /etc/rc.d/rc.local #追加 ifenslave bond0 eth0 eth1 route add default gw 192.168.0.1 #如可上网就不用增加路由,.1地址按环境修改. ------------------------------------------------------------------------ 留心:前面只是2个网口绑定成一个bond0的情况,如果我们要设置多个bond口,比如物理网口eth0和eth1组成bond0,eth2和eth3组成bond1, 那么网口设置文件的设置方法和上面第1步讲的方法相同,只是/etc/modprobe.d/bonding.conf的设定就不能像下面这样简单的叠加了: alias bond0 bonding options bonding mode= miimon= alias bond1 bonding options bonding mode= miimon= 正确的设置方法有2种: 第一种,你可以看到,这种方式的话,多个bond口的模式就只能设成相同的了: alias bond0 bonding alias bond1 bonding options bonding max_bonds= miimon= mode= 第二种,这种方式,不同的bond口的mode可以设成不一样: alias bond0 bonding options bond0 miimon= mode= install bond1 /sbin/modprobe bonding -o bond1 miimon= mode= 仔细看看上面这2种设置方法,现在如果是要设置3个,4个,甚至更多的bond口,你应该也会了吧! 后记:简单的介绍一下上面在加载bonding模块的时候,options里的一些参数的含义: miimon 监视网络链接的频度,单位是毫秒,我们设置的是200毫秒。 max_bonds 配置的bond口个数 mode bond模式,在一般的实际应用中,0和1用的比较多,
Linux--多网卡的7种Bond模式的更多相关文章
- Linux 多网卡的7种bond模式原理
Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0:平衡负载模式,有自动备援,但 ...
- 深度分析Linux下双网卡绑定七种模式 多网卡的7种bond模式原理
http://blog.csdn.net/abc_ii/article/details/9991845多网卡的7种bond模式原理 Linux网卡绑定mode共有七种(~) bond0.bond1.b ...
- 多网卡的7种bond模式原理 For Linux
多网卡的7种bond模式原理 Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0 ...
- 多网卡的7种bond模式原理
多网卡的7种bond模式原理 Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0 ...
- 【转载】多网卡的7种bond模式原理
多网卡的7种bond模式原理 Linux 多网卡绑定 网卡绑定mode共有七种(0~6) bond0.bond1.bond2.bond3.bond4.bond5.bond6 常用的有三种 mode=0 ...
- Linux--多网卡的7种Bond模式【转】
转自:http://www.cnblogs.com/lcword/p/5914089.html 网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡.在应用部署中是一 ...
- Linux--多网卡的7种Bond模式和交换机配置
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡.在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查. bond ...
- linux bond配置步骤,七种bond模式说明
一.网卡绑定: 第一步:创建一个ifcfg-bondX # vi /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 BONDING_OPT ...
- 在linux中实现多网卡的绑定 介绍常见的7种Bond模式
网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡.在应用部署中是一种常用的技术,我们公司基本所有的项目相关服务器都做了bond,这里总结整理,以便待查. bond ...
随机推荐
- CSS3新增基础属性总结——20160409(易达客)
1.box-shadow :h-shadow v-shadow blur spread color inset(outset) h-shadow:必须:水平阴影位置,允许负值. v-shadow:必须 ...
- AJAX笔试面试题汇总
AJAX笔试面试题汇总 Javascript 1. 什么是ajax,为什么要使用Ajax(请谈一下你对Ajax的认识) 什么是ajax: AJAX是“Asynchronous JavaScript a ...
- centos忘记开机密码
系统:centos6.6,忘记开机密码,进入单用户模式进行重置,以下为操作过程. 1. reset(重启)Linux系统,在出现如下图的界面时,请点Enter键,确保一定要快,只存在几秒.. 2.点击 ...
- 关于MarshalByRefObject的解释
http://www.cnblogs.com/webfpc/archive/2010/03/10/1667101.html 首先了解一下不同应用程序域中的对象的通信方式有两种: 一种是跨应用程序域边界 ...
- asp.net(C#)页面事件顺序
asp.net(C#)页面事件顺序 http://www.cnblogs.com/henw/archive/2012/02/09/2343994.html 1 using System.Data; ...
- OC-类方法
类方法 1. 基本概念 直接可以用类名来执行的方法(类本身会在内存中占据存储空间,里面有类\对象方法列表) 2. 类方法和对象方法对比 1) 对象方法 以减号-开头 只能让对象调用,没有对象,这个方 ...
- from live writer
<body> <div class="pagination"> <a href="#" class="first&quo ...
- “Transaction rolled back because it has been marked as rollback-only”
spring的声明事务提供了强大功能,让我们把业务关注和非业务关注的东西又分离开了.好东西的使用,总是需要有代价的.使用声明事务的时候,一 个不小心经常会碰到“Transaction rolled b ...
- Windows 操作小技巧 之一(持续更新)
1.图片批量旋转 通常携带单反去景点排了大量照片回来处理图片时都会遇到很多横竖杂乱排序的图片难以处理的情形.现提供如下技巧进行处理. 1).在文件夹中添加"方向"的排列或分组选项: ...
- mysql解决自动断开8小时未曾用过的链接
今天有运维的同事反映,发布关键词不太稳定,点了没反应.就去线上看了一下日志,发现数据库没有链接,就查了一下问题 关于mysql自动断开的问题研究结果如下,在mysql中有相关参数设定,当数据库连接空闲 ...