Linux-bond网络配置(双网卡绑定)

860次阅读

共计 1290 个字符,预计需要花费 4 分钟才能阅读完成。

摘要

网卡bond是通过把多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡。在应用部署中是一种常用的技术。

bond模式

  1. Mode=0(balance-rr) 表示负载分担round-robin,和交换机的聚合强制不协商的方式配合。
  2. Mode=1(active-backup) 表示主备模式,只有一块网卡是active,另外一块是备的standby,这时如果交换机配的是捆绑,将不能正常工作,因为交换机往两块网卡发包,有一半包是丢弃的。
  3. Mode=2(balance-xor) 表示XOR Hash负载分担,和交换机的聚合强制不协商方式配合。(需要xmit_hash_policy)
  4. Mode=3(broadcast) 表示所有包从所有interface发出,这个不均衡,只有冗余机制…和交换机的聚合强制不协商方式配合。
  5. Mode=4(802.3ad) 表示支持802.3ad协议,和交换机的聚合LACP方式配合(需要xmit_hash_policy)
  6. Mode=5(balance-tlb) 是根据每个slave的负载情况选择slave进行发送,接收时使用当前轮到的slave
  7. Mode=6(balance-alb) 在5的tlb基础上增加了rlb。

5和6不需要交换机端的设置,网卡能自动聚合。4需要支持802.3ad。0,2和3理论上需要静态聚合方式
但实测中0可以通过mac地址欺骗的方式在交换机不设置的情况下不太均衡地进行接收。

1 创建bond0配置文件

vim /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0
IPADDR=192.168.2.31
GATEWAY=192.168.2.2
NETMASK=255.255.255.0
BOOTPROTO=none
ONBOOT=yes

2 修改eth0和eth1配置文件

注意:这里是虚拟机上配置,所以可以很方便的添加多块网卡。

vim /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none

3 加载bond驱动

通过修改内核模块配置文件modprobe.conf加载bond驱动。

vi /etc/modprobe.conf

Alias bond0 bonding
options bond0 mode=1 miimon=100

注意:这里使用的是模式1;网卡检查时间100ms

 

4 测试配置 

首先,加载bond module:

modprobe bonding

然后,重新启动网络服务

service network restart

查看内核中bond状态

cat /proc/net/bonding/bond0

一块网卡停止工作,另外一块接替工作

ifconfig eth0 down/up

正文完
 
mervinwang
版权声明:本站原创文章,由 mervinwang 2016-07-27发表,共计1290字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
文章搜索