Linux网卡绑定(bond)
需求:一张管理口千兆网卡eth0,两张业务口千兆网卡(eth1和eth2),运行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会认为链路没有问题而继续使用。