Dell Unity: Jak změnit algoritmus vyrovnávání zatížení kmene LACP nebo dluhopisu (oprava společností Dell)
Summary: Provoz protokolu LACP (Link Aggregation Control Protocol) je vyvážený pro zápisy do procesorů úložiště Unity přes kmen nebo spoj LACP, ale není rovnoměrně vyvážený při odesílání odpovědí na požadavky na čtení. ...
Symptoms
Za určitých síťových podmínek a prostředí může výchozí algoritmus používat jediné rozhraní.
Příklady:
Pokud je zdrojová adresa MAC stejná (neboli při použití směrovače), adresa MAC bude vždy stejná a port, který se používá pro přenosy, bude vždy stejný.
Za zvláštních okolností mohou různé MAC také vést ke stejné hodnotě.
Pokud například MAC vždy končí sudým číslem (0,2,4,6,8,A,C nebo E) a v kmeni nebo dluhopisu LACP jsou dva porty, výpočet hashe bude pokaždé směrovat provoz přes stejný port.
Kmeny nebo vazby LACP ukazují, že provoz není vyvážený a místo všech rozhraní rovnoměrně používá jedno rozhraní.
To lze potvrdit ve výrobní síti (pomocí SysAdmins síťového přepínače) nebo pohledem na grafické zobrazení sítě v nástroji Unisphere v části SYSTEM >Performance.
netstat -i' výstup v servisním prostředí.
Cause
Protokol LACP v poli Unity používá jako výchozí xmit_hash_policy vrstvu 2.
Použití vrstvy 2+3 jako "xmit_hash_policy" má zajistit vyváženější distribuci provozu než samotná vrstva 2, zejména v prostředích, kde je k dosažení většiny cílů vyžadováno zařízení brány vrstvy 3.
Reference: https://www.kernel.org/doc/Documentation/networking/bonding.txt
vrstva 2 používá XOR hardwarových adres MAC a pole ID typu paketu pro generování hashe.
Vzorec je
hash = source MAC XOR destination MAC XOR packet type ID slave number = hash modulo slave count.
Vrstva 2+3 používá ke generování hodnoty hash kombinaci informací protokolu vrstvy 2 a vrstvy 3.
Hash je generován pomocí kombinace XOR hardwarových MAC adres a IP adres.
Vzorec je
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.
Vrstva 2 i vrstva 2+3 jsou kompatibilní se standardem 802.3ad.
Resolution
Kód Unity OE 4.3 a vyšší:
Změňte nastavení xmit_hash_policy Pomocí tlačítka svc_network_bond příkaz.
Dell Unity™ verze 4.3: Technické poznámky k servisním příkazům - strana 74.
Zvyk:
svc_network_bond [-h|--help] -d <device> {-s -o <option> -v <value>} {-g [-o <option>]}
Syntaxe by byla podobná jako v následujícím příkladu:
service@(none) spb:~> svc_network_bond -s -d bond23 -o xmit_hash_policy -v 2
Přijatelné hodnoty pro xmit_hash_policy ar:
0 nebo vrstva 2 Výchozí nastavení
Tento parametr používá ke generování hashe XOR hardwarových adres MAC.
1 nebo vrstva 3+4 Ke generování hashe používá informace o protokolu vyšší vrstvy (jsou-li k dispozici).
To umožňuje, aby provoz do konkrétního síťového partnera překlenul více podřízených jednotek, i když jedno připojení nebude zahrnovat více podřízených jednotek.
2 nebo layer2+3 Ke generování hashe používá kombinaci informací z protokolu layer2 a layer3 – algoritmus Mode 2 nebo Layer2+3 je kompatibilní se standardem 802.3ad.
Kód Unity OE 4.2.3.9670635 a starší:
Obraťte se na zákaznický servis společnosti Dell a uveďte toto číslo KBA.
Pro Unity OE Code 5.3.x nebo vyšší
K provedení změny není potřeba servisní prostředí a není nutný restart systému.
Tady je příklad nastavení pole Unity v xmit_hash_policy našeho testovacího prostředí.
Toto pole Unity je nakonfigurováno s kmenem LACP známým jako bond22.
Přihlaste se přes SSH do pole Unity pomocí účtu služby.
Nejprve zkontrolujte, na co je nastavena jeho 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 #
Poté nastavte 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. #
# 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 a arp Vyžadovat, aby bylo povoleno servisní prostředí.
Příklad 'netstat -i' output, který zobrazuje členy dluhopisu a lze jej použít k určení, zda je provoz hashován.
V tomto příkladu je "bond20" (vazba LACP) tvořena rozhraními "eth20" a "eth21".
Všimněte si rozdílu ve sloupci TX-OK, který představuje odchozí provoz z 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
Příklad výstupu 'arp' na servisním shellu, který zobrazuje MAC adresy (HWaddress) pro každou IP adresu.
Ty by se měly lišit, aby protokol LACP přesně vyrovnával zatížení provozu mezi několika fyzickými porty.
Existuje několik rozhraní, která je nutné filtrovat podle rozhraní, které používáte.
Pomocí
'ip addr' Chcete-li najít "Iface", která je přiřazena k IP adrese, kterou chcete prozkoumat.
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