Linux 服務器雙網卡 bond(802.3ad)+交換機 LACP 配置
一、LACP 原理
1. 基本概念
LACP(Link Aggregation Control Protocol)是 IEEE 802.3ad 標準的一個子協議,它提供了一種將多個物理鏈路捆綁成一個邏輯鏈路的方法。
2. 工作原理
協議交互:
- LACP 通過發送 LACPDU(LACP Data Unit)數據包進行協商
- 兩端設備互相交換系統優先級、系統MAC、端口優先級、端口號等信息
- 每秒(FAST)或30秒(SLOW)發送一次 LACPDU
負載均衡:
- 基于源MAC地址、目標MAC地址、源IP、目標IP或TCP/UDP端口進行流量分發
- 確保同一數據流始終通過同一物理鏈路傳輸,避免報文亂序
3. 優勢
- 提高帶寬:多條物理鏈路共同工作
- 鏈路冗余:單條鏈路故障不影響整體通信
- 負載均衡:流量分散到多條物理鏈路
- 自動協商:動態檢測鏈路狀態并自動調整
二、配置示例
1. Linux 服務器配置
Netplan 配置(Ubuntu 22.04):
network:
version: 2
renderer: networkd
ethernets:
eno1:
dhcp4: no
dhcp6: no
eno2:
dhcp4: no
dhcp6: no
bonds:
bond0:
interfaces: [eno1, eno2]
parameters:
mode: 802.3ad
lacp-rate: fast
transmit-hash-policy: layer3+4
mii-monitor-interval: 100
addresses:
- 192.168.1.100/24
routes:
- to: default
via: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 114.114.114.114]
2. 交換機配置示例
Cisco 交換機:
interface range GigabitEthernet1/0/1-2
description LACP-to-Server
switchport mode trunk
channel-group 1 mode active
!
interface Port-channel1
description LACP-Channel
switchport mode trunk
H3C 交換機:
interface Bridge-Aggregation 1
description LACP-Channel
link-aggregation mode dynamic
!
interface GigabitEthernet1/0/1
port link-aggregation group 1
!
interface GigabitEthernet1/0/2
port link-aggregation group 1
三、注意事項
1. 配置要求
- 確保參與聚合的網卡速率相同
- 交換機端口配置必須一致(速率、雙工、VLAN等)
- 建議使用同型號網卡進行聚合
2. 性能優化
選擇合適的傳輸哈希策略(transmit-hash-policy):
- layer2:基于MAC地址
- layer3+4:基于IP+端口(推薦)
- layer2+3:基于MAC+IP
調整 LACP 更新速率(lacp-rate):
- fast:每秒更新
- slow:每30秒更新
3. 監控和維護
定期檢查鏈路狀態:
cat /proc/net/bonding/bond0
4. 常見問題
確保內核加載 bonding 模塊:
modprobe bonding
檢查系統日志排查問題:
journalctl -u systemd-networkd
四、總結
LACP鏈路聚合技術通過鏈路冗余、負載均衡、熱插拔支持及靈活配置等核心優勢,可顯著提升網絡可靠性,適用于數據中心服務器連接、高可用集群節點互通、大帶寬應用服務器及核心網絡設備互聯等場景。采用LACP動態聚合模式,結合實際流量特性優化哈希策略,部署鏈路狀態監控告警機制,并定期執行鏈路健康檢測與維護,從而構建高可用、高性能的網絡基礎設施,為業務系統提供持續穩定的底層支持。