多网卡绑定
- 格式:doc
- 大小:18.50 KB
- 文档页数:2
实用多网卡绑定应用软件多网卡绑定,就是通过软件将多网卡绑定为一个ip地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列,3com系列)都具有多网卡绑定功能,可以通过软硬件设置将两块或者多块网卡绑定在同一个ip地址上,使用起来就好像在使用一块网卡,多网卡绑定的优点不少,首先,可以增大带宽,假如一个网卡的带宽是100m,理论上两块网卡就是200m,三块就是300m,当然实际上的效果是不会是这样简单的增加的,不过经实际测试使用多个网卡绑定对于增加带宽,保持带宽的稳定性肯定是有益的,如果交换机等相关条件不错的话,这个效果还是很令人满意。
多网卡绑定,可以形成网卡冗余阵列、分担负载,多网卡被绑定成“一块网卡”之后,同步一起工作,对电脑的访问流量被均衡分担到两块网卡上,这样每块网卡的负载压力就小多了,抗并发访问的能力提高,保证了电脑访问的稳定和畅快,当其中一块发生故障的时候,另一块立刻接管全部负载,过程是无缝的,数据传输不会中断。
nic express 软件下载/pub/download/200411/nicexpressw2kee.exe...xpressw2kee.exe 硬件安装理论上讲绑定越多网卡在一起,最终效果提升就越明显,但是考虑到复杂程度,这里就以绑定三块网卡为例进行说明,如果你觉得好玩,兴致很高的话,按照下面方法愿意绑定多少就绑定多少个网卡,其实一般同一台服务器,绑定2-3块网卡也就够了,太多了,因为链路聚合的先天缺点,会过多占用电脑器资源,反过来会影响电脑速度,关于这个我没实验,不过我觉得凡事都离不开物极必反的道理,适度最好。
注意:做多网卡绑定的网卡要求品质比较高,两块网卡要稳定,性能指标要一致,我测试过几块杂牌的网卡,结果是运行中容易出错,电脑容易出现蓝屏。
软件安装:选用一款国外的软件nic express,经测试非常稳定双击它启动安装程序如果是win xp系统会提示,点继续安装,一路next软件提示输入unlock key(注册码),如果没有注册码,就只好点击demo,选择试用,这样可以获得30天的免费试用期,在这30天里如果觉得不错.到下图所示界面,软件提示选择是否开启load balancing 功能?什么是load balancing 功能呢?load balancing的中文意思可以翻译为负载均衡,在这里就是网络负载均衡。
Windows 双网卡绑定第一步:硬件连接与安装首先进入BIOS设置将主板上集成的网卡打开,同时将独立网卡插入空闲的PCI插槽,用直通双绞线将两块网卡和宽带路由器的LAN口相连。
重新启动Windows XP系统,自动为两块网卡安装好驱动程序。
打开“网络连接”,会看到“本地连接”和“本地连接2”两个连接,而且这两个连接已经启用,硬件的连接与安装就算完成了。
第二步:绑定双网卡下载并安装绑定双网卡的软件“NIC Express”(下载地址/soft/36156.htm)。
在安装软件的过程中保持默认值,一路点击“Next”后,最后点击“Demo”就可以完成安装。
在将两块网卡绑定而虚拟出新设备的时候,会提示“未通过微软认证”,连续点击几次“仍然继续”按钮就可以继续安装。
弹出“绑定”窗口后(见图),在中间文本框中输入绑定后的连接名称(如“网卡绑定”),点击“Add”按钮将两块网卡加入到下面的“Assigned Adpaters”即可。
接着进入NIC Express的配置界面,保持默认值就可完成安装。
网卡绑定第三步:配置连接进入“网络连接”窗口,会看到多出了一个“网卡绑定NIC Express Virtual Adapter”的连接,并且已启用。
现在,这两块网卡已经成功绑定,可以右键点击“网卡绑定”,进行IP地址、子网、网关等参数的配置。
将IP地址设置为与路由器默认IP在同一网段,网关设置为路由器默认IP地址。
测速现在就可以进行BT下载的测试了。
以用BitComet下载一个350MB的热门电影为例。
打开数据流量窗口,可以从流量曲线监控图以及BitComet的“任务摘要”中看到两块网卡都在进行数据传输。
双网卡绑定组的传输速率从80KB/s起步,最高达到123KB/s,两块网卡的平均传输速率比较稳定,下载350MB的电影耗时23分钟,平均下载速度为110KB/s。
利用单网卡执行相同的下载任务,发现最高速度骤减到67KB/s,而且传输过程中的速率波动很大,下载这个350MB 的电影耗时49分钟,平均下载速度为79KB/s。
双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。
一、操作步骤这里以绑定两个网卡为示例描述。
配置文件都在/etc/sysconfig/network-scripts/目录下。
1、编辑新的ifcfg-bond0文件增加如下内容:引用# cat /etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0IPADDR=192.168.1.155NETMASK=255.255.255.0ONBOOT=yesBOOTPROTO=noneUSERCTL=no这是最后bond0设备的实际IP设置。
2、分别编辑ifcfg-eth0和ifcfg-eth1文件引用# cat /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none# cat /etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1USERCTL=noONBOOT=yesMASTER=bond0SLAVE=yesBOOTPROTO=none3、修改/etc/modules.conf文件# vi /etc/modules.conf添加如下内容:引用alias bond0 bondingoptions bond0 miimon=100 mode=1说明:引用miimon是用来进行链路监测的。
比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
⽹卡配置bond(绑定)⽹卡bond(绑定),也称作⽹卡捆绑。
就是将两个或者更多的物理⽹卡绑定成⼀个虚拟⽹卡。
⽹卡是通过把多张⽹卡绑定为⼀个逻辑⽹卡,实现本地⽹卡的冗余,带宽扩容和负载均衡,在应⽤部署中是⼀种常⽤的技术。
多⽹卡绑定实际上需要提供⼀个额外的软件的bond 驱动程序实现。
通过驱动程序可以将多块⽹卡屏蔽。
对TCP/IP协议层只存在⼀个Bond⽹卡,在 Bond程序中实现⽹络流量的负载均衡,即将⼀个⽹络请求重定位到不同的⽹卡上,来提⾼总体⽹络的可⽤性。
⽹卡绑定的⽬的:1.提⾼⽹卡的吞吐量。
2.增强⽹络的⾼可⽤,同时也能实现负载均衡。
bond模式:(1)Mode=0(balance-rr) 表⽰负载分担round-robin,平衡轮询策略,具有负载平衡和容错功能 bond的⽹卡MAC为当前活动的⽹卡的MAC 地址,需要交换机设置聚合模式,将多个⽹卡绑定为⼀条链路。
(2)Mode=1(active-backup) 表⽰主备模式,具有容错功能,只有⼀块⽹卡是active,另外⼀块是备的standby,这时如果交换机配的是捆绑,将不能正常⼯作,因为交换机往两块⽹卡发包,有⼀半包是丢弃的。
(3)Mode=2(balance-xor) 表⽰XOR Hash负载分担(异或平衡策略),具有负载平衡和容错功能每个slave接⼝传输每个数据包和交换机的聚合强制不协商⽅式配合。
(需要xmit_hash_policy)。
(4)Mode=3(broadcast) 表⽰所有包从所有interface发出,⼴播策略,具有容错能⼒,这个不均衡,只有冗余机制...和交换机的聚合强制不协商⽅式配合。
(5)Mode=4(802.3ad) 表⽰⽀持802.3ad协议(IEEE802.3ad 动态链接聚合)和交换机的聚合 LACP⽅式配合(需要xmit_hash_policy)。
(6)Mode=5(balance-tlb) 适配器传输负载均衡,并⾏发送,⽆法并⾏接收,解决了数据发送的瓶颈。
在AIX下配置以太通道,有三种模式(mode):standard,round_robin,8023ad。
那么设置这三种模式的时候,交换机设置的时候请参考下列表格:
从上表可以看出,在AIX上配置以太通道,无论是工作在
Standard/round_robin模式下,还是8023ad模式下,都需要有对应的
交换机的支持。
LACP:
基于IEEE802.3ad标准的LACP(Link Aggregation Control Protocol,链路汇聚控制协议)是一种实现链路动态汇聚的协议。
LACP协议通过LACPDU(Link Aggregation Control Protocol Data Unit,链路汇聚控制协议数据单元)与对端交互信息。
启动LACP的端口可以有两种工作模式:passive和active。
Passive:被动模式,该模式下端口不会主动发送LACPDU报文,在接收到对端发送的LACP报文后,该端口进入协议计算状态。
Active:主动模式,该模式下端口会主动向对端发送LACPDU报文,进行LACP协议的计算。
LACP的使用场合如下:
1、在带宽比较紧张的情况下,可以通过逻辑聚合可以扩展带宽到原链路的n倍;
2、在需要对链路进行动态备份的情况下,可以通过配置链路聚合实现同一聚合组各个成员端口之间彼此动态备份。
一、L inux bonding研究及实现Linux Bonding本文介绍Linux(具体发行版本是CentOS5.6)下的双卡绑定的原理及实现。
Linux双网卡绑定实现是使用两块网卡虚拟成为一块网卡设备,这简单来说,就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。
这项技术在Sun和Cisco中分别被称为Trunking和Etherchannel技术,在Linux的2.4.x及其以后的内核则称为Bonding技术。
bonding的前提条件:网卡应该具备自己独立的BIOS芯片,并且各网卡芯片组型号相同。
同一台服务器上的网卡毫无疑问是是符合这个条件的。
Bonding原理bonding的原理:在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身MAC的以太网帧,过滤别的数据帧,以减轻驱动程序的负担;但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,bonding就运行在这种模式下,而且修改了驱动程序中的mac地址,将两块网卡的MAC地址改成相同,可以接收特定MAC的数据帧。
然后把相应的数据帧传送给bond驱动程序处理。
为方便理解bonding的配置及实现,顺便阐述一下Linux的网络接口及其配置文件。
在Linux 中,所有的网络通讯都发生在软件接口与物理网络设备之间。
与网络接口配置相关的文件,以及控制网络接口状态的脚本文件,全都位于/etc/sysconfig/netwrok-scripts/ 目录下。
网络接口配置文件用于控制系统中的软件网络接口,并通过这些接口实现对网络设备的控制。
当系统启动时,系统通过这些接口配置文件决定启动哪些接口,以及如何对这些接口进行配置。
接口配置文件的名称通常类似于ifcfg-<name>,其中<name> 与配置文件所控制的设备的名称相关。
在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。
Linux系统配置双⽹卡绑定bond01、bonding简述双⽹卡配置设置虚拟为⼀个⽹卡实现⽹卡的冗余,其中⼀个⽹卡坏掉后⽹络通信仍可正常使⽤,实现⽹卡层⾯的负载均衡和⾼可⽤性。
现在⼀般的企业都会使⽤双⽹卡接⼊,这样既能添加⽹络带宽,同时⼜能做相应的冗余,可以说是好处多多。
⽽⼀般企业都会使⽤linux操作系统下⾃带的⽹卡绑定模式,当然现在⽹卡产商也会出⼀些针对windows操作系统⽹卡管理软件来做⽹卡绑定(windows操作系统没有⽹卡绑定功能需要第三⽅⽀持)。
1.1 bonding原理⽹卡⼯作在混杂(promisc)模式,接收到达⽹卡的所有数据包,tcpdump⼯作⽤的也是混杂模式(promisc),将两块⽹卡的MAC地址修改为相同接收特定MAC的数据帧,然后把相应的数据帧传送给bond驱动程序进⾏处理。
1.2 Bonding模式(bonding mode)轮询策略(round robin),mode=0,按照设备顺序依次传输数据包,提供负载均衡和容错能⼒主备策略(active-backup),mode=1,只有主⽹卡处于⼯作状态,备⽹卡处于备⽤状态,主⽹卡坏掉后备⽹卡开始⼯作,提供容错能⼒异或策略(load balancing (xor)),mode=2,根据源MAC地址和⽬的MAC地址进⾏异或计算的结果来选择传输设备,提供负载均衡和容错能⼒⼴播策略(fault-tolerance (broadcast)),mode=3,将所有数据包传输给所有接⼝通过全部设备来传输所有数据,⼀个报⽂会复制两份通过bond下的两个⽹卡分别发送出去,提供⾼容错能⼒动态链接聚合(lacp),mode=4,按照802.3ad协议的聚合⾃动配置来共享相同的传输速度,⽹卡带宽最⾼可以翻倍,链路聚合控制协议(LACP)⾃动通知交换机聚合哪些端⼝,需要交换机⽀持 802.3ad协议,提供容错能⼒输出负载均衡模式(transmit load balancing),mode=5,输出负载均衡模式,只有输出实现负载均衡,输⼊数据时则只选定其中⼀块⽹卡接收,需要⽹卡和驱动⽀持ethtool命令输⼊/输出负载均衡模式(adaptive load balancing),mode=6,输⼊和输出都实现负载均衡,需要⽹卡和驱动⽀持ethtool命令2、⽹卡配置⽂件的配置2.1 配置环境 环境:系统CentOS 6.7 + 虚拟机 VMware 12 ⾄少两块物理⽹卡(VMware上添加eth0,eth1) 2.2 需要添加或修改的配置⽂件有5个(mode=1) 这5个配置⽂件是: /etc/sysconfig/network-scripts/ifcfg-eth{0,1} /etc/sysconfig/network-scripts/ifcfg-bond0 /etc/modprobe.d/dist.conf /etc/rc.local2.2.1 /etc/sysconfig/network-scripts/ifcfg-{eth0,eth1,bonding0}修改或添加提⽰:先备份好eth0和eth1,再修改这⼏个⽂件以下是修改好的三个⽹卡配置⽂件的参数[root@ant network-scripts]# vimdiff ifcfg-eth0 ifcfg-eth1 ifcfg-bond02.2.2 修改/etc/modprobe.d/dist.conf⽂件在此⽂件中添加以下内容:alias bond0 bonding,表⽰系统在启动时加载bonding模块,对外虚拟⽹络接⼝设备为 bond0miimon=100,表⽰系统每100ms监测⼀次链路连接状态,如果有⼀条线路不通就转⼊另⼀条线mode=1,表⽰绑定模式为1primary=eth0,系统⾸先eth0作为bond0接⼝与外界信息的传输接⼝2.2.3 修改配置⽂件/etc/rc.local在此⽂件中添加以下内容:modprobe bonding miimon=100 mode=12.2.4 重启⽹络(service network restart),并查看三个接⼝的mac地址使⽤ifconfig命令显⽰,bond0,eth1,eth2物理地址相同,提⽰三个⽹卡均通过⼀个ip主机端⼝与外界通信但是,我们可以看到,在mode=1的情况下,当前bond0采⽤eth0通信,实际的物理⽹卡地址见下图:3、验证⽹络的连通性没有丢包,⽹络连通性可。
这两种方法重启后效果是不会变的
一,传统的方法(bond):
记住要绑定的网卡的网卡名和对应的MAC地址
1,这种方法要将NetworkManager.service给给关闭(为什么?——>不然NetworkManager会识别这两块网卡的配置文件了,设bond就不灵了,重启就消失了,哈哈)
下面这个关不了:
2查看一下,已经停了:
3配置网卡1(仆)的配置文件:
4配置网卡2(仆)的配置文件:
4重启网络:
5新建一个虚拟网卡(主)的配置文件(名字是无所谓的)
配置文件内容:
6将刚才配的那两个(仆)网卡加上规则信息:
7都配置好了就可以重启网络了(和刚才的那个重启网络有什么区别?——>一样的service network restart
查看现在哪个网卡提供服务:
查看效果:
二,Team绑定法:先配主再配仆(两步完事儿)
这个方法的网卡切换时网络是无缝转接,而bond切换时会暂停一会儿。
对象是这两个网卡:
查看帮助:
运行策略:
1,先创建“主”,即虚拟网卡的配置:
给“主”添加IP和模式:
2,给那两个网卡添加配置文件,指定为“仆”属性
Ifconfig查看时可以看到team0已经生效了
查看team0的运行状态:
检验效果:。
多网卡绑定配置
一、目标
在rhel5中对eth1和eth2进行网卡绑定,实现网络连接的冗余和负载;
二、配置
1)添加以下内容在/etc/
[root@mail1 yum.repos.d]# tail -n 2 /etc/modprobe.conf
alias bond0 bonding
options bond0 mode=1 miimon=100 use_carrier=0
注:miimon是指检查链路状况的时间,单位是ms(毫秒),假设其中一条链路断开,会在100ms 内自动切换;mode共有7种(0~6),mode=0,代表负责模式;mode=1,代表主备模式,其中主链路宕掉后,其他线路将会自动接管;
2)新建bond0
# cp -a ifcfg-eth0 ifcfg-bond0
[root@mail1 network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.11.112
NETMASK=255.255.255.0
ONBOOT=yes
3)编辑eth1和eth2
[root@mail1 network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
BOOTPROTO=static
MASTER=bond0
SLA VE=yes
ONBOOT=yes
HWADDR=00:0c:29:cd:26:d9
[root@mail1 network-scripts]# cat /etc/sysconfig/network-scripts/ifcfg-eth2
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth2
BOOTPROTO=static
MASTER=bond0
SLA VE=yes
ONBOOT=yes
HWADDR=00:0c:29:cd:26:e3
三、配置生效和验证
四、
#service network restart
#[root@mail1 network-scripts]# ifconfig
bond0 Link encap:Ethernet HWaddr 00:0C:29:CD:26:D9
inet addr:192.168.11.112 Bcast:192.168.11.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fecd:26d9/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:4893 errors:0 dropped:0 overruns:0 frame:0
TX packets:428 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:647410 (632.2 KiB) TX bytes:71900 (70.2 KiB)。