
我有一台2530 Aruba 交換機,有4 個連接埠作為LACP 中繼,連接到QNAP,並有4 個NIC 配置為802.3ad 動態中繼當2 個客戶端嘗試將檔案寫入或複製到QNAP 時,每個客戶端都會獲得100 MB/s 的速度,因此聚合為工作正常,我可以在 QNAP 資源監視器中看到使用了兩個 NIC。但是,當兩個客戶端都嘗試從 QNAP 複製時,則僅使用一個 NIC,並且兩個客戶端都以 50 MB/s 的速度複製資料。
有什麼可能導致這種行為嗎?複製到 QNAP 速度很快且使用聚合,但從 QNAP 複製卻不是?
更新 1: - QNAP 的傳入流量分佈在多個 NIC(LACP 有效) - QNAP 的傳出流量始終只使用一個 NIC(LACP 無效)
更新2: 貓 /proc/net/bonding/bond0
綁定模式:IEEE 802.3ad 動態連結聚合 傳輸哈希策略:layer2+3 (2) 資訊產業部狀態:已啟動 MII 輪詢間隔(毫秒):100 上行延遲(毫秒):0 下行延遲(毫秒):0 802.3ad 訊息 LACP速率:慢 最少連結:0 聚合器選擇策略 (ad_select):穩定 從介面:eth2 資訊產業部狀態:已啟動 速度:1000 Mbps 複式:全 連結失敗次數:3 永久硬體位址:24:5e:be:27:e1:2b 從屬佇列ID:0 聚合器 ID:4 演員流失狀態:無 合作夥伴流失狀態:無 演員流失數量:1 合作夥伴流失數量:1 從介面:eth3 資訊產業部狀態:已啟動 速度:1000 Mbps 複式:全 連結失敗次數:3 永久硬體位址:24:5e:be:27:e1:2c 從屬佇列ID:0 聚合器 ID:4 演員流失狀態:無 合作夥伴流失狀態:無 演員流失數:0 合作夥伴流失數量:1
答案1
使用 LACP 的鏈路聚合始終嘗試將每個連接「固定」到單一 NIC,以避免封包重新排序。透過雜湊資料包的 MAC 和/或 IP 位址(有時還包括 TCP/UDP 連接埠)來選擇 NIC。這始終在「傳送」端完成 – 由 Aruba 交換器儲存檔案時完成;檢索文件時使用 QNAP。
連接埠選擇是確定性的-它不關心當前的負載/使用情況;相同的資料包標頭始終選擇相同的端口,並且兩個客戶端的資料包可能會獲得相同的雜湊值。
(特別是,當所有用戶端都位於路由器後面時,目標 MAC 位址將相同,並且始終散列到同一連接埠。)確保「雜湊策略」設定為「第 2+3 層 (MAC+IP)」 “如文件: