Linux/Python学习论坛-京峰教育

 找回密码
 立即注册

一键登录:

搜索
热搜: 活动 交友 discuz
查看: 784|回复: 0

双网卡绑定均衡负载

[复制链接]

238

主题

288

帖子

1925

积分

超级版主

Rank: 8Rank: 8

积分
1925
QQ
发表于 2015-3-18 11:52:58 | 显示全部楼层 |阅读模式
[root@LK ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@LK ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
BOOTPROTO=static
ONBOOT=yes
MASTER=bond0
SLAVE=yes
[root@LK ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.5
NETMASK=255.255.255.0
GATEWAY=192.168.1.254
[root@LK ~]# tail -n 2 /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=0
[root@LK ~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 08:00:27:76:26:FD
          inet addr:192.168.1.5  Bcast:192.168.1.255  Mask:255.255.255.0
          inet6 addr: fe80::a00:27ff:fe76:26fd/64 Scope:Link
          UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
          RX packets:142904 errors:0 dropped:0 overruns:0 frame:0
          TX packets:74808 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:92035964 (87.7 MiB)  TX bytes:12689285 (12.1 MiB)


eth0      Link encap:Ethernet  HWaddr 08:00:27:76:26:FD
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:141957 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37415 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:91935116 (87.6 MiB)  TX bytes:6366781 (6.0 MiB)


eth1      Link encap:Ethernet  HWaddr 08:00:27:76:26:FD
          UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
          RX packets:951 errors:0 dropped:0 overruns:0 frame:0
          TX packets:37406 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:101088 (98.7 KiB)  TX bytes:6324474 (6.0 MiB)


lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:16436  Metric:1
          RX packets:61 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:19398 (18.9 KiB)  TX bytes:19398 (18.9 KiB)


miimon参数:指定网卡故障时的切换时间间隔以ms为单位。


primary参数:指定默认的主网卡设备。


mode参数:


0 - 轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。


1 - 高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。


2 - 基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。


3 - 广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。


4 - 802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)


5 - 适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。


6 - 适配器输入/输出负载均衡模式,在"模式5"的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。


xmit_hash_policy参数(此参数对mode参数中的2、4模式有影响):


layer1 - 通过MAC地址进行HASH计算。


计算公式:(MACsrc⊕MACdest)% Nslave


layer3+4 - 通过TCP及UDP端口及其IP地址进行HASH计算。


计算公式:((portsrc⊕portdest) ⊕ (IPsrc⊕IPdest)) % Nslave


注意:


mode参数中的0、2、3、4模式要求交换机支持"ports group"功能并能进行相应的设置,例如在Cisco中要将所连接的端口设为"trunk group"。


选择绑定模式的建议


如果系统流量不超过单个网卡的带宽,请不要选择使用mode 1之外的模式,因为负载均衡需要对流量进行计算,这对系统性能会有所损耗。


建议mode 5、mode 6只在交换机不支持"ports group"的情况下选用。


如果交换机及网卡都确认支持802.3ab,则实现负载均衡时尽量使用mode 4以提高系统性能。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|京峰教育,只为有梦想的人 ( 京ICP备15013173号 )

GMT+8, 2020-9-21 13:13 , Processed in 0.031896 second(s), 13 queries , Apc On.

快速回复 返回顶部 返回列表