链路聚合 多网卡 bonding
内核参数调优
- net.ipv4.tcp_low_latency=1 优化反应速度,低延时,用户的感受度好
- net.ipv4.tcp_low_latency=0 优化吞吐量(default) , RHEL6就是面向高吞吐设计的
1. 创建bonding 网卡设备 bond0
[root@ansible network-scripts]$ sudo cat ifcfg-bond0
DEVICE=bond0
TYPE=Ethernet
ONBOOT=yes # 启动网络服务自动激活
NM_CONTROLLED=no
BOOTPROTO=none # 此选项是设置IP地址为静态 ,设置为 staitc 也行
IPADDR=192.168.56.130
PREFIX=24 # 24 位掩码
IPV6INIT=no
USERCTL=no
GATEWAY=192.168.56.2 # 自己的网关地址
2. 备份并修改原来网卡的配置
[root@ansible network-scripts]$ sudo cp ifcfg-eth0{,.bak}
[root@ansible network-scripts]$ sudo ls ifcfg-*
ifcfg-bond0 ifcfg-eth0 ifcfg-eth0.bak ifcfg-eth1 ifcfg-lo
[root@ansible network-scripts]$ sudo cp ifcfg-eth1{,.bak}
[root@ansible network-scripts]$ sudo vi ifcfg-eth0
[root@ansible network-scripts]$ sudo cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
[root@ansible network-scripts]$ sudo cat ifcfg-eth0 > ifcfg-eth1
[root@ansible network-scripts]$ sudo sed -ir 's/eth0/eth1/g' ifcfg-eth1
[root@ansible network-scripts]$ sudo cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
USERCTL=no
MASTER=bond0
SLAVE=yes
3. 重启网络服务
[root@ansible network-scripts]$ sudo service network restart
查看详情
[root@ansible network-scripts]$ sudo cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:99:78:8a
Slave queue ID: 0
Slave Interface: eth1
MII Status: up
Speed: 1000 Mbps
Duplex: full
Link Failure Count: 0
Permanent HW addr: 00:0c:29:99:78:94
Slave queue ID: 0
必要时修改一下bonding 的参数
linux系统下bond mode参数说明:
mode=4 在交换机支持LACP时推荐使用,其能提供更好的性能和稳定性
- mode=0
轮询模式,所绑定的网卡会针对访问以轮询算法进行平分。
-
mode=1
高可用模式,运行时只使用一个网卡,其余网卡作为备份,在负载不超过单块网卡带宽或压力时建议使用。 -
mode=2
基于HASH算法的负载均衡模式,网卡的分流按照xmit_hash_policy的TCP协议层设置来进行HASH计算分流,使各种不同处理来源的访问都尽量在同一个网卡上进行处理。
-
mode=3
广播模式,所有被绑定的网卡都将得到相同的数据,一般用于十分特殊的网络需求,如需要对两个互相没有连接的交换机发送相同的数据。 -
mode=4
802.3ab负载均衡模式,要求交换机也支持802.3ab模式,理论上服务器及交换机都支持此模式时,网卡带宽最高可以翻倍(如从1Gbps翻到2Gbps)
-
mode=5
适配器输出负载均衡模式,输出的数据会通过所有被绑定的网卡输出,接收数据时则只选定其中一块网卡。如果正在用于接收数据的网卡发生故障,则由其他网卡接管,要求所用的网卡及网卡驱动可通过ethtool命令得到speed信息。
-
mode=6
适配器输入/输出负载均衡模式,在”模式5″的基础上,在接收数据的同时实现负载均衡,除要求ethtool命令可得到speed信息外,还要求支持对网卡MAC地址的动态修改功能。
-
miimon
指定MII链路监控频率,单位是毫秒(ms)。这将决定驱动检查每个slave链路状态频率。0表示禁止MII链路监控。100可以作为一个很好的初始参 考值。
# 配置文件默认没有,vi 一个即可
[root@ansible network-scripts]$ sudo vi /etc/modprobe.d/bond0.conf
alias bond0 bonding
options bonding mode=0 miimon=100
网友评论