说明:两个网卡做成一个虚拟的网卡,一个坏掉以后不影响业务

1.

两个网卡  eth0

                eth1

备注:没有eth1的话添加一块网卡,克隆的虚拟机要配置好

2.bond的主机 bond0

3.第一步:配置设置文件  [root@oldboy network-scripts]# vim  /etc/sysconfig/network-scripts/ifcfg-bond0

内容:

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

DEVICE=bond0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

IPADDR=192.168.33.128

NETMASK=255.255.25.0

GATEWAY=192.168.33.2

DNS1=192.168.33.2

DNS2=8.8.8.8

BROADCAST=192.168.33.255

USERCTL=no

[root@sanlang ~]# 

4.第二步:编辑eth0网卡

[root@oldboy network-scripts]# cat  /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

[root@oldboy network-scripts]# 

5.编辑eth1网卡

[root@oldboy network-scripts]# vim /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

BOOTPROTO=none

MASTER=bond0

SLAVE=yes

6.因为linux的虚拟网卡是在内核模块中实现的,所以需要安装的时候已经装好该module。在/etc/modules.conf文件中添加如下内容(如果没有该文件,则新建一个):

[root@sanlang ~]#  cat   /etc/modules.conf 

alias bond0 bonding

options bond0 miimon=100 mode=1 primary=eth0

[root@sanlang ~]# 

7开机配置文档的配置

[root@sanlang ~]# tail   -n 1  /etc/rc.local 

modprobe bonding miimon=100 mode=1

[root@sanlang ~]# 

8.重启网络,确认bond的状况

bond  双网卡绑定_双网卡

②查看bond状况启动

bond  双网卡绑定_bond_02

9.查看一下状态

[root@oldboy ~]# ifconfig | grep HWaddr

bond0     Link encap:Ethernet  HWaddr 00:0C:29:07:7E:B1  

eth0      Link encap:Ethernet  HWaddr 00:0C:29:07:7E:B1  

eth1      Link encap:Ethernet  HWaddr 00:0C:29:07:7E:B1  

[root@oldboy ~]# 

10.系统自动绑定,设置默认的网关

[root@oldboy ~]# echo "ifenslave bond0 eth0 eth1">>/etc/rc.d/rc.local 

[root@oldboy ~]# echo "route add default gw 192.168.33.2">>/etc/rc.d/rc.local

[root@oldboy ~]# 

11.重启生效

[root@oldboy ~]# ping  www.baidu.com

PING www.baidu.com (119.75.218.70) 56(84) bytes of data.

64 bytes from 119.75.218.70: icmp_seq=1 ttl=128 time=4.80 ms

64 bytes from 119.75.218.70: icmp_seq=2 ttl=128 time=4.48 ms

64 bytes from 119.75.218.70: icmp_seq=3 ttl=128 time=8.40 ms

^C

--- www.baidu.com ping statistics ---

3 packets transmitted, 3 received, 0% packet loss, time 2063ms

rtt min/avg/max/mdev = 4.484/5.899/8.409/1.779 ms

[root@oldboy ~]# 

12.测试:

(克隆会话)

Last login: Mon Apr 18 21:26:23 2016 from 192.168.33.1

[root@sanlang ~]# ifdown eth0

[root@sanlang ~]# 

[root@sanlang ~]# 

(测试)

[root@sanlang ~]# ping  www.baidu.com

PING www.a.shifen.com (220.181.111.188) 56(84) bytes of data.

64 bytes from 220.181.111.188: icmp_seq=1 ttl=128 time=10.3 ms

64 bytes from 220.181.111.188: icmp_seq=2 ttl=128 time=5.30 ms

64 bytes from 220.181.111.188: icmp_seq=3 ttl=128 time=8.88 ms

64 bytes from 220.181.111.188: icmp_seq=4 ttl=128 time=5.94 ms

64 bytes from 220.181.111.188: icmp_seq=5 ttl=128 time=16.7 ms

64 bytes from 220.181.111.188: icmp_seq=6 ttl=128 time=5.97 ms

64 bytes from 220.181.111.188: icmp_seq=7 ttl=128 time=35.3 ms

64 bytes from 220.181.111.188: icmp_seq=8 ttl=128 time=5.69 ms

64 bytes from 220.181.111.188: icmp_seq=9 ttl=128 time=16.1 ms

***********************************************************************************

其中miimon=100表示每100ms检查一次链路连接状态,如果不通则会切换物理网卡
mode=1表示主备模式,也就是只有一块网卡是active的,只提供失效保护。如果mode=0则是负载均衡模式的,所有的网卡都是active,还有其他一些模式很少用到
primary=eth0表示主备模式下eth0为默认的active网卡

miimon是毫秒数,每100毫秒触发检测线路稳定性的事件。
mode 是ifenslave的工作状态。
一共有7种方式:
=0: (balance-rr) Round-robin policy: (平衡抡循环策略):传输数据包顺序是依次传输,直到最后一个传输完毕, 此模式提供负载平衡和容错能力。
=1: (active-backup) Active-backup policy:(主-备份策略):只有一个设备处于活动状态。 一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。 此模式提供了容错能力。 
=2:(balance-xor) XOR policy:(平衡 策略): 传输根据原地址布尔值选择传输设备。 此模式提供负载平衡和容错能力。 
=3:(broadcast) broadcast policy:  (广播策略):将所有数据包传输给所有接口。 此模式提供了容错能力。  
=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.   IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。(我不是太懂。)
=5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):没有特殊策略,第一个设备传不通就用另一个设备接管第一个设备正在处理的mac地址,帮助上一个传。
=6:(balance-alb) Adaptive load balancing: (适配器传输负载均衡):大致意思是包括mode5,bonding驱动程序截获 ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。