소개
이 문서에서는 파이버 채널 패브릭에서 성능 문제를 해결할 때 유용한 여러 인터페이스의 B2B(receive and transmit buffer-to-buffer) 크레딧에 대해 설명합니다.
사전 요구 사항
요구 사항
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
- Cisco MDS(Multilayer Data Switch)
- 파이버 채널 프로토콜
사용되는 구성 요소
이 문서의 정보는 Cisco MDS 9000 Series Multilayer Switch를 기반으로 합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다. 이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다. 현재 네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 미리 숙지하시기 바랍니다.
MDS 스위치의 우선 순위 전송 B2B 크레딧 이해
파이버 채널 패브릭 네트워크의 슬로우 드레인 문제를 해결할 때 인터페이스에 사용 가능한 크레딧을 쉽게 확인할 수 있는 방법은 MDS 스위치의 show interface 명령입니다.
다음은 MDS 인터페이스의 전송 B2B 크레딧에 대해 설명합니다.
ISL(Inter-Switch Link Protocol) 트렁크 인터페이스
우선 순위가 낮은 크레딧은 데이터 트래픽에 사용되고 우선 순위가 높은 크레딧은 스위치 간 제어 트래픽에 사용됩니다. 이는 수신기에서 사용 가능한 모든 수신(Rx) 크레딧을 소비하지 않도록 자신을 제한하기 위한 발신자 측의 논리적 구분일 뿐입니다.
예를 들어 스위치 MDS Tempest(receiver)는 스위치 MDS Maestro(sender)에게 64개의 Rx 크레딧이 있음을 알립니다.
Switch MDS Maestro는 56개의 크레딧을 낮은 우선 순위 Tx 크레딧으로 표시하고 8개는 높은 우선 순위 Tx 크레딧으로 표시합니다.
혼잡이 발생할 경우 MDS Maestro는 56개의 낮은 우선 순위 크레딧을 사용할 수 없을 때 데이터 트래픽 전송을 중지합니다.
그러나 사용 가능한 8개의 높은 우선순위 크레딧을 사용하여 MDS Tempest에 제어 트래픽을 전송할 수 있습니다.
MDS Tempest에서 낮은 우선 순위 크레딧과 높은 우선 순위 크레딧을 구분할 필요가 없습니다.
참고: 우선순위가 높은 TX 전송 크레딧의 수는 여러 하드웨어 플랫폼에 따라 다릅니다.
이는 일반적인 개념입니다. TX 전송 크레딧 8개 중 1개는 높은 우선 순위의 크레딧이며 최대값은 15입니다. 이는 ELP 또는 기타 ISL 제어 메시지를 처리하기에 충분합니다.
이러한 높은/낮은 우선순위 차별화는 E 포트 또는 TE 포트 간 ISL 링크에만 적용되며 F 포트에서는 사용되지 않습니다.
MDS 9148S 플랫폼 예:
E 포트 인터페이스의 경우:
Tempest# show int fc1/26
fc1/26 is trunking
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:1a:00:2a:6a:b9:d2:30
Peer port WWN is 20:1a:00:2a:6a:56:f0:00
Admin port mode is auto, trunk mode is on
snmp link state traps are enabled
Port mode is TE
Port vsan is 2
Admin Speed is auto
Operating Speed is 4 Gbps
Rate mode is dedicated
Port flow-control is R_RDY
Transmit B2B Credit is 32
Receive B2B Credit is 64
B2B State Change Number is 14
Receive data field Size is 2112
Beacon is turned off
Logical type is core
Trunk vsans (admin allowed and active) (2)
Trunk vsans (up) (2)
Trunk vsans (isolated) ()
Trunk vsans (initializing) ()
5 minutes input rate 160 bits/sec,20 bytes/sec, 0 frames/sec
5 minutes output rate 96 bits/sec,12 bytes/sec, 0 frames/sec
22464 frames input,1801536 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
22977 frames output,1318564 bytes
0 discards,0 errors
0 input OLS,0 LRR,0 NOS,2 loop inits
1 output OLS,2 LRR, 0 NOS, 1 loop inits
64 receive B2B credit remaining
32 transmit B2B credit remaining
28 low priority transmit B2B credit remaining
Interface last changed at Thu Jul 20 15:40:32 2017
Last clearing of "show interface" counters : never
Tempest#
링크의 반대쪽 끝에는 총 전송 크레딧이 64이고 낮은 우선 순위는 56인 것으로 표시됩니다.
Maestro# show int fc1/26
fc1/26 is trunking
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:1a:00:2a:6a:56:f0:00
Peer port WWN is 20:1a:00:2a:6a:b9:d2:30
Admin port mode is auto, trunk mode is on
snmp link state traps are enabled
Port mode is TE
Port vsan is 2
Speed is 4 Gbps
Rate mode is dedicated
Transmit B2B Credit is 64
Receive B2B Credit is 32
B2B State Change Number is 14
Receive data field Size is 2112
Beacon is turned off
admin fec state is down
oper fec state is down
Trunk vsans (admin allowed and active) (2)
Trunk vsans (up) (2)
Trunk vsans (isolated) ()
Trunk vsans (initializing) ()
5 minutes input rate 160 bits/sec,20 bytes/sec, 0 frames/sec
5 minutes output rate 216 bits/sec,27 bytes/sec, 0 frames/sec
23189 frames input,1330368 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
22677 frames output,1818076 bytes
0 discards,0 errors
1 input OLS,2 LRR,0 NOS,3 loop inits
1 output OLS,0 LRR, 0 NOS, 1 loop inits
32 receive B2B credit remaining
64 transmit B2B credit remaining
56 low priority transmit B2B credit remaining
Interface last changed at Wed Jul 19 16:39:58 2017
Last clearing of "show interface" counters 1w 5d
Maestro#
F 포트 인터페이스의 경우:
F 포트의 경우 MDS 스위치와 개시자/대상 디바이스 간에 제어 트래픽이 없으므로 이 계산이 적용되지 않습니다.
그러나 데이터 트래픽의 우선순위가 낮은 것으로 표시된 F 포트의 모든 전송 크레딧을 볼 수 있습니다.
예를 들어 다음 출력에서 총 전송 크레딧은 3이고 낮은 우선순위는 3입니다.
switch# show int fc1/47
fc1/47 is up
Hardware is Fibre Channel, SFP is short wave laser w/o OFC (SN)
Port WWN is 20:2f:00:2a:6a:56:f0:00
Admin port mode is F, trunk mode is on
snmp link state traps are enabled
Port mode is F, FCID is 0x570f00
Port vsan is 2
Speed is 4 Gbps
Rate mode is dedicated
Transmit B2B Credit is 3
Receive B2B Credit is 32
Receive data field Size is 2112
Beacon is turned off
admin fec state is down
oper fec state is down
5 minutes input rate 0 bits/sec,0 bytes/sec, 0 frames/sec
5 minutes output rate 16 bits/sec,2 bytes/sec, 0 frames/sec
1220 frames input,74256 bytes
0 discards,0 errors
0 invalid CRC/FCS,0 unknown class
0 too long,0 too short
2231 frames output,220056 bytes
0 discards,0 errors
1 input OLS,1 LRR,0 NOS,0 loop inits
1 output OLS,0 LRR, 1 NOS, 0 loop inits
32 receive B2B credit remaining
3 transmit B2B credit remaining
3 low priority transmit B2B credit remaining
Interface last changed at Wed Jul 19 15:56:15 2017
Last clearing of "show interface" counters 1w 5d
switch#
MDS 9710 스위치의 예:
MDS97xx 스위치에는 높은 우선 순위의 Tx 전송 크레딧이 없습니다. 그러나 명령 시스템 default tx-credit double-queue에 의해 변경할 수 있습니다.
최대 Tx 전송 크레딧은 연결된 스위치의 인터페이스에서도 확인할 수 있습니다.
토폴로지: MDS 9710 Leonard fc3/14는 E 포트를 통해 MDS 9148S Tempest fc1/13에 다시 연결됩니다.
기본 설정:
기본적으로 MDS 9710 DS-X9448-768K9 라인 카드에는 높은 우선 순위 크레딧이 없으며 64개의 전송 크레딧 모두 낮은 우선 순위로 간주됩니다.
Leonard(config-if)# show int fc3/14 counter
fc3/14
5 minutes input rate 320 bits/sec, 40 bytes/sec, 3 frames/sec
5 minutes output rate 2688 bits/sec, 336 bytes/sec, 3 frames/sec
1416819 frames input, 77233324 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1416813 frames output, 138598368 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
53 input OLS, 85 LRR, 119 NOS, 0 loop inits
77 output OLS, 7 LRR, 93 NOS, 0 loop inits
14 link failures, 37 sync losses, 2 signal losses
140 Transmit B2B credit transitions to zero
92 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
500 receive B2B credit remaining
64 transmit B2B credit remaining
64 low priority transmit B2B credit remaining
Last clearing of "show interface" counters : never
Leonard(config-if)#
tx-credit double-queue 사용:
스위치 Leonard 시스템 기본 tx-credit double-queue에서 명령을 실행한 후
(shut/no shut으로 인터페이스를 재설정해야 함)
Leonard(config)# show system default switchport
System default port state is down
System default trunk mode is on
System default link failure syslog logging level is 5
System default tx credit queue type is 0
Leonard(config)# system default tx-credit double-queue
Leonard(config)# show system default switchport
System default port state is down
System default trunk mode is on
System default link failure syslog logging level is 5
System default tx credit queue type is 1
Leonard(config)# int fc3/14
Leonard(config-if)# shut
Leonard(config-if)# no shut
우선순위가 높은 Tx 전송 B2B 크레딧은 8개, 우선순위가 낮은 크레딧은 56개임을 알 수 있습니다.
Leonard(config-if)# show int fc3/14 counter
fc3/14
5 minutes input rate 320 bits/sec, 40 bytes/sec, 2 frames/sec
5 minutes output rate 256 bits/sec, 32 bytes/sec, 2 frames/sec
1420613 frames input, 77459300 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1420607 frames output, 138968464 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
54 input OLS, 87 LRR, 122 NOS, 0 loop inits
79 output OLS, 7 LRR, 95 NOS, 0 loop inits
14 link failures, 38 sync losses, 2 signal losses
143 Transmit B2B credit transitions to zero
94 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
500 receive B2B credit remaining
64 transmit B2B credit remaining
56 low priority transmit B2B credit remaining
Last clearing of "show interface" counters : never
Leonard(config-if)#
스위치 MDS 9148S Tempest의 최대 RX 전송 크레딧은 15입니다.
연결된 MDS 9148S, Tempest에서 최대 Tx 전송 B2B 크레딧이 15임을 확인할 수 있습니다.
MDS9710 스위치 Leonard는 기본적으로 500개의 수신 크레딧을 보유하고 있으므로 MDS9148S 스위치 Tempest도 500개의 Tx 전송 B2B 크레딧이 남아 있지만 15개 크레딧(최대)이 높은 우선 순위로 할당됩니다(500 - 485 = 15).
Tempest# show int fc1/13 counter
fc1/13
5 minutes input rate 2624 bits/sec, 328 bytes/sec, 3 frames/sec
5 minutes output rate 1504 bits/sec, 188 bytes/sec, 3 frames/sec
1343331 frames input, 131489464 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1343332 frames output, 72878124 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
9 input OLS, 2 LRR, 0 NOS, 0 loop inits
12 output OLS, 20 LRR, 9 NOS, 0 loop inits
9 link failures, 0 sync losses, 0 signal losses
66 Transmit B2B credit transitions to zero
24 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
64 receive B2B credit remaining
500 transmit B2B credit remaining
485 low priority transmit B2B credit remaining
Last clearing of "show interface" counters :never
Tempest#
MDS 9710 Leonard의 수신 크레딧이 120 미만으로 변경되면 Tx 크레딧 8개 중 1개가 높은 우선 순위로 표시됩니다.
Leonard(config)# int fc3/14
Leonard(config-if)# switchport fcrxbbcredit 112
Tempest# show int fc1/13 count
fc1/13
5 minutes input rate 1024 bits/sec, 128 bytes/sec, 3 frames/sec
5 minutes output rate 1536 bits/sec, 192 bytes/sec, 3 frames/sec
1360026 frames input, 133105756 bytes
0 discards, 0 errors, 0 CRC/FCS
0 unknown class, 0 too long, 0 too short
1360027 frames output, 73885304 bytes
0 discards, 0 errors
0 timeout discards, 0 credit loss
14 input OLS, 2 LRR, 0 NOS, 0 loop inits
17 output OLS, 30 LRR, 14 NOS, 0 loop inits
14 link failures, 0 sync losses, 0 signal losses
91 Transmit B2B credit transitions to zero
34 Receive B2B credit transitions to zero
0 2.5us TxWait due to lack of transmit credits
Percentage Tx credits not available for last 1s/1m/1h/72h: 0%/0%/0%/0%
64 receive B2B credit remaining
112 transmit B2B credit remaining
98 low priority transmit B2B credit remaining
Last clearing of "show interface" counters :never
Tempest#