【背景介绍】
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芯片。
②Eth0,Eth1两块网卡Host-only于同一网段内。
【实现过程】
1.编辑虚拟网络接口bond0配置文件,指定网卡IP .
cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0
vim /etc/sysconfig/ network-scripts/ ifcfg-bond0
2.编辑网络接口Eth0,Eth1配置文件.
3.编辑 /etc/modprobe.conf文件,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0
4.编辑/etc/rc.d/rc.local开机脚本,指定主备关系,并开机启动。
5.重新启动虚拟机。
【验证分析】
1.ifconfig查看绑定状态。
2.dmesg查看链路状态。
3.cat查看网卡绑定状态。
4.宿主机ping绑定网卡测试。
5.动态测试主备状态自动切换。
【测试分析】
①测试:宕掉Eth0
②测试:宕掉Eth1
【扩展介绍】
双网卡绑定实现LB:
①编辑 /etc/modprobe.conf文件,将模式改为0(LB负载均衡模式)
注:在mode=0 负载均衡工作模式,他能提供两倍的带宽.
②重启虚拟机。