双网卡聚合 linux,linux多网卡绑定聚合——bond技术

将多个

Linux

网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一

个晚上备份几个

T

的数据,

如果使用单个的千兆网口将会是很严重的瓶颈。

其它的应用,

ftp

服务器,高负载的下载网站

,

都有类似的问题。因此使用

Linux

teaming

bond

来绑

定多个网卡作为一个逻辑网口,配置单个的

IP

地址,会大幅提升服务器的网络吞吐

(I/O)

Linux

的多网卡绑定功能使用的是内核中的

"bonding"

模块,关于此模块可以参考

Linux

Ethernet Bonding Driver

文档

,

但是目前发布各个

Linux

版本内核均已包含了此模块,大多数

情况下不需要重新编译内核。

Linux

bonding

驱动提供了绑定

/

集成

(bond)

多个网卡为一

个虚拟逻辑网口的功能。并请注意绑定的网口

(bonded)

有多种工作模式

;

一般来说,分为热

后备

(hot standby)

和负载均衡

(load balancing).

Redhat/Fedora

和其它类

Redhat Linux

中是

比较容易配置的。

将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teaming或bond来绑定多个网卡作为一个逻辑网口,配置单个的IP地址,会大幅提升服务器的网络吞吐(I/O)。

Linux的多网卡绑定功能使用的是内核中的"bonding"模块,关于此模块可以参考Linux Ethernet Bonding Driver文档, 但是目前发布各个Linux版本内核均已包含了此模块,大多数情况下不需要重新编译内核。 Linux 的 bonding 驱动提供了绑定/集成(bond)多个网卡为一个虚拟逻辑网口的功能。并请注意绑定的网口(bonded)有多种工作模式; 一般来说,分为热后备(hot standby) 和负载均衡(load balancing). 在Redhat/Fedora和其它类Redhat Linux中是比较容易配置的。

1.创建bond0配置文件(注意大小写)vi /etc/sysconfig/network-scripts/ifcfg-bond0  如果是bond0多IP,即新建ifcfg-bond0:0,ifcfg-bond0:1....,对应的DEVICE=bond0:0,DEVICE=bond0:1....

DEVICE=bond0             --物理设备名字

NAME=bond0

TYPE=Bond

BONDING_MASTER=yes

IPADDR=192.168.1.1          --IP地址

NETMASK=255.255.255.0         --子网掩码

NETWORK=192.168.1.0          --所属子网

BROADCAST=192.168.1.255          --广播地址

GATEWAY=192.168.1.254          --网关

ONBOOT=yes                --随机启动

BOOTPROTO=none

USERCTL=no                 --是否允许非root用户控制该设备

BONDING_OPTS="mode=1 miimon=100"

2.修改被绑定的eth0和eth1的配置文件(注意大小写)vi /etc/sysconfig/network-scripts/ifcfg-eth0        #针对不同的服务器,可以为em1或ens6f0

TYPE=Ethernet

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

USERCTL=no

MASTER=bond0

SLAVE=yes

#HWADDR=00:15:17:CC:FC:35

eth1的配置文件与之相同,只是device的值改为eth1即可。

3.装在bond模块驱动

编辑/etc/modprobe.conf或者/etc/modules.conf文件,加入如下内容,使系统启动时加载bonding模块驱动 (如果没有文件,则手动创建)vi /etc/modules.conf

alias bond0 bonding

options bond0 miimon=100 mode=1

4.验证是否成功做到了冗余的效果:

ifdown eth0或者ifdown eth1,然后ping 192.168.1.1

说明:

1).miimon=100 用来进行链路监测的。即每100ms监测一次链路状态,如果有一条线路不通就转入另一条线路。bonding只监测主机与交换机之间链路。如  果交换机出去的链路出问题而本身没有问题,那么bonding认为链路没有问题而继续使用。

2).mode=1 表示提供冗余功能。除此之外还可以为0、2、3,共四种模式。0表示负载均衡

mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。需根据交换机可提供的工作模式选择。

mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。

mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份。

引用

a、bonding只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认   为链路没有问题而继续使用。

b、设置的模式要与交换机设置的模式一致。

4.在/etc/rc.d/rc.local文件中加入如下语句,使得系统启动自动运行

ifenslave bond0 eth0 eth1

route add -net 192.168.1.254 netmask 255.255.255.0  bond0    #如有需要才加该路由

5.检测、验证配置

首先执行命令装载bonding模块:modprobe bonding

重启网络服务,并确认bond0正确启动:service network restart

确认设备已经正确加载:less /proc/net/bonding/bond0

列出所有网口:ifconfig

至此,bond 的设置就基本结束了

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值