目的:对于服务器来说,网络设备的稳定也是比较重要的,特别是网卡。在生产型的系统中,网卡的可靠性就更为重要了。多块网卡绑定到一个IP地址,当一块网卡发生物理性损坏的情况下,另一块网卡自动启用,并提供正常的服务即:默认情况下只有一块网卡工作,其它网卡做备份网卡提供冗余的支持。

对于文件服务器来说,比如NFS或SAMBA文件服务器,没有任何一个管理员会把内部网的文件服务器的IP地址弄很多个来解决网络负载的问题。如果在内网中,文件服务器为了管理和应用上的方便,大多是用同一个IP地址。对于一个100M的本地网络来说,文件服务器在多个用户同时使用的情况下,网络压力是极大的,特别是samba和NFS服务器。为了解决同一个IP地址,突破流量的限制,毕竟网线和网卡对数据的吞吐量是有限制的。如果在有限的资源的情况下,做多块网卡绑定实现网络负载均衡。


linux有七种网卡绑定模式:

            0,round robin           负载均衡

            1,active-backup        网络冗余,主备模式

            2,load balancing (xor)

            3,fault-tolerance (broadcast)

            4,lacp

            5,transmit load balancing

            6,adaptive load balancing

测试环境:

OS:rhel6.5

eth0:bridge

eth1:bridge

PS:宿主机无线网接入,通过dhcp分配地址;


一,负载均衡

1,关闭NetworkManager 服务

# service NetworkManager stop

# chkconfig NetworkManager off


2,装载bonding模块

# modprobe bonding


3,创建bond0虚拟网卡配置文件

# cd /etc/sysconfig/network-scripts/

# vim ifcfg-bond0

DEVICE=bond0

PREFIX=24

GATEWAY=192.168.1.1

DNS1=192.168.1.1

ONBOOT=yes

BOOTPROTO=dhcp

USERCTL=no

BONDING_OPTS="mode=0 miimon=100"

PS:

miimon:是指多久时间要检查网路一次,单位是ms(毫秒)
mode=0:平衡负载模式,两块网卡都在工作,负载均衡。
mode=1:自动主备模式,其中一块网卡在工作(若eth0断掉)


4,修改eth0和eth1 配置文件

# vim ifcfg-eth0

DEVICE=eth0

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0   ###将这块网卡绑定到bond0这块虚拟网卡上

SLAVE=yes            ###SLAVE=yes表示这块网卡附属于bond0这块网卡


# vim ifcfg-eth1

DEVICE=eth1

ONBOOT=yes

BOOTPROTO=none

USERCTL=no

MASTER=bond0

SLAVE=yes


5,添加驱动支持bond0

# vim /etc/modprobe.d/dist.conf

            alias bond0 bonding


6,配置主模式下,网卡的工作顺序

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

     touch /var/lock/subsys/local

     ifenslave bond0 eth0 eth1


7、重启 network 服务

# service network restart


8、检查验证

# cat /proc/net/bonding/bond0

wKioL1cSdTLCVMGyAACoEb0SCOI303.png

二,主备模式

1,先要将两块网卡的MAC 地址改为一致

wKiom1cScUaSKnHKAABaoUmyK9c551.png

wKioL1cSch2TnGmjAABZX0mgkn0260.png


2,修改网卡绑定模式为1

# vim ifcfg-bond0

DEVICE=bond0

PREFIX=24

GATEWAY=192.168.1.1

DNS1=192.168.1.1

ONBOOT=yes

BOOTPROTO=dhcp

USERCTL=no

BONDING_OPTS="mode=1 miimon=100"


3,将eth0 down

# ifdown eth0

wKioL1cScpOyxu47AADEIg_DWjc796.png

wKiom1cScazzStYMAADDHq8GPxY591.png


4,在主备模式下三个网卡的MAC 地址一致

wKiom1cScg6TPZ8nAAG-3hC-3O4762.png