Linux双网卡绑定是通过Bonding技术实现使用两块网卡虚拟成为一块网卡设备,两块网卡使用共同的IP地址,可实现负载均衡,网卡冗余。bonding的实现前提是使用相同型号的网卡芯片。
第一种:bond0:round robin

标准:round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.
特点:(1)所有链路处于负载均衡状态,轮询方式往每条链路发送报文,基于per packet方式发送。服务上ping 一个相同地址:192.168.1.100 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式 ,进行轮询发送。(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
 

1.网卡配置
#cd /etc/sysconfig/network-scripts/

#vim ifcfg-eth0

 

 

#vim ifcfg-eth1

配置和eth0基本相同,这里就不做配置了

#cp ifcfg-eth0 ifcfg-bond0
#vim ifcfg-bond0 

 

小谈Linux双网卡绑定_第1张图片 

2.模块配置
编辑/etc/modules.conf或者/etc/moprobe.conf 文件
加入下列行
alias bond0 bonding
options bond0 miimon=100 mode=0

 

小谈Linux双网卡绑定_第2张图片 

3.启动配置
# vi /etc/rc.d/rc.local
加入
ifenslave bond0 eth0 eth1 

重启机器后,用ifconfig -a查看网卡配置信息,如果发现bond0,eth0,eth1三块网卡的mac地址都一样了,那么就说明好了。

 

小谈Linux双网卡绑定_第3张图片 

4.试验验证

用外部同一网段的一台机器做ping试验,双网卡机器上手工拔掉其中任意一条网络线(或者使用ifup eth0&&ifdown eth1),ping机器的终端应该没有中断信息,或者有一个"timeout"后很快恢复,则证明试验成功。

 

小谈Linux双网卡绑定_第4张图片 

第二种:bond1:active-backup
标准文档定义:Active-backup policy: Only one slave in the bond is active. A different slave becomes active if, and only if, the active slave fails. The bonds MAC address is externally visible on only one port (network adapter) to avoid confusing the switch. This mode provides fault tolerance. The primary option affects the behavior of this mode.

模式的特点:一个端口处于主状态 ,一个处于从状态,所有流量都在主链路上处理,从不会有任何流量。当主端口down掉时,从端口接手主状态。

配置命令和第一种基本相同,只要把第2步中的mode=0 改为mode=1即可。

模式3和模式4不常用,这里就略作介绍。

第三种:bond2:load balancing (xor)
标准文档描述:XOR policy: Transmit based on [(source MAC address XOR'd with destination MAC address) modulo slave count]. This selects the same slave for each destination MAC address. This mode provides load balancing and fault tolerance.

特点:该模式将限定流量,以保证到达特定对端的流量总是从同一个接口上发出。既然目的地是通过MAC地址来决定的,因此该模式在本地网络配置下可以工作得很好。如果所有流量是通过单个路由器(比如 网关型网络配置,只有一个网关时,源和目标mac都固定了,那么这个算法算出的线路就一直是同一条,那么这种模式就没有多少意义了。),那该模式就不是最好的选择。和balance-rr一样,交换机端口需要能配置为port channel。这模式是通过源和目标machash因子来做xor算法来选路的。

第四种:bond3:fault-tolerance (broadcast)
标准文档定义:Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.

特点:这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。

这种模式适用于如下拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包。