服务器网卡bonding配置浅读
2013-01-12 11:12
288 查看
最近看了下服务器网卡bonding驱动的文档,网络比较关心,和大家分享下,文档参见Linux内核目录($KERNEL_DIR/Documentation/networking/bonding.txt)
我看的是内核linux-2.6.32.60的,源码和文档可以去www.kernel.org下载。
网卡绑定支持7中模式,使用mode选项来配置,具体如下:
balance-rr or 0
这是默认配置,即服务器开启bond,但是不配mode选项的话,默认就是mode 0,也就是轮询,我的理解是,从网络上看,服务器2块网卡使用同一个MAC地址,
每一个miimon内,同时只有一块网卡在工作,也就是说从交换机上看,这个MAC一会在这个端口,一会在另一个端口,但同时只能有一个端口存在流量,所以瓶颈
是1块网卡的极限。而且该mode如果交换机不配port-channel的话,会出现严重的MAC地址抖动。
active-backup or 1
主备模式,也是线上用的比较多的一种,服务器端只会有一块网卡是活动状态,只有当activce slave网卡down掉后,另外的slave才会切换到active状态,也
就是说交换机无需任何特殊配置即可和服务器正常通信。
balance-xor or 2
异或模式,传输路线会根据异或的结果来选择,默认是拿源MAC和目的MAC做异或操作来决定走哪块网卡,通过xmit_hash_policy参数来修改策略。
broadcast or 3
广播模式,在所有网卡上接受所有的数据包,只提供冗余,不提供负载均衡。
802.3ad or 4
LACP模式,也是线上用的最多的一种,双网卡使用一个MAC和IP同时工作,网卡性能是所有slave之和。需要支持ethtool获取所有slave的speed和duplex;
交换机支持802.3ad;
balance-tlb or 5
不需要交换机特殊支持,bond程序会选择一块网卡作为active网卡收包,而出方向则是根据slave上的traffic来的;如果bond选择的slavedown掉了,会有另外
的slave会接管之前失效的MAC地址来收发包。总之就是单进双出。
balance-alb or 6
在balance-tlb的基础,增加了入方向rlb,字面上看就是 receive load balance,同样不需要交换机配LACP,但是需要服务器网卡支持ethtool获取speed和duplex,
且网卡支持设置网卡硬件地址,和mode 4一样,需要配置updelay参数,文档原话:“The updelay parameter (detailed below) mustbe set to a value equal or
greater than the switch'sforwarding delay so that the ARP Replies sent to the peers will not be blocked by the switch.”
mode 802.3ad线上用的比较多,就对802.3ad中可以设置的一些参数做一下介绍:
1、ad_select
该参数制定链路聚合策略,有以下几种:
stable or 0
按照最大带宽去聚合;
在所有slave down的情况,或者active聚合组没有slave的情况下会重新聚合;
bandwidth or 1
和stable一样,只是重新聚合的条件不一样;
一个slave的加入或者删除会重新聚合;
任何slave的状态改变会重新聚合;
任何slave的802.3ad协议状态的改变会重新聚合;
bond状态改变也会重新聚合;
count or 2
按照端口数量最大来聚合,个人最这个最多端口和最大带宽理解还不是太懂,具体要看实验的表现;
重新聚合发生在“bandwidth”参数的设置;
2、lacp_rate
该参数指定LACPDU报文发送速率,有以下2种:
slow or 0
30s一次,默认就是slow;
fast or 1
1s一次;
3、miimon
该参数指定链路检测频率,驱动程序推荐是miimon=100,也就是100ms一次,default是0;
4、xmit_hash_policy
layer2
使用2层(source MAC XOR destination MAC) 来hash;
layer2+3
使用2+3层(((source IP XOR dest IP) AND 0xffff) XOR( source MAC XOR destination MAC )) 来hash;IP地址XOR完毕后,取低16 bits,再和MAC地址做一次XOR。
layer3+4
使用3+4层((source port XOR dest port) XOR((source IP XOR dest IP) AND 0xffff)来hash;
最后贴一个mode 4配置:
cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding miimon=100 mode=4 xmit_hash_policy=2
mode 1 主要的几个选项:
1、primary
设置主网卡
2、updelay
该参数的配置是为了防止交换机重启后端口UP起来,但是还未进入forwarding状态引起服务器出现流量上来的问题
最后贴一个mode 1配置:
cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding miimon=100 mode=1 primary=eth0 updelay=600000
有啥理解不对的地方还请指出,谢谢。近期会对所有mode和想了解的参数测试一遍,看看服务器和交换机的具体表现。
我看的是内核linux-2.6.32.60的,源码和文档可以去www.kernel.org下载。
网卡绑定支持7中模式,使用mode选项来配置,具体如下:
balance-rr or 0
这是默认配置,即服务器开启bond,但是不配mode选项的话,默认就是mode 0,也就是轮询,我的理解是,从网络上看,服务器2块网卡使用同一个MAC地址,
每一个miimon内,同时只有一块网卡在工作,也就是说从交换机上看,这个MAC一会在这个端口,一会在另一个端口,但同时只能有一个端口存在流量,所以瓶颈
是1块网卡的极限。而且该mode如果交换机不配port-channel的话,会出现严重的MAC地址抖动。
active-backup or 1
主备模式,也是线上用的比较多的一种,服务器端只会有一块网卡是活动状态,只有当activce slave网卡down掉后,另外的slave才会切换到active状态,也
就是说交换机无需任何特殊配置即可和服务器正常通信。
balance-xor or 2
异或模式,传输路线会根据异或的结果来选择,默认是拿源MAC和目的MAC做异或操作来决定走哪块网卡,通过xmit_hash_policy参数来修改策略。
broadcast or 3
广播模式,在所有网卡上接受所有的数据包,只提供冗余,不提供负载均衡。
802.3ad or 4
LACP模式,也是线上用的最多的一种,双网卡使用一个MAC和IP同时工作,网卡性能是所有slave之和。需要支持ethtool获取所有slave的speed和duplex;
交换机支持802.3ad;
balance-tlb or 5
不需要交换机特殊支持,bond程序会选择一块网卡作为active网卡收包,而出方向则是根据slave上的traffic来的;如果bond选择的slavedown掉了,会有另外
的slave会接管之前失效的MAC地址来收发包。总之就是单进双出。
balance-alb or 6
在balance-tlb的基础,增加了入方向rlb,字面上看就是 receive load balance,同样不需要交换机配LACP,但是需要服务器网卡支持ethtool获取speed和duplex,
且网卡支持设置网卡硬件地址,和mode 4一样,需要配置updelay参数,文档原话:“The updelay parameter (detailed below) mustbe set to a value equal or
greater than the switch'sforwarding delay so that the ARP Replies sent to the peers will not be blocked by the switch.”
mode 802.3ad线上用的比较多,就对802.3ad中可以设置的一些参数做一下介绍:
1、ad_select
该参数制定链路聚合策略,有以下几种:
stable or 0
按照最大带宽去聚合;
在所有slave down的情况,或者active聚合组没有slave的情况下会重新聚合;
bandwidth or 1
和stable一样,只是重新聚合的条件不一样;
一个slave的加入或者删除会重新聚合;
任何slave的状态改变会重新聚合;
任何slave的802.3ad协议状态的改变会重新聚合;
bond状态改变也会重新聚合;
count or 2
按照端口数量最大来聚合,个人最这个最多端口和最大带宽理解还不是太懂,具体要看实验的表现;
重新聚合发生在“bandwidth”参数的设置;
2、lacp_rate
该参数指定LACPDU报文发送速率,有以下2种:
slow or 0
30s一次,默认就是slow;
fast or 1
1s一次;
3、miimon
该参数指定链路检测频率,驱动程序推荐是miimon=100,也就是100ms一次,default是0;
4、xmit_hash_policy
layer2
使用2层(source MAC XOR destination MAC) 来hash;
layer2+3
使用2+3层(((source IP XOR dest IP) AND 0xffff) XOR( source MAC XOR destination MAC )) 来hash;IP地址XOR完毕后,取低16 bits,再和MAC地址做一次XOR。
layer3+4
使用3+4层((source port XOR dest port) XOR((source IP XOR dest IP) AND 0xffff)来hash;
最后贴一个mode 4配置:
cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding miimon=100 mode=4 xmit_hash_policy=2
mode 1 主要的几个选项:
1、primary
设置主网卡
2、updelay
该参数的配置是为了防止交换机重启后端口UP起来,但是还未进入forwarding状态引起服务器出现流量上来的问题
最后贴一个mode 1配置:
cat /etc/modprobe.d/bonding.conf
alias bond0 bonding
options bonding miimon=100 mode=1 primary=eth0 updelay=600000
有啥理解不对的地方还请指出,谢谢。近期会对所有mode和想了解的参数测试一遍,看看服务器和交换机的具体表现。
相关文章推荐
- Linux 服务器网卡 IP 配置
- hp服务器只能ping通,不能连接,网卡配置
- 关于服务器双网卡接口连接两个网络的静态路由配置---处理
- redhat linux 服务器网卡冗余配置
- RedHat 7配置bonding双网卡绑定
- Ubuntu14配置Bonding多网卡
- 多网卡绑定配置-bonding
- CentOS 6.8 Bonding技术实现和网卡功能配置基础
- linux 下配置网卡bonding
- CentOS_6.5_X86 配置多网卡汇聚(bonding)
- Linux bonding服务器单网卡绑定多IP在Redhat系列
- centos服务器配置一 网卡配置(linux、网卡自动启动)
- 网卡接口配置——bonding
- linux下网卡bonding配置
- redhatEL7网络配置,网卡bonding
- 服务器双网卡冗余 之 Broadcom网卡的服务器teaming配置
- ROS 内外网做双网卡绑定负载分流教程bonding 配置教程
- 配置linux双网卡bonding