Dell Unity:如何變更 LACP 中繼或繫結負載平衡演算法 (Dell 可修正)

Summary: 對於透過 LACP 中繼或搭接的 Unity SP 寫入,連結聚合控制通訊協定 (LACP) 流量會保持平衡,但在傳送讀取要求的回應時,流量不會平衡。

This article applies to This article does not apply to This article is not tied to any specific product. Not all product versions are identified in this article.

Symptoms

在某些網路條件和環境下,預設演算法可能預設為使用單一介面。

例如:

當源 MAC 位址相同時(即使用路由器時),MAC 將始終相同,用於傳輸的埠將始終相同。

此外,在特殊情況下,不同的 MAC 也可能導致相同的值。  
例如,如果 MAC 始終以偶數(0、2、4、6、8、A、C 或 E)結尾,並且 LACP 中繼或綁定中有兩個埠,則哈希計算也會每次將流量定向到同一埠。

LACP 中繼或綁定顯示流量不平衡,使用單個介面而不是均勻地使用所有介面。
您可以在生產網路上 (透過網路交換器 SysAdmins),或在 Unisphere 的「系統 >效能」底下查看圖形網路顯示器來確認。


乙太網路連接埠頻寬
 
注意:這也可以在”netstat -i' 服務外殼中的輸出。  

Cause

Unity 上的 LACP 使用第 2 層作為其預設的「xmit_hash_policy」。

使用 第 2+3 層 作為“xmit_hash_policy”旨在提供比單獨第 2 層更平衡的流量分佈,尤其是在需要第 3 層網關設備才能到達大多數目的地的環境中。

參考:https://www.kernel.org/doc/Documentation/networking/bonding.txt此超連結會帶您前往 Dell Technologies 以外的網站。

Layer2 使用硬體 MAC 位址和數據包類型 ID 欄位的 XOR 來生成哈希。
公式為

hash = source MAC XOR destination MAC XOR packet type ID
slave number = hash modulo slave count.


第 2+3 層 使用第 2 層和第 3 層協定資訊的組合來生成哈希。
雜湊是使用硬體 MAC 位址和 IP 位址的 XOR 組合產生。
公式為

hash = source MAC XOR destination MAC XOR packet type ID
hash = hash XOR source IP XOR destination IP
hash = hash XOR (hash RSHIFT 16)
hash = hash XOR (hash RSHIFT 8)
And then hash is reduced modulo slave count.


第 2 層和第 2+3 層都符合 802.3ad 規範。

Resolution

若為 Unity OE 代碼 4.3 及更新版本:

變更 xmit_hash_policy svc_network_bond 令。
Dell Unity™ 系列 4.3 版:服務命令技術備註 - 第 74 頁。
用法:

 svc_network_bond [-h|--help] -d <device> {-s -o <option> -v <value>} {-g [-o <option>]}


語法類似於以下範例:

service@(none) spb:~> svc_network_bond -s -d bond23 -o xmit_hash_policy -v 2


的可接受值 xmit_hash_policy 是:


0 或 layer2 預設 設定
此參數使用硬體 MAC 位址的 XOR 來產生雜湊。

1 或第 3+4 層 使用 上層協議資訊(如果可用)生成哈希。
這允許流向特定網路對等體的流量跨越多個從站,儘管單個連接不會跨越多個從站。

2 或第 2+3 層 使用 第 2 層和第 3 層協定資訊的組合來生成哈希 - 模式 2 或第 2+3 層演演演算法符合 802.3ad 規範。



若為 Unity OE 代碼 4.2.3.9670635 及更舊版本:

請聯絡 Dell 客戶服務,並參考此 KBA 號碼。

適用於 Unity OE 代碼 5.3.x 或更新版本
進行變更時,不需要使用服務殼層,也不需要重新開機。
以下是在我們實驗室xmit_hash_policy中設定 Unity 陣列的範例。
此 Unity 陣列配置了稱為 bond22 的 LACP 中繼。
使用服務帳戶透過 SSH 進入 Unity 陣列。

首先,檢查其xmit_hash_policy的設置。

# svc_network_bond --get --device bond22 -o xmit_hash_policy
INFO: Selected device: bond22
INFO: Option to show: xmit_hash_policy
INFO: Execution code: 0
xmit_hash_policy=0
#

接著,將 xmit_hash_policy 設為 2
# svc_network_bond --set --device bond22 -o xmit_hash_policy -v 2
INFO: Selected device: bond22
INFO: Option to modify: xmit_hash_policy
INFO: Requested value: 2
WARNING: Do you want to proceed? [yes/no]: yes   <<<<<< sometimes y works and sometimes it fails on the first attempts. Retry then.
INFO: Execution code: 0
INFO: Option 'xmit_hash_policy' has been successfully changed.
#
檢查xmit_hash_policy是否設定為 2
# svc_network_bond --get --device bond22 -o xmit_hash_policy
INFO: Selected device: bond22
INFO: Option to show: xmit_hash_policy
INFO: Execution code: 0
xmit_hash_policy=2
#

Additional Information

注意:命令列公用程式 netstat arp 需要啟用 Service Shell。


範例 'netstat -i' 輸出,顯示綁定的成員,可用於確定是否正在對流量進行哈希處理。  
在此示例中,“bond20”(LACP 綁定)由介面“eth20”和“eth21”組成。  
請注意“TX-OK”列中的差異,該列表示來自 Unity 的出站流量。
 

21:12:03 service@(none) spb:~> netstat -i
Kernel Interface table
Iface   MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
bond20     9000   0 101724658      0     11      0 126087418      0      0      0 BMmRU
cmin0      9000   0 14341258      0      0      0 11301712      0      0      0 BMRU
eth2       1500   0        0      0      0      0        0      0      0      0 BMU
eth3       1500   0        0      0      0      0        0      0      0      0 BMU
eth10      1500   0        0      0      0      0        0      0      0      0 BMU
eth11      1500   0        0      0      0      0        0      0      0      0 BMU
eth12      1500   0        0      0      0      0        0      0      0      0 BMU
eth13      1500   0        0      0      0      0        0      0      0      0 BMU
eth20      9000   0 52249885      0      1      0    38317      0      0      0 BMsRU
eth21      9000   0 49474773      0     10      0 126049101      0      0      0 BMsRU
eth22      1500   0        0      0      0      0        0      0      0      0 BMU
eth23      1500   0        0      0      0      0        0      0      0      0 BMU
eth_int    9000   0 14341055      0      0      0 11301598      0      0      0 BMRU
eve_br0    1500   0       16      0      0      0     3656      0      0      0 BMRU
lo        65536   0 963282566      0      0      0 963282566      0      0      0 LRU
mgmt       1500   0  1405994      0     64      0   360538      0      0      0 BMRU
mgmt_vdev  1500   0   356150      0     64      0   326216      0      0      0 BMRU
srm        1500   0   135650      0     64      0        5      0      0      0 BMRU
vetheve1   1500   0       16      0      0      0     3647      0      0      0 BMRU

arp」在 service shell 上的範例輸出,顯示每個 IP 位址的 MAC 位址 (HWaddress)。
這些應有所不同,LACP 才能在多個物理埠上準確負載平衡流量。  
有幾個介面必須按您正在使用的介面進行篩選。  
使用 'ip addr' 找到「Iface“,指派給您要調查的 IP 位址。
 
19:23:33 service@(none) spa:~> arp
Address                  HWtype  HWaddress           Flags Mask            Iface
10.98.25.61              ether   00:25:b5:02:01:fc   C                     bond20
10.98.25.60              ether   00:25:b5:02:00:1c   C                     bond20
10.98.25.70              ether   00:25:b5:02:00:dc   C                     bond20
10.98.25.63              ether   00:25:b5:02:01:8c   C                     bond20
10.98.25.65              ether   00:25:b5:02:01:6c   C                     bond20
10.98.25.62              ether   00:25:b5:02:01:dc   C                     bond20
10.98.25.64              ether   00:25:b5:02:01:9c   C                     bond20
10.98.25.67              ether   00:25:b5:02:01:0c   C                     bond20
10.98.25.66              ether   00:25:b5:02:01:7c   C                     bond20
10.98.25.59              ether   00:25:b5:02:00:0c   C                     bond20
peer                     ether   8e:92:80:4d:2d:02   C                     eth_int
10.98.25.69              ether   00:25:b5:02:00:fc   C                     bond20
10.98.25.1               ether   00:08:e3:ff:fd:90   C                     bond20
10.98.25.68              ether   00:25:b5:02:01:1c   C                     bond20

Affected Products

Dell EMC Unity Family

Products

Dell EMC Unity Family, VNXe2 Series
Article Properties
Article Number: 000034481
Article Type: Solution
Last Modified: 04 Jul 2025
Version:  6
Find answers to your questions from other Dell users
Support Services
Check if your device is covered by Support Services.