linux以太网绑定
一 、网卡绑定的意义

网络负载均衡
对于bonding的网络负载均衡是我们在文件服务器中常用到的,比如把三块网卡,
当做一块来用,解决一个IP地址,流量过大,服务器网络压力过大的问题。
对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把
内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,
文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个百M的
本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,
特别是SAMABA和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线
和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,实现网络负载均衡,
最好的办法就是 bonding ;
网络冗余;
对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,
网卡的可靠性就更为重要了。在生产型的系统中,大多通过硬件设备的冗余来提供
服务器的可靠性和安全性,比如电源。bonding 也能为网卡提供冗余的支持。
把网个网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,
另一块网卡也能提供正常的服务。

二、双网卡绑定设置

1.修改
[root@localhost ~]# cat /etc/modprobe.conf
alias bond0 bonding
2.编辑
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
IPADDR=192.168.1.157
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
ONBOOT=yes
TYPE=Ethernet
BONDING_OPTS="mode=1 miimon=50"
说明:
mode指定了bond0的工作模式,在redhat中有0-6共7种工作模式,常用的是0和1。
mode=0 表示 load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1 表示 fault-tolerance (active-backup)提供冗余功能,工作方式是主从的工作方式,
    也就是说默认情况下只有一块网卡工作,另一块做备份。
mode=2 表示 XOR policy 为平衡策略。此模式提供负载平衡和容错能力
mode=3 表示 broadcast 为广播策略。此模式提供了容错能力
mode=4 表示 IEEE 802.3ad Dynamic link aggregation 为 IEEE 802.3ad 为动态链接聚合。
    该策略可以通过 xmit_hash_policy 选项从缺省的 XOR 策略改变到其他策略。
mode=5 表示 Adaptive transmit load balancing 为适配器传输负载均衡。该模式的必要条件:
    ethtool 支持获取每个 slave 的速率
mode=6 表示 Adaptive load balancing 为适配器适应性负载均衡。该模式包含了 balance-tlb
     模式,同时加上针对 IPV4 流量的接收负载均衡(receive load   balance, rlb),
     而且不需要任何 switch(交换机)的支持。
bonding 只能提供链路监测,即从主机到交换机的链路是否接通。如果只是交换机对外的链路 down
     掉了,而交换机本身并没有故障,那么 bonding 会认为链路没有问题而继续使用。
3.
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth0
HWADDR=00:0c:29:87:25:3a
MASTER=bond0
SLAVE=yes
ONBOOT=yes
4.
[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth1
# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]
DEVICE=eth1
HWADDR=00:0c:29:87:25:44
MASTER=bond0
SLAVE=yes
ONBOOT=yes