多网卡绑定配置-bonding
何为bonding
所谓bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现网卡的带宽扩容、高可用或者负载均衡,具体的功能取决于采用的哪种bonding模式。
一般情况下,将多块网卡设置同一IP地址是不可能的,会导致IP地址的冲突,导致网络不可用。但是通过bonding,可以将多个物理网卡的MAC地址修改为相同的MAC地址,虚拟出一块网卡对外提供连接。其原理类似RAID,虽是多块网卡,但对访问者来说则是一块网卡。由于是将多块网卡合为一块使用,所以能够得到更好的更快的性能。
bonding技术在生产场景中是一种常用的技术。其实在 Sun和Cisco中早已存在并应用,被称为Trunking和Etherchannel技术,在Linux的Kernels 2.4.12及以后的版本中也采用了这种技术,被称为 bonding。 像Samba、Nfs这种共享文件系统,网络的吞吐量非常大,就造成网卡的压力很大,就会用到bonding技术。
bonding的优点
网络的负载均衡
bonding的网络负载均衡是我们在文件服务器中常会用到的,比如把多块网卡,当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百兆的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是SAMABA和NFS服务器。为解决同一个IP地址,突破流量的限制。如何在有限的资源的情况 下,实现网络负载均衡,最好的办法就是 bonding 。
网络的冗余高可用
对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来 提供服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。把网个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡也能提供正常的服务。
Bonding的常见绑定模式
Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾的顺序在每一个从属设备接口上面发送数据包,一条链路故障会自动切换正常链路。
特点:本模式提供负载均衡和容错的能力。传输数据包顺序是依次传输(即:第1个包走eth0,下一个包就走eth1….一直循环下去,直到最后一个传输完毕);但是如果一个连接或者会话的数据包从不同的接口发出的话,中途再经过不同的链路,在客户端很有可能会出现数据包无序到达的问题,而无序到达的数据包需要重新要求被发送,这样网络的吞吐量就会下降。而且需要在接入交换机做端口聚合,否则可能无法使用。
Mode 1 (active-backup)
活动-备份(主备)策略:只有一个从属设备处于活动状态,其它从属设备处于备用状态,只有在活动的从属设备接口宕掉时才会