Dell Unity: Як змінити алгоритм балансування навантаження стовбура LACP або бонда (Dell Correctable)

Summary: Трафік Link Aggregation Control Protocol (LACP) збалансований для запису в SP Unity по магістралі 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 показують, що трафік не збалансований, використовуючи один інтерфейс замість усіх інтерфейсів рівномірно.
Це можна підтвердити в робочій мережі (за допомогою системних адміністраторів мережевого комутатора) або подивившись на графічне відображення мережі в Unisphere в розділі SYSTEM >Performance.


Пропускна здатність порту Ethernet
 
ПРИМІТКА. Це також можна побачити в 'netstat -i' вивід у сервісній оболонці.  

Cause

LACP на Unity використовує layer2 як свій стандартний «xmit_hash_policy».

Використання Layer2+3 як «xmit_hash_policy» призначене для забезпечення більш збалансованого розподілу трафіку, ніж лише рівень 2, особливо в середовищах, де для досягнення більшості пунктів призначення потрібен пристрій шлюзу рівня 3.

Довідка: https://www.kernel.org/doc/Documentation/networking/bonding.txtЦе гіперпосилання веде вас на веб-сайт за межами Dell Technologies.

Layer2 використовує XOR апаратних MAC-адрес та поле ID типу пакета для генерації хешу.
Формула має вигляд

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


Layer2+3 використовує комбінацію інформації протоколів layer2 і layer3 для генерації хешу.
Хеш генерується за допомогою комбінації XOR апаратних MAC-адрес та IP-адрес.
Формула має вигляд

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.


Обидва Layer2 і Layer2+3 відповідають стандарту 802.3ad.

Resolution

Для Unity OE Code 4.3 і вище:

Змініть xmit_hash_policy за допомогою кнопки svc_network_bond команда.
Dell Unity™ Family версії 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 Налаштування
за замовчуванням Цей параметр використовує XOR апаратних MAC-адрес для генерації хешу.

1 або layer3+4 використовує інформацію протоколу верхнього рівня (якщо доступно) для генерації хешу.
Це дозволяє трафіку до певного мережевого вузла охоплювати кілька підлеглих, хоча одне з'єднання не буде охоплювати кілька підлеглих.

2 або layer2+3 використовує комбінацію інформації протоколів layer2 і layer3 для генерації хешу - алгоритм Mode 2 або Layer2+3 сумісний з 802.3ad.



Для Unity OE Code 4.2.3.9670635 і старше:

Зверніться до служби підтримки клієнтів Dell і зверніться до цього номера KBA.

Для Unity Код OE 5.3.x або вище
Для внесення змін не потрібна сервісна оболонка, і перезавантаження не потрібне.
Ось приклад налаштування Unity Array у xmit_hash_policy нашої лабораторії.
Цей масив Unity налаштований за допомогою магістралі LACP, відомої як bond22.
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 Вимагають, щоб була ввімкнена сервісна оболонка.


Приклад 'netstat -i' output, який показує учасників зв'язку та може бути використаний для визначення, чи хешується трафік.  
У цьому прикладі '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' на сервісну оболонку, який показує MAC-адреси (HWaddress) для кожної IP-адреси. 
Вони повинні бути різними, щоб 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.