欢迎光临

木子屋

标题: 50元打造双网卡负载均衡服务器

作者: dnawo

日期: 2007-05-11 04:14 PM

分类: 服务器

内容: 　　前言：市面上现在天生支持绑定功能的网卡不多，而且多是出身名门的高档服务器网卡，身价不菲，设置过程也比较专业，使用和维护都不简便。难道我等平头百姓，攥着几十元的廉价8139的兄弟们就无缘领略双网卡绑定的快感了吗？非也，今天我就教大家一招，只需一款小小的软件，就可以用普通的8139之类的网卡体验一把双网卡绑定的愉悦，这个软件就叫做“NICExpress”，可能行家们已经捂着嘴乐了，呵呵，笔者的出发点是给菜鸟兄弟们排难解惑，穷办法自娱自乐，说得过火的地方，大家不要见笑，DIY的乐趣就在于此啊。
朋友或许会问了，为什么要用双网卡呢？用双网卡有什么好处？所谓双网卡，就是通过软件将双网卡绑定为一个IP地址，这个技术对于许多朋友来说并不陌生，许多高档服务器网卡（例如intel8255x系列、3COM服务器网卡等）都具有多网卡绑定功能，可以通过软硬件设置将两块或者多块网卡绑定在同一个IP地址上，使用起来就好象在使用一块网卡。
多网卡绑定的优点不少，首先，可以增大带宽，假如一个网卡的带宽是100M，理论上两块网卡就是200M，三块就是300M，当然实际上的效果是不会是这样简单的增加的，不过经实际测试使用多个网卡对于增加带宽，保持带宽的稳定性肯定是有裨益的，如果交换机等相关条件不错的话，这个效果还是很能令人满意；其次，可以形成网卡冗余阵列、分担负载，双网卡被绑定成“一块网卡”之后，同步一起工作，对服务器的访问流量被均衡分担到两块网卡上，这样每块网卡的负载压力就小多了，抗并发访问的能力提高，保证了服务器访问的稳定和畅快，当其中一块发生故障的时候，另一块立刻接管全部负载，过程是无缝的，服务不会中断，直到维修人员到来。
OK，现在就手把手的教大家如何用50元来打造出双网卡的效果！
先下载软件（点击这里下载NIC Express Enterprise），这是最新版本4.0，只有2.15M，软件的兼容性已经做得很好，支持win98/Me/2000/XP/2003。基本上支持目前市场上常见的各种网卡，百兆和千兆网卡都可以用来绑定，但是千万注意，最好用于绑定的网卡是完全相同的，至少也是基于同一芯片的，这样多块网卡才能合作得比较好。切记不要把10M网卡和100M网卡绑定在一起，那样根本起不到提升作用。
下载完软件，先不忙安装，咱们还是先准备好硬件。
第一部分：硬件安装
虽然，理论上讲绑定越多网卡在一起，最终效果提升就越明显，但是考虑到复杂程度，这里就以绑定双网卡为例进行说明，如果读者觉得好玩，兴致很高的话，按照下面方法愿意绑定多少就绑定多少个网卡，其实一般同一台服务器，绑定2－3块网卡也就够了，太多了，据说因为链路聚合的先天缺点，会过多占用服务器资源，反过来会影响服务器速度（关于这个我没实验，不过我觉得凡事都离不开物极必反的道理，适度最好）。
我取出“珍藏”的一对市场上随处可见的8139D10M/100M自适应网卡，市场价格25元一个，北京某厂的产品，做工还算精细，总成本50元人民币。
然后，抱出笔者的一台私有服务器，呵呵，虽然破旧一点，不过可是立功不小啊，上面现在运行着FTP、MAIL等服务，几百个朋友的EMAIL都是通过它来传递的啊。配置情况为intel810主板（集成显卡）＋256MSD内存＋10GIDE硬盘（系统盘）＋120GIDE硬盘（存放互联网垃圾）。系统软件是windows2000高级服务器版。
废话少说，开干，打开服务器机箱，把两块网卡拧在主板PCI插槽上，拧好了，看看还不错。
再从后面看看效果。
拿出珍藏的10M－8口集线器，哈哈，别笑话，我手头只有这个，能说清楚方法就可以了，如果是读者自己DIY，请务必选一台好的交换机，至少要10/100M自适应的，这是网络通畅的关键，别象我把100M网卡连在10M集线器上，那速度怎么也好不了啊。做几条网线，把集线器、网卡连接起来，集线器连入上级交换机，因为是在家里实验，所以，我就把集线器的Uplink口连入家用路由器的任意一个网口里，路由器则连入我家ADSL“大猫”。
至此，硬件部分安装完毕。就这么简单。
第二部分：设置调试
下面要进行设置及调试了，也就是要将这两块8139D廉价网卡，如同高档服务器网卡那样绑定在一起，使用同一个IP地址，同时同步工作。其过程并不复杂，估计20分钟足够了。
将刚刚下载的NIC Express软件的安装包NIC4.rar解压缩得到安装文件“NICExpressW2KEE.exe”，双击它启动安装程序，一路NEXT，软件提示输入unlock key（注册码），如果没有注册码，就只好点击Demo，选择试用，这样可以获得30天的免费试用期，在这30天里如果觉得不错，你可以想办法去弄一个注册码（怎么弄？找小编问，他可能有，哈哈）。
到下图所示界面，软件提示选择是否开启LOAD Balancing 功能？什么是LOAD Balancing 功能呢？LOAD Balancing的中文意思可以翻译为负载均衡，在这里就是网络负载均衡。也就是当多块网卡被绑定合一之后，当数据流量很大的时候，软件会自动调整，将数据流量负载均衡地分配到各个网卡上，以减轻单块网卡的压力，达到畅快的访问效果。我们绑定双网卡，其中目的之一就是为了实现负载均衡，我们自然要开启这个功能，所以，在这里一定要选择“Enabled”。当然，如果你在这里选择错了也没关系，今后也可以通过NIC Express软件管理界面开启。
继续一路NEXT，在Windows XP里安装时如果遇到提示“NIC Express Virtual Miniport”没有通过Windows测试，无法验证它同Windows XP的相容性，不要理会，选择“仍然继续”就行了。
到了下图所示界面，就到了真正绑定网卡的时候了：
大家看到这个界面一共分为上、中、下，三个窗口，上面的是空白，中间的写着8139-2，这个8139-2是我自己起的绑定之后的网卡组的名称，原来这里默认写的是New array，也可以不修改，你也可以根据自己喜好，写成别的名字。在最下面的窗口里列出了目前服务器上安装的两块网卡的名字。我们下一步就是要用鼠标选中下面的两块网卡名字，然后点击界面中间的Add键，把两块网卡加入上面的窗口里，这样两块网卡就这样被加入了网卡组里，初步绑定成一块“网卡”了，今后可以使用同一个IP地址了。
点击OK继续，NIC Express出现一个配置界面，选项很多，但是不必太操心，因为这些配置都不必修改，使用默认值就可以了，直接点击OK、点击Finish完成安装进程。至此软件安装基本结束，剩下就需要对软件和网卡进行一些必要的设置工作。
点击桌面“开始”菜单，选择执行菜单里的“NIC Express Enterprise Edition”选项，这是NIC Express软件自带的一个监控程序，首先点击“setting”选项，在这里可以设置网卡流量计量单位，可以按照Packets/Sec、Mbits/Sec、Kbits/Sec三种单位来计算，一般都是使用默认的Mbits/Sec来计算，也就是兆/每秒，其实在这里只需要修改一下“Graph Detail（图形显示）”即可，将默认的“By Protocol”改成“By Incoming/Outgoing”，别的不需要改。
如果你想分别观察绑定组中每块网卡的流量或者整个组的流量，只需在“Select Device”选项中选择一下设备即可。最后点击“Advanced”选项，设定网卡绑定的工作模式，在这里也可以点击“Load Balancing Disable”来关闭网卡负载均衡功能。使用NIC Express绑定的双网卡组默认工作于“NIC Express ELB”模式下，这是NIC Express所特有的一种工作模式，实际效果很好。我们都知道利用昂贵的Intel PROSET绑定的Intel 8255x的组合是运行在“802.3ad”工作模式下的，这一模式在NIC Express中也可以选择，但是多数使用者在实际使用后都认为“NIC Express ELB”模式的效果优于“802.3ad”模式，大家今后可以自己实践测试比较一下。如果你也使用默认的“NIC Express ELB”模式，那么“Advanced”选项里也就不用改什么，一切默认即可。至此NIC Express的设置结束。
第三部分：“虚拟网卡”设定
最后还要看看网卡的设置，用鼠标在桌面“网上邻居”上点击右键弹出“网络和拨号连接”窗口，可以看到原来的两个网卡连接图标已经变成了三个，多出来的一个图标就是“NIC Express Virtual Adapter”，这个就是绑定后的网卡组，这个网卡组的使用和使用单一网卡完全一样，相当于一个单一的“虚拟网卡”。
用鼠标在这个图标上点击右键选择属性，可以为这个“虚拟网卡”设定IP地址、子网掩码、网关等等，其实在安装“NIC Express”过程中，如果服务器原来的单一网卡已经设置了这些，那么“虚拟网卡”就会自动设定和原来的网卡一样。在这里选择“NIC Express Transport for Ethernet”还可以自由对网卡绑定组进行调整，例如，减少或者加入一块网卡，这个较之Intel PROSET要方便许多，Intel PROSET在增加或者减少绑定组里的网卡之前必须删除原来的绑定组然后重新创建。
好了，好了，至此一切都已经做好，我们的服务器已经成为一台地地道道的“双网卡冗余服务器”了，我们来运行一下，看看表现。
第四部分：测试双网卡绑定后的效果
检查一下线路，前面说过两块网卡已经用网线连入10M集线器（这就相当于机房机柜里的百兆交换机），集线器的Uplink口连入了家用路由器的任意一个网口，路由器通过ADSL大猫接入互联网（北京512K包月ADSL），这样服务器就已经和互联网连通了，按下Power键启动服务器，由于服务器里面已经安装了动态域名软件，服务器启动之后，很快与国际域名www.usacase.com连接到一起（具体过程请看不久前发表在太平洋网站的《绝对疯狂!1G容量的邮件服务器自己打造》），这时只要访问www.usacase.com域名，即可从世界各地访问到我的服务器了，我让上海的一个朋友用FTP软件登陆这台“双网卡冗余服务器”，下载一个50M的压缩文件包。嚯，只见服务器上的两块8139D网卡的指示灯同时闪烁起来，闪烁的频率完全同步，煞是好看！
再看那台古董级10M集线器，两个接上网卡的接口指示灯也是飞快同步闪烁，说明两块网卡在同步工作，同时分担访问的流量。上海的朋友说感觉速度不错，毕竟只是512K的ADSL，也仅能看看网卡同步闪烁的美丽效果了。
然后，我又在局域网里进行了传输实验，因为有那个10M集线器的瓶颈，所以效果不是很好，但是也能看出一些明显改善。从局域网另一台使用单个杂牌10M8029网卡的电脑上通过网上邻居访问已经用NIC Express绑定了双8139D网卡的服务器，传输200M文件，通过“NIC Express Enterprise Edition”中的曲线监控图观察到，双网卡绑定组的传输速率从8M/s起步，最高达到8.2M/s，两机之间平均传输速率比较稳定，偶尔有大幅度的波动，是软件正在调整两块网卡的负载均衡，只有零点几秒就恢复正常，基本稳定在7.5－8M/s左右，已经接近那个10M集线器的最大传输极限。之后，从服务器上删除一块网卡，再进行两机传输实验，发现传输最高速率已经骤然减少到5M/s，而且传输过程中速率上下波动很大，平均传输速率也就3M/s左右，可见前后差异还是很明显的。
现在这台绑定了双网卡的服务器正在白天黑夜不停机地运行着，大家可以通过www.usacase.com或者mail.usacase.com访问体验一下，上面运行的就是我在《绝对疯狂!1G容量的邮件服务器自己打造》一文中提到的邮局程序，任何朋友都可以上去申请免费的百兆邮箱，体验一下“唐华牌”双网卡冗余服务器的性能（嘿嘿，其实你也感觉不出什么）。
最后说几句，作为本文的总结和补充：
1、经过实际使用，我发现使用NIC Express绑定的双网卡组运行的稳定性很好，没有出现过什么软件的冲突，我的一个朋友已经把它应用到自己的电信托管服务器上，运行了半年多了，也很稳定；
2、理论上讲NIC Express绑定的网卡越多，效果提升应该越明显，如果可能大家可以自己动手绑定3块、4块网卡试试，不过切记使用的网卡最好是一个品牌一个型号；
3、NIC Express最初被老鸟们拿来玩的时候，并没有想到应用在服务器上做网卡冗余阵列，大家多是把局域网内的几台电脑同时都绑定双网卡，这样各个电脑之间的传输速率和传输稳定性获得了明显的提升，后来大家发现只要其中一台电脑使用NIC Express绑定了双网卡组，其他使用单网卡的电脑访问这台有网卡绑定组的电脑，也能获得传输速率和稳定性的改善，于是我才想到将这个技术应用到服务器上。
4、我个人认为使用NIC Express绑定多网卡，在当今这个数据时代具有一定的实际意义，无论是对于互联网服务器还是局域网服务器的用户都有启发，当我们为服务器绑定多网卡形成阵列之后，不仅可以扩大服务器的网络带宽，而且可以有效均衡负载和提高容错能力，避免服务器出现传输瓶颈或者因某块网卡故障而停止服务。
5、也许你会说，在当今千兆网卡早已普及的时代，还费劲绑定几块百兆网卡做什么？其实绑定多网卡的目的并不是仅仅为了提高带宽，这样做还有一个最大的优点就是多块网卡可以有效增强服务器的负载承受能力和冗余容错能力。也许你也经历过，当使用单块10M/100M网卡在局域网里拷贝1G以上大文件的时候，经常会出现电脑停止响应，或者速度奇慢接近死机的情况，当多网卡绑定之后，这种情况会得到明显改善。
6、大家再想想，如果绑定的不是几块百兆网卡，而是几块千兆网卡，会是什么局面？想不想试试？让我们一起来DIY迎接万兆时代的到来吧（呵呵，豪言壮语是DIY一族的痼疾，请大家不要见笑）。

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.707 ms

返回

标题: 50元打造双网卡负载均衡服务器

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.707 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.738 ms

返回