说明:两个网卡做成一个虚拟的网卡,一个坏掉以后不影响业务
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状况启动
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 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。