今天分享的是linux操作系统下双网卡绑定有哪七种模式,分别是如何工作的。现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多。而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能需要第三方支持)。
进入正题,linux有七种网卡绑定模式:0. round ro bin,1.active-backup,2.load balancing (xor), 3.fault-tolerance (broadcast),https://www.doczj.com/doc/7f2823682.html,cp, 5.transmit load balancing,6.adaptive load balancing。
第一种: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 一个相同地址:1.1.1.1 双网卡的两个网卡都有流量发出。负载到两条链路上,说明是基于per packet方式,进行轮询发送。(2)这模式的特点增加了带宽,同时支持容错能力,当有链路出问题,会把流量切换到正常的链路上。
实际绑定结果:
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: load balancing (round-robin)-----RR的模式
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 74:ea:3a:6a:54:e3
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
应用拓扑:交换机端需要配置聚合口,cisco叫port channel。拓扑图如下:
第二种:bond1:active-backup
标准文档定义:Active-backup policy: width="625" height="441" class="alignnone size-full wp-image-543" title="bond3" src="https://www.doczj.com/doc/7f2823682.html,/uploads/allimg/120918/0RQ26407-1.jpg" /> 这种模式适用于如下拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包。下面展示了这种模式下ping信息:
64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.205 ms
64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.213 ms (DUP!) ---dup为重复报文
64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.245 ms
64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.254 ms (DUP!)
64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.216 ms
64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.226 ms (DUP!)
从这个ping信息可以看到,这种模式的特点是,同一个报文服务器会复制两份分别往两条线路发送,导致回复两份重复报文,这种模式有浪费资源的嫌疑。
第三种: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”。这模式是通过源和目标mac做hash因子来做xor算法来选路的。
实际绑定结果:
[root@localhost ~]# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.0.3 (March 23, 2006)
Bonding Mode: load balancing (xor) ——配置为xor模式
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:d0:f8:40:f1:a0
Slave Interface: eth2
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:d0:f8:00:0c:0c
应用拓扑:同bond0一样的应用模型。这个模式也需要交换机配置聚合口。
第四种:bond3:fault-tolerance (broadcast)
标准文档定义:Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.
特点:这种模式的特点是一个报文会复制两份往bond下的两个接口分别发送出去,当有对端交换机失效,我们感觉不到任何downtime,但此法过于浪费资源;不过这种模式有很好的容错机制。此模式适用于金融行业,因为他们需要高可靠性的网络,不允许出现任何问题。
实际绑定结果:
root@ubuntu12:~/ram# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: fault-tolerance (broadcast) ——- fault-tolerance 模式
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 74:ea:3a:6a:54:e3
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: d8:5d:4c:71:f9:94
这种模式适用于如下拓扑,两个接口分别接入两台交换机,并且属于不同的vlan,当一边的网络出现故障不会影响服务器另一边接入的网络正常工作。而且故障过程是0丢包。下面展示了这种模式下ping信息:
64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.205 ms
64 bytes from 1.1.1.1: icmp_seq=901 ttl=64 time=0.213 ms (DUP!) —dup为重复报文
64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.245 ms
64 bytes from 1.1.1.1: icmp_seq=902 ttl=64 time=0.254 ms (DUP!)
64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.216 ms
64 bytes from 1.1.1.1: icmp_seq=903 ttl=64 time=0.226 ms (DUP!)
从这个ping信息可以看到,这种模式的特点是,同一个报文服务器会复制两份分别往两条线路发送,导致回复两份重复报文,这种模式有浪费资源的嫌疑。
第五种:bond4:lacp
标准文档定义:IEEE 802.3ad Dynamic link aggregation. Creates aggregation groups that share the same speed and duplex settings. Utilizes all slaves in the active aggregator according to the 802.3ad specification. Pre-requisites: 1. Ethtool support in the base drivers for retrieving.the speed and duplex of each slave. 2. A switch that supports IEEE 802.3ad Dynamic link
aggregation. Most switches will require some type of configuration to enable 802.3ad mode.
特点:802.3ad模式是IEEE标准,因此所有实现了802.3ad的对端都可以很
好的互操作。802.3ad 协议包括聚合的自动配置,因此只需要很少的对交换机的手动配置(要指出的是,只有某些设备才能使用802.3ad)。802.3ad标准也要求帧按顺序(一定程度上)传递,因此通常单个连接不会看到包的乱序。802.3ad 也有些缺点:标准要求所有设备在聚合操作时,要在同样的速率和双工模式,而且,和除了balance-rr模式外的其它bonding负载均衡模式一样,任何连接都不能使用多于一个接口的带宽。
此外,linux bonding的802.3ad实现通过对端来分发流量(通过MAC地址的XOR值),因此在“网关”型配置下,所有外出(Outgoing)流量将使用同一个设备。进入(Incoming)的流量也可能在同一个设备上终止,这依赖于对端802.3ad实现里的均衡策略。在“本地”型配置下,路两将通过bond里的设备进行分发。
实际绑定结果:
root@:~# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: IEEE 802.3ad Dynamic link aggregation
Transmit Hash Policy: layer2 (0)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
802.3ad info
LACP rate: slow
Aggregator selection policy (ad_select): stable
Active Aggregator Info:
Aggregator ID: 1
Number of ports: 1
Actor Key: 9
Partner Key: 1
Partner Mac Address: 00:00:00:00:00:00
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 74:ea:3a:6a:54:e3
Aggregator ID: 1
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: d8:5d:4c:71:f9:94
Aggregator ID: 2
应用拓扑:应用拓扑同bond0,和bond2一样,不过这种模式除了配置port channel之外还要在port channel聚合口下开启LACP功能,成功协商后,两端可以正常通信。否则不能使用。
交换机端配置:
interface AggregatePort 1 配置聚合口
interface GigabitEthernet 0/23
port-group 1 mode active 接口下开启lacp 主动模式
interface GigabitEthernet 0/24
port-group 1 mode active
第六种:bond5: transmit load balancing
标准文档定义:Adaptive transmit load balancing: channel bonding that does not require any special switch support. The outgoing traffic is distributed according to the current load (computed relative to the speed) width="523" height="375" class="alignnone size-full wp-image-542" title="bond5" src="https://www.doczj.com/doc/7f2823682.html,/uploads/allimg/120918/0RQ253H-2.jpg" /> 如上图,设备开始时会发送免费arp,以主端口eth1的mac为源,当客户端收到这个arp时就会在arp缓存中记录下这个mac对的ip。而在这个模式下,服务器每个端口在ping操作时,会根据算法算出出口,地址不断变化时他,这时会负载到不同端口。实验中ping1.1.1.3时往eth2发送,源mac为00:D0:F8:00:0C:0C,ping1.1.1.4是往eth1发送,源mac为00:D0:F8:40:F1:A0,以此类推,所以从服务器出去的流量负载到两条线路,但是由于服务发arp时只用00:D0:F8:40:F1:A0,这样客户端缓冲记录的是00:D0:F8:40:F1:A0对的ip,封装时目标mac:00:D0:F8:40:F1:A0。这样进入服务的流量都只往eth1
(00:D0:F8:40:F1:A0)走。设备会一直发入snap报文,eth1发送源为00d0.f840.f1a0的snap报文,eth2发送源为00d0.f800.0c0c的snap报文。这个snap报文mac和目标mac一样都是网卡本地mac,源ip和目标ip也一样,这个报文的作用是检测线路是否正常的回环报文。
注:可以通过修改bond0的mac地址来引导他发修改后的源mac的免费arp (MACADDR=00:D0:F8:00:0C:0C)
第七种:bond6:adaptive load balancing
特点:该模式包含了balance-tlb模式,同时加上针对IPV4流量的接收负载均衡(receive load balance, rlb),而且不需要任何switch(交换机)的支持。接收负载均衡是通过ARP协商实现的。bonding驱动截获本机发送的ARP应答,并把源硬件地址改写为bond中某个slave的唯一硬件地址,从而使得不同的对端使用不同的硬件地址进行通信。所有端口都会收到对端的arp请求报文,回复arp 回时,bond驱动模块会截获所发的arp回复报文,根据算法算到相应端口,这时会把arp回复报文的源mac,send源mac都改成相应端口mac。从抓包情况分析回复报文是第一个从端口1发,第二个从端口2发。以此类推。(还有一个点:每个端口除发送本端口回复的报文,也同样会发送其他端口回复的报文,mac还是其他端口的mac)这样来自服务器端的接收流量也会被均衡。
当本机发送ARP请求时,bonding驱动把对端的IP信息从ARP包中复制并保存下来。当ARP应答从对端到达时,bonding驱动把它的硬件地址提取出来,并发起一个ARP应答给bond中的某个slave(这个算法和上面一样,比如算到1口,就给发送arp请求,1回复时mac用1的mac)。使用ARP协商进行负载均衡的一个问题是:每次广播ARP请求时都会使用bond的硬件地址,因此对端学习到这个硬件地址后,接收流量将会全部流向当前的slave。这个问题通过给所有的对端发送更新(ARP应答)来解决,往所有端口发送应答,应答中包含他们独一无二的硬件地址,从而导致流量重新分布。当新的slave加入到bond中时,或者某个未激活的slave重新激活时,接收流量也要重新分布。接收的负载被顺序地分布(round robin)在bond中最高速的slave上
当某个链路被重新接上,或者一个新的slave加入到bond中,接收流量在所
有当前激活的slave中全部重新分配,通过使用指定的MAC地址给每个client 发起ARP应答。下面介绍的updelay参数必须被设置为某个大于等于switch(交换机)转发延时的值,从而保证发往对端的ARP应答不会被switch(交换机)阻截。必要条件:
条件1:ethtool支持获取每个slave的速率;
条件2:底层驱动支持设置某个设备的硬件地址,从而使得总是有个slave(curr_active_slave)使用bond的硬件地址,同时保证每个bond 中的slave都有一个唯一的硬件地址。如果curr_active_slave出故障,它的硬件地址将会被新选出来的curr_active_slave接管。
实际配置结果:
root@:/tmp# cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009)
Bonding Mode: adaptive load balancing
Primary Slave: None
Currently Active Slave: eth0
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 74:ea:3a:6a:54:e3
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: d8:5d:4c:71:f9:94
应用拓扑:
A是双网卡绑定。
当B 发送一个arp请求到达A时,按正常情况A会回应一个arp回应报文,源mac为bond的mac,源就是bond的ip。但是这个模式下bonding 驱动会截获这个arp回应,把源mac改成bond状态下其中某一个网卡的mac:mac1,这样B收到这个arp回应时就会在arp缓存中记录下ip:1.1.1.1对应的mac为mac1。这样B的过来的流量都走MAC1.
当C 发送一个arp请求到达A时,按正常情况A会回应一个arp回应报文,源mac为bond的mac,源就是bond的ip。但是这个模式下bonding 驱动会截获这个arp回应,把源mac改成bond状态下其中某一个网卡的mac:mac2,这样C收到这个arp回应时就会在arp缓存中记录下ip:1.1.1.1对应的mac为mac2。这样C的过来的流量都走MAC2.
这样就可以做到回来让回来的流量也负载均衡。出方向均衡和MODE=5一致,不同地址会根据xor算法算出不同出口,发不同出口发送相应的arp ,mac是对应网卡的mac。
Windows 双网卡绑定 第一步:硬件连接与安装 首先进入BIOS设置将主板上集成的网卡打开,同时将独立网卡插入空闲的PCI插槽,用直通双绞线将两块网卡和宽带路由器的LAN口相连。重新启动Windows XP系统,自动为两块网卡安装好驱动程序。打开“网络连接”,会看到“本地连接”和“本地连接2”两个连接,而且这两个连接已经启用,硬件的连接与安装就算完成了。 第二步:绑定双网卡 下载并安装绑定双网卡的软件“NIC Express”(下载地址 https://www.doczj.com/doc/7f2823682.html,/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。利用单网卡执行相同的下载任务,发
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驱动程序处理。 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片1.创建虚拟网卡 编辑虚拟网络接口配置文件,指定网卡IP vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 [root@rhas5 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 2.编辑虚拟网卡和物理网卡 #vi ifcfg-bond0 将第一行改成DEVICE=bond0 # cat ifcfg-bond0 DEVICE=bond0 BOOTPROTO=static IPADDR=172.31.0.13 NETMASK=255.255.252.0 BROADCAST=172.31.3.254 ONBOOT=yes USERCTL=no TYPE=Ethernet 这里要注意,不要指定单个网卡的IP 地址、子网掩码或网卡ID。将上述信息指定到虚拟适配器(bonding)中即可。 编辑物理网卡eth0,删除多余的内容,只留下如下内容。包括空格和注释。[root@rhas5 network-scripts]# cat ifcfg-eth0 DEVICE=eth0 ONBOOT=yes BOOTPROTO=static SLAVE=yes MASTER=bond0
用双网卡,提高网速! 大家好,我前几天在去联想玩的时候,看到他们工程师一台机装好几个网卡,速度还不错,我看一下,回到公司也到网上找了一些资料,双(多)网卡用一个IP的技术,对于各种内网服务器,和电脑、、、、很有用处,我把我在网上找到的资料整理了一下,大家看一看,也许对大家有好处! 所谓双网卡,就是通过软件将双网卡绑定为一个IP地址,这个技术对于许多朋友来说并不陌生,许多高档服务器网卡(例如intel8255x系列、3COM服务器网卡等)都具有多网卡绑定功能,可以通过软硬件设置将两块或者多块网卡绑定在同一个IP地址上,使用起来就好象在使用一块网卡,多网卡绑定的优点不少,首先,可以增大带宽,假如一个网卡的带宽是100M,理论上两块网卡就是200M,三块就是300M,当然实际上的效果是不会是这样简单的增加的,不过经实际测试使用多个网卡对于增加带宽,保持带宽的稳定性肯定是有裨益的,如果交换机等相关条件不错的话,这个效果还是很能令人满意;其次,可以形成网卡冗余阵列、分担负载,双网卡被绑定成“一块网卡”之后,同步一起工作,对服务器的访问流量被均衡分担到两块网卡上,这样每块网卡的负载压力就小多了,抗并发访问的能力提高,保证了服务器访问的稳定和畅快,当其中一块发生故障的时候,另一块立刻接管全部负载,过程是无缝的,服务不会中断,直到维修人员到来。先下载一个软件NIC Express 下载完软件,先不忙安装,咱们还是先准备好硬件。 第一部分:硬件安装 虽然,理论上讲绑定越多网卡在一起,最终效果提升就越明显,但是考虑到复杂程度,这里就以绑定双网卡为例进行说明,如果读者觉得好玩,兴致很高的话,按照下面方法愿意绑定多少就绑定多少个网卡,其实一般同一台服务器,绑定2-3块网卡也就够了,太多了,据说因为链路聚合的先天缺点,会过多占用服务器资源,反过来会影响服务器速度(关于这个我没实验,不过我觉得凡事都离不开物极必反的道理,适度最好)。 打开服务器机箱,把两块网卡拧在主板PCI插槽上!:》 硬件的安装很简单,我也不在这里说了。省的大家骂我:》 第二部分:设置调试 下面要进行设置及调试了,也就是要将这两块8139D廉价网卡,如同高档服务器网卡那样绑
双网卡做成b o n d0的方法 说明 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡 好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。并且节约IP。 实施案例讲解 我们的测试服务器 双网卡 E 我们需要将这2个网卡做成一个bond0网卡 1.编辑eth1. vi/etc/sysconfig/network-scripts/ifcfg-eth1 修改为 我们去掉了IP,MAC,掩码网关,bootproto设置为none 2.编辑eth2 同样这样更改eth2,如下图所示 3.创建并且编辑bond0网卡 vi/etc/sysconfig/network-scripts/ifcfg-bond0 增加如下参数 可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。。。 编辑vi/etc/modprobe.conf文件 添加如下参数 编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网 至此,我们的bond0已经创建成功 接下来我们需要去编辑启动文件添加一行 vi/etc/rc.local 添加ifenslavebond0eth1eth2 重启服务器,测试是否能成功 多个bond 如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加 Eth2eth3….等修改方式同上。 如果bond的模式(请查看参数讲解)不同,那么修改为 这种情况遇到较少,我们了解就好 参数讲解 Bond有7种模式,我们常用的是 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。 mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。 mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。
Linux下的双网卡绑定bond0 em1 em2 一、什么是bonding Linux bonding 驱动提供了一个把多个网络接口设备捆绑为单个的网络接口设置来使用,用于网络负载均衡及网络冗余 二、bonding应用方向 1、网络负载均衡 对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是bonding 2、网络冗余 对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份 三、bonding实验环境及配置 1、实验环境 系统为:CentOS,使用2块网卡(em1、em2 ==> bond0)来实现bonding技术 2、bonding配置 第一步:先查看一下内核是否已经支持bonding 1)如果内核已经把bonding编译进内核,那么要做的就是加载该模块到当前内核;其次查看ifenslave该工具是否也已经编译 modprobe -l bond* 或者modinfo bonding modprobe bonding lsmod | grep 'bonding' echo 'modprobe bonding &> /dev/null' >> /etc/rc.local(开机自动加载bonding模块到内核) which ifenslave 注意:默认内核安装完后就已经支持bonding模块了,无需要自己手动编译 2)如果bonding还没有编译进内核,那么要做的就是编译该模块到内核 (1)编译bonding tar -jxvf kernel-XXX.tar.gz cd kernel-XXX
l i n u x双网卡做成b o n d 集团企业公司编码:(LL3698-KKI1269-TM2483-LUI12689-ITT289-
双网卡做成b o n d0的方法说明 所谓bond,就是把多个物理网卡绑定成一个逻辑上的网卡 好处:增加带宽接入,还可以实现主备功能,当其中一个网卡挂掉,不会影响网络连接。并且节约IP。 实施案例讲解 我们的测试服务器 双网卡 E 我们需要将这2个网卡做成一个bond0网卡 1.编辑eth1. vi/etc/sysconfig/network-scripts/ifcfg-eth1 修改为 我们去掉了IP,MAC,掩码网关,bootproto设置为none 2.编辑eth2 同样这样更改eth2,如下图所示 3.创建并且编辑bond0网卡 vi/etc/sysconfig/network-scripts/ifcfg-bond0 增加如下参数
可以看到,和我们平时用的eth1网卡配置差不多,只是少了MAC地址。。。 编辑vi/etc/modprobe.conf文件 添加如下参数 编辑好了之后重启网卡,会发现eth1eth2无IP,依然通了外网 至此,我们的bond0已经创建成功 接下来我们需要去编辑启动文件添加一行 vi/etc/rc.local 添加ifenslavebond0eth1eth2 重启服务器,测试是否能成功 多个bond 如果是创建多个bond的时候,我们修改vi/etc/modprobe.conf配置文件的时候依照下图添加,依次增加 Eth2eth3….等修改方式同上。 如果bond的模式(请查看参数讲解)不同,那么修改为 这种情况遇到较少,我们了解就好 参数讲解 Bond有7种模式,我们常用的是 mode=0:平衡负载模式,有自动备援,但需要”Switch”支援及设定。mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。七种bond模式说明:
双网卡绑定实践 Windows平台下常用的双网卡绑定软件有Intel PROSet、NICExpress。本文主要介绍用Intel PROset实现双网卡绑定的方法。 英特尔PROSet 是一个高级的配置实用程序,可用来测试英特尔网络适配器并配置标准和高级功能。通常Intel网卡的驱动包中就包含这个程序,在安装驱动的时候PROSet默认是被安装的。 测试环境: 测试机:R525 G3,Intel双千兆网卡 OS:windows 2003 server 企业版32位 终端:联想笔记本(用于测试服务器双网卡绑定效果) 步骤: 1、打开设备管理器,双击任意一块Intel 82576; 注意R525 G3默认有3块网卡,82574L是管理网口 2、在弹出的配置对话框中,选择分组页面。此时由于系统中的网卡没有进行绑定,因此此
时组下拉列表框是灰色不可选的,单击“新组”; 3、在弹出的“新组向导”对话框中,填写组的名称,下一步; 4、钩选需要绑定的两个网卡,下一步;
5、这里列出了可选择的网卡绑定的模式,常用的是容错和负载平衡。这里我们选择容错,单击下一步; 6、完成向导;
7、此时我们可以看到刚才的分组页面中组的下拉列表中已经有team1; 8、同时弹出的还有team1的属性对话框,单击设置页面,可以看到其中一块网卡状态为“活动”,另一块网卡装状态为“待命”。在此界面中还可进行删除组和修改组的操作,单击“修改组”;
9、在弹出的对话框中,可以设置双网卡的主从关系,如不进行设定,此关系是不固定的。即:当断掉当前活动状态的主网口时,待命的网口将接替主网口的位置,对外提供服务,并成为主网口。当之前断开的网口恢复后,主从关系不会改变,该网口变为待命状态。 10、固定主从关系,设置当前活动的网口为主适配器,待命网口为次适配器;
保持服务器的高可用性是企业级 IT 环境的重要因素。其中最重要的一点是服务器网络连接的高可用性。网卡(NIC)绑定技术有助于保证高可用性特性并提供其它优势以提高网络性能。 我们在这介绍的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 3.0 绑定的前提条件:芯片组型号相同,而且网卡应该具备自己独立的BIOS芯片 双网卡邦定的拓朴图(见下图) 1. 1.编辑虚拟网络接口配置文件,指定网卡IP 2.vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 3.[root@rhas-13 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 4. 2 #vi ifcfg-bond0 5.将第一行改成 DEVICE=bond0 6.# cat ifcfg-bond0 7.DEVICE=bond0 8.BOOTPROTO=static 9.IPADDR=172.31.0.13 https://www.doczj.com/doc/7f2823682.html,MASK=255.255.252.0 11.BROADCAST=172.31.3.254 12.ONBOOT=yes 13.TYPE=Ethernet 14.这里要主意,不要指定单个网卡的IP 地址、子网掩码或网卡 ID。将上述信息指定到虚拟适配器(bonding)中即可。 15.[root@rhas-13 network-scripts]# cat ifcfg-eth0 16.DEVICE=eth0 17.ONBOOT=yes 18.BOOTPROTO=dhcp 19.[root@rhas-13 network-scripts]# cat ifcfg-eth1 20.DEVICE=eth0 21.ONBOOT=yes 22.BOOTPROTO=dhcp 复制代码 3 # vi /etc/modules.conf “自己实验结果:centos文件为:/etc/modprobe.conf“ 1.编辑 /etc/modules.conf 文件,加入如下一行内容,以使系统在启动时加载bonding模块,对外虚拟网络接口设备为 bond0 2.
常用操作系统双网卡绑定方法 目录 一、RHEL 5.7 LINUX 下网卡绑定设置 (1) 二、RHEL6 LINUX 下网卡绑定设置 (3) 三、SUSE 10 下网卡绑定设置 (11) 四、SUSE 11 下网卡绑定设置 (16) 五、Windows 下网卡绑定设置 (22) 一、RHEL 5.7 LINUX 下网卡绑定设置 [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-bond0 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=bond0 BOOTPROTO=static ONBOOT=yes IPADDR=10.96.19.207 NETMASK=255.255.255.0 GATEWAY=10.96.19.1 TYPE=Ethernet [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth0 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=eth0 BOOTPROTO=none HWADDR=34:40:B5:BD:24:18 ONBOOT=yes MASTER=bond0 SLAVE=yes TYPE=Ethernet [root@Linux5 ~]# more /etc/sysconfig/network-scripts/ifcfg-eth1 # Broadcom Corporation NetXtreme II BCM5709S Gigabit Ethernet DEVICE=eth1 BOOTPROTO=none HWADDR=34:40:B5:BD:24:1A ONBOOT=yes MASTER=bond0
linux网卡绑定(多组)和解绑实现步骤 2013年5月20日 15:14 绑定 1.修改配置文件: a.在/etc/modprobe.conf中加入一行:alias bondN bonding,其中bondN 是绑定后公用网口的名称,依实际情况而定,一般第一个绑定用bond0,第二 个用bond1… ,如果已经有,不用添加,使用后也不用删除该行 b.在所有待绑定网口的配置文件(/etc/sysconfig/network-scripts/)中加入 以下两行: 其中: ifcfg-ehtN中的N是待绑定的网口号,如eth0,eth1… bondN是绑 定后的共用网口名称,可以是bond1,bond2…但是要与ifcfg-ethN和 /etc/modprobe.conf这两个配置文件中的配置项对应起来。 c.添加绑定网口bondN的配置文件,在与ifcfg-ehtN平级的目录下添加 ifcfg-bondN文件,键入以下内容: 2.安装bonding内核模块:modprobe bondN 3.重启网卡service network restart 解绑 1.卸载bonding内核模块:modprobe -r bondN 2.删除ifcfg-bondN配置文件,删除ifcfg-ehtN配置文件中绑定时添加的两行。 3.重启网卡service network restart 注意 1.多组绑定需要将ifcfg-ethN文件中指定不同代理绑定网口,即bond0,1, 2..。 2.ifcfg-bondN中将设备名、IP做响应修改。 3./etc/modprobe.conf文件中添加alias bondN bonding。每隔bond端口用一行。 4.以上均为centos 5.5中的配置,如果在 6.0中,没有/etc/modprobe.conf,需要在 /etc/modprobe.d目录中添加文件bonding.conf,将alias bondN bonding写入该 文件中。 5.如果需要负载均衡,在alias bondN bonding行下写options bondN miimon=100 mode=0 问题 1.bond0在解绑之后虽然用ifconfig看不到了,使用ifconfig bond0 up也不能启用, 但是在X中network配置窗口中任然有bond0这一项。不过这个不影响使用,再下 次绑定时仍按照以上步骤操作即可。
Broadcom Gigabit Ethernet Adapter Teaming 任何可用的千兆BRODCOM网卡都可以配置为TEAM的一部分.TEAMING是一种将多块千兆BRODCOM网卡绑定作为一个虚拟网卡.好处就是负载均衡. 通过选择每一个可用的千兆BRODCOM网卡并添加它们到负载均衡成员栏来创建TEAM.对于用户和应用程序,只看到一个虚的网卡. 负载均衡组中的成员共享绑定的数据流. 在一个基本的成员区域中,任一个千兆BRODCOM网卡都可以被指定为主成员负责数据流的控制,而指定为备用成员的网卡只有在所有的主 成员网卡都失败时,才开始接管数据流.一旦任一个主成员网卡恢复,数据马上由该主成员控制. 创建teaming包含下列几个步骤: * 打开BASP属性窗口 * 创建teams * 添加网卡到teams * 分配一个IP地址给teamss * 重启机器 BASP是适用于windows2003,windows2000,windowsNT,Redhat Liunx,NetWare的一个broadcom的中介型驱动程 序,需要先安装对应的broadcom网卡驱动程序. 目前它提供了负载均衡;错误冗余;VLAN高级功能,都通过创建teaming来实现. 注意: 一个team可以包含1到8个网卡,每个网卡都可以指定为主成员或备用成员. BASP的负载均衡;错误冗余功能支持与第三方厂商网卡在同一个team中协同工作. BASP FOR Windows 2000 & 20003 & NT提供以下选项: - 支持下列网卡作为故障应急(failover) Alteon AceNic,3COM 10/100 Server adapters;intel 10/1000 server
端口聚合(IEEE802.3ad Port Trunking) 可将2至8个10/100Base-TX端口聚合成一条干路,在全双工工作模式下达到400Mbps-1.6Gbps的带宽。端口聚合技术能充分利用现有设备实现高速数据传递,也可以通过千兆端口聚合技术实现千兆位链路的聚合,最多可以聚合4Gbps的链路带宽。 Broadcom Gigabit Ethernet Adapter Teaming 任何可用的千兆BRODCOM网卡都可以配置为TEAM的一部分.TEAMING是一种将多块千兆BRODCOM 网卡绑定作为一个虚拟网卡.好处就是负载均衡. 通过选择每一个可用的千兆BRODCOM网卡并添加它们到负载均衡成员栏来创建TEAM.对于用户和应用程序,只看到一个虚的网卡. 负载均衡组中的成员共享绑定的数据流. 在一个基本的成员区域中,任一个千兆BRODCOM网卡都可以被指定为主成员负责数据流的控制,而指定为备用成员的网卡只有在所有的主 成员网卡都失败时,才开始接管数据流.一旦任一个主成员网卡恢复,数据马上由该主成员控制. 创建teaming包含下列几个步骤: * 打开BASP属性窗口 * 创建teams * 添加网卡到teams * 分配一个IP地址给teamss * 重启机器 BASP是适用于windows2003,windows2000,windowsNT,Redhat Liunx,NetWare的一个broadcom的中介型驱动程 序,需要先安装对应的broadcom网卡驱动程序. 目前它提供了负载均衡;错误冗余;VLAN高级功能,都通过创建teaming来实现. 注意: 一个team可以包含1到8个网卡,每个网卡都可以指定为主成员或备用成员. BASP的负载均衡;错误冗余功能支持与第三方厂商网卡在同一个team中协同工作. BASP FOR Windows 2000 & 20003 & NT提供以下选项: - 支持下列网卡作为故障应急(failover) Alteon AceNic,3COM 10/100 Server adapters;intel 10/1000 server adapters;intel 1000baseSX server adapter; intel 82559 板载网卡 - 智能负载均衡,交换机不需设置. - 普通链路聚合(GEC/FEC,Open Trunk),需要在交换机上启用trunking - IEEE802.3ad链路聚合(静态配置),需要交换机支持802.3ad - 通过IEEE802.1Q-1988tagging,每个网卡最多支持64个VLANS,只支持braodcom或Alteon网卡
linux 下网卡做绑定 1.用root 用户登录 2 、用ifconfig 命令看一下ip 地址,看一下eth0 和eth1 是否获取到IP 地址(因为linux 这 台服务器是连接在一台DHCP 的服务器) 查看到IP 地址为eth0 eth1 broadcast :mask :(eth0 和eth1 都是这个broadcast 和mask ) 3 、编辑虚拟网络接口配置文件, 指定网卡IP vi /etc/sysconfig/ network-scripts/ ifcfg-bond0 创建一个虚拟网络接口配置文件 4 、[root@rhas-13 root]# cp /etc/sysconfig/network-scripts/ifcfg-eth0 ifcfg-bond0 把 ifcfg-eth0 里面的配置文件复制到ifcfg-bond0 里面去 然后用vi ifcfg-bond0 命令修改虚拟配置端口。
5 、修改第一行DEVICE=bond0 ,然后把配置改成eth0 的配置(配置完成为下边的图) 6 、用cat 命令查看一下eth0 和eth1 的配置
7 、# vi /etc/modprobe.conf 编辑/etc/modprobe.conf 文件,加入如下一行内容,以使系统在启动时加载bonding 模块 8 、加入下列两行 alias bond0 bonding options bond0 miimon=100 mode=1
说明:miimon 是用来进行链路监测的。比如:miimon=100 ,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode 的值表示工作模式,他共有0 ,1,2,3 四种模式,常用的为0,1 两种。 mode=0 表示load balancing (round-robin) 为负载均衡方式,两块网卡都工作。 mode=1 表示fault-tolerance (active-backup) 提供冗余功能,工作方式是主备的工作方式, 也就是说默认情况下只有一块网卡工作, 另一块做备份 . bonding 只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down 掉了,而交换机本身并没有故障,那么bonding 会认为链路没有问题而继续使用 9 、# vi /etc/rc.d/rc.local
INTERNET双网卡绑定一个IP 第一步:安装好所有网卡驱动程序,可以在网络-->适配器里看到如图一(当然可能你没有这么多的网卡,只看到两张或三张),其中有两张INTERNET 的网卡,因我这么服务器是HP的,网卡已经是OEM产品了,所以显示的是HP 10/100TX PCI FAST ETHERNET ADAPTER,如果你买的是原装INTERNET网卡,显示的应是INTETNET 10/100TX PCI FAST ETHERNET ADAPTER(以下不再另加说明)。 此主题相关图片如下: 第二步:选中[1] HP 10/100TX PCI ETHERNET ADAPTER BUS 0 ...点击属性(P)...出现另一对话框,如图二:
第三步:在Show all 8255x-based adapters前面的小方框点上小勾,如图三: 第四步:经过第三步,可以看到所有的INTERNET网卡都显示出来了,点击Adapter Teaming,出现图四:
第五步:从图四中可以看出,出现一个二块小网卡的标志,那就是网卡组,不过现在还没有加入网卡,图四的下部分是网卡组的功能,第一个是AFT ONLY 即容错功能,第二个是load balancing即网络平衡功能,第三个是fast etherchannel即加快网络速度功能,一般来说做无盘是为了加快速度,所以要选第三个。 第六步:选中图四网卡组下面的网卡,点击Move Up,得到如图五所示的配置:
第七步:图五中点OK确定,在网络-->适配器里可以看到多了一个适配器,如图六:
第八步:在图六中点协议,再选中TCP/IP通讯协议,如图七:
如何让双网卡同时工作 NIC Express是一款功能非常独特的网络加速程序(点击下载NIC Express),可以绑定多块网卡以组成一块虚拟网卡,这样可以增加网络的带宽,当然前提是网卡的传输速率必须相同,这样才能在网络高负荷状态时实现负载均衡,否则是没有任何意义的。 程序的安装 接下来,就可以开始安装和配置NIC Express,这里需要注意的主要有3个方面: 1. 启用网络负载均衡 安装过程中会弹出一个提示对话框,这里是询问是否启用“Load Balancing function ali ty”,即网络负载均衡,这个功能可以在数据流量比较大时自动分配到各个网卡产上,以减轻单块网卡的压力,从而达到流畅的访问效果,因此这里当然是选择“Enabled”啦。 2. 虚拟网卡驱动程序的安装 安装过程的最后会报告说NIC Express的虚拟网卡驱动程序未曾通过Windows徽标测试,无法验证同Windows XP的相容性,询问是否继续,请单击“仍然继续”按钮继续安装。 3. 设置绑定的网卡 接下来,我们需要对绑定的网卡进行设置。计算机中安装的所有网卡将在主窗口的“A vailab le”列表框中出现,选中后单击“Add”按钮将其添加到下面的“Assigned Adapter s”列表框中即可完成添加操作。 默认设置下,绑定网卡组会使用“New Array”作为名称,当然也可以重新输入一个名称,然后会进入配置对话框,我们并不需要进行修改,直接使用默认设置即可。 网卡组的设置
进入“网络连接”窗口,可以看到本地连接图标已增加为3个,增加的那个“NIC Exp ress Virtual Miniport”就是绑定后的网卡组,它的使用与单一网卡完全相同,相当于一个单一的虚拟网卡,按照单一网卡的设置参数进行设置即可,可以为这块虚拟网卡设置IP 地址、子网掩码、网关等参数。 1. 设置监控内容 从开始菜单的程序组中找到“NIC Express Enterprise Edition”选项,这是NIC Exp ress软件自带的一个监控程序,在“setting”标签页中可以设置网卡流量的计量单位,这里提供了Packets/Sec、 Mbits/Sec、Kbits/Sec三种单位,默认使用Mbits/Sec(兆/每秒),我们只需要在“Graph Detail”中将默认的“By Protocol”重置为“By Incoming/Outgoi ng”即可。 如果你希望观察网卡组中每块网卡的流量或者整个组的流量,只要在“Select Device”中选择相应的设备即可。 2. 设置网卡绑定模式 切换到“Advanced”标签页,你可以在这里设置网卡绑定的工作模式,双网卡组默认工作在“NIC Express ELB”模式;如果需要关闭网络负载均衡功能,可以在这里选择“Load Balancing Disa ble”,其他的选项就不用设置了。 NIC Express可以通过绑定多块网卡以增加网络的带宽.需要注意的一点,在绑定网卡时,网卡的传输速率必须相同NIC Express才可以在网络高负荷状态做到负载均衡,否则是没有任何意义的。 我照着以上提示安装并设置,但是发现该软件不支持winXP,只能发现一个网卡。 不知哪位高手能提供一个新的软件解决绑定双网卡。
Linux双网卡绑定和解除绑定的实现 双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定。 一、操作步骤 这里以绑定两个网卡为示例描述。配置文件都在/etc/sysconfig/network-scripts/目录下。 1、编辑新的ifcfg-bond0文件 增加如下内容: 引用 # cat /etc/sysconfig/network-scripts/ifcfg-bond0 DEVICE=bond0 IPADDR=192.168.1.155 NETMASK=255.255.255.0 ONBOOT=yes BOOTPROTO=none USERCTL=no 这是最后bond0设备的实际IP设置。 2、分别编辑ifcfg-eth0和ifcfg-eth1文件 引用 # cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none # cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLAVE=yes BOOTPROTO=none 3、修改/etc/modules.conf文件 # vi /etc/modules.conf 添加如下内容: 引用 alias bond0 bonding options bond0 miimon=100 mode=1 说明: 引用 miimon是用来进行链路监测的。比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路; mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。需根据交换机可提供的工作模式选择。 mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。 mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。 ※注意: 引用 a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用。 b、设置的模式要与交换机设置的模式一致。
suse linux双网卡绑定设置详解 双网卡的绑定可以实现冗余和高可用性,在suse linux 10中和redhat linux 5中设置双网卡绑定是不太一样的,下面详解一下suse linux 下的双网卡绑定: 步骤1:进入到网络配置目录 # cd /etc/sysconfig/network 步骤2:创建ifcfg-bond0配置文件 Vi ifcfg-bond0 输入如下内容保存 BOOTPROTO='static' BROADCAST='' IPADDR='172.27.120.21 #要绑定的ip地址 NETMASK='255.255.255.0 '#网段的掩码 NETWORK='' STARTMODE='onboot' BONDING_MASTER='yes' BONDING_MODULE_OPTS='mode=1 miimon=100 ' # mode=1是主备模式(active-backup) mode=0是平衡模式(balance_rr) BONDING_SLAVE0='eth0' #第一块网卡的mac地址 BONDING_SLAVE1='eth1' #第二块网卡的mac地址 ETHTOOL_OPTIONS='' MTU='' NAME='' REMOTE_IPADDR='' USERCONTROL='no' 步骤3:使用yast进入网卡的配置界面,把原有的两块网卡设置为没有ip,网卡模式改为自动获取地址模式,删除/etc/sysconfig/network下的已经绑定的网卡的配置文件 步骤4:注意默认网关的配置,使用yast管理工具进入路由设置界面,或者通过修改配置文件的方式并运行命令进行配置 配置默认网关。 # vi routes 插入如下内容 default 172.27.120.254 - - # route add default gw 172.27.120.254 步骤5:重启网络服务,使配置生效 # rcnetwork restart 步骤6:验证 (1) 输入ifconfig可以看到bond0已经运行了,bond0、eth1、eth0的MAC地址都是一样 JSBC-SIHUA-DB02:/etc/sysconfig/network # ifconfig bond0 Link encap:Ethernet HWaddr 78:2B:CB:4B:54:D5
一、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-