Linux下双网卡绑定技术实现负载均衡和失效保护(bond)

对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有所有一个管理员会把内部网的文件服务器的IP地址弄非常多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最佳的办法就是 bonding ;

另一种情况就是服务器的一个网卡失效或网络连接意外断开,如果做了bonding就能转换到另一个网卡的网络连接上.确保服务的不中断.

首先要看linux是否支持bonding,RHEL4已默认支持了.(大部分发行版都支持)
# modinfo bonding

filename:       /lib/modules/2.6.18-8.el5/kernel/drivers/net/bonding/bonding.ko

author:         Thomas Davis,

tadavis@lbl.gov

and many others

description:    Ethernet Channel Bonding Driver, v3.0.3

version:        3.0.3

license:        GPL

srcversion:     2547D22885C2FDF28EF7D98

如果有类似上面的信息输出,说明已支持了.

如果没有,说明内核不支持bonding,需要重新编译内核

编译内核的步骤这里就不多写了,在make menuconfig里面

找到Bonding driver support这样的对话框,选中他.

如果是模块编译,还需要挂载模块.挂载bonding 模块的方法;

[root@localhost#] modprobe bonding

如果/sbin/ifenslave没有,我们还需要把他也独立编译出来

[root@lin:/home/beinan#] cd /usr/src/linux-2.6.20/Documentation/networking

[root@lin:/home/networking#] gcc -Wall -Wstrict-prototypes -O -I/usr/src/linux-2.6.20/include ifenslave.c -o ifenslave

[root@lin:/home/networking#] cp ifenslave /sbin/ifenslave

1.#cp  ifcfg-etho   ifcfg-bond

2.#vim ifcfg-bond

DEVICE=bond0

IPADDR=192.168.100.2

NETMASK=255.255.255.0

NOBOOT=yes

BOOTPROTO=none

USERCTL=no

#vim ifcfg-eth0

DEVICE=eth0

HWADDR=xxxxxxxxxx

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

#vim ifcfg-eth1

DEVICE=eth1

HWADDR=xxxxxxxxxx

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

TYPE=Ethernet

时间: 2024-08-03 16:54:41

Linux下双网卡绑定技术实现负载均衡和失效保护(bond)的相关文章

Linux下双网卡绑定bond0

一:原理: linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多.而一般企业都会使用linux操作系统下自带的网卡绑定模式,当然现在网卡产商也会出一些针对windows操作系统网卡管理软件来做网卡绑定(windows操作系统没有网卡绑定功能 需要第三方支持).进入正题,linux有七种网卡绑定模式:0. round robin,1.active-backup,2.load balancing (xor),  3.

linux系统双网卡绑定单个IP地址

双网卡绑定单个IP 地址 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断.多网卡绑. 为了提供网络的高可用性,我们可能需要将多块网卡绑定成一块虚拟网卡对外提供服务,这样即使其中的一块物理网卡出现故障,也不会导致连接中断.在Linux下叫bonding,IBM称为etherchanel,broadcom叫team,但是名字怎么变,效果都是将两块或更多的网卡当做一块网卡使用,在增加带宽的同时也可以提高冗余性.比如我

Linux实现双网卡绑定及自动绑定shell脚本

一,手工绑定网卡 双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.根据交换机可支持的功能不通,最常见的是设定为主备方式的双网卡绑定. 一.新建ifcfg-bond0文件 在/etc/sysconfig/network-scripts下vim ifcfg-bond0,内容如下 DEVICE=bond0 BOOTPROTO=none ONBOOT=yes TYPE=Ethern

linux下多条ADSL实现带宽负载均衡

最近公司有个需求,需要使用多条 adsl 接入到一台linux 服务器上并做NAT使用,而且要实现带宽负载均衡.在网上搜索一些资料后.把过程中重要点记录一下,留以备用. 1.需要安装rp-pppoe,拨号所需 2.创建拨号配置文件,以/etc/sysconfig/network-scripts/ifcfg-ppp309 为例,根据实际情况不必照抄 :) shell命令范例  [root@***** ~]# cat  /etc/sysconfig/network-scripts/ifcfg-ppp

Linux进阶03:双网卡绑定

昨天有位亲问询我Linux关于双网卡绑定的事,以前折腾过,这回的折腾记录在此. 环境 测试环境是CentOS6.6的虚拟机,添加了一个网卡,网络连接模式NAT. 关闭服务 NetworkManager服务是供界面使用网盘配置服务,其会影响网络服务的运行,故关闭之. 1234 # service NetworkManager stop# chkconfig NetworkManager off# chkconfig --list NetworkManagerNetworkManager 0:off

Linux系统下多网卡绑定操作方法

在Linux系统中,通常会将多个网卡绑定为一个逻辑网卡,这样可以提高网络的稳定性,那么要如何将多个网络绑定为一个呢?下面小编就给大家介绍下Linux下多网卡绑定的bond模式原理. 将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严 重的瓶颈.其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题.因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大

【Linux】Linux双网卡绑定实现

Linux双网卡绑定实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作.    在正常情况下,网卡只接收目的硬件地址(MAC Address)是自身Mac的以太网帧,对于别的数据帧都滤掉,以减轻驱动程序的负担.但是网卡也支持另外一种被称为混杂promisc的模式,可以接收网络上所有的帧,比如说tcpdump,就是运行在这个模式下.bonding也运行在这个模式下,而且修改了驱动程序中的m

Linux 双网卡绑定实践

Linux 双网卡绑定实践 前言 工作中主要以SuSE为主,网络作为整个高可用架构中最重要的环节之一,在物理上一般是双网卡绑定模式,通常使用默认的mode=1(active-backup)作为主备关系. 在最近测试大数据的生产服务器中,考虑到性能优先,所以将绑定模式设置为mode=6(balance-alb),使用负载均衡提高1倍流量.与此同时针对SuSE HA架构由Skybility HA往Corosync/Openais+Pacemaker 的测试过程中,配合网络交换机Port Channe

在FreeBSD 6.3下的双网卡绑定

这几天公司里的服务器要用bonding,主要是做双网卡的冗余,网上说的最多的就是<FreeBSD上双网卡绑定提高带宽的做法>,研究了一下,把结果给大家说说, linux的很简单,这里就不说了,照网上的资料就行了.freebsd的有点小难度,搞了几天,最初用lagg模块,照手册里的"链路聚合与故障转移"部分做,做是做成的但是就是不能冗余,拔掉网络就不通了,最后决定用ng_fecg来做,下面是过程. FreeBSD上双网卡绑定提高带宽的做法里,第3部分,<在FreeBSD