Dell Unity: LACP 트렁크 또는 본드 로드 밸런싱 알고리듬을 변경하는 방법(Dell 수정 가능)

Summary: LACP(Link Aggregation Control Protocol) 트래픽은 LACP 트렁크 또는 본드를 통해 Unity SP에 쓸 때 밸런싱되지만 응답이 읽기 요청에 전송될 때는 고르게 밸런싱되지 않습니다.

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의 SYSTEM > Performance 아래 그래픽 네트워크 디스플레이에서 이를 확인할 수 있습니다.


이더넷 포트 대역폭
 
참고: 이것은 '에서도 볼 수 있습니다.netstat -i' 서비스 셸의 출력.  

Cause

Unity의 LACP는 layer2를 기본 "xmit_hash_policy"로 사용합니다.

Layer2+3을 "xmit_hash_policy"로 사용하는 것은 특히 대부분의 대상에 도달하기 위해 layer3 게이트웨이 디바이스가 필요한 환경에서 layer2만 사용하는 것보다 더 균형 잡힌 트래픽 분산을 제공하기 위한 것입니다.

참조: 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.


Layer2+3 은 layer2 및 layer3 프로토콜 정보의 조합을 사용하여 해시를 생성합니다.
해시는 하드웨어 MAC 주소의 XOR과 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 코드 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 또는 layer3+4 상위 계층 프로토콜 정보(사용 가능한 경우)를 사용하여 해시를 생성합니다.
이렇게 하면 특정 네트워크 피어에 대한 트래픽이 여러 슬레이브에 걸쳐 있을 수 있지만 단일 연결이 여러 슬레이브에 걸쳐 있지는 않습니다.

2 또는 layer2+3 layer2 및 layer3 프로토콜 정보의 조합을 사용하여 해시를 생성합니다. 모드 2 또는 Layer2+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 서비스 셸을 활성화해야 합니다.


예제 'netstat -i' 출력 - 본드의 멤버를 표시하며 트래픽이 해시되고 있는지 확인하는 데 사용할 수 있습니다.  
이 예에서 'bond20'(LACP 본드)은 인터페이스 'eth20' 및 'eth21'로 구성됩니다.  
Unity의 아웃바운드 트래픽을 나타내는 TX-OK 열의 차이에 유의하십시오.
 

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

각 IP 주소의 MAC 주소(HWaddress)를 표시하는 서비스 셸의 'arp' 출력 예 
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.