ifenslave实现bond

合集下载

双网卡绑定实现负载,冗余及内外网设置

双网卡绑定实现负载,冗余及内外网设置

Linux配置双网卡绑定,以实现冗余及负载均衡1、首先需要彻底关闭NetworlManger 服务,如果有的话,否则会和bond网卡冲突[root@rhel ~]#service NetworlManger stop[root@rhel ~]#chkconfig NetworlManger off2、新建ifcfg-bond0配置文件[root@rhel ~]#vi /etc/sysconfig/network-scripts/ifcg-bond0DEVICE=bond0BOOTPROTO=noneIPADDR=192.168.1.11NETMASK=255.255.255.0ONBOOT=yesUSERCTL=no #用户控制禁止3、修改ifcfg-eth0配置文件,将IP/GW/NW/ID/HW等注释,保留以下信息[root@rhel ~]#vi /etc/sysconfig/network-scripts/ifcg-eth0DEVICE=eth0BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0 #将网卡指向bond0SLAVE=yes #启用双网卡4、修改ifcfg-eth1配置文件[root@rhel ~]#vi /etc/sysconfig/network-scripts/ifcg-eth0DEVICE=eth1BOOTPROTO=noneONBOOT=yesUSERCTL=noMASTER=bond0 #将网卡指向bond0SLAVE=yes #启用双网卡5、修改rc.local文件,添加以下信息[root@rhel ~]#vi /etc/rc.localifenslave bond0 eth0 eth1 #rhel6以上可以不设,但需要重启。

6、修改内核文件,系统不同有差异需要谨慎查看,查看备注。

Rhel6.3以下添加[root@rhel ~]#vi /etc/modprobe.d/dist.confAlias bond0 bondingOptions bond0 mode=1 miimon=50 #可在ifcfg-bond0中添加用BONDING_OPT=””连接。

Ubuntu12.04下实现双网卡一IP负载均衡

Ubuntu12.04下实现双网卡一IP负载均衡

Ubuntu12.04下实现双⽹卡⼀IP负载均衡Ubuntu 12.04下实现双⽹卡负载均衡什么是bondingLinux bonding 驱动提供了⼀个把多个⽹络接⼝设备捆绑为单个的⽹络接⼝设置来使⽤,⽤于⽹络负载均衡及⽹络冗余。

bonding的⼯作模式bonding⼀共有7种⼯作模式0:(balance-rr) Round-robin policy: (平衡轮询策略):传输数据包顺序是依次传输,直到最后⼀个传输完毕,此模式提供负载平衡和容错能⼒。

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

⼀个宕掉另⼀个马上由备份转换为主设备。

mac地址是外部可见得。

此模式提供了容错能⼒。

2:(balance-xor) XOR policy:(平衡策略):传输根据[(源MAC地址xor⽬标MAC地址)mod 设备数量]的布尔值选择传输设备。

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

3:(broadcast) Broadcast policy:(⼴播策略):将所有数据包传输给所有设备。

此模式提供了容错能⼒。

4:(802.3ad) IEEE 802.3ad Dynamic link aggregation. IEEE 802.3ad 动态链接聚合:创建共享相同的速度和双⼯设置的聚合组。

此模式提供了容错能⼒。

每个设备需要基于驱动的重新获取速度和全双⼯⽀持;如果使⽤交换机,交换机也需启⽤802.3ad 模式。

5:(balance-tlb) Adaptive transmit load balancing(适配器传输负载均衡):通道绑定不需要专⽤的交换机⽀持。

发出的流量根据当前负载分给每⼀个设备。

由当前设备处理接收,如果接受的设备传不通就⽤另⼀个设备接管当前设备正在处理的mac地址。

6:(balance-alb) Adaptive load balancing: (适配器负载均衡):包括mode5,由 ARP 协商完成接收的负载。

centos系统网口聚合(bonding)的配置

centos系统网口聚合(bonding)的配置
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
Memory:fba00000-fba20000
另外,还可以看/sys/class/net/下面的bonding驱动的模块参数的值,比如:
# cat /sys/class/net/bonding_masters
# ifconfig eth1
eth1 Link encap:Ethernet HWaddr 50:B3:42:00:01:08
UP BROADCAST SLAVE MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
USERCTL=no
然后再修改ifcfg-eth1~ifcfg-eth4文件的内容,记住,先将备份原来的ifcfg-eth1,以便于恢复配置,^_^,例如ifcfg-eth1的内容为:
#cat ifcfg-eth1
DEVICE=eth1
USERCTL=no
ONBOOT=yes
MASTER=bond2 #belong to bond2
SLAVE=yes #is bond1's slave
BOOTPROTO=none
文件ifcfg-eth2~ifcfg-eth4只需要修改对应的DEVIE后面的值即可,记住添加文件的可执行属性。
配置网口聚合的时候,我选择了两种模式:balance-rr和active-backup。balance-rr模式采用的是轮转算法(round-robin),即数据包会按顺序从第一个可用的绑定网口(即该聚合口的slave)到最后一个slave中传输,此时每个slave上都会有数据流量,而active-backup模式采用的是备份算法,此时只有一个slave是激活的,只有该salve上有数据流量,当该slave有问题不能正常工作时,其他的某个slave会被激活,

linux 双网卡配置

linux 双网卡配置

To show all interfaces info
# ifenslave {-a|--all-interfaces}
To be more verbose
# ifenslave {-v|--verbose} ...
# ifenslave {-u|--usage} Show usage
# ifconfig bond0 down
To detach a dead interface without setting the bond device down :
# ifenslave {-d|--detach} bond0 eth0 [eth1 [eth2]...]
ifenslave --help

To create a bond device, simply follow these three steps :
- ensure that the required drivers are properly loaded :
IPADDR=10.198.85.5
NETMASK=255.255.255.0
GATEWAY=10.198.85.254
ONBOOT=yes
BOOTPROTO=static
USERCTL=no
TYPE=Ethernet
vi ifcfg-eth0
DEVICE=eth0
HWADDR=MAC 地址
添加如下内容:
alias bond0 bonding
options bond0 miimon=100 mode=1 primary=eth0
3、编辑:
#cd /etc/sysconfig/network-scripts/

bonding双网卡配置

bonding双网卡配置

网络设备热备方案为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡(或者其所连接的交换机)出现故障,也不会导致连接中断。

在Linux下叫bonding,效果是将两块或更多的网卡当做一块网卡使用,可以提高冗余性。

测试方案将服务器的eth0和eth1绑定成虚拟网卡bond0,bongding1服务器的虚拟网卡ip为192.168.3.60;bonding2服务器的虚拟网卡ip为192.168.3.61。

如图:一、配置双网卡绑定同一个ip地址:1.插件安装:apt-get install ifenslave2.在/etc/modules文件末尾加入:bonding3.编辑网卡配置:vi/etc/network/inerfaces:auto loiface lo inet loopbackauto bond0iface bond0 inet staticaddress 192.168.3.60netmask 255.255.252.0network 192.168.0.0broadcast 192.168.3.255gateway 192.168.0.66bond-mode 1bond-miimon 100bond-slaves nonepost-up /sbin/ifenslave bond0 eth0 eth1pre-down /sbin/ifenslave -d bond0 eth0 eth1auto eth0iface eth0 inet manualbond-master bond0bond-primary eth0 eth1auto eth1iface eth1 inet manualbond-maser bond0bond-primary eth0 eth1说明:miimon是用来进行链路监测的。

比如:miimon 100,那么系统每100 ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,常用的为0,1两种。

redhat5双网卡绑定(主备)

redhat5双网卡绑定(主备)

1. vi /etc/sysconfig/network-scripts/ifcfg-bond0 文件TYPE=EthernetDEVICE=bond0 BOOTPROTO=staticONBOOT=yesIPADDR=10.1.202.64NETMASK=255.255.255.0GATEWAY=10.1.202.254USERCTL=no2. Vi /etc/sysconfig/network-scripts/ifcfg-bond1 文件TYPE=EthernetDEVICE=bond1 BOOTPROTO=staticONBOOT=yes IPADDR=192.168.31.20NETMASK=255.255.255.0USERCTL=no3. 使用物理网卡eth0 、eth2 绑定成bond0 ,编辑eth0 、eth1 配置文件ifcfg-eth0 、ifcfg-eth1 内容如下:TYPE=Ethernet DEVICE=eth0BOOTPROTO=none ONBOOT=yesMASTER=bond0SLAVE=yesUSERCTL=no4. 改/etc/sysconfig/network-scripts/ifcfg-eth1 网卡的属性TYPE=EthernetDEVICE=eth1 BOOTPROTO=noneONBOOT=yes MASTER=bond0SLAVE=yesUSERCTL=no5. 使用物理网卡eth2 、eth3 绑定成bond1 ,编辑eth2 、eth3 配置文件ifcfg-eth2 、ifcfg-eth3 内容如下:TYPE=Ethernet DEVICE=eth2BOOTPROTO=noneONBOOT=yesMASTER=bond1SLAVE=yesUSERCTL=no修改eth3TYPE=EthernetDEVICE=eth3 BOOTPROTO=none ONBOOT=yes MASTER=bond1 SLAVE=yes USERCTL=no6. 编辑/etc/modprobe.conf 文件, 最后面加入以下内容alias bond0 bondingalias bond1 bondingoptions bond0 miimon=100 mode=1 max_bonds=2mode 的值表示工作模式,他共有0 ,1,2,3 四种模式,常用的为0,1 两种。

红帽RHEL6.4 双网卡绑定bond0 详细配置过程

红帽RHEL6.4 双网卡绑定bond0 详细配置过程

Linux RHEL6.4绑定双网卡主备模式1、查看服务器版本lsb_release -a2. 然后进入网卡信息目录:cd /etc/sysconfig/Network-scripts3、接着我们要新建一个文件,文件名为ifcfg-bond0,可以通过三种方式来创建:(vi ifcfg-bond0; touch ifcfg-bond0; cp ifcfg-em1 ifcfg-bond0)这里我选择最后一种:执行cp ifcfg-em1 ifcfg-bond0 后在/etc/sysconfig/network-scripts目录下会多出一个ifcfg-bond0说明关于网卡核心参数说明:4、编辑ifcfg-bond0 输入以下内容:[root@snms-app12 network-scripts]# cat ifcfg-bond0DEVICE=bond0IPADDR=10.26.7.11PREFIX=26GATEWAY=10.26.7.1TYPE=EthernetUUID=11606acf-f216-4884-8b77-c083a8e6276cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=staticBONDING_OPTS="mode=1 miimon=100"注:mode=1表示主备模式,mode=0表示负载均衡模式5、接下来编辑物理网卡:vi ifcfg-em1 输入下面内容,[root@snms-app12 network-scripts]# cat ifcfg-em1DEVICE=em1TYPE=EthernetUUID=11606acf-f216-4884-8b77-c083a8e6276cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yes6、同样编辑ifcfg-em2,输入图片所示内容[root@snms-app12 network-scripts]# cat ifcfg-em2DEVICE=em2TYPE=EthernetUUID=a489aaf4-1c71-4ed5-9c85-512c4712483cONBOOT=yesNM_CONTROLLED=yesBOOTPROTO=noneMASTER=bond0SLAVE=yes7、编辑/etc/modprobe.d/dist.conf文件,添加如下内容:alias bond0 bondingoptions bond0 miimon=100 mode=1(备注:由于ifcfg-bond0中已经写了这条,这条在这里可添加也可以不添加)8. 最后我们需要手动导入bonding驱动,执行这条命令即可:modprobe -i bonding执行完后可以通过lsmod | grep bonding命令查看是否加载。

Linux NIC bonding 模式解释

Linux NIC bonding 模式解释

免费内容:Linux系统提供了网卡绑定(NIC Bonding)功能,关于网卡绑定的设置中中有很6种mode,以下针对OpenFiler Administrative Guide中的资料,进行说明。

1. Balance-rr(Round-robin policy):此模式下,数据包传输将按顺序发送到Bonding中的各个网卡上。

此模式提供负载均衡和容错。

2. Active Backup:此模式下Bonding中只有一块网卡处于激活状态,其余网卡只有在处于工作状态的网卡出错时才会激活。

为了不扰乱交换机,Bonding的MAC地址只有一个是外部可见的。

3. Balance XOR:基于transmit-hash-policy的传输,默认是简单策略。

还有xmit_hash_policy可选。

PS: Hash policy: 散列策略4. Broadcast:广播模式,此模式下对Bonding中所有网卡都进行数据包广播,提供容错能力。

5. 802.3ad(IEEE 802.3ad Dynamic link aggregation): 802.3ad 动态链接汇聚模式,创建链接组后从网卡将有同样的速度和双工设置。

根据802.3ad协议专有的Balance-tlb模式(提供负载均衡),Bonding中的所有网卡将在链路中全部激活,同时信道绑定并不需要专用的交换设备支持。

传出通信流量将根据此时的负载分散于此链接中的各个网卡上,传入通信流量则由当前网卡接收。

若接收的网卡出错,则将另外的网卡取代之,并使用该出错网卡的MAC地址。

6. Balance-alb(Adaptive load balancing): Balance-alb模式提供自适应负载均衡,此模式在IPV4通信下包括balance-tlb模式外加接收负载均衡并且不需要任何专用交换设备的支持。

RLB(Receive Load Balancing)是通过ARP协商完成的。

linux链路聚合配置命令

linux链路聚合配置命令

linux链路聚合配置命令Linux链路聚合是一种网络技术,可以将多个物理网络接口绑定在一起,形成一个更高带宽的聚合链路,提高网络性能和可靠性。

下面介绍一些常用的Linux链路聚合配置命令。

1. ifconfig命令ifconfig命令可以用来查看和配置网络接口,包括链路聚合接口。

通过ifconfig命令可以设置接口的IP地址、子网掩码、MAC 地址等信息。

例如,如下命令可以创建一个名为bond0的链路聚合接口,并将eth0和eth1两个物理接口绑定在一起:ifconfig bond0 192.168.1.100 netmask 255.255.255.0 up ifconfig eth0 upifconfig eth1 upifenslave bond0 eth0 eth12. modprobe命令modprobe命令可以用来向系统加载内核模块。

在使用链路聚合技术时,需要加载bonding内核模块。

例如,如下命令可以加载bonding内核模块:modprobe bonding3. /etc/network/interfaces文件/etc/network/interfaces文件是Debian系列Linux系统中的网络配置文件,可以用来配置网络接口。

通过编辑该文件可以设置链路聚合接口的IP地址、子网掩码、网关、DNS等信息。

例如,如下内容可以配置一个名为bond0的链路聚合接口:auto bond0iface bond0 inet staticaddress 192.168.1.100netmask 255.255.255.0gateway 192.168.1.1dns-nameservers 8.8.8.8 8.8.4.4bond-slaves eth0 eth1bond-mode active-backupbond-miimon 1004. bondctl命令bondctl命令可以用来查看和配置链路聚合接口的状态。

bond0原理范文

bond0原理范文

bond0原理范文在Linux系统中,bonding驱动程序实现了网络绑定。

它将多个物理网络接口(如以太网卡)通过软件逻辑组合成一个具有共享IP地址和MAC地址的逻辑接口。

这个逻辑接口可以称为虚拟接口或bond0。

当网络流量通过bond0时,它将以其中一种算法将流量分发到不同的物理接口上,这使得流量可以在多个接口之间均衡分布。

Bonding提供了多种模式:1. 模式0(balance-rr):流量以循环方式通过多个物理接口进行均衡,以实现负载平衡。

它适用于高带宽要求的应用。

2. 模式1(active-backup):其中一个物理接口被标记为活动接口,另一个为备份接口。

活动接口处理所有数据,当活动接口故障时,备份接口将接管流量。

3. 模式2(balance-xor):使用源和目的IP地址以及源和目的MAC地址来均衡负载。

每个接口都有自己的MAC地址,并根据算法将流量分配给不同的接口。

4. 模式3(broadcast):流量被发送到所有接口,适用于广播应用。

5. 模式4(802.3ad):通过802.3ad协议实现的动态链路聚合。

也称为动态链接汇聚控制(LACP),需要支持它的网络交换机。

6. 模式5(balance-tlb):使用传输负载平衡(TLB)和适应性负载平衡(ALB)算法来实现负载平衡和故障转移。

在配置bonding之前,需要先加载bonding内核模块。

可以使用modprobe命令加载,或将其添加到/etc/modules文件中。

接下来,在/etc/sysconfig/network-scripts/目录下创建ifcfg-bond0文件来配置bond0接口。

配置文件中需要指定bonding模式、物理接口和其他相关参数。

然后,还需要创建ifcfg-ethX文件来配置每个物理接口。

设置BOOTPROTO为none以禁用自动IP配置,并指定bond0为MASTER。

完成配置后,重启网络服务以使更改生效。

Linux下的bonding(双网卡绑定)配置整理

Linux下的bonding(双网卡绑定)配置整理

Linux下的bonding(双网卡绑定)配置整理Linux下的bonding(双网卡绑定)配置整理1. 检查你的系统是否支持bonding首先,执行命令:$ rpm -qf /sbin/ifup它将会返回一行文本,以"initscripts"或"sysconfig,"开头,后面跟着一串数字。

这就是提供网络初始化脚本的包。

注意,如果查到的包是initscripts,后面配置的时候要使用initscripts的配置方式,这边的环境是initscripts方式。

如果查到的是sysconfig包,则配置会不同,详细请查看下一步,为了确定你的安装是否支持bonding,执行命令:$ grep ifenslave /sbin/ifup如果返回任何匹配记录,则表示你的initscripts或sysconfig支持bonding。

2. 修改网络适配器的配置针对现在的网络适配器配置文件进行修改,配置文件都放在/etc/sysconfig/network-scripts目录下,如下:第一个网络适配器:vi /etc/sysconfig/network-scripts/eth0DEVICE=eth0 ONBOOT=yes BOOTPROTO=none MASTER=bond0 SLA VE=yes第二个网络适配器:vi /etc/sysconfig/network-scripts/eth1DEVICE=eth1 USERCTL=no ONBOOT=yes MASTER=bond0 SLA VE=yes BOOTPROTO=non ewk_ad_begin({pid : 21});wk_ad_after(21, function(){$('.ad-hidden').hide();}, function(){$('.ad-hidden').show();});3.创建bonding的网络脚本vi /etc/sysconfig/network-scripts/bond0DEVICE=bond0IPADDR=192.168.1.66//修改为你需要的IPNETMASK=255.255.255.0 NETWORK=192.168.1.0 BROADCAST=192.168.1.255 ONBOOT= yesBOOTPROTO=none USERCTL=no4. bond驱动的选项Bonding驱动的选项是通过在加载时指定参数来设定的,通常在以下两个文件里面指定。

七种网卡绑定模式详解

七种网卡绑定模式详解

七种网卡绑定模式详解概览:目前网卡绑定mode共有七种(0~6)bond0、bond1、bond2、bond3、bond4、bond5、bond6常用的有三种:mode=0:平衡负载模式,有自动备援,但需要“Switch”支援及设定。

mode=1:自动备援模式,其中一条线若断线,其他线路将会自动备援。

mode=6:平衡负载模式,有自动备援,不必”Switch”支援及设定。

说明:需要说明的是如果想做成mode 0的负载均衡,仅仅设置这里optionsbond0miimon=100 mode=0是不够的,与网卡相连的交换机必须做特殊配置(这两个端口应该采取聚合方式),因为做bonding的这两块网卡是使用同一个MAC地址.从原理分析一下(bond运行在mode0下):mode 0下bond所绑定的网卡的IP都被修改成相同的mac地址,如果这些网卡都被接在同一个交换机,那么交换机的arp表里这个mac地址对应的端口就有多个,那么交换机接受到发往这个mac地址的包应该往哪个端口转发呢?正常情况下mac地址是全球唯一的,一个mac地址对应多个端口肯定使交换机迷惑了。

所以 mode0下的bond如果连接到交换机,交换机这几个端口应该采取聚合方式(cisco称为 ethernetchannel,foundry称为portgroup),因为交换机做了聚合后,聚合下的几个端口也被捆绑成一个mac地址.我们的解决办法是,两个网卡接入不同的交换机即可。

mode6模式下无需配置交换机,因为做bonding的这两块网卡是使用不同的MAC地址。

七种bond模式说明:第一种模式:mod=0 ,即:(balance-rr)Round-robin policy(平衡抡循环策略)特点:传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕),此模式提供负载平衡和容错能力;但是我们知道如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降第二种模式:mod=1,即: (active-backup)Active-backup policy(主-备份策略)特点:只有一个设备处于活动状态,当一个宕掉另一个马上由备份转换为主设备。

Linux-双网卡绑定bond详解

Linux-双网卡绑定bond详解

Linux-双⽹卡绑定bond详解1、什么是bond⽹卡bond是通过多张物理⽹卡绑定为⼀个逻辑⽹卡,实现本地⽹卡的冗余,带宽扩容和负载均衡,在⽣产场景中是⼀种常⽤的技术。

Kernels 2.4.12及以后的版本均供bonding模块,以前的版本可以通过patch实现。

可以通过以下命令确定内核是否⽀持 bonding:[root@lixin network-scripts] #cat /boot/config-2.6.32-573.el6.x86_64 |grep -i bondingCONFIG_BONDING=m[root@lixin network-scripts] #2、bond的模式bond的模式常⽤的有两种:mode=0(balance-rr)表⽰负载分担round-robin,并且是轮询的⽅式⽐如第⼀个包⾛eth0,第⼆个包⾛eth1,直到数据包发送完毕。

优点:流量提⾼⼀倍缺点:需要接⼊交换机做端⼝聚合,否则可能⽆法使⽤mode=1(active-backup)表⽰主备模式,即同时只有1块⽹卡在⼯作。

优点:冗余性⾼缺点:链路利⽤率低,两块⽹卡只有1块在⼯作bond其他模式:mode=2(balance-xor)(平衡策略)表⽰XOR Hash负载分担,和交换机的聚合强制不协商⽅式配合。

(需要xmit_hash_policy,需要交换机配置port channel)特点:基于指定的传输HASH策略传输数据包。

缺省的策略是:(源MAC地址 XOR ⽬标MAC地址) % slave数量。

其他的传输策略可以通过xmit_hash_policy选项指定,此模式提供负载平衡和容错能⼒mode=3(broadcast)(⼴播策略)表⽰所有包从所有⽹络接⼝发出,这个不均衡,只有冗余机制,但过于浪费资源。

此模式适⽤于⾦融⾏业,因为他们需要⾼可靠性的⽹络,不允许出现任何问题。

需要和交换机的聚合强制不协商⽅式配合。

linux下双网卡同一个IP

linux下双网卡同一个IP

由于需要一台机器有两个网卡,开始时设置在同一个网段的IP,发现数据总是从一个网卡发出,而另一个网卡上没有数据流动。

网上找了下,发现相同的问题不少:一、关于双网卡设置同一网段IP然后连接交换机的时候出现的奇怪现象。

当时没有怎么思考、以为是生成树的缘故,不过后来一想不太对。

初步做了一下实验:服务器为RHEL5 双网卡,eth0为234,eth1为233,我本地客户机为172。

RHEL: ifconfig如下:[root@server1 ~]# ifconfigeth0 Link encap:Ethernet HWaddr 00:0C:29:A5:D5:A3inet addr:60.232.83.233 Bcast:60.232.83.255 Mask:255.255.255.128 略。

eth1 Link encap:Ethernet HWaddr 00:0C:29:A5:D5:ADinet addr:60.232.83.234 Bcast:60.232.83.255 Mask:255.255.255.128 略。

lo Link encap:Local Loopbackinet addr:127.0.0.1 Mask:255.0.0.0略。

在客户机XP上ping两个地址,都是通的。

C:\ >ping 60.232.83.233Pinging 60.232.83.233 with 32 bytes of data:Reply from 60.232.83.233: bytes=32 time=9ms TTL=64Reply from 60.232.83.233: bytes=32 time<1ms TTL=64C:\ >ping 60.232.83.234Pinging 60.232.83.234 with 32 bytes of data:Reply from 60.232.83.234: bytes=32 time<1ms TTL=64Reply from 60.232.83.234: bytes=32 time<1ms TTL=64此时用arp –a在本地查看C:\ >arp -aInterface: 60.232.83.172 --- 0x20005Internet Address Physical Address Type60.232.83.129 00-04-96-1a-ca-60 dynamic60.232.83.233 00-0c-29-a5-d5-a3 dynamic60.232.83.234 00-0c-29-a5-d5-a3 dynamic发现两个网卡的MAC地址一样,也就是eth0的mac地址。

基于linux的bond技术

基于linux的bond技术

Linux网口绑定通过网口绑定(bond)技术,可以很容易实现网口冗余,负载均衡,从而达到高可用高可靠的目的。

前提约定:2个物理网口分别是:eth0,eth1绑定后的虚拟口是:bond0服务器IP是:192.168.0.100第一步,配置设定文件:/etc/sysconfig/network-scripts/ifcfg-bond0DEVICE=bond0BOOTPROTO=noneONBOOT=yesIPADDR=192.168.0.100NETMASK=255.255.255.0NETWORK=192.168.0.0BROADCAST=192.168.0.255#BROADCAST广播地址/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yes/etc/sysconfig/network-scripts/ifcfg-eth1DEVICE=eth1BOOTPROTO=noneMASTER=bond0SLAVE=yes第二步,修改modprobe相关设定文件,并加载bonding模块:1.在这里,我们直接创建一个加载bonding的专属设定文件/etc/modprobe.d/bonding.conf[root@test ~]# vi /etc/modprobe.d/bonding.conf#追加alias bond0 bondingoptions bonding mode=0 miimon=2002.加载模块(重启系统后就不用手动再加载了)[root@test ~]# modprobe bonding3.确认模块是否加载成功:[root@test ~]# lsmod | grep bondingbonding 100065 0第三步,重启一下网络,然后确认一下状况:[root@test ~]# /etc/init.d/network restart[root@test ~]# cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.5.0 (November 4, 2008) Bonding Mode: fault-tolerance (active-backup)Primary Slave: NoneCurrently Active Slave: eth0MII Status: upMII Polling Interval (ms): 200Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upLink Failure Count: 0Permanent HW addr: 00:16:36:1b:bb:74Slave Interface: eth1MII Status: upLink Failure Count: 0Permanent HW addr: 00:16:36:1b:bb:80[root@test ~]# ifconfig | grep HWaddrbond0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74eth0 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74eth1 Link encap:Ethernet HWaddr 00:16:36:1B:BB:74从上面的确认信息中,我们可以看到3个重要信息:1.现在的bonding模式是active-backup2.现在Active状态的网口是eth03.bond0,eth1的物理地址和处于active状态下的eth0的物理地址相同,这样是为了避免上位交换机发生混乱。

Linux网卡bond配置详解

Linux网卡bond配置详解

Linux⽹卡bond配置详解⽹卡bonding模式共有0、1、2、3、4、5、6共7种mode1、5、6不需要要交换机设置mode0、2、3、4需要交换机设置1、mode=0 (round-robin)轮询策略,数据包在每个slave⽹卡上都进⾏数据传输,以逐包形式在两个物理⽹卡上转发数据。

这种模式提供了数据的负载均衡和容错能⼒。

2、mode=1 (active-backup)主备策略,只有⼀个slave被激活,只有当active的slave的接⼝down时,才会激活其它slave接⼝。

主备模式下发⽣⼀次故障切换,在新激活的slave接⼝上会发送⼀个或者多个gratuitous ARP。

主salve接⼝上以及配置在接⼝上的所有VLAN接⼝都会发送gratuitous ARP,需要在这些接⼝上配置了⾄少⼀个IP地址。

VLAN接⼝上发送的的gratuitous ARP将会附上适当的VLAN id。

本模式提供容错能⼒。

3、mode=2(XOR)基于所选择的hash策略,本模式也提供负载均衡和容错能⼒4、mode=3(broadcast)⼴播策略,向所有的slave接⼝发送数据包,本模式提供容错能⼒5、mode=4(802.3ad)动态链路聚合,根据802.3ad标准利⽤所有的slave建⽴聚合链路。

slave接⼝的出⼝取决于传输的hash策略,默认策略是简单的XOR策略,⽽hash策略则可以通xmit_hash_policy选项配置。

前提:每个slave⽹卡⽀持ethtool获取速率和双⼯状态交换机⽀持IEEE 802.3ad标准(可能需要配置启⽤)IEEE 802.3ad 是执⾏的标准⽅法。

将多个适配器聚集到单独的虚拟适配器⽅⾯与“(EtherChannel)”的功能相同,能提供更⾼的防⽌发⽣故障。

例如,eth0 和 eth1 可以聚集到称作eth3 的 IEEE 802.3ad;然后⽤ IP 地址配置接⼝ eth3。

linux 双网卡绑定(bonding)实现负载均衡或故障转移

linux 双网卡绑定(bonding)实现负载均衡或故障转移

linux 双网卡绑定(bonding)实现负载均衡或故障转移我们在这介绍的Linux双网卡绑定实现就是用法两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个规律链路工作。

其实这项技术在Sun和Cisco中早已存在,被称为Trunking 和Etherchannel 技术,在Linux的2.4.x的内核中也采纳这这种技术,被称为bonding。

bonding技术的最早应用是在 beowulf上,为了提高集群节点间的数据传输而设计的。

下面我们研究一下bonding 的原理,什么是bonding需要从网卡的混杂(promisc)模式说起。

我们知道,在正常状况下,网卡只接收目的硬件地址(MAC Aress)是自身Mac 的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担。

但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上全部的帧,比如说mp.html' target='_blank'>tcp,就是运行在这个模式下。

bonding也运行在这个模式下,而且修改了驱动程序中的mac地址,将两块网卡的 Mac地址改成相同,可以接收特定mac的数据帧。

然后把相应的数据帧传送给bond驱动程序处理。

挺直给两块网卡设置同一IP地址是不行能的。

Kerne 2.4.12及以后的版本均供bonding模块,以前的版本可以通过实现。

一、编辑虚拟网络接口配置文件,指定网卡IP 假设eth0是对外服务的网卡,已经调试好网络;eth1是希翼与eth0同时对外提供服务的网卡。

/etc/sysconfig/network-scripts/ vi ifcfg-bond0 写入如下信息和本来 ifcfg-eth0 的配置其实差不多。

所以我建议执行如下语句,将ifcfg-eth0复制一份再改。

cp ifcfg-eth0ifcfg-bon0 复制代码将ifcfg-bon0的信息修改大致如下: DEVICE=bond0 BOOTPROTO=ic IPADDR=[IP] NETMASK=[MASK] BROADCAST=[BROADCAST] GATEWAY=[GATEWAY] ONBOOT=yes TYPE=Ethernet 二、配置真切网卡修改ifcfg-eth0如下:DEVICE=eth0 BOOTPROTO=none ONBOOT=yes MASTER=bond0第1页共2页。

centos网卡bonding配置方法和管理技巧

centos网卡bonding配置方法和管理技巧

centos网卡bonding配置方法和管理技巧2014年12月5日 by gaoqing1、修改网卡配置文件编辑/etc/sysconfig/network-scripts/目录下的网卡配置文件,一般情况下网卡是以eth+数字命名,但也有其它命名方式。

需要以自己的主机系统实际的网卡配置文件名称为准。

1.1 在该目录下创建一个虚拟网卡#vi ifcfg-bond0DEVICE=bond0TYPE=EthernetONBOOT=yesNM_CONTROLLED=noBOOTPROTO=staticIPADDR=192.168.120.18PREFIX=24GATEWAY=192.168.120.1DNS1=8.8.8.8以上文件中的IPADDR,GATEWAY需要改成自己的IP地址,其它可不变。

1.2 修改编号最小的两块网卡的配置文件#vi ifcfg-eth0DEVICE=eth0HWADDR=D9:9D:67:23:01:8CTYPE=EthernetUUID=b81edbe0-f469-49f9-8add-6b7deb4d65bfONBOOT=yesNM_CONTROLLED=noBOOTPROTO=noneMASTER=bond0SLAVE=yes以上文件中HWADDR,UUID需要修改成自己主机的配置信息。

#vi ifcfg-eth1DEVICE=eth1HWADDR=D9:9D:67:23:01:8DTYPE=EthernetUUID=9d7af089-666d-42d4-9246-444e0e243d10ONBOOT=yesNM_CONTROLLED=noBOOTPROTO=noneMASTER=bond0SLAVE=yes以上文件中HWADDR,UUID需要修改成自己主机的配置信息。

2、增加/etc下的系统加载模块配置文件#cd /etc/modprobe.d#vi /etc/modprobe.d/modprobe.conf输入内容为:alias bond0 bondingoptions bond0 miimon=100 mode=13、设置系统启动时自动启用网卡绑定功能#vi /etc/rc.d/rc.local在最后增加一行,内容如下:#!/bin/sh## This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff.touch /var/lock/subsys/localifenslave bond0 eth0 eth14、重启5、查看网卡绑定的效果命令1:$ ifconfigbond0 Link encap:Ethernet HWaddr D9:9D:67:23:01:8Cinet addr:192.168.120.18 Bcast:192.168.120.255 Mask:255.255.255.0inet6 addr: fe80::da9d:67ff:fe23:18c/64 Scope:LinkUP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1RX packets:5030148 errors:0 dropped:0 overruns:0 frame:0TX packets:432215 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:0RX bytes:410554080 (391.5 MiB) TX bytes:74281439 (70.8 MiB)eth0 Link encap:Ethernet HWaddr D9:9D:67:23:01:8CUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:2719184 errors:0 dropped:0 overruns:0 frame:0TX packets:409744 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:234166640 (223.3 MiB) TX bytes:71259924 (67.9 MiB)Interrupt:32eth1 Link encap:Ethernet HWaddr D9:9D:67:23:01:8CUP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1RX packets:2310964 errors:0 dropped:0 overruns:0 frame:0TX packets:22471 errors:0 dropped:0 overruns:0 carrier:0collisions:0 txqueuelen:1000RX bytes:176387440 (168.2 MiB) TX bytes:3021515 (2.8 MiB)Interrupt:36命令2:#cat /proc/net/bonding/bond0Ethernet Channel Bonding Driver: v3.6.0 (September 26, 2009) Bonding Mode: fault-tolerance (active-backup)Primary Slave: eth0 (primary_reselect always)Currently Active Slave: eth0MII Status: upMII Polling Interval (ms): 100Up Delay (ms): 0Down Delay (ms): 0Slave Interface: eth0MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 4Permanent HW addr: d8:d3:85:a5:74:72 Slave queue ID: 0Slave Interface: eth1MII Status: upSpeed: 1000 MbpsDuplex: fullLink Failure Count: 1Permanent HW addr: d8:d3:85:a5:74:74 Slave queue ID: 0命令3:#ethtool eth0#ethtool eth1命令4:可以使用该命令切换主备网卡如果当前是eth0为主,eth1为备,那么ifenslave -c bond0 eth1 将网卡eth1切换为active。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

以下所有操作均在root用户下完成
1.关闭network-manager
systemctl disable network-manager
systemctl disable NetworkManager-wait-online.service
/etc/init.d/network-manager stop
查看network-manager状态systemctl status network-manager确认关闭
关闭后,原来的/etc/resolv.conf 不可用,因为以前为软连接文件,编辑会提示,不能编辑连接文件,如果需要上网,修改软连接,重新创建resolv.conf文件。

mv /etc/resolv.conf /etc/resolv.conf.bak
echo 'nameserver 223.5.5.5' > /etc/resolv.conf
2.安装ifenslave
dpkg -i ifenslave_2.9ubuntu1_all.deb
如果要安装文件夹下所有deb包,可以使用dpkg -R ./archives
3.设置bonding 模块开机自动加载
sed -i '$a\bonding' /etc/modules
4.设置bond配置文件
echo 'options bonding mode=5 miimon=100' > /etc/modprobe.d/bonding.conf 5.加载bonding模块
modprobe bonding
检查模块是否允许正常:lsmod | grep bonding
6.配置bonding名称,ip等
ifconfig bond0 192.168.2.8 netmask 255.255.255.0
7.配置bond0绑定的网卡
ifenslave bond0 enp0s25 enx000ec6de6907
因为关闭了network-manager,不知道网卡名称的话,可以通过ip link来查看。

ip link | grep -v lo
8.配置以后开机bond自启
vi /etc/network/interfaces
添加一下行
auto bond0
iface bond0 inet static
address 192.168.2.8
netmask 255.255.255.0
gateway 192.168.2.1
dns-nameservers 223.5.5.5
post-up ifenslave bond0 enp0s25 enx000ec6de6907
pre-down ifenslave -d bond0 enp0s25 enx000ec6de6907至此,bond操作基本完成,可以进行测试,轮流拔掉系统网线。

相关文档
最新文档