Link Aggregation (又名 Port Trunking) 可將多個物理 LAN Port 匯聚在一起,形成一個邏輯埠,可平衡各成員埠的 In/Out 流量吞吐量,並能提升傳輸頻寬。且能作為自動故障轉移與回復 (Auto-failover/failback),在任一埠出現故障時,將自動重新選取運作正常的路線傳送數據,當故障線路回復正常時,則會自動恢復。
簡單而言 Link Aggregation 的「提升頻寬」就是平日常聽見的將 2 條 1GbE LAN 線路合成,合共提供 2Gb 頻寬,讓整體的網絡傳輸速度提升一倍。這聽上去好像不錯,只需要連接上兩條 1 GbE LAN 線路就可以將網絡速度提升一倍,且雖然網速有 2Gbps 但仍然能沿用 1GbE 等級的設備,成本低、提升比例高。不過到底實際上又是什麼一回事呢 ?
其實以 Link Aggregation 來提升頻寬對於網絡設備的要求不低,需要所有線路上的設備皆支援 Link Aggregation 技術,即 Router 路由器、Switch 交換器和 NAS 網路附加儲存等等。但是,即使達到上述的要求,在單機傳輸的使用情況下,Link Aggregation 技術也很難可以真正達到 2Gbps 頻寬的效果。由於網絡的 7 層結構中,一個 Session 會在傳輸數據時被數據拆成多個小封包,並會於目的地再重新組合。以 TCP 傳輸為例,雖然 TCP 傳輸可檢測出封包次序及進行重組,但假如透過兩個物理鏈路來傳送 TCP 封包,就可能會出現無法重組的情況出現,所以很多時候都會要求同一個 Session 的封包必須在同一個物理鏈路傳輸,避免出錯,故以 2 條 1GbE LAN 組成的 2GbE 的聚合鏈路,並不會達到與原生 2Gbps 鏈路提供的高速效能,而只會在特定的情況下,才有可能把流量分配到兩個物理鏈路,達到 2Gbps 的速度。
此外 Link Aggregation 是以平衡多條線路的負載來達到提速效果,所以效能的提升在於頻寬上,在單一傳輸的速度並不會突破出原來單一線路提供的速度,如以 2 x 1Gbps 作聚合鏈路,其能提供 2Gbps 的總頻寬,而最高的單一傳輸速率依然為 1Gbps。那到底在什麼情況下,Link Aggregation 才會較易達到想要的效果呢 ?
Link Aggregation 連接設定
在 QNAP NAS 上,Port Trunking 功能可以支援 7 種模式,包括 balance-rr、activve-backup、balance-xor、broadcast、802.3ad dynamic、balance-tlb 和 balance-alb。當中部分模式需要 Switch 支援(如802.3ad)才能正常運作。因此在設定時,第一步將需選擇 Switch 的類型,然而設定頁面會引導你選擇普通 Switch 與網管型 Switch 支援不同的運作的模式。
而部份模式只提供容錯備援功能,即 Auto-failover,如 activve-backup、broadcast;另外的則同時包含負載平衡及容錯備援功能,如 balance-rr、balance-xor、802.3ad、balance-tlb 和 balance-alb;而每個模式都有不同的特點,所以在設定時,就要按需要選擇模式。
本篇文章的下部份將為 Link Aggregation 進行「提升頻寬」的實測,並將利用 QNAP TVS-872XT NAS @2 x 1GbE LAN Port、QNAP QSW-M804-4C 管理型 Switch 以及兩台 PC 進行實測。而在設定方面,需要在 NAS 與 Switch 上打開 LACP 設定,來提升網絡頻寬。
NAS 設定部份
NAS 設定部份
順序完成以上的 NAS 與 Switch 設定後,NAS 與 Switch 間的通道的頻寬已是 2Gb。
Link Aggregation 測試
本次測試將以 NAS 的 2 x 1Gbps LAN Port 輸出,並利用 Switch 以 LACP 將 2 條 LAN Port 聚合提升網絡頻寬。而在測試將會用上 iPerf 來檢測網絡的傳輸速度,觀察到底開啟 Link Aggregation 對網速與頻寬的影響,以及實際使用的效果。
1 PC 傳輸情況
不過大家可能會覺得開了 LACP 後,仍然只有 1Gbps 的速度,瓶頸位在於 PC 的 1 LAN Port。為此,大王將利用另一台支援 10 GbE LAN 的 PC 再進行測試。
由上述的測試可見,在僅有一台 PC 進行檔案存取的情況下,即使是支援 10GbE 的 PC 也只錄得 1GbE LAN 的速度 , 得出 Link Aggregation 並無帶來任何提升,與沒有開啟 LACP 的速度一樣。而且從 NAS 的資源監控中,可見 2 個開啟了 LACP 作為聚合的 LAN Port 只有一個有流量,故單 PC 情況並不能觸發到 Link Aggregation 的功能。
想要獲得藉由 Link Aggregation 技術帶來頻寬、網速大幅提升的效果,通常會在多台電腦同時存取、傳輸檔案時才會有較為顯注的效果。由於多台電腦存取檔案時,會讓整個網絡的負載大幅增加,再透過 Link Aggregation 將負載平衡、分擔至聚合的鏈路,使整體傳輸更為順暢、減少擠塞。如 2 台 PC 以 Samba 方式同時到 NAS 存取同一個檔案時,大家平均的傳輸速度為 500Mbps 左右 (1Gbps 網絡時),若果使用了 2 x 1GbE LAN 組成的 2GbE 的聚合鏈路,則能夠取得 1Gbps 以上的速度,而總傳輸頻寬亦會獲得接近一倍的提升。所以若真的要取得 LACP 鏈路聚合帶來的提升,則需要有 2 台 PC 或以上同取存取檔案時才有效果。
2 PC 同時傳輸情況
在 2 PC 的測試中,可見 2 部 PC 都能達到超過 1XX MB/s 的速度,總頻寬有接近 2Gbps,足足提升近一倍之多,而 NAS 的 2 條 LAN 亦平均負載,2 條合共提供 220MB/s 的傳輸速度。
就單個用戶端而言,即使使用 Link Aggregation 技術,NAS之傳輸速度依然會維持 Single Port 之速度,如:使用 2 x 1GbE LAN Port 作為鏈路聚合,雖然總頻寬已提升至 2Gbps,但網路速度仍會保持在 1Gbps。故在一般家用的實際使用下,根本不太會從中獲得顯注的效果,所以建議直接升級至 2.5GbE、5GbE 甚至 10GbE LAN 的網絡,直接提供原生高速速度 (如 2.5GbE LAN 在單一傳輸亦能享用 2.5Gbps 的傳輸速度、頻寬)。而現時支援 2.5GbE LAN 以上速度的裝置已經開始流行,如 Router、PC 主機板、NAS 和 Switch 等等,所以若果添購或升級相關新設備,記得留意產品有沒有支援 2.5GbE 或更高網速的 LAN Port。
總結
Link Aggregation 技術提供兩大主要用途,包括:「提升網絡頻寬」與「自動故障轉移」。對於「提升網絡頻寬」需求而言,若網絡中是多機共享使用的話,Link Aggregation 技術可以讓整體頻寬增加,提升傳輸放率。而若單純希望獲得更多頻寬,升級至 2.5 / 5 / 10GbE 會比較有效率,成功率更高,架設時也更輕鬆。
對於希望藉 Link Aggregation 來講求保險的話,當中的「自動故障轉移與回復 (Auto-failover/failback) 」的特性的確可以發揮很大的作用,可幫助伺服器的網絡線路進行熱切換並防止服務中斷,特別適合商用環境使用。
相關文章