上一篇:IP网络路由技术 >>
双网卡负载均衡及路径切换配置
双网卡负载均衡其实很早就在linux内核里面实现了,我见到的最早的版本是2.2.10的内核。不过那个时候还没要作为缺省功能编译到内核里面去,如果你需要这个功能你需要编译内核,然后选中bonding相关选项。我最早使用了bonding是在我最毕业设计时,在iscsi技术里面加入了bonding技术。通过测试发现对于小数据包的传送,单网卡比双网卡要快,这当然也是正常的,只有在大数据传送的情况下,它才能显示优势,比如流媒体文件的传输。2.4.x以后的内核就把bonding技术作为缺省功能编译进去了,而且还加入了路径切换的功能,那就更加完美了。
2.测试环境
硬件:
cpu celeron 766mhz
mem 92m (100mhz)
网卡:d-link,realtalk
软件:
os fedora core 2 (2.6.5-1.358)
3.配置过程
其实在linux里面配置双网卡负载均衡和路径切换很简单,只需要修改或增加一些配置文件就可以了。
a)首先配置/etc/modules.conf文件,添加下面的信息
代码::
alias bond0 bonding
options bond0 miimon=100 mode=1
第一行的意思我想大家都很明白,就是增加一个设备驱动的别名,真正的驱动名字是bonding.ko
第二上是驱动加载时的参数,这里解释一下
“miimon=100”,表示链路检测的时间间隔,单位是毫秒。
“mode=1”,这里表示双网卡bond的模式,目前官方发布的模式有0,1,2,3,4,5,6共7种,我们一般常用的是0,1两种。这里分别介绍
0表示round-robin模式,它从第一块有效的网卡传输资料,知道最后一块。它提供了负载均衡和容灾的功能
1表示active-backup模式,表示每次只有一个网卡是激活和有数据传输的,其它网卡处于backup状态,一旦激活的网卡链路出现问题,backup状态的网卡就会激活成为active状态这种模式提供了容灾的功能,但是没有负载均衡的功能。
b)配置bond0的配置文件
代码::
#cat /etc/sysconfig/network-scripts/ifcfg-bond0
device=bond0
ipaddr=192.168.10.254
netmask=255.255.255.0
network=192.168.10.0
broadcast=192.168.10.255
onboot=yes
bootproto=none
userctl=no
#cat /etc/sysconfig/network-scripts/ifcfg-eth0
device=eth0
onboot=yes
master=bond0
slave=yes
userctl=no
bootproto=none
#cat /etc/sysconfig/network-scripts/ifcfg-eth1
device=eth1
onboot=yes
master=bond0
slave=yes
userctl=no
bootproto=none
c)起动并测试
ok,你现在可以起动你的配置文件了,不过在起动之前,先看看有没有加载bonding内核模块(使用lsmod命令),如果没有,那就加载它,使用下面的命令
代码::
modprobe bonding
然后使用下面的命令重新起动网络
代码::
/etc/init.d/networkd restart
在使用ifconfig命令看看结果,如果你能看到下面类似的输出,那就配置没有问题了
代码::
#ifconfig
bond0 link encap:ethernethwaddr 00:1a:34:56:91:be
inet addr:192.168.10.254bcast:192.168.10.255mask:255.255.255.0
inet6 addr: fe80::200:ff:fe00:0/64 scope:link
up broadcast running master multicastmtu:1500metric:1
rx packets:2620 errors:0 dropped:0 overruns:0 frame:0
tx packets:1352 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:259480 (253.3 kb)tx bytes:292208 (285.3 kb)
eth0link encap:ethernethwaddr 00:1a:34:56:91:be
inet6 addr: fe80::21a:34ff:fe56:91be/64 scope:link
up broadcast running slave multicastmtu:1500metric:1
rx packets:1218 errors:0 dropped:0 overruns:0 frame:0
tx packets:613 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:118905 (116.1 kb)tx bytes:132632 (129.5 kb)
interrupt:11 base address:0x9000
eth1link encap:ethernethwaddr 00:1a:34:56:91:be
inet6 addr: fe80::21a:34ff:fe56:91be/64 scope:link
up broadcast running slave multicastmtu:1500metric:1
rx packets:1402 errors:0 dropped:0 overruns:0 frame:0
tx packets:741 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
rx bytes:140575 (137.2 kb)tx bytes:161196 (157.4 kb)
interrupt:12 base address:0xd000
lolink encap:local loopback
inet addr:127.0.0.1mask:255.0.0.0
inet6 addr: ::1/128 scope:host
up loopback runningmtu:16436metric:1
rx packets:82 errors:0 dropped:0 overruns:0 frame:0
tx packets:82 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
rx bytes:5700 (5.5 kb)tx bytes:5700 (5.5 kb)
你还可以通过下面的命令来查看bond0的基本信息
代码::
#more /proc/net/bonding/bond0
bonding mode: load balancing (round-robin)
mii status: up
mii polling interval (ms): 0
up delay (ms): 0
down delay (ms): 0
slave interface: eth0
mii status: up
link failure count: 0
permanent hw addr: 00:1a:34:56:91:be
slave interface: eth1
mii status: up
link failure count: 0
permanent hw addr: 00:0a:eb:82:da:ab
下面我们测试一下路径切换,准备一台机器,采用ping的方式看链路情况。
然后在测试的机器上随便拔掉一根网线,看看情况,我的机器的情况是大约8秒的样子链路切换了,如果全部拔掉,然后随便插入一根网线,大约需要10秒的时间恢复链路。
4.后记
这个测试我在04年的12月份做过测试,不过是在我的笔记本上测试的,一块网卡是8139的,另外一块是讯驰的无线网卡,记过发现起动bond0时会死机。我不知道是不是无线网卡和有线网卡不能做这样的操作,不过我可以肯定的是如果即使这样bond0能起来,把链路切换到无线网卡上时,肯定会失败,因为无线网卡加入时需要验证。不过我想做这些配置应该是在服务器上,还没有谁在服务器上配置两个无线网卡吧!
()
下一篇:SNIFFER的含义和工作原理 >>
相关文章:
- · IE浏览器链接栏使用技巧四则
- · 计算机系统“死机”的原因及其预防方法
- · 打造Windows下的万能播放平台
- · 江民大型网络安全整体解决方案
- · 即时通讯安全问题大曝光
- · 管理员组获取系统权限的完美解决方案
- · SQL恢复XP_CMDSHLL,以及XPLOG70.DLL被删,直接用SQL连接器开启3389
- · 破解网络尖兵
- · 修改Win2000注册表以加强系统安全
- · Windows内置的事件查看器可解决系统故障
- · 对linux安全设置中需要注意和掌握的地方
- · Web网站安全需澄清五个误解
- · 认识动态链接库文件DLL
- · 破译天书!正则表达式学习心得体会
- · 通过例子来实现Split的理解
- · 关于系统文件(dll)丢失 错误的解决方法
- · Mysql的常用命令
- · 巧用INF文件修改注册表
- · 对计算机技术中的十个重要关系的剖析
- · 用CDlinux做防火墙和上网共享
- · 因地制宜:谈三种防火墙配置方案
- · ie二级网页打不开 复制粘贴不能用
- · 防患于未然:Windows安全小技巧两则
- · 做厚道小黑客的九大贴身秘技
- · QQ被封锁上不了线怎么办
- · 不让烦人程序自动启动
- · WinXP中自定义启动项目的顺序
- · 多系统告别启动菜单
- · 用HelixProducer实现局域网内现场直播
- · “夹心”网页你敢“吃”?
- · 家庭网络共享设备选购指南
- · 给陌生人的警告提示
- · 查看内存是否处于双通道模式
- · 妙用:让过期软件自己退出硬盘
- · SQL Server 中各个系统表的作用
- · Windows XP 超强syskey命令
- · 解决注册表被锁问题100%有效的办法
- · 如何给XP设置超级管理员密码
