Dell Unity: Sådan ændres LACP-trunk- eller bindingsbelastningsjusteringsalgoritmen (kan rettes af Dell)

Summary: LACP-trafik (Link Aggregation Control Protocol) afbalanceres for skrivninger til Unity SP'erne via en LACP-trunk eller -binding, men er ikke jævnt afbalanceret, når der sendes svar på læseanmodninger. ...

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

Under visse netværksforhold og miljøer bruger standardalgoritmen muligvis som standard en enkelt grænseflade.

Eksempler:

Når kildens MAC-adresse er den samme (aka når du bruger en router), vil MAC'en altid være den samme, og den port, der bruges til transmissioner, vil altid være den samme.

Under særlige omstændigheder kan forskellige MAC'er også resultere i den samme værdi.  
Hvis MAC'er f.eks. altid ender på et lige tal (0,2,4,6,8,A,C eller E), og der er to porte i LACP-trunken eller -bindingen, vil beregning af hashen også dirigere trafik gennem den samme port hver gang.

LACP-trunks eller obligationer viser, at trafikken ikke er afbalanceret, ved hjælp af en enkelt grænseflade i stedet for alle grænseflader jævnt.
Dette kan bekræftes på produktionsnetværket (af Network Switch SysAdmins) eller ved at se på det grafiske netværksdisplay i Unisphere under SYSTEM >Performance.


Ethernet-portbåndbredde
 
BEMÆRK: Dette kan også ses i 'netstat -i' output i serviceskallen.  

Cause

LACP på Unity bruger lag2 som standard "xmit_hash_policy".

Brug af Layer2+3 som "xmit_hash_policy" er beregnet til at give en mere afbalanceret fordeling af trafik end Layer2 alene, især i miljøer, hvor der kræves en Layer3-gatewayenhed for at nå de fleste destinationer.

Reference: https://www.kernel.org/doc/Documentation/networking/bonding.txtDette hyperlink fører dig til et websted uden for Dell Technologies.

Layer2 bruger XOR af hardware-MAC-adresser og pakketype-id-felt til at generere hashen.
Formlen er

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


Layer2+3 bruger en kombination af lag2- og lag3-protokoloplysninger til at generere hashen.
Hashen genereres ved hjælp af en kombination af XOR for hardware-MAC-adresserne og IP-adresserne.
Formlen er

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.


Både Layer2 og Layer2+3 er 802.3ad-kompatible.

Resolution

For Unity OE-kode 4.3 og derover:

Skift xmit_hash_policy med svc_network_bond kommando.
Dell Unity-serien™ version 4.3: Servicekommandoer Tekniske bemærkninger - side 74.
Brug:

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


Syntaksen ligner nedenstående eksempel:

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


De acceptable værdier for xmit_hash_policy er:


0 eller layer2 Standardindstilling
Denne parameter bruger XOR for hardware-MAC-adresser til at generere hashen.

1 eller lag3+4 Bruger protokoloplysninger i øverste lag (hvis tilgængelige) til at generere hashen.
Dette gør det muligt for trafik til et bestemt netværk peer at spænde over flere slaver, selvom en enkelt forbindelse ikke spænder over flere slaver.

2 eller layer2+3 Bruger en kombination af layer2- og layer3-protokoloplysninger til at generere hash - Mode 2- eller Layer2+3-algoritmen er 802.3ad-kompatibel.



For Unity OE-kode 4.2.3.9670635 og ældre:

Kontakt Dells kundeservice, og angiv dette KBA-nummer.

Til Unity OE-kode 5.3.x eller nyere
At foretage ændringen kræver ikke serviceskallen, og der kræves ingen genstart.
Her er et eksempel på indstilling af Unity-systemet i vores laboratoriums xmit_hash_policy.
Dette Unity-system er konfigureret med en LACP-trunk kendt som bond22.
SSH ind på Unity-systemet ved hjælp af servicekontoen.

Kontroller først, hvad dens xmit_hash_policy er indstillet til.

# 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
#

Indstil derefter xmit_hash_policy til 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.
#
Kontroller, om xmit_hash_policy var konfigureret til 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

BEMÆRK: Kommandolinjeværktøjerne netstat og arp Kræve, at Service Shell er aktiveret.


Eksempel 'netstat -i' output, som viser medlemmerne af en obligation og kan bruges til at bestemme, om trafik hashes.  
I dette eksempel består 'bond20' (LACP-bindingen) af grænsefladerne 'eth20' og 'eth21'.  
Bemærk forskellen i kolonnen TX-OK, som repræsenterer udgående trafik fra 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

Eksempel på output af 'arp' på service shell, som viser MAC-adresserne (HWaddress) for hver IP-adresse. 
Disse skal være forskellige, for at LACP nøjagtigt kan belastningsbalancere trafik på tværs af flere fysiske porte.  
Der er flere grænseflader, der skal filtreres efter den grænseflade, du bruger.  
Brug 'ip addr' for at finde "Iface", der er tildelt den IP-adresse, du vil undersøge.
 
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.