Linux服务器上一般有多个NIC网卡,Linux系统提供一种技术,可以将多个网卡bonding成一个逻辑bonded的网卡,统一提供服务。(Linux bonding- involves bonding two or more physical
network interface cards into a single logical “bonded” interface,下文用“虚拟网卡”这个词来代替 logical “bonded” interface),这样做可以为高可用性提供冗余,也可以提高系统带宽性能。
在ACTIVE/BACKUP配置模式下,一般只有一个网卡处于工作状态,其他作为备份和故障转移用,工作网卡出现故障后备份的网卡会起来工作,如此可以避免出现单点故障,提高系统的可用性。而在ACTIVE/ACTIVE配置模式下,所有的网卡都处于工作状态,这样可以提高系统带宽。
以将网卡eth0和eth1 bonding成虚拟网卡bond0为例,简单说明下配置网卡Bonding的过程中的几个步骤:
1.创建虚拟网卡的配置文件
每个真实网卡都有自己的配置文件,虚拟网卡也需要自己的配置文件
vi
/etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=192.168.56.120
NETWORK=192.168.56.0
NETMASK=255.255.255.0
USERCTL=no
BOOTPROTO=none
ONBOOT=yes
2.修改eth0/eth1的配置文件vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond0
SLAVE=yes
BOOTPROTO=none
3. 修改vi /etc/modprobe.conf
alias bond0 bonding
options bond0 mode=1 miimon=100
Note:NIC bonding的模式有7种,根据实际情况选择对应的模式
#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网卡虚拟化方式
4.在rc.local 添加一行记录
vi
/etc/rc.d/rc.local
ifenslave
bond0 eth0 eth1
5.重启网络服务使其生效
service
network start/stop/restart
使用ifconfig
–a命令输出可以看到bond0,
eth0,eth1的MAC地址是一样的
bond0Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4
inet addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0
UP BROADCAST RUNNING MASTER MULTICAST
MTU:1500 Metric:1
RX packets:7224794 errors:0 dropped:0
overruns:0 frame:0
TX packets:3286647 errors:1 dropped:0
overruns:1 carrier:0
collisions:0 txqueuelen:0
eth1
Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4
inet addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0
UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:1
RX packets:3573025 errors:0 dropped:0
overruns:0 frame:0
TX packets:1643167 errors:1 dropped:0
overruns:1 carrier:0
collisions:0 txqueuelen:100
Interrupt:10 Base address:0x1080
eth2
Link encap:Ethernet HWaddr
00:C0:F0:1F:37:B4
inet addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500
Metric:1
RX packets:3651769 errors:0 dropped:0
overruns:0 frame:0
TX packets:1643480 errors:0 dropped:0
overruns:0 carrier:0
collisions:0 txqueuelen:100
Interrupt:9 Base address:0x1400
其中bond0显示为MASTER, eth0/eth1显示为 SLAVE, 而NOAPP SLAVE对应的eth1网卡是当前工作网卡。