许多应用情况下,在流量超过100M而网卡只是100M的情况下,我们到底应该怎么办呢?这个时候,通过使用两块100M的网卡来增加带宽,是一种比较好的解决办法,两场网卡如何合在一起?
1.增加虚拟网卡:
vi /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
BOOTPROTO=static
BROADCAST=192.168.1.255
IPADDR=192.168.1.2
NETMASK=255.255.255.0
ONBOOT=yes
2.修改原来物理网卡设置:
网卡1
DEVICE=eth0
ONBOOT=yes
BOOTPROTO=dhcp
网卡2
DEVICE=eth1
ONBOOT=yes
BOOTPROTO=dhcp
3.增加虚拟网卡模块
vi /etc/modprobe.conf
alias bond0 bonding
options bond0 miimon=100 mode=0
说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态,如果有一条线路不通就转入另一条线路;mode的值表示工作模式,他共有0,1,2,3四种模式,常用的为0,1两种。
mode=0表示load balancing (round-robin)为负载均衡方式,两块网卡都工作。
mode=1表示fault-tolerance (active-backup)提供冗余功能,工作方式是主备的工作方式,也就是说默认情况下只有一块网卡工作,另一块做备份.
bonding只能提供链路监测,即从主机到机的链路是否接通。如果只是机对外的链路down掉了,而交换机本身并没有故障,那么bonding会认为链路没有问题而继续使用
本案例中使用mode=0的配置来做负载均衡提高系统性能,增大并发带宽。
4.加入到开机自动运行
vi /etc/rc.d/rc.local
ifenslave bond0 eth0 eth1
route add -net 192.168.1.254 netmask 255.255.255.0 bond0
重启系统后能看到3块网卡,其中bond0的流量是eth0+eth1的总和。
查看bond0虚拟网卡
cat /proc/net/bonding/bond0
Ethernet Channel Bonding Driver: v3.1.2 (January 20, 2007)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 100
Up Delay (ms): 0
Down Delay (ms): 0
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:1e:4d:24:ec:49
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:1e:4d:24:ed:4b
5.试验验证
用外部同一网段的一台机器做ping试验,双网卡机器上手工拔掉其中任意一条网络线(或者使用ifup eth0&&ifdown eth1),ping机器的终端应该没有中断信息,或者有一个”timeout”后很快恢复,则证明试验成功。