多网卡绑定Bonding生产实战

shadema 2012-10-21

一、什么是网卡绑定及简单原理

网卡绑定也称作"网卡捆绑",就是使用多块物理网卡虚拟成为一块网卡,以提供负载均衡或者冗余,增加带宽的作用。当一个网卡坏掉时,不会影响业务。这个聚合起来的设备看起来是一个单独的以太网接口设备,也就是这几块网卡具有相同的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. 网络环境

  1. [root@web-31 ~]# cat /etc/issue 
  2.  
  3. CentOS release 6.3 (Final) 
  4.  
  5. Kernel \r on an \m 
  6.  
  7. [root@web-31 ~]# getconf LONG_BIT 
  8.  
  9. 64 
  10.  
  11. [root@web-31 ~]# ip a |grep -v lo 
  12.  
  13. 2: em1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000 
  14.  
  15.     link/ether f0:4d:a2:3e:57:00 brd ff:ff:ff:ff:ff:ff 
  16.  
  17.     inet 172.28.2.31/24 brd 172.28.2.255 scope global em1 
  18.  
  19. 3: em2: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 
  20.  
  21.     link/ether f0:4d:a2:3e:57:02 brd ff:ff:ff:ff:ff:ff 
  22.  
  23. 4: em3: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 
  24.  
  25.     link/ether f0:4d:a2:3e:57:04 brd ff:ff:ff:ff:ff:ff 
  26.  
  27. 5: em4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN qlen 1000 
  28.  
  29.     link/ether f0:4d:a2:3e:57:06 brd ff:ff:ff:ff:ff:ff 

PS : 使用四块网卡进行bonding绑定:em1、em2、em3、em4

相关推荐