Dell Unity: Zmiana algorytmu równoważenia obciążenia łącza LACP lub wiązania (z możliwością naprawienia przez firmę Dell)

Summary: Ruch protokołu LACP (Link Aggregation Control Protocol) jest zrównoważony w przypadku zapisu do SP Unity za pośrednictwem łącza trunkingowego lub wiązania LACP, ale nie jest równomiernie zrównoważony, gdy odpowiedzi są wysyłane do żądań odczytu. ...

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

W pewnych warunkach sieciowych i środowiskach domyślny algorytm może domyślnie używać jednego interfejsu.

Przykłady:

Gdy źródłowy adres MAC jest taki sam (np. w przypadku korzystania z routera), adres MAC będzie zawsze taki sam, a port używany do transmisji będzie zawsze taki sam.

Ponadto, w szczególnych okolicznościach, różne adresy MAC mogą również dawać tę samą wartość.  
Na przykład, jeśli adresy MAC zawsze kończą się liczbą parzystą (0,2,4,6,8,A,C lub E) i istnieją dwa porty w magistrali lub wiązaniu LACP, obliczenie skrótu spowoduje skierowanie ruchu przez ten sam port za każdym razem.

Łącza lub powiązania LACP pokazują, że ruch nie jest zrównoważony, korzystając z jednego interfejsu zamiast wszystkich interfejsów równomiernie.
Można to potwierdzić w sieci produkcyjnej (za pomocą narzędzia SysAdmin przełącznika sieciowego) lub patrząc na graficzny wyświetlacz sieciowy w Unisphere w sekcji SYSTEM >Performance.


Przepustowość portu Ethernet
 
UWAGA: Widać to również w 'netstat -i' Dane wyjściowe w powłoce usługi.  

Cause

LACP w Unity używa layer2 jako domyślnego "xmit_hash_policy".

Użycie warstwy 2+3 jako "xmit_hash_policy" ma na celu zapewnienie bardziej zrównoważonej dystrybucji ruchu niż sama warstwa 2, szczególnie w środowiskach, w których urządzenie bramy warstwy 3 jest wymagane do dotarcia do większości miejsc docelowych.

Numer referencyjny: https://www.kernel.org/doc/Documentation/networking/bonding.txtKliknięcie tego hiperłącza powoduje wyświetlenie strony spoza witryny Dell Technologies.

Warstwa 2 używa XOR sprzętowych adresów MAC i pola identyfikatora typu pakietu do wygenerowania skrótu.
Wzór jest następujący:

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


Warstwa 2+3 używa kombinacji informacji o protokole warstwy 2 i warstwy 3 do wygenerowania skrótu.
Skrót jest generowany przy użyciu kombinacji XOR sprzętowych adresów MAC i adresów IP.
Wzór jest następujący:

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.


Zarówno warstwa 2, jak i warstwa 2+3 są zgodne ze standardem 802.3ad.

Resolution

W przypadku Unity OE Code 4.3 i nowszych:

Zmień parametr xmit_hash_policy z svc_network_bond polecenie.
Rodzina Dell Unity™ w wersji 4.3: Polecenia serwisowe — uwagi techniczne — strona 74.
Zwyczaj:

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


Składnia byłaby podobna do poniższego przykładu:

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


Dopuszczalne wartości dla xmit_hash_policy są:


0 lub layer2 Ustawienie
domyślne: ten parametr używa XOR sprzętowych adresów MAC do wygenerowania skrótu.

1 lub layer3+4 Używa informacji o protokole górnej warstwy (jeśli są dostępne) do wygenerowania skrótu.
Pozwala to na to, aby ruch do określonego peera sieci obejmował wiele urządzeń podrzędnych, chociaż pojedyncze połączenie nie obejmie wielu urządzeń podrzędnych.

2 lub layer2+3 Używa kombinacji informacji o protokole warstw2 i warstwy3 do wygenerowania skrótu — algorytm Mode 2 lub Layer2+3 jest zgodny ze standardem 802.3ad.



W przypadku kodu Unity OE 4.2.3.9670635 i starszych:

Skontaktuj się z działem obsługi klienta firmy Dell i powołaj się na ten numer artykułu bazy wiedzy.

W przypadku kodu Unity OE 5.3.x lub nowszego
Wprowadzenie zmiany nie wymaga powłoki usługi i nie jest wymagane ponowne uruchomienie.
Oto przykład ustawiania macierzy Unity w xmit_hash_policy naszego laboratorium.
Macierz Unity jest skonfigurowana z łączem LACP znanym jako bond22.
Połącz się z macierzą Unity za pomocą SSH przy użyciu konta usługi.

Najpierw sprawdź, na co jest ustawiony jego 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
#

Następnie ustaw xmit_hash_policy na 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.
#
Sprawdź, czy xmit_hash_policy ustawiono na wartość 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

UWAGA: Narzędzia wiersza poleceń netstat i arp Wymagaj włączenia powłoki usług.


Przykład 'netstat -i' output, który pokazuje elementy członkowskie powiązania i może służyć do określenia, czy ruch jest haszowany.  
W tym przykładzie 'bond20' (wiązanie LACP) składa się z interfejsów 'eth20' i 'eth21'.  
Zwróć uwagę na różnicę w kolumnie TX-OK, która reprezentuje ruch wychodzący z aparatu 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

Przykładowy wynik "arp" w powłoce usługi, który pokazuje adresy MAC (HWaddress) dla każdego adresu IP. 
Powinny one wyglądać inaczej w przypadku protokołu LACP, aby dokładnie równoważyć obciążenie ruchu na wielu portach fizycznych.  
Istnieje kilka interfejsów, które należy filtrować według używanego interfejsu.  
Użyj 'ip addr' , aby znaleźć "Iface", który jest przypisany do adresu IP, który chcesz zbadać.
 
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.