Linux网卡绑定(bond

需求:一张管理口千兆网卡eth0,两张业务口千兆网卡(eth1eth2,运行Centos6.5,需要将两张业务口网卡当作负载均衡使用

配置:

1.查看系统版本

# cat /etc/issue

CentOS release 6.5(Final)

Kernel \r on an \m

2.绑定网卡

2.1添加服务器启动时加载的模块

# echo"alias netdev-bond0 bonding" >/etc/modprobe.d/bond.conf

2.2新建bond0虚拟网卡配置文件

[root@KVM01 ~]# cat/etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

BOOTPROTO=static

IPADDR=192.168.1.121

NETMASK=255.255.255.0

GATEWAY=192.168.1.1

BORADCAST=192.168.1.255

DNS1=114.114.114.114

DNS2=8.8.8.8

DNS3=192.168.1.1

ONBOOT=yes

TYPE=Ethernet

BONDING_OPTS="miimon=100mode=6"

2.3加入物理网卡eth1和eth2

# cat/etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

 

# cat/etc/sysconfig/network-scripts/ifcfg-eth2

DEVICE=eth2

ONBOOT=yes

NM_CONTROLLED=no

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

 

重启网络

#/etc/init.d/networkrestart

3.检查

查看绑定网卡情况

# cat/proc/net/bonding/bond0

Ethernet ChannelBonding Driver: v3.6.0 (September 26, 2009)

 

Bonding Mode:adaptive load balancing

Primary Slave: None

Currently ActiveSlave: eth1

MII Status: up

MII Polling Interval(ms): 100

Up Delay (ms): 0

Down Delay (ms): 0

 

Slave Interface:eth1

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count:0

Permanent HW addr:00:0c:29:9f:89:b7

Slave queue ID: 0

 

Slave Interface:eth2

MII Status: up

Speed: 1000 Mbps

Duplex: full

Link Failure Count:0

Permanent HW addr:00:0c:29:9f:89:c1

Slave queue ID: 0

 

技术说明:

通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用负载均衡的目的。

miimon是用来进行链路监测的。比如:miimon=100,单位是ms(毫秒),这边的100,是100ms,即是0.1秒,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路。

Bonding的模式一共有7种(即mode=0、1、2、3、4、5、6):

#defineBOND_MODE_ROUNDROBIN   0  (balance-rr模式)网卡的负载均衡模式

#defineBOND_MODE_ACTIVEBACKUP  1  (active-backup模式)网卡的容错模式

#defineBOND_MODE_XOR    2  (balance-xor模式)需要交换机支持

#defineBOND_MODE_BROADCAST    3   (broadcast模式)

#defineBOND_MODE_8023AD    4  (IEEE 802.3ad动态链路聚合模式)需要交换机支持

#defineBOND_MODE_TLB     5  自适应传输负载均衡模式

#defineBOND_MODE_ALB   6  网卡虚拟化方式

 

mode共有七种(0~6),这里解释两个常用的选项。

mode=0:表示loadbalancing (round-robin)为负载均衡方式,两块网卡都在工作,需要交换机作支持。

mode=1:表示fault-tolerance(active-backup)提供冗余功能,工作方式是主备的工作方式,其中一块

网卡在工作(若eth0断掉),则自动切换到另一个块网卡(eth1做备份)。

mode=6表示负载均衡方式,两块网卡都工作,不需要交换机作支持。

bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。