一、什么是网卡绑定及简单原理
网卡绑定也称作"网卡捆绑",就是使用多块物理网卡虚拟成为一块网卡,以提供负载均衡或者冗余,增加带宽的作用。当一个网卡坏掉时,不会影响业务。这个聚合起来的设备看起来是一个单独的以太网接口设备,也就是这几块网卡具有相同的IP地址而并行链接聚合成一个逻辑链路工作。这种技术在Cisco等网络公司中,被称为Trunking和Etherchannel 技术,在Linux的2.4.x的内核中把这种技术称为bonding。
二、技术分类
1. 负载均衡
对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。 对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的本地网络来说,文件服务器在多 个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,最好的办法就是 bonding。
2. 网络冗余
对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务,即:默认情况下只有一块网卡工作,其它网卡做备份。
三、bonding负载均衡和网络冗余技术的现实
1. 网络环境
[root@web-31 ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
[root@web-31 ~]# getconf LONG_BIT
64
[root@web-31 ~]# ip a |grep -v lo
2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether f0:4d:a2:3e:57:00 brd ff:ff:ff:ff:ff:ff
inet 172.28.2.31/24 brd 172.28.2.255 scope global em1
3: em2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether f0:4d:a2:3e:57:02 brd ff:ff:ff:ff:ff:ff
4: em3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether f0:4d:a2:3e:57:04 brd ff:ff:ff:ff:ff:ff
5: em4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000
link/ether f0:4d:a2:3e:57:06 brd ff:ff:ff:ff:ff:ff
PS : 使用四块网卡进行bonding绑定:em1、em2、em3、em4