Linux系统如何让双网卡合“一”而用

http://tech.ddvip.com   2007年03月22日    社区交流

本文详细介绍Linux系统如何让双网卡合“一”而用

  另外,还需要将两块网卡的配置文件ifcfg-eth0和ifcfg-eth1中的“BOOTPROTO”设为“dhcp”,并且删除关于“IPADDR”、“NETMASK”和“BROADCAST”的设置。

  2.修改/etc/modules.conf 文件

  编辑/etc/modules.conf文件,加入如下内容,以使系统在启动时加载Bonding模块。

alias bond0 bonding
options bond0 miimon=100 mode=1

  “miimon=100”表示系统每100ms监测一次链路连接状态,如果监测到有一条线路不通就转入另一条线路。

  “mode”的值表示工作模式,共有0、1、2和3四种模式,常用的为0、1两种。

  3.修改/etc/rc.d/rc.local文件

  加入以下两行(路由视具体情况而定):

ifenslave bond0 eth0 eth1
route add -net 172.31.3.254 netmask 255.255.255.0 bond0

  以上配置完毕后重新启动机器。重启时看见以下信息就表示双网卡绑定配置成功了。

................
Bringing up interface bond0 OK
Bringing up interface eth0 OK
Bringing up interface eth1 OK
................

失效保护和负载均衡

  “mode”设为1时,Bonding提供冗余功能(Fault-Tolerance (active-backup)),即Bonding工作在主备模式下,同时只有一块网卡工作,另一块作为备份。当主网卡失效时,系统会按照文件/etc/rc.d/rc.local里指定的顺序启动备用网卡工作,保证服务器不会出现长时间的网络中断。

  用ifconfig命令查看网卡的配置信息,显示如下:

bond0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING MASTER MULTICAST MTU:1500 Metric:1
RX packets:18495 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:1587253 (1.5 Mb) TX bytes:89642 (87.5 Kb)
eth0 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING SLAVE MULTICAST MTU:1500 Metric:1
RX packets:9572 errors:0 dropped:0 overruns:0 frame:0
TX packets:480 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:833514 (813.9 Kb) TX bytes:89642 (87.5 Kb)
Interrupt:11
eth1 Link encap:Ethernet HWaddr 00:0E:7F:25:D9:8B
inet addr:172.31.0.13 Bcast:172.31.3.255 Mask:255.255.252.0
UP BROADCAST RUNNING NOARP SLAVE MULTICAST MTU:1500 Metric:1
RX packets:8923 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:753739 (736.0 Kb) TX bytes:0 (0.0 b)
Interrupt:15

  “mode”设为0时,Bonding工作在负载均衡(Load Balancing (round-robin))方式下,即两块网卡同时工作,这时理论上Bonding能提供两倍的带宽。在这种情况下如果一块网卡失效,仅仅会使服务器出口带宽下降,并不会影响网络使用。

  通过ifconfig命令查看网卡的配置信息,“mode=0”和“mode=1”的区别在于eth1是工作在“SLAVE” 状态,而非“NOARP”。

  小结

  通过以下命令可以详细掌握Bonding的工作状态:

# cat /proc/net/bonding/bond0
bonding.c:v2.4.1 (September 15, 2003)
Bonding Mode: load balancing (round-robin)
MII Status: up
MII Polling Interval (ms): 0
Up Delay (ms): 0
Down Delay (ms): 0
Multicast Mode: all slaves
Slave Interface: eth0
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0e:7f:25:d9:8a
Slave Interface: eth1
MII Status: up
Link Failure Count: 0
Permanent HW addr: 00:0e:7f:25:d9:8b

  无论是“mode=0”还是“mode=1”,都大大增加了Linux服务器的高可用性,使服务器可以为用户提供不间断的关键服务。

作者:李晨光    责编:豆豆技术应用

正在加载评论...