详解Suse双网卡绑定步骤

详解Suse双网卡绑定步骤
详解Suse双网卡绑定步骤

suse-9-Suse Linux下双网卡bonding

Suse Linux下双网卡bonding

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备

看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址

而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,

被称为Trunking和Etherchannel技术,在Linux的2.4.x的内核中也采用这这种技

术,被称为bonding.

bonding驱动最早来自于Donald Becker的beowulf对kernel2.0的补丁.但是已经

有了很大的改进和变化,最早来自于extreme-linux和beowulf的工具已经不适用

于现在版本的驱动了。

随着bonding技术的发展,bonding现在已经发展到6种模式,不再是简单的链路

聚合模式了.

以下是bonding的六种模式介绍,目前主要应用的是前四种模式,尤其是第一种和

第二种bonding模式

mode=0 (balance-rr)

Round-robin policy: Transmit packets in sequential order from the first available slave through the last. This mode provides load balancing and fault tolerance.

mode=1 (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 bond's 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.

mode=2 (balance-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.

mode=3 (broadcast)

Broadcast policy: transmits everything on all slave interfaces. This mode provides fault tolerance.

mode=4 (802.3ad)

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.

mode=5 (balance-tlb)

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) on each slave. Incoming traffic is received by the current slave. If the receiving slave fails, another slave takes over the MAC address of the failed receiving slave.

Prerequisite:

Ethtool support in the base drivers for retrieving the speed of each slave.

mode=6 (balance-alb)

Adaptive load balancing: includes balance-tlb plus receive load balancing (rlb) for IPV4 traffic, and does not require any special switch support. The receive load balancing is achieved by ARP negotiation. The bonding driver intercepts the ARP Replies sent by the local system on their way out and overwrites the source hardware address with the unique hardware address of one of the slaves in the bond such that different peers use different hardware addresses for the server.

1) 检查bonding网卡配置文件,配置bonding的两块网卡首先需要激活,也就是查看

/etc/sysconfig/network/目录下是否存在物理网卡,物理网卡对应的

ifcfg-eth-id-xx:xx:xx:xx:xx:xx文件(其中xx将被设备的MAC地址所代替),

每个文件对应一块网卡,如果不存在,通过运行yast生成网卡配置文件

ifcfg-eth-id-xx:xx:xx:xx:xx:xx,不需要做任何配置,只需要生成配置文件.

例如

linux3:/etc/sysconfig/network # ls -al ifcfg-eth-id-00\:19\:c6\:9a\:7b\:9*

-rw-r--r-- 1 root root 215 Nov 29 18:15 ifcfg-eth-id-00:19:c6:9a:7b:9a

-rw-r--r-- 1 root root 216 Nov 29 18:15 ifcfg-eth-id-00:19:c6:9a:7b:9b

linux3:/etc/sysconfig/network #

2) 修改第一块bonding网卡(例如eth0)的配置文件,无需配置ip地址和网络掩码,只

要确保STARTMODE='off',BOOTPROTO='none',其它可不修改.例如:

_nm_name='bus-pci-0000:01:00.0'

# 保持原值,注意bus-pci-0000:01:00.0表明eth0,bus-pci-0000:01:00.1表明eth1, # bus-pci-0000:02:00.0表明eth2,bus-pci-0000:01:00.1表明eth3

同样的方法修改第二块bonding网卡(例如eth1)的配置文件。

linux3:/etc/sysconfig/network # cat ifcfg-eth-id-00\:19\:c6\:9a\:7b\:9a BOOTPROTO='none' # 需要注意,配置bonding的网卡这里必须是none BROADCAST='192.200.100.255' # 保持原值,无需和本例相同

IPADDR='192.200.100.55' # 保持原值,无需和本例相同

MTU='' # 保持原值,无需和本例相同

NETMASK='255.255.255.0' # 保持原值,无需和本例相同

NETWORK='192.200.100.0' # 保持原值,无需和本例相同

REMOTE_IPADDR='' # 保持原值,无需和本例相同

STARTMODE='off' # 需要注意,配置bonding的网卡这里必须是off

UNIQUE='VCu0.6WcPctQ2xE0' # 保持原值,无需和本例相同

_nm_name='bus-pci-0000:01:00.0' # 保持原值,无需和本例相同.注意

# bus-pci-0000:01:00.0是eth0,连Ges7的Base

# bus-pci-0000:01:00.1是eth1,连Ges8的Base

# bus-pci-0000:02:00.0是eth2,连Ges7的Fabric

# bus-pci-0000:01:00.1是eth3,连Ges8的Fabric

linux3:/etc/sysconfig/network #

3) 创建bond配置文件

创建文件名为/etc/sysconfig/network/ifcfg-bond0,可以通过

#cp ifcfg.template ifcfg-bond0的方式创建ifcfg-bond0,

也可以直接手工touch一个ifcfg-bond0

ifcfg-bond0文件内容如下:

linux3:/etc/sysconfig/network # cat ifcfg-bond0

BOOTPROTO='static' # 需要注意,这里需要设置为static

BROADCAST='255.255.255.0' # bond0对应的广播地址

IPADDR='192.200.123.180' # bond0对应工作ip

MTU='' # 可以不填

NETMASK='255.255.255.0' # bond0对应的子网掩码

NETWORK='192.200.123.0' # bond0对应的网络地址

REMOTE_IPADDR='' # 可以不填

STARTMODE='onboot' # 需要注意,这里需要设置为onboot

BONDING_MASTER='yes' # 设置为yes

BONDING_MODULE_OPTS='mode=active-backup miimon=100'

# 说明: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会认为链路没有# 问题而继续使用

BONDING_SLAVE0='bus-pci-0000:01:00.0'

BONDING_SLAVE1='bus-pci-0000:01:00.1'

# 说明: 也可以使用如下方式

# BONDING_SLAVE0='eth0'

# BONDING_SLAVE1='eth1'

# 说明: 为每个从设备准备一个BONDING_SLAVEn='slave_device' 变量赋值。# 'slave_device' 既可为接口名,如:'eth0',也可为网络设备描述符.设备名

# 很容易使用,但是这个名字由于是逻辑名因此并非持久命名。它会因网络驱

# 动的加载顺序而改变.设备描述符'bus-pci-0000:06:08.1'指向特定的物理

# 网络设备,除非设备在总线上的位置发生变化(在机器里更换插槽)否则是不

# 会因驱动加载顺序而改变的。

linux3:/etc/sysconfig/network #

4) 重启网络模块或者重启机器

# /etc/init.d/network restart

可以通过如下方式查看bonding情况,例如

linux3:/etc/sysconfig/network # cat /proc/net/bonding/bond0

Ethernet Channel Bonding Driver: v2.6.5 (November 4, 2005)

Bonding Mode: fault-tolerance (active-backup)

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: 00:19:c6:9a:7b:9a

Slave Interface: eth1

MII Status: up

Link Failure Count: 0

Permanent HW addr: 00:19:c6:9a:7b:9b

linux3:/etc/sysconfig/network #

在学习Suse的时候,我们会遇到很多的情况,我研究了一些Suse的问题,今天所要讲的就是怎样进行Suse双网卡绑定,通过本文希望你能过学习记住Suse双网卡绑定的过程。

1,比较简单的方法

将两块Fabric网卡绑定为bond1

# vi /etc/sysconfig/network/ifcfg-bond1

BOOTPROTO='static'

IPADDR='10.69.16.102'

NETMASK='255.255.255.0'

STARTMODE='onboot'

BONDING_MASTER='yes'

BONDING_MODULE_OPTS='mode=1 miimon=200'

BONDING_SLAVE0='eth1'

BONDING_SLAVE1='eth2'

删掉原来的网卡配置文件,重启网络服务

cd /etc/sysconfig/network/

rm ifcfg-eth1

rm ifcfg-eth2

rcnetwork restart

使用ifconfig命令检查网卡绑定是否成功。如果已经启用bond0的IP地址,而且原来的两个网卡没有附着IP,而且mac地址一致,则说明绑定成功。

2,比较正规的方法

步骤 1 进入到网络配置目录下:

# cd /etc/sysconfig/network

步骤 2 创建ifcfg-bond0配置文件。

# vi ifcfg-bond0

在ifcfg-bond0配置文件中添加如下内容。

#suse 9 kernel 2.6 ifcfg-bond0

BOOTPROTO='static'

device='bond0'

IPADDR='10.71.122.13'

NETMASK='255.255.255.0'

NETWORK='10.71.122.0'

BROADCAST='10.71.122.255'

STARTMODE='onboot'

BONDING_MASTER='yes'

BONDING_MODULE_OPTS='mode=1 miimon=200'

BONDING_SLAVE0='eth0'

BONDING_SLAVE2='eth1'

步骤 3 配置完成,保存该文件并退出。

步骤 4 创建ifcfg-eth0配置文件。(装完SUSE9操作系统后/etc/sysconfig/network会有两块网卡MAC地址命名的文件,直接把下面的ifcfg-eth0文件内容覆盖那两个配置文件,不用新建ifcfg-eth0,ifcfg-eth1,SUSE10下则按下面操作)

# vi ifcfg-eth0

在ifcfg-eth0配置文件中添加如下内容。

DEVICE='eth0'

BOOTPROTO='static'

STARTMODE='onboot'

步骤 5 保存该文件并退出。

步骤6 创建ifcfg-eth1配置文件。

# vi ifcfg-eth1

在ifcfg-eth1配置文件中添加如下内容。

DEVICE='eth1'

BOOTPROTO='static'

STARTMODE='onboot'

步骤7 保存该文件并退出。

步骤8 重启系统网络配置,使配置生效。

# rcnetwork restart

3,SUSE厂家主流推荐的方法,个人也比较推崇!

一、配置加在网卡驱动

在/etc/sysconfig/kernel中的

MODULES_LOADED_ON_BOOT参数加上网卡的驱动,例如

MODULES_LOADED_ON_BOOT=”tg3 e1000”

注意:大多数情况下不需要配置这一步骤,只有某些网卡不能在启动过程中驱动初始较慢没有识别导致绑定不成功,也就是有的slave设备没有加入绑定,才需要配置。

二、创建要绑定的网卡配置文件

/etc/sysconfig/network/ifcfg-eth*,其中*为数字,例如ifcfg-eth0 , ifcfg-eth1等等。

每个文件的内容如下:

BOOTPROTO='none'

STARTMODE='off'

三、创建bond0的配置文件

/etc/sysconfig/network/ifcfg-bond0

内容如下:

BOOTPROTO='static'

BROADCAST='192.168.1.255'

IPADDR='192.168.1.1'

NETMASK='255.255.255.0'

NETWORK='192.168.1.0'

STARTMODE='onboot'

BONDING_MASTER='yes'

BONDING_MODULE_OPTS='mode=1 miimon=100 use_carrier=1 '

#其中mode=1为active-backup模式,mode=0为balance_rr模式

BONDING_SLAVE0='eth0'

BONDING_SLAVE1='eth1'

四、对于active-backup模式,需要在BONDING_MODULE_OPTS参数中加上制定主设备的参数,例如:

BONDING_MODULE_OPTS='mode=1 miimon=100 use_carrier=1 primary=eth0'

五、重新启动networkf服务

rcnetwork restart

六、注意事项

(1)在某些情况下网卡驱动的初始化的时间可能会比较长,从而导致bonding不成功,那么可以修改

/etc/sysconfig/network/config配置文件的WAIT_FOR_INTERFACES参数,将其值改成30。

(2)配置完bonding之后,可以通过在客户端ping,然后在服务器端拔插网线来验证是否已经正常工作。

(3)cat /proc/net/bonding/bond0可以查看bonding的状态。这样你就完成了Suse双网卡绑定。

MII监控通过监控本地网络接口的载波状态来实现监控链路状态。可以通过三种方法之一实现:通过依赖设备驱动来维护载波状态;通过查询设备的MII寄存器;或者通过给设备发送ethtool查询。

注意:红色字体是重点

#cat /etc/sysconfig/network-scripts/ifcfg-bond0

DEVICE=bond0

ONBOOT=yes

BOOTPROTO=static

IPADDR=192.168.1.55

NETMASK=255.255.255.0

#cat /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=static

#cat /etc/sysconfig/network-scripts/ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=static

# cat /etc/modprobe.conf

在最后面添加

alias bond0 bonding

options bond0 miimon=100 mode=1

#cat /etc/rc.d/rc.local

在最后面添加

ifenslave bond0 eth0 eth1

补充:

ifenslave是一个在linux下做负载均衡的工具,需要安装这个包之后上面的方案才能使用。

工作原理很简单,我举个例子,不一定成功,但能说明原理:

建一个组,把eth0和eth1加进去

#ifenslave bond0 eth0

#ifenslave bond0 eth1

#ifconfig bond0 [ip] [submark]

这个时候会新建一个bond0虚拟设备,使用我设置的IP地址,这个时候eth0和eth1工作模式变成了混杂模式,什么数据都收。

但数据过来之后由ifenslave的底层驱动来作负载均衡,决定哪些数据规组里面的哪个成员(eth0,eth1)处理。

注意这个解决方案的配置文件,其中有一句:

options bond0 miimon=100 mode=1

如果达到负载均衡的目的,应该是0,1是热备状态。

miimon是毫秒数,每100毫秒触发检测线路稳定性的事件。

mode= 是ifenslave的工作状态。

一共有7种方式:

=0:(balance-rr) Round-robin policy: (平衡抡循环策略):传输数据包顺序是依次传输,直到最后一个传输完毕,

此模式提供负载平衡和容错能力,这需要设置交换机的配合才能完成。

=1:(active-backup) Active-backup policy:(主-备份策略):只有一个设备处于活动状态。

一个宕掉另一个马上由备份转换为主设备。mac地址是外部可见得。此模式提供了容错能力。

=2:(balance-xor) XOR policy:(广播策略):将所有数据包传输给所有接口。此模式提供了容错能力。

=3:(balance-xor) XOR policy: (平衡策略):传输根据原地址布尔值选择传输设备。

此模式提供负载平衡和容错能力。

=4:(802.3ad) IEEE 802.3ad Dynamic link aggregation.

IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双工设置的聚合组。

=5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):没有特殊策略,第一个设备传不通就用另一个设备接管第一个设备正在处理的mac地址,帮助上一个传。

=6:(balance-alb) Adaptive load balancing: (适配器传输负载均衡):大致意思是包括mode5,

bonding驱动程序截获ARP 在本地系统发送出的请求,用其中之一的硬件地址覆盖从属设备的原地址。就像是在服务器上不同的人使用不同的硬件地址一样。(我没太看明白)

确认网卡状态:

cat /proc/net/bonding/bond0

、4. 查询Bonding配置

=================================

4.1 Bonding配置

---------------------------------

每个bonding设备对应于一个只读文件,存在于/proc/net/bonding目录,文件内容包括bonding配置的信息,选项以及每个slave的状态。

例如,在使用参数mode=0,miimon=1000时,加载驱动后,

/proc/net/bonding/bond0的内容为:

Ethernet Channel Bonding Driver: 2.6.1 (October 29, 2004)

Bonding Mode: load balancing (round-robin)

Currently Active Slave: eth0

MII Status: up

MII Polling Interval (ms): 1000

Up Delay (ms): 0

Down Delay (ms): 0

Slave Interface: eth1

MII Status: up

Link Failure Count: 1

Slave Interface: eth0

MII Status: up

Link Failure Count: 1

根据你配置、状态、以及bonding驱动版本的差异,上述内容的精确格式和内容有可能不同。

4.2 网路配置

---------------------------------

网络配置可以通过ifconfig命令查看,Bonding设备会设上MASTER标记,slave设备会设上SLAVE标记。ifconfig的输出不包含哪个slave关联于哪个master的关系。

在上例中,bond0接口是master(MASTER),而eth0和eth0是slave(SLAVE)。注意除了TLB和ALB模式外,所有 bond0的slave和bond0有着同样的MAC地址(HWaddr),TLB和ALB需要每个slave有独立的MAC地址。

# /sbin/ifconfig

bond0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4

inet

addr:XXX.XXX.XXX.YYY Bcast:XXX.XXX.XXX.255 Mask:255.255.252.0

UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1 RX packets:7224794 errors:0 dropped:0 overruns:0 frame:0

TX packets:3286647 errors:1 dropped:0 overruns:1 carrier:0 collisions:0 txqueuelen:0

eth0 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

RX packets:3573025 errors:0 dropped:0 overruns:0 frame:0

TX packets:1643167 errors:1 dropped:0 overruns:1 carrier:0 collisions:0 txqueuelen:100

Interrupt:10 Base address:0x1080

eth1 Link encap:Ethernet HWaddr 00:C0:F0:1F:37:B4

UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1

RX packets:3651769 errors:0 dropped:0 overruns:0 frame:0

TX packets:1643480 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:100

Interrupt:9 Base address:0x1400

5. 交换机配置

=================================

在本节中,"交换机(switch)"指被bond设备直接连接的系统(也就是说,另一端电缆连接着的),这可能是一个专职的交换机设备,也可能是其它的系统(比如,另一个运行Linux的系统)。

active-backup、balance-tlb和balance-alb模式不需要对交换机做任何的配置。

802.3ad模式需要交换机有对应的配置为802.3ad聚合的端口,具体的配置方法因交换机类型而异,比如,Cisco 3550系列交换机要求对应的端口首先必须被分组在一个单独的etherchannel实例,然后这个etherchannel设置为"lacp"模式已启用802.3ad(取代标准EtherChannel)。

balance-rr、balance-xor和broadcast模式通常需要交换机对应的端口被分

组在一起,不同的交换机对分组有着不同的命名,可能会被叫做“etherchannel”(比如上文的Cisco示例),或者叫做“trunk group”,或者其他类似的命令。对于这些模式,每个交换机也会有它自己的针对到bond的传输策略的配置选项。典型的选择包括对每个MAC地址或者 IP地址进行XOR操作,两端的传输策略不一定完全一致。对这三种模式,bonding模式会针对一个EtherChannel组选择一种传输策略;所有这三种模式都会和另一个EtherChannel组进行互操作。

----------------------------------------------------------------------------------------

The balance-rr, balance-xor and broadcast modes generally

require that the switch have the appropriate ports grouped together. The nomenclature for such a group differs between switches, it may be called an "etherchannel" (as in the Cisco example, above), a "trunk group" or some other similar variation. For these modes, each switch will also have its own configuration options for the switch's transmit policy to the bond. Typical choices include XOR of either the MAC or IP addresses. The transmit policy of the two peers does not need to match. For these three modes, the bonding mode really selects a transmit policy for an EtherChannel group; all three will interoperate with another EtherChannel group.

----------------------------------------------------------------------------------------

6. 支持802.1q VLAN

=================================

我们可以使用8021q驱动在一个bond接口上配置VLAN设备,然而,只有来自8021q设备和经过(pass through)bonding的数据包缺省会被打上VLAN标记。自生成的数据包,比如,bonding的学习包、在ALB模式生成ARP包或者ARP 监测机制的ARP包,这些包都会被bonding自身在内部打上标记。因此,bonding必须要“学习”在它上面的VLAN ID的配置,然后使用这些ID来标记自生成的数据包。

简单起见,为了支持那些可以使用VLAN hardware acceleration offloading 的适配器,bonding接口把它自身声明为一个完全hardware offloading能力的设备,它通过获取add_vid/kill_vid通知来获取必备的信息,然后它把这些动作传播给slave。在混合的适配器类型下,那些打上硬件加速标记的数据包,如果经过一个不支持offloading的适配器,bonding驱动将“un-accelerated”,因此 VLAN标记依然存在正确的位置。

----------------------------------------------------------------------------------------

For reasons of simplicity, and to support the use of adapters

that can do VLAN hardware acceleration offloading, the bonding interface declares itself as fully hardware offloading capable, it gets the add_vid/kill_vid notifications to gather the necessary information, and it propagates those actions to the slaves. In case of mixed adapter types, hardware accelerated tagged packets that should go through an adapter that is not offloading capable are

"un-accelerated" by the bonding driver so the VLAN tag sits in the regular location.

----------------------------------------------------------------------------------------

在从属slave至少有一个的情况下,VLAN接口"必须"被增加在bonding接口的最上面。直到第一个slave加入前,bonding接口的硬件地址将是

00:00:00:00:00:00。如果VLAN接口在第一个slave加入前被创建,它会选择一个全0的硬件地址,一旦第一个slave加入到bond,bond设备自己就会选择slave 的硬件地址,VLAN设备也将会使用这个地址。

同时,要注意到如果所有的slave都被从bond移除,而bond上还有一个或多个VLAN接口时,类似的问题也会发生,当新的slave加入,bonding接口将获取第一个slave的硬件地址,而这可能和当前VLAN接口的硬件地址不一样(当前VLAN接口的硬件地址是从之前的 slave上获取的)。

有两种方法来保证VLAN设备一直使用正确的硬件地址,即使所有slave被从bond接口上移除:

1. 移除所有VLAN接口,然后重新创建它们

2. 手动设置bonding接口的硬件地址,使它和VLAN接口的硬件地址一致。

要注意改变一个VLAN接口的硬件地址将会改变它下面的设备(比如bonding 接口)到混杂模式,这有可能不是你期望的结果。

7. 链路监控

=================================

当前的bonding驱动支持两种模式,来监控slave设备的链路状态:ARP监控和MII监控。

由于bonding驱动自身的实现限制,现在我们不可能同时启用ARP和MII监控。

7.1 ARP监控操作

---------------------------------

ARP监控正如其名字所暗示的:它想网络上的对端系统发送ARP请求,并且通

过ARP相应作为链路是否可用的标志,这可以保证网络两端的流量确实是通的。

ARP监控依赖于设备驱动来验证流量是否是通的,进一步,驱动必须保留上次接收时间,dev->last_rx,以及传输起始时间,dev->trans_start。如果这些值不会被驱动更新,则ARP监控立刻会认为对应于该驱动的slave出现了故障,这些slave将会进入断开状态。如果网络监控工具(比如tcpdump)显示ARP请求和相应都正常,那有可能是你的设备驱动没有更新last_rx和 trans_start。

7.2 配置多ARP目的地址

---------------------------------

尽管ARP监控可以只用一个目的地址来实现,但在高可靠性(High Availability)环境下,如果能够对多个目的地址进行监控也是很有用的。在只有一个目的地址的情况下,如果目标本身被关闭或者遇到问题以致无法响应ARP 请求,这时额外的一个目标(或更多)可以增加ARP监控的可靠性。

多ARP目的地址之间必须以逗号分割,如下:

# 3个目的地址的ARP监控选项示例

alias bond0 bonding

options bond0 arp_interval=60

arp_ip_target=192.168.0.1,192.168.0.3,192.168.0.9

如果只有一个目的地址,配置也很类似:

# 只有1个目的地址的ARP监控选项示例

alias bond0 bonding

options bond0 arp_interval=60 arp_ip_target=192.168.0.100

7.3 MII监控操作

---------------------------------

MII监控通过监控本地网络接口的载波状态来实现监控链路状态。可以通过3种方法之一来实现:通过依赖设备驱动来维护载波状态;通过查询设备的MII

寄存器;或者通过给设备发送ethtool查询。

如果模块参数use_carrier被设为1(缺省值),MII监控将会依赖于设备来获取载波状态信息(通过netif_carrier子系统)。正如前文介绍的use_carrier 参数信息,如果MII监控不能发现设备的载波消失(比如当电缆被物理拔断时),那有可能时设备不支持 netif_carrier。

如果use_carrier为0,MII监控首先会查询设备(通过ioctl)的MII寄存器并检查链路状态,如果查询失败(返回载波断开不属于失败),则MII监控会发送一个ethtool ETHOOL_GLINK查询以尝试获取类似的信息,如果两种方法都

失败了(设备不支持或者在处理MII寄存器和ethtool查询时发生了错误),那么 MII监控将会假定链路是正常的。

8. 潜在问题缘由

=================================

8.1 路由历险记

---------------------------------

如果配置了bonding,很重要的一点是slave设备不能拥有传递到master的路由(或者,通常根本没有路由),比如,假定bonding设备bond0有两个slave:eth0和eth1,路由表如下:

Kernel IP routing table

Destination Gateway Genmask Flags MSS

Window irtt Iface

10.0.0.0 0.0.0.0 255.255.0.0 U 40

0 0 eth0

10.0.0.0 0.0.0.0 255.255.0.0 U 40

0 0 eth1

10.0.0.0 0.0.0.0 255.255.0.0 U 40

0 0 bond0

127.0.0.0 0.0.0.0 255.0.0.0 U 40

0 0 lo

路由配置有可能持续更新设备的接收/发送次数(ARP监控需要),但可能旁路了bonding设备(在这个示例里,外出到网络网络10的流量将会在bond0之前使用eth0或者eth1)。

ARP监控(以及ARP本身)可能会被这个配置所混淆,因为ARP请求(ARP监控生成)会在某个接口(bond0)上发出,但对应的响应在另一个接口上到达(eth0),这个响应将会被视为一个未关联ARP响应(因为ARP通过接口进行匹配)。MII监控不会被路由表状态所影响。

这里的解决方法是:保证slave没有它们自己的路由,如果由于某些原因它们必须要有,这些路由不要传递到它们的master,通常情况下都是这样的,但某些特别的配置或者错误的操作或者静态添加路由可能会导致问题。

8.2 Ethernet设备重命名

---------------------------------

有些系统,它的网络配置脚本没有直接把网络接口名和物理设备关联(如果关联的话,同样的物理设备总是有同样的"ethX"名),对于这些系统,可能需要增加一些特别的逻辑到/etc/modules.conf或者/etc/modprobe.conf(由系统中安

装的部件决定)。

比如,某个modules.conf包含如下内容:

alias bond0 bonding

options bond0 mode=some-mode miimon=50

alias eth0 tg3

alias eth1 tg3

alias eth2 e1000

alias eth3 e1000

如果eth0和eth1都是bond0的slave,则当bond0接口启用时,这两个设备可能被重新排序,这是因为bonding会被首先加载,然后它的slave设备驱动才会加载,既然没有其他驱动被加载,当e1000驱动加载时,它将会把eth0和eth1认为是它的设备,但是bonding配置尝试把eth2和eth3从属过来(而eth2和eth3可能被赋予tg3设备)。

增加如下内容:

add above bonding e1000 tg3

这样,当bonding加载时,将会导致modprobe在tg3前加载e1000。该命令在modules.conf手册里有完整的描述。

对于使用modprobe.conf(或者modprobe.conf.local)的系统,同样的问题也会发生。这时,可以在modprobe.conf(或modprobe.conf.local)加入如下内容(所有内容在同一行,这里清晰起见分行了):

install bonding /sbin/modprobe tg3; /sbin/modprobe e1000;

/sbin/modprobe --ignore-install bonding

这将会导致,当加载bonding模块时,除了执行正常的操作,同时还执行指定的命令,该命令以正确的顺序加载设备驱动,然后以--ignore- install来调用modprobe,这将导致随后调用通常的操作。完整的描述在modprobe.conf和modprobe的手册里。

8.3 速度变慢或Miimon无法监测到链路异常

---------------------------------

缺省地,bonding会启用use_carrier选项,这将使得bonding信任设备来维护载波状态。

正如在上文选项一节所述,某些驱动不支持netif_carrier_on/_off链路状态跟踪系统,当启用use_carrier,bonding将会永远认为链路是正常的,而不管

它们的实际状态。

而且,某些驱动虽然支持netif_carrier,但并不实时维护它,比如只是以某个固定的间隔轮训。在这种情况下,miimon会检测到链路异常,但是可能在某个很长的时间间隔后,如果发现miimon很慢才能检测到链路异常,尝试着设置use_carrier=0,看看能不能改善。如果可以改善,则很可能是驱动需要一个很长的固定间隔才会检查载波状态,而且没有缓存MII寄存器的值(因此当

use_carrier=0时查询寄存器可以正常工作);如果use_carrier=0不能解决问题,则可能是驱动缓存了MII寄存器的值,或者是其它的问题。

同时,请记住miimon只会检查设备的载波状态,它无法判定设备是否处于打开状态,或对端交换机的状态,或交换机拒绝传输流量,即使载波状态依然正常。

9. SNMP代理

=================================

如果运行SNMP代理,bonding驱动应该在任何网络驱动参与到bond前被加载,这个要求是由于接口索引(ipAdEntIfIndex)被关联到第一个有着指定IP地址的被发现的接口,也就是说,对每个IP地址只有一个ipAdEntIfIndex,比如,如果eth0和eth1是bond0的 slave,eth0的驱动在bonding驱动前被加载,IP地址的接口将会被关联到eth0接口,配置如下,IP地址192.168.1.1将会使用接口索引2,这将指向ifDescr表(ifDescr.2)中的eth0:

interfaces.ifTable.ifEntry.ifDescr.1 = lo

interfaces.ifTable.ifEntry.ifDescr.2 = eth0

interfaces.ifTable.ifEntry.ifDescr.3 = eth1

interfaces.ifTable.ifEntry.ifDescr.4 = eth2

interfaces.ifTable.ifEntry.ifDescr.5 = eth3

interfaces.ifTable.ifEntry.ifDescr.6 = bond0

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.10.10.10.10 = 5

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.192.168.1.1 = 2

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.10.74.20.94 = 4

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = 1

如果在所有参与到bond的网络驱动加载前加载bonding驱动,我们可以避免这个问题。如下是一个示例,它会首先加载bonding驱动,IP地址192.168.1.1被正确地关联到ifDescr.2:

interfaces.ifTable.ifEntry.ifDescr.1 = lo

interfaces.ifTable.ifEntry.ifDescr.2 = bond0

interfaces.ifTable.ifEntry.ifDescr.3 = eth0

interfaces.ifTable.ifEntry.ifDescr.4 = eth1

interfaces.ifTable.ifEntry.ifDescr.5 = eth2

interfaces.ifTable.ifEntry.ifDescr.6 = eth3

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.10.10.10.10 = 6

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.192.168.1.1 = 2

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.10.74.20.94 = 5

ip.ipAddrTable.ipAddrEntry.ipAdEntIfIndex.127.0.0.1 = 1

当某些发行包没有在ifDescr中报告接口名,IP地址和IfIndex的关联依然保留,而且SNMP功能,比如Interface_Scan_Next将会报告这些关联。

10. 混杂模式

=================================

当运行网络监控工具,比如tcpdump,经常会要打开设备德混杂模式,这样所有流量都会被发现(不仅仅看到目标为本机的流量)。bonding驱动处理针对bonding主设备的混杂模式(比如bond0),并把设定传播给其他slave设备。

对于balance-rr,balance-xor,broadcast和802.3ad模式,混杂模式设置会被传播给所有slave。

对于active-backup,balance-tlb和balance-alb模式,混杂模式设置仅会被传播给激活的slave。

对于balance-tlb模式,激活的slave是指当前正在接收inbound流量的slave。

对于balance-alb模式,激活的slave是指用做"primary"的slave,这个slave 用于模式相关的控制流量,对于发送到未指定对端或如果流量未做均衡。

----------------------------------------------------------------------------------------

For balance-alb mode, the active slave is the slave used as a "primary." This slave is used for mode-specific control traffic, for sending to peers that are unassigned or if the load is unbalanced.

----------------------------------------------------------------------------------------

对于active-backup,balance-tlb和balance-alb模式,当激活的slave改变时(比如由于链路异常),混杂设定会被传播给新的激活slave。

11. 配置Bonding用于高可靠性(High Availability,缩写为HA)

==========================================================

High Availability指提供最大网络可靠性的配置,通过在主机和其他设备间的冗余或备份设备、链路或交换机,目标是提供最大的网络链接可靠性(要求网络一直可用),尽管其它的配置可能提供更高的吞吐量(性能)。

11.1 单交换机拓扑下的HA

---------------------------------

如果两个主机(或一个主机和一个交换机)通过多个物理链路直连,想要优化最大带宽就不具有可行性。在这种情况下,只有一个交换机(或对端),如果它坏了,那没有替代的链接来接替。此外,bonding负载均衡模式支持成员的链路监控,因此如果单个链路坏了,负载将会被均衡到剩余的设备。

参看第12节“配置Bonding用于最大吞吐量”,如果你想配置只有一个对端设备的bonding。

11.2 多交换机拓扑下的HA

---------------------------------

如果有多个交换机,bonding和网络的配置戏剧性的发生了变化。在多交换机拓扑下,在网络可靠性和可用贷款间存在着平衡。

如下是一个简单的网络,配置用于最大化网络可靠性:

| |

|port3 port3|

+-----+----+ +-----+----+

| |port2 ISL port2| |

| switch A +--------------------------+ switch B |

| | | |

+-----+----+ +-----++---+

|port1 port1|

| +-------+ |

+-------------+ host1 +---------------+

eth0 +-------+ eth1

在该配置中,两个交换机间存在着一个链路(交换机间链路,ISL,Inter Switch Link),并存在多个连到外部的端口(每个交换机上的"port3"),从技术角度看,把它扩充到3个或更多交换机没有任何问题。

11.2.1 多交换机拓扑下的HA模式选择

---------------------------------

在如上例所示的拓扑中,可用于优化可靠性的bonding模式只有

active-backup和broadcast模式,其他的模式要求在同一个对端断开的所有链路能够有特定的行为。

active-backup: 通常是推荐的模式,尤其是如果交换机间存在ISL并能一起很好的工作。如果一个交换机被配置为备份交换机(比如,有更低的处理能力,更

高的费用等等),则可以使用primary选项来保证期望的链路在它可用时总是用它。

broadcast:该模式是一种特定目的的模式,只在特定的需求下才需要。比如,如果两个交换机没有互联(没有ISL),而且它们连接的网络是完全独立的,在这种情况下,如果需要某些特定的单向流量能够都到达这两个独立的网络,那可能需要broadcast模式。

11.2.2 多交换机拓扑下的HA链路监控选择

---------------------------------

链路监控的选择根本上是依赖于你的交换机,如果交换机可以在发生异常时可靠地断开端口,则MII或ARP监控都是可以的。比如,在上例中,如果"port3"在远端的链路异常,由于MII监控没有直连所以无法监测到,而ARP监控如果想监测到必须要配置为port3的远端的目标地址,这样如果没有路由器的支持,要想监测这一类错误时不可能的。

一般来说,在多交换机拓扑下,ARP监控可以在监测端到端连接错误(可能由任何独立部件在传输流量方面的异常导致)方面提供更高层的可靠性。此外,ARP 监控应该被配置为多个目标(至少网络里的每个交换机都有一个),这可以保证不管哪个交换机可用,ARP监控总是有个合适的目标来查询。

12. 配置Bonding用于最大吞吐量(Maximizing Throughput,缩写为MT)

===============================================================

12.1 单交换机拓扑下的最大吞吐量

---------------------------------

在单交换机配置情况下,最好的最大化吞吐量的方法依赖于应用程序和网络环境,不同的环境下,不同的负载均衡模式由不同的优点和缺点,如下文所述。

对这些讨论,我们将把拓扑分为两类,根据大部分流量的目的地,我们把拓扑分为“网关”(gatewayed)和“本地”(local)配置。

在网关型配置下,“交换机”主要时担当一个路由的功能,主要的网络流浪通过这个路由器到达其他网络,如下图所示:

+----------+ +----------+

| |eth0 port1| | to other networks | Host A +---------------------+ router +-------------------> | +---------------------+ | Hosts B and C are out | |eth1 port2| | here somewhere

+----------+ +----------+

Windows 双网卡绑定

Windows 双网卡绑定 第一步:硬件连接与安装 首先进入BIOS设置将主板上集成的网卡打开,同时将独立网卡插入空闲的PCI插槽,用直通双绞线将两块网卡和宽带路由器的LAN口相连。重新启动Windows XP系统,自动为两块网卡安装好驱动程序。打开“网络连接”,会看到“本地连接”和“本地连接2”两个连接,而且这两个连接已经启用,硬件的连接与安装就算完成了。 第二步:绑定双网卡 下载并安装绑定双网卡的软件“NIC Express”(下载地址 https://www.360docs.net/doc/9414871820.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双网卡绑定实现就是使用两块网卡虚拟成为一块网卡

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廉价网卡,如同高档服务器网卡那样绑

linux双网卡做成bond0

双网卡做成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

linux双网卡做成bond

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、固定主从关系,设置当前活动的网口为主适配器,待命网口为次适配器;

LINUX下双网卡绑定技术实现负载均衡和失效保护

保持服务器的高可用性是企业级 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.360docs.net/doc/9414871820.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网卡绑定(多组)和解绑实现步骤

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这一项。不过这个不影响使用,再下 次绑定时仍按照以上步骤操作即可。

dell服务器双网卡绑定与端口聚合

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

dell服务器双网卡绑定与端口聚合

端口聚合(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下网卡做绑定

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双网卡绑定一个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双网卡绑定和解除绑定的实现

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双网卡绑定设置详解 双网卡的绑定可以实现冗余和高可用性,在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

linux双网卡绑定

一、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-,其中 与配置文件所控制的设备的名称相关。在所有的网络接口中,最常用的就是以太网接口ifcfg-eth0,它是系统中第一块网卡的配置文件。虽然在不同的系统之间,文件的类型和数量并不一定相同,但各种的网络设备都需要用到这些文件保证设备的正常运作。bonding技术,就是通过配置文件建立绑定接口,从而实现多个物理网卡绑定到一个虚拟网卡。 测试环境 本次作业环境中,使用的是CentOS5.6,其系统信息如下: [root@support ~]# cat /etc/issue CentOS release 5.6 (Final) Kernel \r on an \m [root@support ~]# uname -a Linux support 2.6.18-238.9.1.el5 #1 SMP Tue Apr 12 18:10:13 EDT 2011 x86_64 x86_64 x86_64 GNU/Linux 可以通过modinfo bonding命令查看Linux是否支持bonding,据资料介绍,RHEL4已默认支持了,RHEL5、CentOS5毫无疑问也是支持的。系统有类似下面的信息输出,就说明已支持了。 [root@support ~]# modinfo bonding filename: /lib/modules/2.6.18-238.9.1.el5/kernel/drivers/net/bonding/bonding.ko author: Thomas Davis, tadavis@https://www.360docs.net/doc/9414871820.html, and many others

相关文档
最新文档