Linux多网卡绑定聚合链路—bond技术

一、理论部分

将多个Linux网络端口绑定为一个,可以提升网络的性能,比如对于备份服务器,需要在一个晚上备份几个T的数据,如果使用单个的千兆网口将会是很严重的瓶颈。其它的应用,比如ftp服务器,高负载的下载网站, 都有类似的问题。因此使用Linux teamingbond来绑定多个网卡作为一个逻辑网口,配置单个的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

wKioL1lht4KwNhrlAAC7DTOAjlM158.png

2、修改被绑定的eth0eth1的配置文件

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

wKiom1lht4KQqQ_uAACDLunt_Oo124.png

ifcfg-eth1的配置文件与此相同,只是DEVICE的值改成eth1即可

3、装载bond模块驱动

编辑/etc/modprobe.conf或者/etc/modules.conf文件,加入如下内容,使系统启动时加载bonding模块驱动

wKiom1lht4OjonrtAAEaD7Nv-wA176.png

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

# vim /etc/rc.d/rc.local

wKioL1lht4SQVlpxAADZ63MJc1k794.png

5检测、验证配置

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

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

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

查看网卡状态: # ifconfig

wKioL1lht4XTb9xMAAClCdA3VrI735.png