
交換機鏈路聚合(LACP)原理與配置實例
一、為什麼需要鏈路聚合
兩台交換機之間用單根線纜連接,存在兩個問題:頻寬受限、單點故障。鏈路聚合(Link Aggregation)把多條物理鏈路捆綁成一個邏輯鏈路,同時解決這兩點:
- 頻寬疊加:4 條千兆鏈路聚合,邏輯頻寬達 4Gbps
- 可靠性提升:任一條成員鏈路中斷,流量自動切換到其餘鏈路,業務不中斷
- 避免環路:聚合後的邏輯埠在生成樹中視為單一鏈路,不會形成環路
LACP(Link Aggregation Control Protocol,IEEE 802.3ad)是在聚合基礎上增加協議協商,讓兩端自動協商成員鏈路狀態,比純手工聚合更可靠。
二、兩種聚合模式
| 模式 | 說明 | 適用場景 |
|---|---|---|
| 手工負載分擔 | 不協商,強制聚合 | 對端不支援 LACP 時 |
| 靜態 LACP | 由 LACP 協商,成員埠狀態受協議控制 | 主流推薦 |
靜態 LACP 的優勢:對端鏈路異常時能自動感知並剔除,而手工模式可能出現「半通」狀態。
三、配置實例(以華為 S 系列為例)
場景:將交換機的 GE0/0/1~GE0/0/3 三條鏈路聚合,連接對端交換機。
```
[Switch] interface Eth-Trunk 1
[Switch-Eth-Trunk1] mode lacp-static
[Switch-Eth-Trunk1] quit
[Switch] interface GigabitEthernet 0/0/1
[Switch-GigabitEthernet0/0/1] eth-trunk 1
[Switch-GigabitEthernet0/0/1] quit
[Switch] interface GigabitEthernet 0/0/2
[Switch-GigabitEthernet0/0/2] eth-trunk 1
[Switch-GigabitEthernet0/0/2] quit
[Switch] interface GigabitEthernet 0/0/3
[Switch-GigabitEthernet0/0/3] eth-trunk 1
[Switch-GigabitEthernet0/0/3] quit
```
將聚合埠配置為 Trunk 承載多 VLAN:
```
[Switch] interface Eth-Trunk 1
[Switch-Eth-Trunk1] port link-type trunk
[Switch-Eth-Trunk1] port trunk allow-pass vlan 10 20 30
[Switch-Eth-Trunk1] quit
```
驗證:
```
display eth-trunk 1 // 查看聚合組狀態與成員埠
display lacp peer // 查看 LACP 對端協商資訊
```
成員埠狀態應顯示為 `Selected`;若為 `Unselected`,代表該鏈路未被納入轉發。
四、負載分擔演算法
聚合後的流量如何分配到成員鏈路,由雜湊演算法決定:
```
[Switch-Eth-Trunk1] load-balance src-dst-mac
```
常見選項:`src-ip`、`dst-ip`、`src-dst-ip`、`src-dst-mac`。
關鍵認知:鏈路聚合是「多條鏈路分擔多個流」,不是「單一流量獲得疊加頻寬」。一條 TCP 連線的流量仍只走其中一條成員鏈路。因此單一大流量場景下,聚合不會提升該連線的速度——這是最常見的誤解。
五、配置要點與常見坑
1. 成員埠必須一致
速率、雙工、VLAN 配置必須相同。速率不一致的埠無法加入同一聚合組。
2. 對端配置必須匹配
兩端都要配置聚合,且模式一致。一端手工、一端 LACP 會導致協商失敗。
3. 數量與編號
Eth-Trunk 編號需在兩端一致(非強制但便於維護)。成員埠數量不宜過多,注意設備型號的規格上限。
4. 別把聚合埠當成環路保護
聚合保護的是「成員鏈路故障」,不是「設備故障」。設備級冗餘仍需配合堆疊、VRRP 或雙上聯。
5. 變更時逐條操作
增加或移除成員埠時,注意流量瞬時重哈希可能造成的短暫抖動,盡量安排在維護窗口。
六、小結
鏈路聚合是高可用網絡設計的基礎元件,但它的收益建立在正確配置之上。上線前務必驗證成員埠狀態、做一次拔線測試確認切換正常,並明確它解決的是「鏈路冗餘」而非「頻寬無限疊加」。
說明:本文為技術交流與經驗分享,實作時請以設備原廠技術資料與現場環境為準;涉及維修與變更操作,建議由具備相關經驗的工程人員執行。
