【背景介绍】

Linux双网卡绑定

就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。其实这项 技术在Sun和Cisco中早已存在,被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技术,被称为bonding。bonding技术的最早应用是在集群——beowulf上,为了提高集群节点间的数据传输而设计的。

bonding 的原理

什么是bonding需要从网卡的混杂(promisc)模式说起。我们知道,在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下。bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的Mac地址改成相同,可以接收特定mac的数据帧。然后把相应的数据帧传送给bond驱动程序处理。 

【需求分析】

实验的操作系统Redhat Linux Enterprise 5.4

绑定的前提条件:

芯片组型号相同,网卡具备自己独立的BIOS芯片。

Eth0Eth1两块网卡Host-only于同一网段内。

【实现过程】

1.编辑虚拟网络接口bond0配置文件,指定网卡IP .

cp  /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 

vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB

2.编辑网络接口Eth0Eth1配置文件.

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_spof_02 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_双网卡绑定_03

3.编辑 /etc/modprobe.conf文件,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_04

4.编辑/etc/rc.d/rc.local开机脚本,指定主备关系,并开机启动。

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_双网卡绑定_05 

5.重新启动虚拟机。

【验证分析】

1.ifconfig查看绑定状态。

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_HA_06

2.dmesg查看链路状态。

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_07

3.cat查看网卡绑定状态。

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_HA_08

4.宿主机ping绑定网卡测试。

 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_spof_09

5.动态测试主备状态自动切换。

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_10

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_11

【测试分析】

①测试:宕掉Eth0

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_spof_12

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_13 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_LB_14 

②测试:宕掉Eth1

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_HA_15

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_HA_16 

双网卡绑定,防止SPOF(单点故障)实现HA(高可用性)LB(负载均衡)_spof_17 

【扩展介绍】

双网卡绑定实现LB:

①编辑 /etc/modprobe.conf文件,将模式改为0(LB负载均衡模式)

注:mode=0 负载均衡工作模式,他能提供两倍的带宽.

②重启虚拟机。