打造雙網卡負載平衡伺服器(提高上傳下載效率)[copy]

來源:互聯網
上載者:User
打造雙網卡負載平衡伺服器(提高上傳下載效率)
打造雙網卡負載平衡伺服器(提高上傳下載效率)
作者:★子衿 文章來源:本站原創 點擊數:517 更新時間:2005-9-20

[轉]打造雙網卡負載平衡伺服器
市面上現在天生支援綁定功能的網卡不多,而且多是出身名門的高檔伺服器網卡,身價不菲,設定過程也比較專業,使用和維護都不簡便。難道我等平頭百姓,攥著幾十元的廉價8139的兄弟們就無緣領略雙網卡綁定的快感了嗎?非也,今天我就教大家一招,只需一款小小的軟體,就可以用普通的8139之類的網卡體驗一把雙網卡綁定的愉悅,這個軟體就叫做“NICExpress”,可能行家們已經捂著嘴樂了,呵呵,筆者的出發點是給菜鳥兄弟們排難解惑,窮辦法自娛自樂,說得過火的地方,大家不要見笑,DIY的樂趣就在於此啊。

  朋友或許會問了,為什麼要用雙網卡呢?用雙網卡有什麼好處?所謂雙網卡,就是通過軟體將雙網卡綁定為一個IP地址,這個技術對於許多朋友來說並不陌生,許多高檔伺服器網卡(例如intel8255x系列、3COM伺服器網卡等)都具有多網卡綁定功能,可以通過軟硬體設定將兩塊或者多塊網卡綁定在同一個IP地址上,使用起來就好象在使用一塊網卡。

多網卡綁定的優點不少,首先,可以增大頻寬,假如一個網卡的頻寬是100M,理論上兩塊網卡就是200M,三塊就是300M,當然實際上的效果是不會是這樣簡單的增加的,不過經實際測試使用多個網卡對於增加頻寬,保持頻寬的穩定性肯定是有裨益的,如果交換器等相關條件不錯的話,這個效果還是很能令人滿意;其次,可以形成網卡冗餘陣列、分擔負載,雙網卡被綁定成“一塊網卡”之後,同步一起工作,對伺服器的訪問流量被均衡分擔到兩塊網卡上,這樣每塊網卡的負載壓力就小多了,抗並發訪問的能力提高,保證了伺服器訪問的穩定和暢快,當其中一塊發生故障的時候,另一塊立刻接管全部負載,過程是無縫的,服務不會中斷,直到維修人員到來。

  OK,現在就手把手的教大家如何用50元來打造出雙網卡的效果!

  先下載軟體(點擊這裡下載),這是最新版本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迎接萬兆時代的到來吧。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.